首页 > 编程知识 正文

单片机定时器计算初值(pic单片机定时器初值计算)

时间:2023-05-04 11:14:14 阅读:94120 作者:2833

在学习单片机的时候,我发现很多功能都是通过中断实现的。 以前也举出烧水的例子说明了中断,但今天就设定计时器初始值的方法进行说明。 8位计时器的最大hmddt计数2的8次方是256,16位计时器的最大hmddt计数2的16次方是65536。 因为单片机的计时器是递增式的,所以最大值减去期望的定时后的值就是初始值。 示例如下所示。

最大值是100,我们只需要38。 我该怎么办? 因为是递归的,所以62点计时就可以了。

以proteus模拟为例简单说明计时器初始值

用proteus构建的电路图如下,石英振动为12M,P2.0每10毫秒翻转一次。 也就是说,P2.0的输出频率为100HZ。

这里使用16位计时器。 那个单片机的计时器0的最大计数是65536。 水晶振动为12M,其单片机的一个机械周期为1us,计时器0以方式1最大计时器65.536ms工作。

计时器的计时器时间t=(65536-x ),单位为us;

定时器初始值X=65536-T;

如果假定定时时间T=10ms=10000us,

那么,因为计时器初始值X=65536-10000=55536us,也就是说计时器0从55536递增到65536就是10ms,所以5536是计时器的初始值,55536被转换为16进制数,为0Xd8f0

TH0=0XD8;

THL=0XF0;

用虚拟示波器捕捉的波形如下所示。

只需支付硬件成本的STM32单片机学习板正在募集资金,价格为129元。 该学习板包括: GPIO APP应用、RS232通信、RS485通信、CAN总线通信、USB通信、IIC总线、SPI总线、JTAG在线调试、SW在线调试、ISP自动下载、RTC实时详情请通过微信号进行确认。

本阅读号致力于共享单片机、ARM等嵌入式软硬件的设计经验,秉承“人人电子设计经验的bqdxs”的理念,不孤单成功之路,我们一起努力。

公众号: micropoint8。 嵌入式学习网络振兴网: www.picmcu.com

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。