51单片机-定时时长的作法

最新更新时间:1970-01-01来源: eefocus关键字:51单片机  定时时长  寄存器 手机看文章 扫描二维码
随时随地手机看文章

1.“水量”的确定

我们已经懂得怎么选用“试管”了,如何装多大的“水量”来决定定时的时长呢。首先我们先拿“大试管”来说,定时器0有两个寄存器分别是TH0和TL0,大家再次粗浅的把TH0和TL0认为是两个8位的变量先吧。因为我们用的是“大试管”,这两个8位的变量相当于组合成了16位的变量,TH0是高8位(H:High),TL0是低8位(L:Low)。假如此时再过一个刻度的时间就溢出,


那么此时会有“TH0等于255”,“TL0等于255”,因为二进制的1111111111111111等于十进制的65535。65535再加1就溢出嘛。


可是我们还不知道增加一个刻度的水花费的时间是多少。


这里笔者直接告诉答案给大家,因为我们用的是11.0592M的晶振,所以每增加一个刻度的水花费的时间是(12/11059200)秒。


上面的“(12/11059200)”知识点,如果笔者要全部讲解出原理给大家,需要很多笔墨,建议大家寻找相关的一些机器周期、时钟周期等知识资料和视频讲解来更加深入的理解定时器吧,又或者参考《手把手教你学51单片机》文档5.2节。


不过我们尽量多做几道题目,慢慢知其然先,等大家去涉猎更多的相关知识之后自然会知其所以然,这也是本教程的一个教学特点,鼓励大家多去寻找相关知识混合学习。

 

2.定时的毫秒数

如果我们用“大试管”定时20毫秒后触发中断该怎么实现呢?


首先我们先往这两个寄存器填充数值(装好一定的水量)

8.2.png

可以看到,两个“8位的变量”从高到低合起来成为16位的变量,至于定时20ms为什么是这样填充,我们先用反推法给大家演示。


十六进制的0XB800换算成十进制的值为47104,于是定时的时长为(65536-47104)=18432个刻度的单位时间。

18432*(12/11059200)=0.02秒=20毫秒。

我们再正推,要定时50毫秒怎么给TH0和TL0赋初值?

设距离溢出还剩x个刻度,x*(12/11059200)=0.05

解得x=46080。

所以需要提前给“大试管”装好65536-46080=19456个刻度的水量。

也就是填充给TH0和TL0合成的“16位的变量”的值就是19456。

19456换算成十六进制为0x4C00。

所以要定时50毫秒,那么“TH0=0x4C;”、“TL0=0x00;”。

 

3.简要概括

我们这样总结,要定时的时间设为x秒,那么填充给TH0和TL0合成的“16位的变量”的初值就为65536-( x/(12/11059200) )。


因为(12/11059200)代表一个刻度的时间,如果我们要定时的是0.05秒,那么( 0.05/(12/11059200) )就代表要多少个刻度。


而65536-( 0.05/(12/11059200) )就是我们提前要装好的水的刻度。


如果看到这,读者对这三讲的内容还是无法理解定时器的原理的话,就先放一下理论知识上的理解,通过后面我们的几道题目来模糊认识这个硬件模块的功能,往后自己多去了解别人对这个知识点的全面解析,这样才会彻底弄懂这些知识。


这里感慨一句,数学在我们的生活中所发挥的作用是有多大啊!

关键字:51单片机  定时时长  寄存器 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic545574.html

上一篇:51单片机-定时器工作模式
下一篇:51单片机-定时器简单运用

推荐阅读

【自学51单片机】7--LED点阵学习
1、LED点阵介绍LED点阵由多个LED小灯构成,以8*8LED点阵介绍,实物图和内部原理图如下。图7-2左侧8个引脚为内部LED小灯阳极,上侧8个引脚为阴极。2、点亮LED点阵2.1 原理点亮LED点阵与点亮LED小灯原理相似,根据LED点阵电路图分析即可,详细见第三章。2.2 点亮全部LED点阵程序利用定时器中断和数码管动态显示原理,就不进行说明,详细见第六章3、取模软件简单介绍取模软件可以将LED点阵图形的数据转换为程序中的数据。取模软件中黑色为LED熄灭,值为1,白色为LED点亮,值为0。如下图绘制了一个心形。下面来说明取模软件参数的选取。取模方式:根据LED点阵结构原理图,PO口控制的是一行,选择“横向取模”,控制的是一列
发表于 2021-10-20
【自学<font color='red'>51单片机</font>】7--LED点阵学习
【自学51单片机】8 -- 按键的学习,单片机最小系统
1、单片机最小系统电源单片机中常见5v和3.3v的单片机,“5v”和“3.3v”分别只是他们正常工作的典型值,5v和3.3v单片机也是以他们正常工作典型值命名的,他们正常工作电压的标准范围要根据单片机手册查询,晶振晶振分无源晶振和有源晶振。实物图和原理图见下图。无源晶振: 依靠单片机内部振荡电路才能工作,接到单片机两个振荡引脚即可,晶体两个引脚无区别,电压无要求,两侧通常有电容,手册有要求根据手册选电容,手册无要求一般选20pf。有源晶振: 无需依靠单片机内部振荡电路,只需外部供电达到电压要求,即可产生振荡频率,接到单片机晶振输入引脚即可接受到晶振频率,单片机晶振输出引脚无需连接。两者区别:无源晶振信号质量和精度比有源晶振差,价格比
发表于 2021-10-20
【自学<font color='red'>51单片机</font>】8 -- 按键的学习,单片机最小系统
【自学51单片机】9 -- 步进电机原理、蜂鸣器原理,单片机IO
【自学51单片机】9 -- 步进电机原理、蜂鸣器原理,单片机IO口的结构,上下拉电阻1、单片机IO口的结构单片机IO口有四种结构:准双向IO,开漏输出、强推挽输出和高阻态输出。内部结构如下图。T1和T2为MOS管,靠电压导通的原件。(1)准双向IO口特点:内部输出为1,才能正常读取外部信号。(2)开漏输出特点:必须外加上拉电阻,不然单片机IO电平是个不确定的态。(3)强推挽输出特点:可输出或输入高电流,驱动能力强。(4)强阻态特点:状态取决与外部输入。 标准51单片机P0默认开漏输出。2、上下拉电阻上下拉电阻:上拉电阻就是将不确定的信号通过一个电阻拉到高电平,同时此电阻也起限流作用,下拉电阻同理。上拉电阻的应用:(1)OC门(开漏
发表于 2021-10-20
【自学<font color='red'>51单片机</font>】9 -- 步进电机原理、蜂鸣器原理,单片机IO
【自学51单片机】10 --PWM介绍、51单片机RAM区域划分
1、PWM介绍PWM (Pulse Width Modulation) ,中文名为脉冲宽度调制,它能使用数字信号达到一个模拟信号的效果,脉冲宽度调制就是改变脉冲宽度来实现不同的效果。下面看图10-1三组脉冲信号。它是一个周期为10ms,频率为100Hz的波形,每组高低电平脉冲宽度各不相同,也就是占空比(指高电平的时间占整个周期的比例)不同。在数字电路中,只有0和1两种状态,在小灯中,0熄灭,1点亮。当让小灯亮灭间隔运行时,并且间隔时间不断减小,频率大于100Hz,肉眼看起来为一直保持亮状态,每个周期内不断改变小灯亮和灭的时间,小灯亮度也会发生变化,这就达到模拟电路的效果,不再是纯粹的0和1,还有亮度的不断变化。2、51单片机RAM
发表于 2021-10-20
【自学<font color='red'>51单片机</font>】10 --PWM介绍、<font color='red'>51单片机</font>RAM区域划分
【自学51单片机】12 --- 1602液晶初步认识
1、1602液晶硬件接口介绍1602液晶技术参数说明:(1) 工作电流:在5v工作电压下液晶的工作电流为2mA,仅仅指液晶,不包括背光。1602液晶接口原理图及引脚功能说明:(1) 引脚3:液晶显示偏压信号。用来调整显示黑点与不显示黑点的对比度。(2) 4引脚:数据命令选择引脚。置高电平1,为读写数据,置低电平0,为读写命令。(3) 5引脚:读写选择引脚。置高电平1,为读数据或命令,置低电平0,为写数据或命令。(4) 6引脚:使能信号引脚。高电平有效,低电平无效。(5) 7~14引脚:8个数据引脚。因为总电流不大,直接接到PO口上,不用通过74HC245。2、1602的读写时序介绍液晶内部自带80字节的显示RAM,用来存储发送的数据
发表于 2021-10-20
【自学<font color='red'>51单片机</font>】12 --- 1602液晶初步认识
【自学51单片机】11 -- UART串口通信
串口通信的基本应用3.1 通信的三种基本类型通信从传输方向上可分为:单工通信,半双工通信和全双工通信三类。单工通信:允许一方向另外一方传送信息,而另一方不能回传信息。如遥控器半双工通信:数据可以在双方之间互相传播,但同一时刻只能其中一方发给另外一方。如对讲机全双工通信:发送数据的同时也能够接收数据,两者同步进行,如电话3.2 UARM模块介绍单片机内部有UART模块,实现串口通信。51单片机的UART 串口的结构由串行口控制寄存器SCON、发送和接收电路三部分构成,先来了解一下串口控制寄存器 SCON。SCON寄存器说明说明:第0位RI为接收中断标志位,第1位TI为发送中断标志位,这两个为进入串口中断都不会自动清零,都需要软件清零
发表于 2021-10-20
【自学<font color='red'>51单片机</font>】11 -- UART串口通信

推荐帖子

PCB工程路径储存问题
我怎么把左边的PCB工程储存到右边指定的文件夹里 PCB工程路径储存问题
NJMKL PCB设计
布线的基本流程
非常详细的布线步骤,大家感觉好的一定要顶一下啊布线的基本流程
wcqs01 PCB设计
电路识图12-数字电路的识图方法
数字电路处理的是不连续的、离散的数字信号,数字信号一般只有“0”和“1”两种状态,这与传统的模拟电路完全不同。对于数字电路或含有数字电路的电路图,看懂它的关键是,通过分析各种输入信号的状态与输出信号的状态之间的逻辑关系,以搞清楚电路的逻辑功能。一、数字集成电路引脚的特征数字集成电路在电路图中通常以分散画法的形式出现,即一块集成电路中的若干个功能单元以逻辑符号的图形分布在电路图中的不同位置上,这是数字电路与模拟电路在电路图表现形式上的显著区别。分析数字电路,一般只需要掌握逻辑单元的功能,而不必去研
tiankai001 综合技术交流
弱问:单片机A输出,单片机B接受能否实现?
我看一个系统用3个分立单片机,如何实现单片机A输出,让单片机B作为输入然后控制负载?能给个简单程序供参考吗?弱问:单片机A输出,单片机B接受能否实现?
wrlsohu 51单片机
百兆或千兆网用集成RJ45的变压器还是独立变压器好?
现在RJ45网口很多都是集成网络变压器,使用集成的RJ45比较节省空间,但是有一种说法是使用独立网络变压器防雷效果和EMC效果更好。 请大家指教一些,是集成网络变压器的RJ45更好还是独立网络变压器的更合适呢? 另外就是如果使用集成网络变压器的RJ45,RJ45附近的地需要怎么处理呢! 百兆或千兆网用集成RJ45的变压器还是独立变压器好?
yshmily PCB设计
msp430f147+MAX7219+ENCODER 實作
原先是用LaunchPad來做這個項目,因為程序編譯後,超過G2231的FlashROM的SIZE,於是翻箱倒櫃找出很久很久以前,我自己画的147PCB,上頭的MSP430F147是從淘寶購入的2手元件,說真的也是為了湊足3帖,才如此的賣力哈哈,這次用的ENCODER,在一般的洗衣機可以看到他的蹤跡,可順時針及逆時針旋轉,讓設定的數值增加及減少,ENCODER照片可到我的相簿裡看,實作示範影片如下程序如下,因為時間有些緊奏,也許還有些BUG#include<msp430
naga568 微控制器 MCU
小广播
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2021 EEWORLD.com.cn, Inc. All rights reserved