单片机在不同的方式下,有不同的最大值。咱们现在针对单片机的方式1,设最大值为M。那么M的值应该是:

M=2^16 = 65535

因为定时器是在一直加1计数的,并且在达到并且超过M的值的时候产生一个中断,因此咱们的初值可以这样定义:

X=M-计数值

何为计数值。可以这样理解,我们如果想定时1ms,那么在这1ms内,计数值就是单片机定时器一直加1的次数(加了多少个1)。

在举一个具体的例子:

单片机频率F=11059200,利用定时器0,模式1产生一个5ms定时中断。

首先咱们应该得到单片机的实际运行的频率,咱们知道,默认是经过了12分频的,所以:

f = F / 12 = 921600 (Hz)

在f下,单片机定时器每次加1的时间是

T = 1/ f = 1.085 X 10-6(S)

已知总的时间(5ms),已知定时器每次加1的时间(T),那么在5ms内,定时器可以加多少个1呢?

G = 5ms / T = 4608 (个)

这个G=4608就是计数值,初值

X= 65535 – 4608 = 60927

然后:

TH0 = X >> 8 ;

TL0 = X ;

至此关于自动重装载值(TH0,TL0)的计算已经全部计算完了。

下面咱们再来验证一下,初值为60927是否真的可以定时5ms。

首先,计算需要加多少个1,才会产生溢出。

Y = 65535 – 60927 = 4608(个)

然后,根据前面的计算,已知每次加1的时间为

T = 1/ f = 1.085 X 10-6(S)

那么初值为60927产生的定时时间应该是:

Time = T X Y

= 4608 X 1.085 X 10-6 (S

= 4.999 ms

综上所述,前面推论完全正确

51单片机 自动重装载值计算相关推荐

  1. STM32通用定时器(原理、结构体、库函数、定时器中断每秒闪烁一次灯) —— 时钟源、分频值、重装载值

    参考:stm32定时器与定时器中断 作者:打酱油的 发布时间: 2021-04-11 01:04:09 网址:https://blog.csdn.net/weixin_46098612/article ...

  2. STM32通用定时器输出PWM控制舵机 —— 重装载值、比较值、当前值

    参考:stm32 定时器输出PWM原理及工作原理+控制舵机 作者:点灯小哥 发布时间: 2021-03-09 23:17:52 网址:https://blog.csdn.net/weixin_4601 ...

  3. 2-51单片机ESP8266学习-AT指令(开发板51单片机自动冷启动下载原理)

    前言:了解就行,不必深究 上一篇链接 http://www.cnblogs.com/yangfengwu/p/8720148.html 源码链接:https://pan.baidu.com/s/1wT ...

  4. 51单片机自动浇水系统/51单片机自动浇花系统/智能浇水系统

    51单片机自动浇水系统/51单片机自动浇花系统 整个设计由51单片机模块.湿度传感器模块(土壤湿度传感器或者温度传感器或者温湿度传感器,都可以).lcd1602液晶显示模块等组成,实现智能浇花和智能浇 ...

  5. 51单片机自动量程(3挡)0-30v直流电压表万用表CD4051 LCD1602显示 MCP3201

    实践制作DIY- GC0062-51单片机自动量程电压表 一.功能说明: 基于51单片机设计-51单片机自动量程电压表 二.功能介绍: STC89C52单片机+LCD1602+CD4051量程选择+1 ...

  6. STM32的预分频和自动重装载的定时器延时设置

    根据STM32的定时器时钟的频率,比如时钟的频率是72MHZ,可以理解为一秒钟STM32会自己数72M次, 预分频系数就是将频率分割,比如分频系数是72,则该时钟的频率会变成72MHZ/72=1MHZ ...

  7. 定时器中断实验 编写程序使定时器0或者定时器1工作在方式2,自动重装载模式,定时500ms使两位数码管从00、01、02……98、99每间隔500ms加1显示。

    编写程序使定时器0或者定时器1工作在方式2,自动重装载模式,定时500ms使两位数码管从00.01.02--98.99每间隔500ms加1显示. 程序: #include <reg51.h> ...

  8. c语言打铃器单片机程序,51单片机自动打铃C语言程序

    51单片机自动打铃C语言程序: #include "reg51.h" #include "intrins.h" #define uchar unsigned c ...

  9. 基于51单片机自动售货机设计全套资料

    基于51单片机自动售货机设计(原理图+PCB+文档+程序) 项目编号:0001 硬件构成: 本设计由STC系列单片机+12864显示+电源模块+按键模块+蜂鸣器报警模块等元件组功能介绍: 设有8个按键 ...

最新文章

  1. Spring-AOP实现的两种方式
  2. C++ Opengl 绘制图像字符源码
  3. 【spring boot】 mybatis配置双数据源/多数据源
  4. shell脚本-页面静态化
  5. 新手程序员如何让他快速成长?一名老程序员,谈谈对程序员的培养
  6. sp 导出unity哪个_GitHub上发现的一个导出Unity3D场景数据的工具
  7. 浮点数在计算机中存储方式float,double)---转
  8. [Codeforces Round #195 (Div. 2)] A. Vasily the Bear and Triangle
  9. .NET平台下WEB应用程序的部署(安装数据库和自动配置,启动条件)
  10. python使用ssh 中文_使用Python进行SSH的最简单方法是什么?
  11. .NET生成静态页面并分页
  12. Lambda表达式实例
  13. hibernate执行完查询操作后又执行许多更新操作
  14. 宋代词人前十名都有谁?第一名更是震铄古今最全能的大文豪
  15. 人工智能--黑白图片上色
  16. 电子制造业生产车间物料怎么管?方法有哪些
  17. linux ftp去不了文件损坏,Linux下使用ftp上传压缩文件,windows下载打开损坏问题
  18. 第七章:函数实训【寒假作业】
  19. Eboot代码流程 [转]
  20. NYOJ 779 兰州烧饼

热门文章

  1. COJ 1008 WZJ的数据结构(八) 树上操作
  2. WINCE6.0+S3C2443睡眠和唤醒(sleep and wake up)的实现
  3. python自动化是什么-自动化专业学习python需要到什么程度?
  4. 面试之作用域链与闭包
  5. putty 显示 ubuntu的文件乱码
  6. [LeetCode]--160. Intersection of Two Linked Lists
  7. Android OpenGL ES 开发教程(20):颜色Color
  8. C# 使用反射设置某个对象的属性或读取某个对象的属性
  9. 计算机达人成长之路(3)连载
  10. $emit传递多个参数_Go语言参数传递方式