【Proteus仿真】多路非阻塞延时流水灯演示

【Proteus仿真】多路非阻塞延时流水灯演示


  • ?Proteus仿真演示
    在这里插入图片描述

?功能说明

?51单片机利用定时器轮询设置2路不同长度的延时时间,跑流水灯。

?实现方法

?利用定时器中断,创建一个以1毫秒为时基的定时器中断函数。在需要不同时间的定时长度时,就设置一个定时的标量,当使能这个被定义的标量后,定时器每隔1毫秒就进入中断服务函数里面查询并累加计数,当累计计数达到标量值时就将对应的标量标志位置1,然后只要在主循环中查询该标量标志位是否值1从而实现非阻塞定时的功能。

  • ✅定时器中断服务函数
void time0_isr() interrupt