




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
/*這里按鍵是左起第4個(gè)位修改時(shí)間和鬧鐘先是選擇修改時(shí)間在是修改鬧鐘第五個(gè)按鍵進(jìn)位按一下加一次,左起第三個(gè)是選擇是時(shí)鐘和秒表之間轉(zhuǎn)換。假如選擇是秒表在再按左起第二個(gè)是開始計(jì)時(shí)第四個(gè)是暫停。*/#include<reg51.h>#defineuchar unsignedcharsbit key1=P3^6; sbit key2=P3^7;sbit key3=P1^4;sbit key4=P1^5;sbit bell=P2^7;uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};uchar number[10][4];ucharaa,num=0,tt;uchar qie=1,bai=9,shi=5,ge=5,i,j,yi,er,san,si,mszhuan,one,two,three,four,mm,t3,t2,t1,k1,k2,k3,k4;void display(ucharqie,ucharbai,ucharshi,uchar ge);void delay(uchar k);void jingwei();void intter2();void intter3();void display1(uchar qie);void display2(uchar bai);void display3(uchar shi);void display4(uchar ge);void displays1(ucharqie,ucharbai,ucharshi,uchar ge);void displays2(ucharqie,ucharbai,ucharshi,uchar ge);void displays3(ucharqie,ucharbai,ucharshi,uchar ge);void displays4(ucharqie,ucharbai,ucharshi,uchar ge);void bells(ucharqie,ucharbai,ucharshi,uchar ge,ucharyi,ucharer,ucharsan,ucharsi,ucharmszhuan,uchartt);void mzhuan();void miaobiao();voidmain(){ //uncharaa; TMOD=0x01; EA=1; TR0=1; ET0=1;// ET1=1; aa=0; TH0=(65536-50000)/256; TL0=(65536-50000)%256;// TH1=(65536-50000)/256;// TL1=(65536-50000)%256; while(1) { miaobiao(); mzhuan(); jingwei(); bells(qie,bai,shi,ge,yi,er,san,si,mszhuan,tt); if(mszhuan==0) //當(dāng)選擇時(shí)鐘時(shí)候才能做修改時(shí)鐘和鬧鐘 { intter2(); intter3(); switch(tt) { case 0: display(qie,bai,shi,ge); break; case 1: displays1(qie,bai,shi,ge); break; case 2: displays2(qie,bai,shi,ge); break; case 3: displays3(qie,bai,shi,ge); break; case 4: displays4(qie,bai,shi,ge); break; case 5: displays1(yi,er,san,si); break; case 6: displays2(yi,er,san,si); break; case 7: displays3(yi,er,san,si); break; case 8: displays4(yi,er,san,si); break; } } elseif(mszhuan==1) //下面是秒表 { if(t1==0) display(four,three,two,one); if(key3==0) { delay(10); if(key3==0) { t3++; if(t3==2) t3=0; } while(!key3); } if(key1==0) { delay(10); if(key1==0) { t2++; if(t2==6) t2=0; } while(!key1); } if(key2==0) { delay(10); if(key2==0) { t1++; if(t1==3) t1=0; } while(!key1); } if(t3==1) { four=0; three=0; two=0; one=0; t3=0; t1=0; t2=0; } if(t1==1) { k1=four; k2=three; k3=two; k4=one; t1=2; } if(t1==2) { display(k1,k2,k3,k4); four=k1; three=k2; two=k3; one=k4; } /* switch(t2) { case 1: { number[t2-1][0]=four; number[t2-1][1]=three; number[t2-1][2]=two; number[t2-1][3]=one; } break; case 2: { number[t2-1][0]=four; number[t2-1][1]=three; number[t2-1][2]=two; number[t2-1][3]=one; } break; case 3: { number[t2-1][0]=four; number[t2-1][1]=three; number[t2-1][2]=two; number[t2-1][3]=one; } break; case 4: { number[t2-1][0]=four; number[t2-1][1]=three; number[t2-1][2]=two; number[t2-1][3]=one; } break; case 5: { number[t2-1][0]=four; number[t2-1][1]=three; number[t2-1][2]=two; number[t2-1][3]=one; } break; } if(t1<t2) { switch(t1) { case 1: display(number[0][0],number[0][1],number[0][2],number[0][3]); break; case 2: display(number[1][0],number[1][1],number[1][2],number[1][3]); break; case 3: display(number[2][0],number[2][1],number[2][2],number[2][3]); break; case 4: display(number[3][0],number[3][1],number[3][2],number[3][3]); break; case 5: display(number[4][0],number[4][1],number[4][2],number[4][3]); break; } } else t1=0;*/ } } }void inter1() interrupt 1{ TH0=(65536-50000)/256; TL0=(65536-50000)%256; aa++; mm++;}/*void inter3() interrupt 3{ TH1=(65536-50000)/256; TL1=(65536-50000)%256; bb++; }*/void delay(uchar k){ for(j=0;j<100;j++) for(i=k;i>0;i--);} void display(ucharqie,ucharbai,ucharshi,uchar ge) //顯示函數(shù){ P1=0xf7; P0=table[qie]; delay(1); P1=0xfd; P0=table[bai]; delay(1); P1=0xfb; P0=table[shi]; delay(1); P1=0xfe; P0=table[ge]; delay(1);}void jingwei() //中止里面中止一次為50ms所以中止二十次為一秒鐘 { if(aa==20) { aa=0; ge++; if(ge==10) { ge=0; shi++; if(shi==6) { shi=0; bai++; if(bai==10&&qie!=2) { bai=0; qie++; } if(bai==4&&qie==2) { qie=0; bai=0; } } } }}void intter2() //當(dāng)按鍵左起第四個(gè)按下tt加一次{ if(key1==0) { delay(10); if(key1==0) { tt++; if(tt==9) tt=0; } while(!key1); } }void intter3() //按鍵左起第五個(gè)按下當(dāng)tt不一樣值時(shí)選擇修改值不一樣所以用switch來選擇1表示修改時(shí)鐘最高位依次到5表示選擇了鬧鐘修改{ if(key2==0) { delay(10); if(key2==0) { switch(tt) { case 1: { qie++; if(qie==3) qie=0; } break; case 2: { bai++; if(bai==10) bai=0; } break; case 3: { shi++; if(shi==7) shi=0; } break; case 4: { ge++; if(ge==10) ge=0; } break; case 5: { yi++; if(yi==3) yi=0; } break; case 6: { er++; if(er==10) er=0; } break; case 7: { san++; if(san==6) san=0; } break; case 8: { si++; if(si==10) si=0; } break; } } while(!key2); } }void displays1(ucharqie,ucharbai,ucharshi,uchar ge) //因?yàn)樵谛薷氖乱@示出修改哪個(gè)所以用了下面函數(shù){ P1=0xf7; //認(rèn)為數(shù)碼管第一個(gè)延遲時(shí)間長所以第一個(gè)比后面三個(gè)要亮一點(diǎn) P0=table[qie]; //下面函數(shù)同理 delay(20); P1=0xfd; P0=table[bai]; delay(1); P1=0xfb; P0=table[shi]; delay(1); P1=0xfe; P0=table[ge]; delay(1);}void displays2(ucharqie,ucharbai,ucharshi,uchar ge){ P1=0xf7; P0=table[qie]; delay(1); P1=0xfd; P0=table[bai]; delay(20); P1=0xfb; P0=table[shi]; delay(1); P1=0xfe; P0=table[ge]; delay(1);}void displays3(ucharqie,ucharbai,ucharshi,uchar ge){ P1=0xf7; P0=table[qie]; delay(1); P1=0xfd; P0=table[bai]; delay(1); P1=0xfb; P0=table[shi]; delay(20); P1=0xfe; P0=table[ge]; delay(1);}void displays4(ucharqie,ucharbai,ucharshi,uchar ge){ P1=0xf7; P0=table[qie]; delay(1); P1=0xfd; P0=table[bai]; delay(1); P1=0xfb; P0=table[shi]; delay(1); P1=0xfe; P0=table[ge]; delay(20);}void bells(ucharqie,ucharb
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年少先隊(duì)輔導(dǎo)員網(wǎng)絡(luò)培訓(xùn)考試題及答案
- 施工現(xiàn)場安全文化的建設(shè)與評價(jià)體系試題及答案
- 網(wǎng)絡(luò)直播規(guī)范化發(fā)展中的商業(yè)模式創(chuàng)新與用戶互動性提升報(bào)告
- 施工現(xiàn)場安全責(zé)任制考核試題及答案
- 2025年度農(nóng)業(yè)文化發(fā)展知識競賽試題(附答案)
- 思維決定未來試題及答案
- 環(huán)衛(wèi)中心面試真題及答案
- 環(huán)保員面試真題及答案
- 當(dāng)代家居設(shè)計(jì)中的功能與美學(xué)平衡試題及答案
- 架子工作業(yè)試題及答案
- 高溫熔融金屬企業(yè)安全知識培訓(xùn)
- 水利信息化水情監(jiān)測系統(tǒng)單元工程質(zhì)量驗(yàn)收評定表、檢查記錄
- 2024至2030年中國高密度聚乙烯樹脂行業(yè)投資前景及策略咨詢研究報(bào)告
- 仿制藥與原研藥競爭分析
- 腦洞大開背后的創(chuàng)新思維學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 臨時(shí)聘用司機(jī)合同范本
- ipo上市商業(yè)計(jì)劃書
- 抖音短陪跑合同范本
- HJ 636-2012 水質(zhì) 總氮的測定 堿性過硫酸鉀消解紫外分光光度法
- 現(xiàn)代風(fēng)險(xiǎn)導(dǎo)向?qū)徲?jì)在天衡會計(jì)師事務(wù)所的應(yīng)用研究
- 拔牙技巧必成高手
評論
0/150
提交評論