ZKX's LAB

51单片机的数字钟帮忙看下程序,,,解释详细点本人初学者. 51单片机数字时钟

2021-03-11知识5

STC51单片机多功能数字时钟设计 这是时钟的includedefine uint unsigned intdefine uchar unsigned charuchar code tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};uchar shi,fen,miao;uchar time;void delay(uint x){uint y;for;x>;0;x-){for(y=0;y;y+);}}void display(uchar shi,uchar fen,uchar miao){P2=0;位码P0=(tab[shi/10]);段码delay(2);P2=1;P0=(tab[shi%10]);delay(2);P2=2;位码P0=0x40;段码delay(2);P2=3;位码P0=(tab[fen/10]);段码delay(2);P2=4;P0=(tab[fen%10]);delay(2);P2=5;位码P0=0x40;段码delay(2);P2=6;位码P0=(tab[miao/10]);段码delay(2);P2=7;P0=(tab[miao%10]);delay(2);}void main(){TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=1;while(1){if(time=20){time=0;miao+;if(miao=60){miao=0;fen+;if(fen=60){fen=0;shi+;if(shi=24)shi=0;}}}display(shi,fen,miao);}}void timer0()interrupt 1{TH0=(65536-50000)/256;TL0=(65536-50000)%256;time+;}

51单片机数字时钟调节时间 按键加一或减一后,要等待按键释放。如下程序,按键k1,k2各加一行。

用51单片机编写数字钟出问题了,求高手解答 您定义了全局变量shi,fen,miao,display函数定义 中的参数也是shi,fen,miao,计时动作是在display中做的,对函数内部的 shi,fen,miao的操作不会改变全局的shi,fen,miao,下次用display(shi,fen,miao);调用display时,从未被改变过的全局变量的值又赋给display内部的局部变量,所以就没法计时了。一种笨修改方法是去掉 display 的参数,定义那行改为1void display()/(char shi,char fen,char miao)调用改为1void display()/(char shi,char fen,char miao)这样就工作正常了,仿真效果如下:

51单片机的数字钟帮忙看下程序,,,解释详细点本人初学者. 可以把工程发给我还有原理图

51单片机的数字钟帮忙看下程序,,,解释详细点本人初学者. 51单片机数字时钟

随机阅读

qrcode
访问手机版