时间轮的程序结构相当于电脑操作系统,想一下电脑是怎么工作的---我们一边可以看电影,一边可以打字编写文件,一边画PCB板等等,好像它们是同时执行的,其实不是这样的,某个时刻只能执行某个动作,时间轮的程序结构轮流执行所有的子函数,比如按键扫描,接着显示函数,然后时间管理........,下面是个主程序结构.我自己搞的电子钟,有时间显示,闹种,预约,定时,温度显示(用RTC),误差0.5秒/每天,没有进行时间校正操作.本论坛也有具体的完整程序例子,好像是啥"我的第1次调试经厉"
while(1)
{
if(t_us >= 80) //10ms
{
t_us = 0;
I2CReadDate_SD2405(); //读时钟芯片内容(时间)
key_scan(); //按键扫描
display_man(); //显示管理
key_deal(); //按键处理
translate(); //共阴数据转换成共阳数据再显示
display(show_LED2); //显示驱动
buz_man(); //蜂鸣器管理
time_man(); //时间管理
led_man(); //led指示灯管理
ReadADC(); //读AD值
ADC_Filter(); //AD滤波
rtc_man(); //实时时钟管理
}
}
|