欢迎来到天天文库
浏览记录
ID:44820250
大小:28.50 KB
页数:5页
时间:2019-10-30
《简易秒表程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、一、基本要求(1)让一只LED灯自由闪烁(即间歇式亮灭)。(2)让数码管的低两位显示一个两位数50。(3)使用一按键控制上述数字的加1,每按一下数字加1,当加到59时,再按一下,则从0开始,即在0到59循环加。(4)使用另一按键控制上述数字的减1,每按一下数字减1,当减到0时,再按一下,则从59开始,即在0到59循环减。三、提高部分(1)做一顺时计时秒表,以一秒为单位计时,分和秒之间用一小数点作间隔(2)用一个按键控制该计时秒表的暂停与继续,另一个按键使秒表复位(即数码管归位到0)。(3)能用按键设定某一时刻,当计时到达这一
2、时刻时,LED灯闪烁,且秒表停止变为0。(4)其它自由发挥一.用定时器0的方式1实现第一个发光管一200μm间隙闪烁,用定时器1的方式1实现数码管前两位59s循环计时#include#defineunsignedchar#defineuintunsignedintsbitdula=P2^6;//申明U1锁存器的所存端sbitwela=P2^7;//申明U2锁存器的所存端sbitled1=P1^0;ucharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6b,0x7d,0x0
3、7,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};voiddelayms(uint);voiddisplay(uchar,uchar);ucharnum,num1,num2,shi,ge;voidmain(){TMOD=0x11;TH0=(65536-45872)/256;TL0=(65536-45872)%256;TH1=(65536-45872)/256;TL1=(65536-45872)%256;EA=1;ET0=1;ET1=1;TR0=1;TR1=1;while(1){displa
4、y(she,ge);}}voiddisplay(ucharshi,ucharge){dula=1;P0=table[shi];dula=0;P0=0xff;wela=1;P0=0xfe;wela=0;delayms(5);dula=1;P0=table[ge];dula=0;P0=0xff;wela=1;P0=0xfd;wela=0;delayms(5);}voiddelayms(uintxms);{uinti,j;for(i=xms;i--)for(j=110;j>0;j--);}voidT0_time()interrup
5、t1{TH0=(65536-45872)/256;TL0=(65536-45872)%256;num1++;if(num1==4){num1=0;led=~led1;}voidT1_time()interrupt3{TH1=(65536-45872)/256;TL1=(65536-45872)%256;num2++;if(num2==20){num2=0;num++;if(num==60)Num=0;shi=num/10;ge=num%10;}}
此文档下载收益归作者所有