




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、電子電工課程設(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等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 客戶溝通與反饋記錄
- 小王子遇見世界的觀后感
- 高中化學(xué)實驗設(shè)計與探究:化學(xué)反應(yīng)原理教案
- 《初高中英語語法比較與辨析教案》
- 不動產(chǎn)交易買賣協(xié)議書
- 中學(xué)生歷史事件故事讀后感
- 美容師儀器知識培訓(xùn)課件
- 血液++課件-2024-2025學(xué)年北師大版生物七年級下冊
- 紅色故事鐵道游擊隊的愛國主義教育解讀
- 教育資源整合及教育信息化建設(shè)方案
- 醫(yī)學(xué)倫理與醫(yī)患溝通技巧
- 個人信息保護:維護個人隱私和數(shù)據(jù)安全
- 5.3.2 函數(shù)的極值與最大(?。┲?第2課時 教學(xué)設(shè)計
- 急性心力衰竭-
- 痔瘡中醫(yī)治療課件
- 華東師范大學(xué)《社會研究方法》2023-2024學(xué)年第一學(xué)期期末試卷
- ps 課件教學(xué)課件
- 數(shù)控車編程實訓(xùn)教案
- 2024年世界職業(yè)院校技能大賽高職組“健康養(yǎng)老照護組”賽項考試題庫(含答案)
- 廈門大學(xué)介紹
- 醫(yī)院培訓(xùn)課件:《乳腺癌解讀》
評論
0/150
提交評論