单片机闹钟程序.doc

上传人:hs****ma 文档编号:559340031 上传时间:2024-02-06 格式:DOC 页数:12 大小:53.51KB
返回 下载 相关 举报
单片机闹钟程序.doc_第1页
第1页 / 共12页
单片机闹钟程序.doc_第2页
第2页 / 共12页
单片机闹钟程序.doc_第3页
第3页 / 共12页
单片机闹钟程序.doc_第4页
第4页 / 共12页
单片机闹钟程序.doc_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《单片机闹钟程序.doc》由会员分享,可在线阅读,更多相关《单片机闹钟程序.doc(12页珍藏版)》请在金锄头文库上搜索。

1、/*这里的按键是左起第4个位修改时间和闹钟的先是选择修改时间 在是修改闹钟 第五个按键进位按一下加一次,左起第三个是选择是时钟和秒表之间的转换。如果选择的是秒表在再按左起第二个是开始计时 第四个是暂停。*/#include#define ucharunsigned char sbitkey1 = P36; sbitkey2 = P37;sbitkey3 = P14;sbitkey4 = P15;sbitbell = P27;ucharcodetable = 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;ucharnumber104;ucha

2、r aa,num = 0,tt;ucharqie = 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;voiddisplay(uchar qie,uchar bai,uchar shi,ucharge);voiddelay(uchark);voidjingwei();voidintter2();voidintter3();voiddisplay1(ucharqie);voiddisplay2(ucharbai);voiddisplay3(ucharshi);vo

3、iddisplay4(ucharge);voiddisplays1(uchar qie,uchar bai,uchar shi,ucharge);voiddisplays2(uchar qie,uchar bai,uchar shi,ucharge);voiddisplays3(uchar qie,uchar bai,uchar shi,ucharge);voiddisplays4(uchar qie,uchar bai,uchar shi,ucharge);voidbells(uchar qie,uchar bai,uchar shi,ucharge,uchar yi,uchar er,uc

4、har san,uchar si,uchar mszhuan,uchar tt);voidmzhuan();voidmiaobiao();void main()/unchar aa; 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, y

5、i,er,san,si,mszhuan,tt);if(mszhuan=0)/当选择时钟的时候才能做修改时钟 和闹钟intter2();intter3();switch(tt)case0:display(qie,bai,shi,ge);break;case1:displays1(qie,bai,shi,ge);break;case2:displays2(qie,bai,shi,ge);break;case3:displays3(qie,bai,shi,ge);break;case4:displays4(qie,bai,shi,ge);break;case5:displays1(yi,er,san

6、,si);break;case6:displays2(yi,er,san,si);break;case7:displays3(yi,er,san,si);break;case8:displays4(yi,er,san,si);break;else if(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(!k

7、ey1); 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)case1: numbert2-10 = four;numbert2

8、-11 = three;numbert2-12 = two;numbert2-13 = one;break;case2: numbert2-10 = four;numbert2-11 = three;numbert2-12 = two;numbert2-13 = one; break;case3: numbert2-10 = four;numbert2-11 = three;numbert2-12 = two;numbert2-13 = one; break;case4: numbert2-10 = four;numbert2-11 = three;numbert2-12 = two;numb

9、ert2-13 = one; break;case5: numbert2-10 = four;numbert2-11 = three;numbert2-12 = two;numbert2-13 = one; break;if(t1t2)switch(t1)case1: display(number00,number01,number02,number03);break;case2: display(number10,number11,number12,number13);break;case3: display(number20,number21,number22,number23);brea

10、k;case4: display(number30,number31,number32,number33);break;case5: display(number40,number41,number42,number43);break;elset1 = 0;*/ voidinter1()interrupt1TH0 = (65536-50000)/256;TL0 = (65536-50000)%256;aa+;mm+;/*voidinter3()interrupt3TH1 = (65536-50000)/256;TL1 = (65536-50000)%256;bb+; */ voiddelay(

11、uchark)for(j=0;j0;i-); voiddisplay(uchar qie,uchar bai,uchar shi,ucharge)/显示函数 P1 = 0xf7;P0 = tableqie;delay(1);P1 = 0xfd;P0 = tablebai;delay(1);P1 = 0xfb;P0 = tableshi;delay(1);P1 = 0xfe;P0 = tablege;delay(1);voidjingwei()/中断里面中断一次为50ms所以中断二十次为一秒钟 if(aa=20)aa = 0;ge+;if(ge=10)ge = 0;shi+;if(shi=6)shi = 0;bai+;if(bai=

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号