51单片机秒表程序-00-99秒

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

#includereg52.h#defineucharunsignedchar//宏定义用uchar代替unsignedchar#defineuintunsignedintsbitSTART=P1^0;//开始、停止键低电平有效sbitRST=P1^1;//复位键sbitSMGGW=P1^2;//用三极管或驱动芯片驱动数码管高电平有效还是低电平有效由电路决定sbitSMGSW=P1^3;uchartt;uinttime;//此变量为时间ucharcodetable[]={//此为数码管字模,对应0--90x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40};voidDelay(uintms)//延时子函数{uinti,j;for(i=ms;i0;i--)for(j=500;j0;j--);}voidDisplay()//显示子函数{ucharge,shi;shi=time/10;ge=time%10;P0=table[ge];SMGGW=0;//用三极管或驱动芯片驱动数码管高电平有效还是低电平有效由电路决定本程序为低电平数码管亮SMGSW=1;Delay(2);P0=table[shi];SMGGW=1;SMGSW=0;Delay(2);}voidmain(){P1=0xff;EA=1;ET0=1;TMOD=0x01;TH0=0x4c;//晶振11.0592Mhz若用12Mhz晶振则改为TH0=0x3c;Tl0=0xb0;TL0=0x00;TR0=0;while(1){if(START==0)//开始、停止{Delay(8);if(START==0){TR0=!TR0;while(!START)Display();}}if(RST==0)//复位{Delay(8);if(RST==0){time=0;while(!RST)Display();}}if(tt==20){tt=0;time++;if(time==99){time=0;}}Display();}}voidtimer0()interrupt1{TH0=0x4c;//晶振11.0592Mhz若用12Mhz晶振则改为TH0=0x3c;Tl0=0xb0;TL0=0x00;tt++;}

1 / 2
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功