个位牛人,我的程序大小在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;
}
|