版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
附錄A圖A系統(tǒng)原理圖附錄B圖BLCD1602字符顯示表附錄C校園時(shí)間作息系統(tǒng)程序設(shè)計(jì)(1)Main.c#include<reg52.h>#include<intrins.h>#include"ds1302.h"#include"lcd1602.h"#include<math.h>#include"stdlib.H"#include"stdio.H"#defineucharunsignedchar#defineuintunsignedint//按鍵定義sbitk1=P1^0;//sbitk2=P1^1;//sbitk3=P1^2;//sbitk4=P1^3;//sbitk5=P1^4;//sbitk6=P1^5;//sbitk7=P1^6;//sbitk8=P1^7;//sbitLED1=P3^5;//sbitLED2=P3^6;//sbitbeep=P3^7;//蜂鳴器引腳uchardis_lcd[16];ucharmode; //模式0時(shí)鐘1倒計(jì)時(shí)ucharcodexingqi[]={"SunMonTueWedThuFriSat"};ucharcodesetnum[]={1,1,2,3,4,6,7,9,10,0x0d,0x42,0x43,0x45,0x46,0x48,0x49};//設(shè)置值的位置時(shí)鐘ucharcodesetnum1[]={2,2,3,5,6,8,9,0x42,0x43,0x45,0x46,0x48,0x49};//設(shè)置值的位置定時(shí)燈ucharcodesetnum2[]={0,0,1,3,4,8,9,11,12,0x40,0x41,0x43,0x44};//設(shè)置值的位置定時(shí)課表ucharcodeswkbtime[]={0,40,50,90,120,160,170,210};//上午課表與設(shè)置上課時(shí)間差4節(jié)ucharcodexwkbtime[]={0,40,50,90,110,150,160,200};//下午課表與設(shè)置上課時(shí)間差4節(jié)ucharcodewskbtime[]={0,40,50,90,100,140};//晚上表與設(shè)置上課時(shí)間差3節(jié)ucharledtime[]={0,0,0x18};//開燈時(shí)間ucharledtime1[]={0,0,0x22};//關(guān)燈時(shí)間ucharswtime[]={0,0,0x08};//上午時(shí)間ucharxwtime[]={0,0,0x14};//下午時(shí)間ucharwstime[]={0,0,0x19};//晚上時(shí)間ucharsetaddr;//設(shè)置值的位置數(shù)組偏移量ucharanjian;//按鍵值ucharpage;//頁面顯示uinttmp;//臨時(shí)變量uchartimenext=13;//存儲(chǔ)上一秒時(shí)間uintztime[4];//存儲(chǔ)總時(shí)間長(zhǎng)上午時(shí)間長(zhǎng)下午時(shí)間長(zhǎng)晚上時(shí)間長(zhǎng)#include"set.h"/***********************主函數(shù)*************************************************/voidmain(void){ time[7]=0x20;LCD_initial();//液晶初始化while(1){//手動(dòng)開關(guān)燈if(k1==0&&mode==1)//燈按鍵{LED1=0;}elseif(k1==1&&mode==1)LED1=1;if(k2==0&&mode==1)//手動(dòng)自動(dòng)按鍵{LED2=0;}elseif(k2==1&&mode==1)LED2=1;if(k3==0)//手動(dòng)自動(dòng)按鍵{while(k3==0);mode++;if(mode>1)mode=0;}if(k4==0)//時(shí)間設(shè)置按鍵{while(k4==0);if(setaddr<12){write_command(1);//清屏write_command(0x0c);//開整體顯示,光標(biāo)關(guān),無黑塊sprintf(dis_lcd,"%02d:%02d%02d:%02d\n",hex_dec(swtime[2]),hex_dec(swtime[1]),hex_dec(xwtime[2]),hex_dec(xwtime[1]));//轉(zhuǎn)字符串string(0x80,dis_lcd);sprintf(dis_lcd,"%02d:%02d\n",hex_dec(wstime[2]),hex_dec(wstime[1]));//轉(zhuǎn)字符串string(0xc0,dis_lcd);write_command(0x0F);//開整體顯示,光標(biāo)開,黑塊page=3;setaddr++;write_command(0x80+setnum2[setaddr]);//計(jì)算設(shè)置值位置}else{write_command(0x0c);//開整體顯示,光標(biāo)關(guān),無黑塊page=0;setaddr=0; write_command(1);//清屏 }}if(k5==0)//時(shí)間設(shè)置按鍵{while(k5==0);if(setaddr<12){write_command(1);//清屏write_command(0x0c);//開整體顯示,光標(biāo)關(guān),無黑塊sprintf(dis_lcd,"%02d:%02d:%02d\n",hex_dec(ledtime[2]),hex_dec(ledtime[1]),hex_dec(ledtime[0]));//轉(zhuǎn)字符串string(0x80,dis_lcd);sprintf(dis_lcd,"%02d:%02d:%02d\n",hex_dec(ledtime1[2]),hex_dec(ledtime1[1]),hex_dec(ledtime1[0]));//轉(zhuǎn)字符串string(0xc0,dis_lcd);write_command(0x0F);//開整體顯示,光標(biāo)開,黑塊page=2;setaddr++;write_command(0x80+setnum1[setaddr]);//計(jì)算設(shè)置值位置}else{write_command(0x0c);//開整體顯示,光標(biāo)開,無黑塊page=0;setaddr=0;write_command(1);//清屏 }}if(k6==0)//時(shí)間設(shè)置按鍵{while(k6==0);if(setaddr<15){write_command(0x0F);//開整體顯示,光標(biāo)開.黑塊page=1;setaddr++;write_command(0x80+setnum[setaddr]);//計(jì)算設(shè)置值位置}else{write_command(0x0c);//開整體顯示,光標(biāo)開,無黑塊page=0;setaddr=0; set1302(time);write_command(1);//清屏 }}//顯示函數(shù)switch(page){case0://讀取時(shí)間get1302(time);//液晶顯示時(shí)間sprintf(dis_lcd,"%02d%02d-%02d-%02d\n",hex_dec(time[7]),hex_dec(time[6]),hex_dec(time[4]),hex_dec(time[3]));//轉(zhuǎn)字符串string(0x80,dis_lcd);wr_char(0x8d,xingqi[(time[5]-1)*3+0]);wr_char(0x8e,xingqi[(time[5]-1)*3+1]);wr_char(0x8f,xingqi[(time[5]-1)*3+2]);sprintf(dis_lcd,"%02d:%02d:%02d\n",hex_dec(time[2]),hex_dec(time[1]),hex_dec(time[0]));//時(shí)間和溫度轉(zhuǎn)字符串string(0xC0,dis_lcd);if(mode==0)string(0xcc,"auto");elsestring(0xcc,"");break;case1://設(shè)置時(shí)間if(k7==0)//上調(diào){while(k7==0);readdat();if(anjian<9)anjian++;write_data(anjian+0x30);write_command(0x80+setnum[setaddr]);//計(jì)算設(shè)置值位置writedat();//寫入時(shí)間到時(shí)鐘芯片set1302(time);}if(k8==0)//下調(diào){while(k8==0);readdat();if(anjian>0)anjian--;write_data(anjian+0x30);write_command(0x80+setnum[setaddr]);//計(jì)算設(shè)置值位置writedat();//寫入時(shí)間到時(shí)鐘芯片set1302(time);}break;case2://設(shè)置時(shí)間if(k7==0)//上調(diào){while(k7==0);readdat1();if(anjian<9)anjian++;write_data(anjian+0x30);write_command(0x80+setnum1[setaddr]);//計(jì)算設(shè)置值位置writedat1();}if(k8==0)//下調(diào){while(k8==0);readdat1();if(anjian>0)anjian--;write_data(anjian+0x30);write_command(0x80+setnum1[setaddr]);//計(jì)算設(shè)置值位置writedat1();}break;case3://設(shè)置時(shí)間if(k7==0)//上調(diào){while(k7==0);readdat2();if(anjian<9)anjian++;write_data(anjian+0x30);write_command(0x80+setnum2[setaddr]);//計(jì)算設(shè)置值位置writedat2();}if(k8==0)//下調(diào){while(k8==0);readdat2();if(anjian>0)anjian--;write_data(anjian+0x30);write_command(0x80+setnum2[setaddr]);//計(jì)算設(shè)置值位置writedat2();}break;}//LED控制函數(shù)if(time[2]==ledtime[2]&&time[1]==ledtime[1]&&time[0]==ledtime[0]&&mode==0)//開燈指令{LED1=0;LED2=0;}if(time[2]==ledtime1[2]&&time[1]==ledtime1[1]&&time[0]==ledtime1[0]&&mode==0)//關(guān)燈指令{LED1=1;LED2=1;}ztime[0]=hex_dec(time[2])*60+hex_dec(time[1]);ztime[1]=hex_dec(swtime[2])*60+hex_dec(swtime[1]);ztime[2]=hex_dec(xwtime[2])*60+hex_dec(xwtime[1]);ztime[3]=hex_dec(wstime[2])*60+hex_dec(wstime[1]);//打鈴控制if(mode==0){if((ztime[0]==ztime[1]+swkbtime[0]&&time[0]<10)||(ztime[0]==ztime[1]+swkbtime[1]&&time[0]<10)||(ztime[0]==ztime[1]+swkbtime[2]&&time[0]<10)||(ztime[0]==ztime[1]+swkbtime[3]&&time[0]<10)||(ztime[0]==ztime[1]+swkbtime[4]&&time[0]<10)||(ztime[0]==ztime[1]+swkbtime[5]&&time[0]<10)||(ztime[0]==ztime[1]+swkbtime[6]&&time[0]<10)||(ztime[0]==ztime[1]+swkbtime[7]&&time[0]<10)||(ztime[0]==ztime[2]+xwkbtime[0]&&time[0]<10)||(ztime[0]==ztime[2]+xwkbtime[1]&&time[0]<10)||、(ztime[0]==ztime[2]+xwkbtime[2]&&time[0]<10)||(ztime[0]==ztime[2]+xwkbtime[3]&&time[0]<10)||(ztime[0]==ztime[2]+xwkbtime[4]&&time[0]<10)||(ztime[0]==ztime[2]+xwkbtime[5]&&time[0]<10)||(ztime[0]==ztime[2]+xwkbtime[6]&&time[0]<10)||(ztime[0]==ztime[2]+xwkbtime[7]&&time[0]<10)||(ztime[0]==zti
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 孤獨(dú)癥全基因組陽性位點(diǎn)在中國漢族人群的驗(yàn)證
- 加勒比跨境互聯(lián)網(wǎng)氣候變化小島嶼國家數(shù)字聲音傳播-基于牙買加及巴巴多斯氣候變化數(shù)字媒體內(nèi)容實(shí)證
- 2026年山東省煙臺(tái)市中考數(shù)學(xué)真題試卷(真題+答案)
- 2026-2030中國白葡萄酒市場(chǎng)消費(fèi)趨勢(shì)與投資運(yùn)作模式分析研究報(bào)告
- 2026年政務(wù)服務(wù)“秒批”快手小程序應(yīng)用
- 《BIM 技術(shù)應(yīng)用》教案 第1 章 萬仞筑基立宏圖-BIM基礎(chǔ)知識(shí)
- 2026年衛(wèi)生初級(jí)放射技師考試真題匯編與答案詳解
- 適老化廚房空間優(yōu)化設(shè)計(jì)報(bào)告
- 石油化工建設(shè)項(xiàng)目試運(yùn)行方案
- 排水管道出水口工程施工方案
- 2026年“麻醉藥品、精神藥品”管理和使用培訓(xùn)考核試題(含答案)
- 2026年安徽省輔警(協(xié)警)招聘考試題庫及答案
- 餐飲儲(chǔ)值卡銷售合同
- 2024至2030年中國浙江省智慧交通行業(yè)發(fā)展運(yùn)行現(xiàn)狀及投資潛力預(yù)測(cè)報(bào)告
- 中醫(yī)醫(yī)療技術(shù)手冊(cè)2013普及版
- 提高服務(wù)行業(yè)人員的品牌形象塑造能力的培訓(xùn)課程
- 項(xiàng)目九-任務(wù)一-采購風(fēng)險(xiǎn)管理
- 詩與遠(yuǎn)方-初中語文九上第一單元整合公開課一等獎(jiǎng)創(chuàng)新教學(xué)設(shè)計(jì)
- 小兒多發(fā)傷的護(hù)理業(yè)務(wù)學(xué)課件
- 廣東深圳歷年中考語文現(xiàn)代文之散文閱讀4篇(2003-2021年)
- HY/T 094-2022沿海行政區(qū)域分類與代碼
評(píng)論
0/150
提交評(píng)論