独立按键控制流水灯及定时器时钟(基于51单片机)

师从江科大

定时器

定时器介绍

51单片机的定时器属于单片机的内部资源,其电路的连接和运转均在单片机内部完成的。

定时器作用

1、计时功能,用于计时系统,可以实现软件计时,或者使程序每隔一固定时间完成一项操作

2、延时功能,代替长时间的Delay,提高CPU的运行效率和处理速度

3、中断功能,当定时器计数值达到预设值时,会产生硬件中断请求。CPU响应中断后将执行相应的中断服务程序,这样可以在固定的时间间隔内自动切换执行不同任务,提高了CPU的工作效率,实现了多任务的协同处理。

4、频率测量与计数脉冲,定时器也可以用作计数器,对外部输入的脉冲信号进行计数,从而可以测量外部事件发生的频率或次数。

STC89C52单片机中,定时器/计数器T0和T1都有4种不同的工作模式。以下是这四种工作模式的简要描述:

  1. 方式0(Mode 0):13位计数器

    • 在这种模式下,定时器是一个13位的计数器,由TLx(低8位,对于T0是TL0,对于T1是TL1)和THx(高5位)组成。
    • 计数器从0开始递增计数,当计数值达到2^13-1(即8191)时会自动重置并重新开始计数。
    • 方式0没有自动重装载功能,不适用于波特率发生器或其他需要周期性中断的应用。
  2. 方式1(Mode 1):16位计数器(常用)

    • 这是一种16位的定时器/计数器模式,使用THx作为高8位,TLx作为低8位。
    • 当计数值从0计数到65535(FFFFH)时溢出,并可以触发一个硬件中断(中断号为INT0或INT1,对应于T0和T1)。
    • 此模式下支持自动重装载初值的功能,常用于产生精确的定时间隔或者计算外部事件的频率。
  3. 方式2(Mode 2):8位自动重载模式

    • 这是一种自动重载的8位定时器/计数器,但不同于方式1,它主要用于波特率发生器。
    • TLx作为一个8位计数器,在计数溢出后,不仅会置1溢出标志(TFx),还会自动装入THx的内容到TLx中继续计数。
    • THx则用来存放预设的重载值。
  4. 方式3(Mode 3):两个8位计数器

    • 这种模式通常称为“捕捉/比较”模式,提供两个独立的8位定时器。
    • 每个定时器单元(TLx和THx)都可以独立工作,各自有自己的控制寄存器和中断功能。
    • 它们既可以用于捕捉外部信号的上升沿或下降沿时刻,也可以用于比较输出,但这种方式相对复杂,不常用在简单的定时任务中。

 工作模式1框图:

  1. 非门(NOT Gate): 非门用于实现逻辑反相操作,它有一个输入和一个输出。当输入为高电平(1)时,输出为低电平(0);(给1变0,给0变1)

  2. 与门(AND Gate): 与门有至少两个输入和一个输出,只有当所有输入均为高电平时,输出才为高电平。(有0即0)

  3. 或门(OR Gate): 或门同样具有至少两个输入和一个输出,只要有任何一个输入为高电平,输出就为高电平。(有1即1)

注:图中左下角从左到右第一个位为非门,第二个为

注:左上是定时系统,左下是计数系统,右边是中断系统

定时器时钟

SYSclk:系统时钟,即晶振周期,本开发板上的晶振为12MHZ

中断系统

中断系统流程

STC89C52中断资源

1、中断源个数:8个(外部中断0、定时器0中断、外部中断1、定时器1中断、串口中断、外部中断2、外部中断3)

2、中断优先级个数:4个

3、中断号:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乘~风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值