定时器定时产生中断然后在中断服务程序里对中断计数根据不同的计数值执行不同的任务
其实就是简化了的实时操作系统.
一个定时器可以定好几个时间了,又不是只能定一个时间,
比如100ms和1s需要定时,那么我就用定时器1设置100ms,每次中断就是100ms,那么在中断里计数当到达10的时候就是1s,一般是够用的,如果有其他时间还是可以增加的
这样说,如果你有很多个需要定不同时间的任务,你可以取公约数作为定时器中断的时间,然后在中断函数里面用裸机判断是哪个任务的时间到了
或者直接点,换个同封装更高型号的单片机也行,增强型的51单片机封装相同,但定时器资源多得多
这个可以把各个任务放在主函数,开一个定时器,每进一次定时器,就将一个变量++;
主函数里的任务判断变量的大小,当到达一定值就执行,用变量大小控制定时时间;