include “REG52.H”
define const_time_level 200
void initial_myself();
void initial_peripheral();
void delay_long(unsigned int uiDelaylong);
void led_flicker();
void T0_time(); //定时中断函数
sbit led_dr=P3^5;
unsigned char ucLedStep=0; //步骤变量
unsigned int uiTimeCnt=0; //统计定时中断次数的延时计数器
void main()
{
initial_myself();
delay_long(100);
initial_peripheral();
while(1)
{
led_flicker();
}
}
void led_flicker() ////第三区 LED闪烁应用程序
{
switch(ucLedStep)
{
case 0:
- uiTimeCnt累加定时中断的次数,每一次定时中断它都会在中断函数里自加一。
- 只有当它的次数大于或等于设定上限const_time_level时,
- 才会去改变LED灯的状态,否则CPU退出led_flicker()任务,继续快速扫描其他的任务,
- 这样的程序结构就可以达到多任务并行处理的目的。这就是鸿哥在所有开发项目中的核心框架。
*/
