程序流程设计:
1、定义端口(LED显示端口,定义按键输入的端口,每个端口分配不同的名字);
2、硬件资源的初始化(初始化定时计数器、初始化LED显示器、初始化按键);
3、功能初始化(工作状态初始化、显示初始化);
码表工作状态 :a.等待状态 b.计数状态 c.存储状态
4、等待状态(回显数据):回显使能、定时器不工作;
5、计数状态(计数):定时器工作、LED显示被激活;
6、存储状态:暂态,此程序只能存储5个;
1 #include <reg52.h> 2 typedef unsigned char u8; 3 typedef unsigned int u16; 4 5 /*端口定义*/ 6 #define DATA P0 7 sbit seg_sel = P1^4; 8 sbit bit_sel = P1^5; 9 sbit start=P3^2; 10 sbit store =P3^3; 11 sbit diskey =P3^4; 12 sbit reset =P3^5; 13 sbit led =P1^0; 14 15 /*变量定义*/ 16 u16 tem_ms; 17 u8 code seg_tab[]={ 18 //led显示段码 19 }; 20 u8 code bit_tab[]={ 21 //led选择段码 22 }; 23 void delay(void); 24 void display_led(void); 25 void display(void); 26 void main(void) 27 { 28 TMOD =0x01; 29 TH0 = (65535-10000) /256; 30 TL0 = (65535-10000) %256; 31 EA = 1; 32 ET0 = 1; 33 TR0 = 1; 34 35 }