51单片机c语言电子钟

51单片机c语言电子钟

ID:16474512

大小:160.00 KB

页数:7页

时间:2018-08-10

51单片机c语言电子钟_第1页
51单片机c语言电子钟_第2页
51单片机c语言电子钟_第3页
51单片机c语言电子钟_第4页
51单片机c语言电子钟_第5页
资源描述:

《51单片机c语言电子钟》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、51单片机c语言电子钟(已加入调时、闹铃、整点报时功能)效果图:程序如下://51单片机c语言电子钟(已加入调时、闹铃、整点报时功能)//WHJWNAVY2011/10/14 #include#include#defineucharunsignedchar#defineuintunsignedint/*七段共阴管显示定义*///此表为LED的字模,共阴数码管0-9 -ucharcodedispcode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0

2、x40}; //段码控制/*定义并初始化变量*/ucharseconde=0;//秒ucharminite=0;//分ucharhour=12;//时ucharmstcnt=0;//定时器计数,定时50ms,mstcnt满20,秒加1ucharshi=0;//闹铃功能ucharfen=0;ucharbjcs;//报警次数sbitP1_0=P1^0;                //second调整定义sbitP1_1=P1^1;                //minite调整定义sbitP1_2=P1^2;                /

3、/hour调整定义sbitP1_5=P1^5;     //整点报时sbitP1_3=P1^3;     //闹铃功能,调整时间sbitP1_6=P1^6;     //调整时sbitP1_7=P1^7;     //调整分sbitP1_4=P1^4;     //关闭闹铃/*函数声明*/voiddelay(uintk); //延时子程序voidtime_pro();     //时间处理子程序voiddisplay();      //显示子程序voidkeyscan();      //键盘扫描子程序/*延时子程序*/voiddelay(ui

4、ntk){ucharj;while((k--)!=0)  {   for(j=0;j<125;j++)    {;}  }} /*时间处理子程序*/voidtime_pro(void){ if(seconde==60) {  seconde=0;  minite++;  if(minite==60)  {   minite=0;   hour++;   if(hour==24)   {    hour=0;   }  } }}/*显示子程序*/voiddisplay(void){ if(P1_3==1) { P2=0XFE; P0=dispcod

5、e[seconde%10];//秒个位 delay(1); P2=0XFD; P0=dispcode[seconde/10];//秒十位 delay(1); P2=0XFB; P0=dispcode[10];//间隔符- delay(1); P2=0XF7; P0=dispcode[minite%10];//分个位 delay(1); P2=0XEF; P0=dispcode[minite/10];//分十位 delay(1); P2=0XDF; P0=dispcode[10];//间隔符- delay(1); P2=0XBF; P0=dispc

6、ode[hour%10];//时个位 delay(1); P2=0X7F; P0=dispcode[hour/10];//时十位 delay(1); }}/*键盘扫描子程序*/voidkeyscan(void){ if(P1_0==0)//秒位的调整 {  delay(30);  if(P1_0==0)  {   seconde++;   if(seconde==60)   {    seconde=0;   }  }  delay(250); } if(P1_1==0)//分位的调整 {  delay(30);  if(P1_1==0)  { 

7、  minite++;   if(minite==60)   {    minite=0;   }  }  delay(250); } if(P1_2==0)//时位的调整 {  delay(30);  if(P1_2==0)  {   hour++;   if(hour==24)   {    hour=0;   }  }  delay(250); }}/*整点报警*/voidzhengdian(void) {  if((seconde==0)&(minite==0))//整点报时  {    P1_5=0;    delay(1000);  

8、  P1_5=1;  } }/*定时闹钟*/voiddingshi(void){ if(P1_3==0)       //按住P1_3B

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

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

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