为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

单片机时间闹钟日期程序,日期程序还不全

2017-10-15 21页 doc 34KB 10阅读

用户头像

is_005190

暂无简介

举报
单片机时间闹钟日期程序,日期程序还不全单片机时间闹钟日期程序,日期程序还不全 #include #define uchar unsigned char #define uint unsigned int sbit keyP10=P1^0; sbit keyP11=P1^1; sbit keyP12=P1^2; sbit keyP13=P1^3; sbit keyP14=P1^4; sbit keyP15=P1^5; sbit beepP17=P1^7; uchar xianshidaima[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92...
单片机时间闹钟日期程序,日期程序还不全
单片机时间闹钟日期程序,日期程序还不全 #include #define uchar unsigned char #define uint unsigned int sbit keyP10=P1^0; sbit keyP11=P1^1; sbit keyP12=P1^2; sbit keyP13=P1^3; sbit keyP14=P1^4; sbit keyP15=P1^5; sbit beepP17=P1^7; uchar xianshidaima[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x98}; uint miao,miao1,miao2,fen,fen1,fen2,shi,shi1,shi2,a,b,c,d; uint naomiao,naomiao1,naomiao2,naofen,naofen1,naofen2,naoshi,naoshi1,naoshi2; uint nian,nian1,nian2,yue,yue1,yue2,ri,ri1,ri2; void chufa(); void chufa1(); void chufa2(); void display(); void display1(); void display2(); void key(); void key1(); void key2(); void riqi(); void beep(); void delay(uint z); void main() { a=0; b=0; c=0; d=0; miao=0; fen=0; shi=0; naomiao=0; naofen=0; naoshi=0; nian=11; yue=7; ri=20; beepP17=0; TH0=0x4c; TL0=0x4c; TMOD=0x01; TR0=1; EA=1; ET0=1; while(1) { if(b==1) { key1(); chufa1(); display1(); if(keyP14==0) { delay(10); if(keyP14==0) { while(keyP14==0) { b=0; } } } if(keyP15==0) { delay(10); if(keyP15==0) { while(keyP15==0) { c=1; b=0; } } } } if(c==1) { key2(); chufa2(); display2(); if(keyP15==0) { delay(10); if(keyP15==0) { while(keyP15==0) { c=0; } } } if(keyP14==0) { delay(10); if(keyP14==0) { while(keyP14==0) { b=1; c=0; } } } } if(b==0&&c==0) { key(); chufa(); display(); beep(); if(keyP14==0) { delay(10); if(keyP14==0) { while(keyP14==0) { b=1; } } } if(keyP15==0) { delay(10); if(keyP15==0) { while(keyP15==0) { c=1; } } } } } } void key() { if(keyP10==0) { delay(10); if(keyP10==0) { while(keyP10==0) { display(); } shi++; if(shi>=24) { shi=0; } } } if(keyP11==0) { delay(10); if(keyP11==0) { while(keyP11==0) { display(); } shi--; if(shi>=24) { shi=23; } } } if(keyP12==0) { delay(10); if(keyP12==0) { while(keyP12==0) { display(); } fen++; miao=0; if(fen>=60) { fen=0; } } } if(keyP13==0) { delay(10); if(keyP13==0) { while(keyP13==0) { display(); } fen--; miao=0; if(fen>=60) { fen=59; } } } } void key1() { if(keyP10==0) { delay(10); if(keyP10==0) { while(keyP10==0) { display1(); } naoshi++; if(naoshi>=24) { naoshi=0; } } } if(keyP11==0) { delay(10); if(keyP11==0) { while(keyP11==0) { display1(); } naoshi--; if(naoshi>=24) { naoshi=23; } } } if(keyP12==0) { delay(10); if(keyP12==0) { while(keyP12==0) { display1(); } naofen++; if(naofen>=60) { naofen=0; } } } if(keyP13==0) { delay(10); if(keyP13==0) { while(keyP13==0) { display1(); } naofen--; if(naofen>=60) { naofen=59; } } } } void key2() { if(keyP10==0) { delay(10); if(keyP10==0) { while(keyP10==0) { display2(); } yue++; if(yue>=13) { yue=0; } } } if(keyP11==0) { delay(10); if(keyP11==0) { while(keyP11==0) { display2(); } yue--; if(yue>=13) { yue=12; } } } if(keyP12==0) { delay(10); if(keyP12==0) { while(keyP12==0) { display2(); } ri++; if(ri>=31) { ri=0; } } } if(keyP13==0) { delay(10); if(keyP13==0) { while(keyP13==0) { display2(); } ri--; if(ri>=31) { ri=30; } } } } void timer0() interrupt 1 { TH0=0x4c; TL0=0x4c; a++; if(a==20) { miao++; a=0; if(miao==60) { miao=0; fen++; if(fen==60) { fen=0; shi++; if(shi==24) { shi=0; riqi(); } } } } } void chufa() { miao1=miao/10; miao2=miao%10; fen1=fen/10; fen2=fen%10; shi1=shi/10; shi2=shi%10; } void display() { P2=0x7f; P0=xianshidaima[shi1]; delay(1); P2=0xbf; P0=xianshidaima[shi2]; delay(1); P2=0xdf; P0=0xbf; delay(1); P2=0xef; P0=xianshidaima[fen1]; delay(1); P2=0xf7; P0=xianshidaima[fen2]; delay(1); P2=0xfb; P0=0xbf; delay(1); P2=0xfd; P0=xianshidaima[miao1]; delay(1); P2=0xfe; P0=xianshidaima[miao2]; delay(1); P2=0xff; } void chufa1() { naomiao1=naomiao/10; naomiao2=naomiao%10; naofen1=naofen/10; naofen2=naofen%10; naoshi1=naoshi/10; naoshi2=naoshi%10; } void display1() { P2=0x7f; P0=xianshidaima[naoshi1]; delay(1); P2=0xbf; P0=xianshidaima[naoshi2]; delay(1); P2=0xdf; P0=0xbf; delay(1); P2=0xef; P0=xianshidaima[naofen1]; delay(1); P2=0xf7; P0=xianshidaima[naofen2]; delay(1); P2=0xfb; P0=0xbf; delay(1); P2=0xfd; P0=xianshidaima[naomiao1]; delay(1); P2=0xfe; P0=xianshidaima[naomiao2]; delay(1); P2=0xff; } void chufa2() { nian1=nian/10; nian2=nian%10; yue1=yue/10; yue2=yue%10; ri1=ri/10; ri2=ri%10; } void display2() { P2=0x7f; P0=xianshidaima[nian1]; delay(1); P2=0xbf; P0=xianshidaima[nian2]; delay(1); P2=0xdf; P0=0xbf; delay(1); P2=0xef; P0=xianshidaima[yue1]; delay(1); P2=0xf7; P0=xianshidaima[yue2]; delay(1); P2=0xfb; P0=0xbf; delay(1); P2=0xfd; P0=xianshidaima[ri1]; delay(1); P2=0xfe; P0=xianshidaima[ri2]; delay(1); P2=0xff; } void beep() { if(shi==naoshi&&fen==naofen) beepP17=~beepP17; } void delay(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } void riqi() { if(shi==0) { ri++; if(ri==30) { ri=1; yue++; if(yue==12) { yue=1; nian++; } } } }
/
本文档为【单片机时间闹钟日期程序,日期程序还不全】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索