51單片機(jī)可調(diào)時(shí)電子時(shí)鐘程序_第1頁(yè)
51單片機(jī)可調(diào)時(shí)電子時(shí)鐘程序_第2頁(yè)
51單片機(jī)可調(diào)時(shí)電子時(shí)鐘程序_第3頁(yè)
51單片機(jī)可調(diào)時(shí)電子時(shí)鐘程序_第4頁(yè)
51單片機(jī)可調(diào)時(shí)電子時(shí)鐘程序_第5頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上/*基于51單片機(jī)的可調(diào)時(shí)電子時(shí)鐘實(shí)驗(yàn)*/*電子時(shí)鐘前兩位為分鐘,后兩位為秒鐘,逢38秒進(jìn)1分*/*按下調(diào)時(shí)鍵第一次,秒鐘閃爍,進(jìn)入編輯狀態(tài)*/*按下調(diào)時(shí)鍵第二次,分鐘閃爍,進(jìn)入編輯狀態(tài)*/*按下調(diào)時(shí)鍵第三次,則確定*/*在編輯狀態(tài)下,按下增/減按鈕,閃爍位則進(jìn)行加/減操作*/*若在編輯狀態(tài)下,按下增/減按鈕時(shí)間超過(guò)1S,則閃爍位以0.5秒的速度自加1*/#include<reg51.h>#define uint unsigned int#define uchar unsigned charsbit wela1=P24;sbit wela2=P25;sbi

2、t wela3=P26;sbit wela4=P27;sbit key1=P15;sbit key2=P16;sbit key3=P17;/位定義uchar code table=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;uchar miao,fen,mode,modeflag;/模式標(biāo)志位bit flag,flash,miao_long,fen_long;/*延時(shí)子函數(shù)*/void delay(uint z)uint x,y;for(x=z;x>0;x-)for(y=110;y>0;y-);/*定時(shí)器T0和變量的初始化*/

3、void T0_init()miao=00;fen=00;mode=0;modeflag=0;flash=0;flag=0;P2=0x0f;/鎖存允許接口全部置低電平TMOD=0x01;/選擇定時(shí)器工作方式TH0=(65536-2000)/256;TL0=(65536-2000)%256;/賦初值EA=1;/開(kāi)總中斷ET0=1;/開(kāi)定時(shí)器中斷TR0=1;/啟動(dòng)定時(shí)器/*數(shù)碼管顯示子函數(shù)*/void display()if(flag=0)/閃爍標(biāo)志位為0時(shí)不閃爍wela1=1;P0=tablefen/10;wela1=0;wela2=1;P0=tablefen%10;wela2=0; /送數(shù)給分

4、位顯示wela3=1;P0=tablemiao/10;wela3=0;wela4=1;P0=tablemiao%10;wela4=0; /送數(shù)給秒位顯示else /閃爍標(biāo)志位為1時(shí)閃爍if(mode=1)/模式為1,即調(diào)秒if(miao_long=0)/沒(méi)有長(zhǎng)按加、減按鈕if(flash=0)/當(dāng)閃爍等于0時(shí)wela3=1;P0=tablemiao/10;wela3=0;wela4=1;P0=tablemiao%10;wela4=0;else/當(dāng)閃爍等于1時(shí)wela3=1;P0=0xff;wela3=0;wela4=1;P0=0xff;wela4=0;else/長(zhǎng)按了加、減按鈕wela3=1;

5、P0=tablemiao/10;wela3=0;wela4=1;P0=tablemiao%10;wela4=0;else/模式為2,即調(diào)分wela3=1;P0=tablemiao/10;wela3=0;wela4=1;P0=tablemiao%10;wela4=0;/在秒位熄滅的那一刻,按下調(diào)時(shí)鍵時(shí),要把秒位點(diǎn)亮if(fen_long=0)/沒(méi)有長(zhǎng)按加、減按鈕if(flash=0)wela1=1;P0=tablefen/10;wela1=0;wela2=1;P0=tablefen%10;wela2=0;else wela1=1;P0=0xff;wela1=0;wela2=1;P0=0xff;w

6、ela2=0;else/長(zhǎng)按了加、減按鈕wela1=1;P0=tablefen/10;wela1=0;wela2=1;P0=tablefen%10;wela2=0;/*key1按鈕子程序*/void key1_scan()if(key1=0)delay(10);/消抖if(key1=0)modeflag+;/模式標(biāo)志位自加1flag=1;/閃爍標(biāo)志位打開(kāi)mode+;/模式自加1if(mode=3)/只在模式1:調(diào)秒,模式2:調(diào)分中間選擇mode=0;while(!key1);/松手檢測(cè)else if(modeflag=3)/按鍵次數(shù)到了第三次modeflag=0;flag=0;while(!k

7、ey1);/*key2,key3子程序*/void key23_scan()if(key2=0)/加數(shù)的操作delay(10);if(key2=0)if(mode=1)/如果是模式1的話,key2鍵對(duì)秒加1miao+;if(miao=38)/38秒進(jìn)1分miao=0;delay(1000);/若按下的時(shí)間超過(guò)了1S鐘,則視為長(zhǎng)按while(!key2)miao_long=1;miao+;if(miao=38)miao=0;delay(200);miao_long=0;/跳出長(zhǎng)按,恢復(fù)短按的狀態(tài)else if(mode=2)/如果是模式2的話,key2鍵對(duì)分加一fen+;if(fen=60)/6

8、0分鐘進(jìn)1fen=0;delay(1000);/若按下的時(shí)間超過(guò)了1S鐘,則視為長(zhǎng)按while(!key2)fen_long=1;fen+;if(fen=60)fen=0;delay(200);fen_long=0;/跳出長(zhǎng)按,恢復(fù)短按的狀態(tài)else if(key3=0)/減數(shù)的操作delay(10);if(key3=0)if(mode=1)/如果是模式1的話,key3鍵對(duì)秒減一miao-;if(miao=0)miao=37;delay(1000);/若按下的時(shí)間超過(guò)了1S鐘,則視為長(zhǎng)按while(!key3)miao_long=1;miao-;if(miao=0)miao=37;delay(

9、200);miao_long=0;/跳出長(zhǎng)按,恢復(fù)短按的狀態(tài)else if(mode=2)/如果是模式2的話,key3鍵對(duì)分減一fen-;if(fen=0)fen=59;delay(1000);/若按下的時(shí)間超過(guò)了1S鐘,則視為長(zhǎng)按while(!key3)fen_long=1;fen-;if(fen=0)fen=59;delay(200);fen_long=0;/跳出長(zhǎng)按,恢復(fù)短按的狀態(tài)void main()T0_init();while(1)key1_scan();key23_scan();void T0_time() interrupt 1static uchar t=0;static uint i=0;TH0=(65536-50000)/256;TL0=(655

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論