




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、電子電工課程設(shè)計(jì)(多功能數(shù)字時(shí)鐘-萬年歷),212,190,212,142,159, 212,212,106,126,159,169,190,119,119,126,159,142,159,0; uchar codelon=9,3,12,12,12,24,9,3,12,12,12,24,9,3,12,12,12,12,12,9,3,12,12,12,24,0;void delay(uint z)uint x,y;for(x=z;x>0;x-)for(y=120;y>0;y-);void yinyue()uint i,j,k=0,l;for(l=0;l<
2、26;l+)for(i=0;i<codelonk*20;i+) if(key4=0)beep=0;break;beep=beep;for(j=0;j<codetonek/3;j+);delay(10);k+;void write_LCD_com(uchar com)rs=0;rw=0;P0=com;delay(5);en=1;delay(5);en=0;void write_LCD_da(uchar data1)rs=1;rw=0;P0=data1;delay(5);en=1;delay(5);en=0;void Init_LCD()uchar num;write_
3、LCD_com(0x38); delay(1);write_LCD_com(0x01); delay(1);write_LCD_com(0x06); delay(1);write_LCD_com(0x0c); delay(1); write_LCD_com(0x80);for(num=0;num<10;num+)write_LCD_da(codetablenum); delay(1);write_LCD_com(0x80+0x40); for(num=0;num<8;num+)write_LCD_da(codetable1num); delay(1);void wr
4、ite_LCDsfm(uchar add,uchar date) uchar ge,shi;shi=date/10;ge=date%10;write_LCD_com(0x80+0x40+add); write_LCD_da(0x30+shi);write_LCD_da(0x30+ge); void write_LCDnyr(uchar add,uchar date) uchar ge,shi;shi=date/10;ge=date%10;write_LCD_com(0x80+add); write_LCD_da(0x30+shi);write_LCD_da(0x30+ge);void writ
5、e_LCDweek(uchar week) write_LCD_com(0x80+0x0b); switch(week) case 1:write_LCD_da(M); write_LCD_da(O); write_LCD_da(N); break;case 2:write_LCD_da(T); write_LCD_da(U); write_LCD_da(E); break;case 3:write_LCD_da(W); write_LCD_da(E); write_LCD_da(D); break;case 4:write_LCD_da(T); write_LCD_da(H); write_
6、LCD_da(U); break;case 5:write_LCD_da(F);write_LCD_da(R);write_LCD_da(I);break;case 6:write_LCD_da(S);write_LCD_da(T);write_LCD_da(A);break;case 7:write_LCD_da(S);write_LCD_da(U);write_LCD_da(N);break;void write_LCD_Temperature(uchar add,uchar date) uchar ge,shi;shi=date/10;ge=date%10;write_LCD_com(0
7、x80+0x40+add);write_LCD_da(0x30+shi);write_LCD_da(0x30+ge);write_LCD_da(0xdf);write_LCD_da(0x43);void DS1302_write_byte(uchar a) uchar i;ACC=a;RST=1;for(i=8;i>0;i-) IO=ACC0;SCLK=0;SCLK=1;ACC=ACC>>1;uchar DS1302_read_byte()uchar j;RST=1;for(j=8;j>0;j-) ACC7=IO;SCLK=1;SCLK=
8、0;ACC=ACC>>1;return(ACC);void DS1302_write_date(uchar addr,uchar dat)/寫數(shù)據(jù) RST=0;SCLK=0;RST=1;DS1302_write_byte(addr);DS1302_write_byte(dat);SCLK=1;RST=0;uchar DS1302_read_date(uchar addr)uchar dat1,b;RST=0;SCLK=0;RST=1;DS1302_write_byte(addr);dat1=DS1302_read_byte();SCLK=1;RST=0;b=dat1
9、/16*10+dat1%16;return(b);void DS1302_Init()SCLK=0;RST=0;DS1302_write_date(0x8e,0x00);DS1302_write_date(0x8e,0x80);void keyscan()if(key1=0)if(key1=0)while(!key1);count+;if(count=11) count=1;switch(count) case 1:TR0=0;write_LCD_com(0x80+0x40+0x0f); write_LCD_da(M);m=miao/10*16+miao%10;DS1302_write_dat
10、e(0x8e,0x00); DS1302_write_date(0x80,0x80|m); DS1302_write_date(0x8e,0x80); break;case 2:write_LCD_com(0x80+0x40+0x0f);write_LCD_da(F);break;case 3:write_LCD_com(0x80+0x40+0x0f); write_LCD_da(S);break;case 4:write_LCD_com(0x80+0x40+0x0f); write_LCD_da(W);break;case 5:write_LCD_com(0x80+0x40+0x0f); w
11、rite_LCD_da(R);break;case 6:write_LCD_com(0x80+0x40+0x0f); write_LCD_da(Y);break;case 7:write_LCD_com(0x80+0x40+0x0f); write_LCD_da(N);break;case 8:write_LCD_com(0x80+0x40+0x0e); write_LCD_da(R); delay(3);write_LCD_com(0x80+0x40+0x0f);write_LCD_da(F); delay(3);write_LCD_com(0x80+0x40+0x04);break;cas
12、e 9:write_LCD_com(0x80+0x40+0x0e); write_LCD_da(R); delay(3);write_LCD_com(0x80+0x40+0x0f); write_LCD_da(S); delay(3);write_LCD_com(0x80+0x40+0x01);break;case 10:write_LCD_com(0x80+0x40+0x0e);write_LCD_da(0); delay(3);write_LCD_com(0x80+0x40+0x0f); write_LCD_da(0); delay(3);delay(3);write_LCD_com(0x
13、0c);TR0=1;m=(miao)/10*16+(miao)%10;DS1302_write_date(0x8e,0x00);DS1302_write_date(0x80,0x00|m);DS1302_write_date(0x8e,0x80);break;if(count!=0)if(key2=0)delay(10);if(key2=0)while(!key2);switch (count)case 1:miao+;if(miao=60)miao=0;write_LCDsfm(0x06,miao); m=miao/10*16+miao%10;DS1302_write_date(0x8e,0
14、x00); DS1302_write_date(0x80,m); DS1302_write_date(0x8e,0x80); write_LCD_com(0x80+0x40+0x07); break;case 2:fen+;if(fen=60)fen=0;write_LCDsfm(0x03,fen); m=fen/10*16+fen%10;DS1302_write_date(0x8e,0x00); DS1302_write_date(0x82,m); DS1302_write_date(0x8e,0x80); write_LCD_com(0x80+0x40+0x04); break;case
15、3:shi+;if(shi=24)shi=0;write_LCDsfm(0x00,shi); m=shi/10*16+shi%10;DS1302_write_date(0x8e,0x00); DS1302_write_date(0x84,m); DS1302_write_date(0x8e,0x80); write_LCD_com(0x80+0x40+0x01); break;case 4:week+;if(week=8)week=0;write_LCDweek(week);m=week/10*16+week%10;DS1302_write_date(0x8e,0x00); DS1302_wr
16、ite_date(0x8a,m); DS1302_write_date(0x8e,0x80); write_LCD_com(0x80+0x0d); break;case 5:ri+;if(ri=32)ri=0;write_LCDnyr(0x08,ri);m=ri/10*16+ri%10;DS1302_write_date(0x8e,0x00); DS1302_write_date(0x86,m); DS1302_write_date(0x8e,0x80); write_LCD_com(0x80+0x09); break;case 6:yue+;if(yue=13)yue=1;write_LCD
17、nyr(0x05,yue); m=yue/10*16+yue%10;DS1302_write_date(0x8e,0x00); DS1302_write_date(0x88,m); DS1302_write_date(0x8e,0x80); write_LCD_com(0x80+0x06); break;case 7:nian+;if(nian=51)nian=0;write_LCDnyr(0x02,nian); m=nian/10*16+nian%10;DS1302_write_date(0x8e,0x00); DS1302_write_date(0x8c,m); DS1302_write_
18、date(0x8e,0x80); write_LCD_com(0x80+0x03); break;case 8:ringfen+;if(ringfen=60)ringfen=0;write_LCDsfm(0x03,ringfen);write_LCD_com(0x80+0x40+0x04); break;case 9:ringshi+;if(ringshi=24)ringshi=0;write_LCDsfm(0x00,ringshi);write_LCD_com(0x80+0x40+0x01); break; if(key3=0)delay(10);if(key3=0)while(!key3)
19、;switch (count)case 1:miao-;if(miao=-1)miao=59;write_LCDsfm(0x06,miao); m=miao/10*16+miao%10;DS1302_write_date(0x8e,0x00); DS1302_write_date(0x80,m); DS1302_write_date(0x8e,0x80); write_LCD_com(0x80+0x40+0x07); break;case 2:fen-;if(fen=-1)fen=59;write_LCDsfm(0x03,fen); m=fen/10*16+fen%10;DS1302_writ
20、e_date(0x8e,0x00); DS1302_write_date(0x82,m); DS1302_write_date(0x8e,0x80); write_LCD_com(0x80+0x40+0x04); break;case 3:shi-;if(shi=-1)shi=23;write_LCDsfm(0x00,shi); m=shi/10*16+shi%10;DS1302_write_date(0x8e,0x00); DS1302_write_date(0x84,m); DS1302_write_date(0x8e,0x80); write_LCD_com(0x80+0x40+0x01
21、); break;case 4:week-;if(week=0)week=7;write_LCDweek(week);m=week/10*16+week%10;DS1302_write_date(0x8e,0x00); DS1302_write_date(0x8a,m); DS1302_write_date(0x8e,0x80); write_LCD_com(0x80+0x0d); break;case 5:ri-;if(ri=0)ri=31;write_LCDnyr(0x08,ri);m=ri/10*16+ri%10;DS1302_write_date(0x8e,0x00); DS1302_
22、write_date(0x86,m); DS1302_write_date(0x8e,0x80); write_LCD_com(0x80+0x09); break;case 6:yue-;if(yue=0)yue=12;write_LCDnyr(0x05,yue); m=yue/10*16+yue%10;DS1302_write_date(0x8e,0x00); DS1302_write_date(0x88,m); DS1302_write_date(0x8e,0x80); write_LCD_com(0x80+0x06); break;case 7:nian-;if(nian=-1)nian
23、=50;write_LCDnyr(0x02,nian); m=nian/10*16+nian%10;DS1302_write_date(0x8e,0x00); DS1302_write_date(0x8c,m); DS1302_write_date(0x8e,0x80); write_LCD_com(0x80+0x03); break;case 8:ringfen-;if(ringfen=-1)ringfen=59;write_LCDsfm(0x03,ringfen);write_LCD_com(0x80+0x40+0x04); break;case 9:ringshi-;if(ringshi
24、=-1)ringshi=23;write_LCDsfm(0x00,ringshi);write_LCD_com(0x80+0x40+0x01); break;void set_dingshiqi()TMOD=0x01;TH0=64536/256;TL0=64536%256;EA=1;ET0=1;TR0=1;void gettime() beep=0;temp=Read_Temperature();miao=DS1302_read_date(0x81);fen=DS1302_read_date(0x83);shi=DS1302_read_date(0x85);week=DS1302_read_d
25、ate(0x8b);ri=DS1302_read_date(0x87);yue=DS1302_read_date(0x89);nian=DS1302_read_date(0x8d); write_LCDsfm(0x00,shi);write_LCDsfm(0x03,fen);write_LCDsfm(0x06,miao);if(miao=0&&fen=0&&shi>8&&shi<21) yinyue();if(fen=ringfen&&sh
26、i=ringshi)yinyue();if(key4=0)ringshi=0;ringfen=0; write_LCDweek(week);write_LCDnyr(0x08,ri);write_LCDnyr(0x05,yue);write_LCDnyr(0x02,nian);write_LCD_Temperature(0x09,temp); void main() Init_LCD();DS1302_Init();set_dingshiqi();while(1) keyscan(); void timer0() interrupt 1 TH0=64536/256;TL0=64536%256;gettime();keyscan( ); Ds18b20.hsbit DQ=P1;/unsigned char wendu;/unsigned char tempbuf3;void
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度城市托管班品牌授權(quán)與加盟合同
- 文化產(chǎn)品創(chuàng)意開發(fā)合同
- 工業(yè)管道清洗與維護(hù)預(yù)案
- 法律咨詢行業(yè)法律服務(wù)結(jié)果保證書
- 三農(nóng)行業(yè)三農(nóng)戶教育培訓(xùn)計(jì)劃
- 農(nóng)業(yè)種植養(yǎng)殖合同
- 智能圖書館管理系統(tǒng)供應(yīng)合同
- 大學(xué)語文辯論賽故事征文
- 高考語文復(fù)習(xí)-文言文專題訓(xùn)練《史記晉世家》
- 會(huì)議紀(jì)要與重要決策執(zhí)行情況跟蹤表
- 蛋糕投標(biāo)書技術(shù)方案
- 機(jī)房建設(shè)驗(yàn)收?qǐng)?bào)告
- 環(huán)境巖土工程學(xué)課件-東南大學(xué)-潘華良境巖土工程學(xué)概論-9大環(huán)境巖土工程問題
- 公路養(yǎng)護(hù)的檔案管理-公路養(yǎng)護(hù)檔案的內(nèi)容及分類
- 武漢大學(xué)《819宏微觀經(jīng)濟(jì)學(xué)》知識(shí)板塊歸納與重點(diǎn)名詞解釋大全
- 脊柱內(nèi)鏡應(yīng)用與進(jìn)展
- 學(xué)校食品安全會(huì)議記錄內(nèi)容
- 中國古代文物賞析
- 2022年江蘇省錄用公務(wù)員筆試《公安專業(yè)科目》試題(網(wǎng)友回憶版)
- 光伏電站螺旋地樁承載力計(jì)算軟件
- 醫(yī)用耗材配送服務(wù)方案
評(píng)論
0/150
提交評(píng)論