在单片机开发中,计数器溢出是定时、计数功能实现的核心机制。精准掌握溢出方式,可避免定时误差、计数错误等问题。本文直击五种关键溢出模式,助你精准控制程序流程。

1. 向上溢出(自动清零)
机制:计数器达到最大值(如16位计数器的65535)后自动归零,同时置位溢出标志(TFx)。
场景:基础定时任务,如LED闪烁控制。
示例:定时器工作方式1(16位模式)下,溢出周期为65536个机器周期。
2. 模数溢出(预设初值)
机制:通过预设初值(X=最大值-目标计数值),使计数器在特定次数后溢出。
场景:需要精确控制计数值的场景,如输入100个脉冲触发动作。
计算:目标计数值N时,初值X=65536-N(16位计数器)。
3. 自动重装载模式(工作方式2)
机制:TLx计数溢出后,THx的值自动重装到TLx,实现周期性定时。
场景:固定时间间隔任务,如串口通信波特率生成。
特点:STC15W4K32S4等单片机的定时器工作方式2即采用此模式。
4. 双8位计数器模式(工作方式3)
机制:将定时器拆分为THx和TLx两个独立8位计数器,分别溢出。
场景:多任务并行处理,如T0的TH0和TL0分别控制不同定时。
应用:51单片机中T0工作方式3可实现双通道定时。
5. 外部中断触发溢出
机制:通过外部信号(INT0/INT1)与TRx位联合控制计数器启停,结合溢出标志实现条件计数。
场景:需要外部事件触发的定时任务,如按键检测后的延时操作。
配置:GATE位设为1时,需外部信号高电平与TRx=1同时有效。
本文凡亿教育原创文章,转载请注明来源!

扫码关注















































