基于51单片机的电子钟C语言程序

基于51单片机的电子钟C语言程序

ID:39483720

大小:248.51 KB

页数:5页

时间:2019-07-04

基于51单片机的电子钟C语言程序_第1页
基于51单片机的电子钟C语言程序_第2页
基于51单片机的电子钟C语言程序_第3页
基于51单片机的电子钟C语言程序_第4页
基于51单片机的电子钟C语言程序_第5页
资源描述:

《基于51单片机的电子钟C语言程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、基于51单片机的电子钟C语言程序#include#include#defineucharunsignedchar#defineuintunsignedint/*七段共阴管显示定义*/ucharcodedispcode[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0xBF,0x86,0xCB,0xCF,0xEF,0xED,0xFD,0x87,0xFF,0xDF};/*定义并初始化变量*/ucharseconde=0;ucharminite=0;ucharhour=12;

2、ucharmstcnt=0;sbitP1_0=P1^0;//second调整定义sbitP1_1=P1^1;//minite调整定义sbitP1_2=P1^2;//hour调整定义/*函数声明*/voiddelay(uintk);//延时子程序voiddelay1(ucharh);voidtime_pro();//时间处理子程序voiddisplay();//显示子程序voidkeyscan();//键盘扫描子程序/*****************************//*延时子程序*//****************************/voiddel

3、ay1(ucharh){ucharj;while((h--)!=0){for(j=0;j<125;j++){;}}}voiddelay(uintk){uinta,b,c;for(c=k;c>0;c--)for(b=38;b>0;b--)for(a=130;a>0;a--);}/**************************//*时间处理子程序*//**************************/voidtime_pro(void){if(seconde==60)//秒钟设为60进制{seconde=0;minite++;if(minite==60)//分

4、钟设为60进制{minite=0;hour++;if(hour==24)//时钟设为24进制{hour=0;}}}}/*****************************//*显示子程序*//*****************************/voiddisplay(void){P2=0xfe;P0=dispcode[hour/10];//显示小时的十位delay1(4);P2=0xfd;P0=(dispcode[(hour%10)])

5、0X80;//显示小时的个位delay1(4);P2=0xfb;P0=dispcode[minite/10];//显

6、示分的十位delay1(4);P2=0xf7;P0=(dispcode[minite%10])

7、0X80;//显示分的个位delay1(4);P2=0xef;P0=dispcode[seconde/10];//显示秒的十位delay1(4);P2=0xdf;P0=dispcode[seconde%10];//显示秒的个位delay1(4);}/*******************************//*键盘扫描子程序*//*******************************/voidkeyscan(void){if(P1_0==0)//按键1秒的调

8、整{delay(2);if(P1_0==0)//delay(300);{seconde++;if(seconde==60){seconde=0;}}}if(P1_1==0)//按键2分的调整{delay(2);if(P1_1==0)//delay(300);{minite++;if(minite==60){minite=0;}}}if(P1_2==0)//按键3小时的调整{delay(2);if(P1_2==0)//delay(300);{hour++;if(hour==24){hour=0;}}}}voidtimer0(void)interrupt1using0/

9、/定时器0方式1,50ms中断一次{TH0=0x3c;TMOD=0x11;mstcnt++;if(mstcnt==20){seconde++;mstcnt=0;//注意点。对计数单元的清零十分的重要,本次调试中就是}//因为忽略了这一点,给我早成了很大的被动。}/**************************//*主函数*//**************************/voidmain(void){P1=0xff;//初始化p1口,全设为1TMOD=0x11;//time0为定时器,方式1TH0=0x3c;//预置计数初值TL0=0xb0;EA=

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。