做了一单片机设计,要用C语言与汇编语言同时实现,现将这次设计的感受和收获,还有遇到的问题写下,欢迎感兴趣的朋友交流想法,提出建议。
单片机设计:基于51单片机的99码表设计
软件环境:Proteus8.0 + Keil4
要求:1,开关按一下,数码管开始计时。2,按两下,数码管显示静止。3,按三下,数码管数值清零。
C语言程序如下:
1 #include
2 #define uint unsigned int
3 #define uchar unsigned char
4 uchar shi,ge,aa,keycount=0,temp;5 sbit anjian=P1^7;6 uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};7 voiddisplay(shi,ge);8 voidkey ();9 voidinit();10 void delay(uintz);11 /*-----主程序-----*/
12 voidmain()13 {14 init(); //初始化
15 while(1)16 {17 key ();18 if(keycount==1)19 TR0=1; //开中断
20 if(keycount==2)21 TR0=0;22 if(keycount==3)23 {24 temp=0;25 keycount=0;26 }27 if(aa==10){aa=0;28 if(temp<=99)29 {30 temp++;display