个位牛人,我的程序大小在8k以下,芯片8位。实时性一般。
我这样的程序没有架构,没有那么严谨,全局变量满天飞,变量的命名不统一。我想进一步提高自己的编程水平,但却不知如何下手。望指教。- unsigned char LED_Data[3]
- unsigned char KeyMode
- unsigned char SysMode
- void main(void)
- {
- init();
- while(1)
- {
- if(Timer1_10ms ==0)
- {
- Timer1_10ms = 10;
- Key_Process();
- }
- if(Timer2_4ms ==0)
- {
- Timer_4ms = 4;
- LED_Process();
- }
- if(Timer3_10ms ==0)
- {
- Timer3_10ms = 10;
- TimerEven();
- }
- }
- }
- void TimerEven(void)
- {
- //10ms以上间隔处理的事情,放在这里
- Sys_Process();
- .
- .
- .
- .
- return;
- }
- void Key_Process(void)
- {
- //读取按键
- //按键滤波
- //按键执行
- return;
- }
- void Sys_Process(void)
- {
- //系统故障处理
- //根据温度湿度判断运行模式
-
- return;
- }
- //LED.C
- void LED_Process(void)
- {
- //扫描控制
- LED_Data[1] = 0;//数码管
- LED_Data[0] = 0;//数码管
- LED_Data[2] = 0;//led灯
-
- //刷新数据
- if(SysMode ==0) LED_Data[3] |=0x01; //led1亮
- else if(SysMode ==0) LED_Data[3] |=0x02; //led2亮
- .........
-
- switch(KeyMode)
- {
- case 0:break;//显示正常数据 环境温度
- case 1:break;//显示调节设定温度
- case 2:break;//显示调节...........
- .
- .
- .
- }
- //闪烁控制
- //送显示
-
- return;
- }
|