52单片机定时器2

98 篇文章 100 订阅 ¥79.90 ¥99.00
17 篇文章 0 订阅

什么是捕获?

捕获就是捕捉某一瞬间的值,通常用它来测量外部某个脉冲的宽度或周期。使用捕获功能可以非常准确的测量脉冲宽度或周期,他的工作原理是:单片机内部有两组寄存器,其中一组的内部数值是按照固定的机器周期递增或递减,通常这组寄存器就是定时器的计数器寄存器(TLX,THX),当与捕获功能相关的外部某引脚有一个负跳变时,捕获便会立即将此时第一组寄存器中的数值准确地获取,并且存入另一组寄存器中,这组寄存器通常被称为“陷阱寄存器”(RCAPXL,RCAPXH),同时向CPU申请中断,以方便软件记录。当给引脚的下一次负跳变来临时,便会产生另外一个捕获,再次向CPU申请中断,软件记录两次捕获之间数据后,便可以准确的计算出该脉冲的周期。

定时器2控制寄存器T2CON


TF2 定时器2 溢出标志位.定时器2 溢出时将置位.当TCLK 或RCLK 为1 时,将不会置位
EXF2 定时器2 外部标志,当EXEN2=1, 并在引脚T2EX 检测到负跳变时置位.如果定时器2
中断被允许,将产生中断.
RCLK 接收时钟标志,当串行口以方式1 或3 工作时,将使用定时器2 的溢出率作为串行
口接收时钟频率
TCLK 发送时钟标志,位当串行口以方式1 或3 工作时,将使用定时器2的溢出率作为串行
口接收时钟

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
52单片机可以使用定时器2来实现串口通信。下面是一种常见的实现方式: 1. 首先,需要设置定时器2的工作模式。在52单片机中,定时器2可以选择作为波特率发生器来生成串口通信所需的波特率。设置定时器2的工作模式,可以使用T2CON寄存器进行配置。 例如,下面的代码将定时器2设置为8位自动重装载模式,使用定时器2作为波特率发生器: ```c T2CON = 0x34; // 设置T2CON寄存器,启用定时器2,选择8位自动重装载模式 ``` 2. 接下来,需要设置波特率。波特率决定了串口通信的数据传输速率。根据串口通信的要求,选择合适的波特率,并使用RCAP2H和RCAP2L寄存器设置波特率发生器的重装载值。重装载值的计算公式为:重装载值 = (定时器2的时钟频率) / (波特率 x 32) - 1。 例如,下面的代码将波特率设置为9600: ```c RCAP2H = 0xFF; // 设置重装载值的高字节 RCAP2L = 0xDC; // 设置重装载值的低字节 ``` 3. 然后,需要使能串口通信。使用SCON寄存器进行配置,设置串口通信的工作模式和使能位。 例如,下面的代码将串口通信设置为8位数据位、1个停止位、无奇偶校验,并使能串口: ```c SCON = 0x50; // 设置SCON寄存器,选择8位数据位、1个停止位、无奇偶校验 ``` 4. 最后,启动定时器2。使用TR2位进行控制,将其设置为1即可启动定时器2。 例如,下面的代码启动定时器2: ```c TR2 = 1; // 启动定时器2 ``` 通过以上步骤,你就可以在52单片机使用定时器2实现串口通信了。当定时器2每次溢出时,会产生一个中断,你可以在中断服务函数中处理串口通信的数据发送和接收操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

道亦无名

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

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

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

打赏作者

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

抵扣说明:

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

余额充值