51单片机数码管显示时钟程序

上传人:新** 文档编号:498308554 上传时间:2023-12-31 格式:DOC 页数:6 大小:33KB
返回 下载 相关 举报
51单片机数码管显示时钟程序_第1页
第1页 / 共6页
51单片机数码管显示时钟程序_第2页
第2页 / 共6页
51单片机数码管显示时钟程序_第3页
第3页 / 共6页
51单片机数码管显示时钟程序_第4页
第4页 / 共6页
51单片机数码管显示时钟程序_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《51单片机数码管显示时钟程序》由会员分享,可在线阅读,更多相关《51单片机数码管显示时钟程序(6页珍藏版)》请在金锄头文库上搜索。

1、#include/#include#include#defineucharunsignedchar#defineuintunsignedintsbitdula=P2人6;sbitwela=P2人7;sbitkeyl=P3人4;sbitkey2=P3A5;sbitkey3=P3A6;sbitbeep=P2A3;unsignedcodetable=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x7l;ucharnuml,num2,s,sl,m,ml,f,fl,num,numf,nums,din

2、gshi;ucharns,nsl,nf,nfl,numns,numnf;voiddelay(uintz);voidkeyscan();voidkeyscanl();voidalram();voiddisplay(ucharm,ucharml,ucharf,ucharfl,uchars,ucharsl);voiddisplay0(ucharnf,ucharnfl,ucharns,ucharnsl);voidmain()TMOD=0x01;设定定时器0工作方式1TH0=(65536-46080)/256;TL0=(65536-46080)%256;EA=1;开总中断ET0=1;开定时器0中断TR0

3、=1;启动定时器0中断numns=12;numnf=0;while(1)if(dingshi=0)keyscan();display(m,m1,f,f1,s,s1);alram();elsekeyscan1();display0(nf,nf1,ns,ns1);voidkeyscan()if(key1=0)delay(10);if(key1=0)nums+;if(nums=24)nums=0;while(!key1);display(m,m1,f,f1,s,s1);if(key2=0)delay(10);if(key2=0)numf+;if(numf=60)numf=0;while(!key2)

4、;display(m,m1,f,f1,s,s1);if(key3=0)delay(10);if(key3=0)dingshi=dingshi;while(!key3)display(m,m1,f,f1,s,s1);/*if(key4=0)delay(10);if(key4=0)flag=1;while(!key4);display(m,m1,f,f1,s,s1);*/voidkeyscan1()if(key1=0)delay(10);if(key1=0)numns+;if(numns=24)numns=0;while(!key1);/display(nf,nf1,ns,ns1);if(key2

5、=0)delay(10);if(key2=0)numnf+;if(numnf=60)numnf=0;while(!key2);/display(nf,nf1,ns,ns1);if(key3=0)delay(10);if(key3=0)dingshi=0;while(!key3);/display(m,m1,f,f1,s,s1);voidalram()if(numnf=numf)&(numns=nums)beep=0;if(numnf+l=numf)&(numns=nums)&(dingshi=O)一分钟报时提示beep=1;voiddisplayO(ucharnf,ucharnf1,uchar

6、ns,ucharnsl)/闹钟显示函数nf=numnf%10;nf1=numnf/10;ns=numns%10;ns1=numns/10;/*wela=1;P0=0xc0;送位选数据wela=0;P0=0xff;*/dula=1;P0=tablens1;dula=0;P0=0xff;wela=1;P0=0xfe;wela=0;delay(1);dula=1;P0=tablens|0x80;dula=0;P0=0xff;wela=1;P0=0xfd;wela=0;delay(1);dula=1;P0=tablenf1;dula=0;P0=0xff;wela=1;P0=0xfb;wela=0;de

7、lay(1);dula=1;P0=tablenf;dula=0;P0=0xff;wela=1;P0=0xf7;wela=0;delay(1);voiddisplay(ucharm,ucharm1,ucharf,ucharf1,uchars,uchars1)/时间显示dula=1;P0=tablem1;/秒位第1位dula=0;P0=0xff;wela=1;P0=0xef;wela=0;delay(1);dula=1;P0=tablem;/秒位第2位dula=0;P0=0xff;wela=1;P0=0xdf;wela=0;delay(1);dula=1;P0=tables1;/时位第一位dula

8、=0;P0=0xff;wela=1;P0=0xfe;wela=0;delay(1);dula=1;P0=tables|0x80;dula=0;P0=0xff;wela=1;P0=0xfd;wela=0;delay(1);dula=1;P0=tablef1;/分位第一位dula=0;P0=0xff;wela=1;P0=0xfb;wela=0;delay(1);dula=1;P0=tablef|0x80;dula=0;P0=0xff;wela=1;P0=0xf7;wela=0;delay(1);voidT0_timer()interrupt1TH0=(65536-46080)/256;TL0=(65536-46080)%256;num2+;if(num2=20)num+;num2=0;m=num%10;m1=num/10;f=numf%10;f1=numf/10;s=nums%10;s1=nums/10;if(num=59)num=0;numf+;if(numf=59)numf=0;nums+;if(nums=24)nums=0;voiddelay(uintz)uintx,y;for(x=110;x0;x-)for(y=z;y0;y-);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

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