1、什么是定时器、计数器
定时器就是单片机设定一个时间间隔,时间间隔到后通知单片机。例如设置100ms的定时器,100ms后定时器通知单片机时间到了。
(1)定时器是单片机的一种内部外设。(以前的单片机只有CPU,也就是只有运算器和控制器。伴随集成电路的发展,定时器、串口等也集成到单片机内部,所以定时器称为内部外设)。
(2)定时器就相当是单片机的"闹钟"。
(3)一定程度上定时器就是计数器,计数器就是定时器,往后看就能理解了。
(4)计数器用于记录外部脉冲产生的个数,如果外部脉冲产生的时间间隔是可知且固定的,就可以通过脉冲个数✖脉冲时间间隔得到定时时间。
2、定时器如何工作
定时器定时器本质上是计数时钟脉冲的个数。时钟脉冲一般由晶振和起振电路产生(这句话了解可)。
一般定时器的工作流程:
(1)第一步:设定定时器的时钟源(51单片机中不需要,因为这种简单的单片机只有一个时钟源,没得选)
(2)第二步:初始化时钟相关的寄存器
(3)第三步:设定定时时间(即设定脉冲计数个数)
(4)第四步:通过脉冲个数判断定时时间是否到了,但通常情况是设置中断,时间到后(计数值到后)会自动通知单片机。这一步也可以理解为设置中断处理程序。
(5)第五步:打开定时器
(6)运行时:定时器计数值到后产生中断,在中断中做想做的事。
3、软件控制硬件的关键——寄存器
3.1、什么是寄存器
(1)寄存器的英文是Register。
(2)寄存器,既可以往里面写内容,也可以把里面的内容读出来。一般按位定义。
(3)寄存器使用地址访问,编程上像内存一样。(了解即可)
3.2、寄存器的工作原理
(1)寄存器与硬件之间有双向影响,寄存器可能影响硬件,硬件也可能影响寄存器。
(2)硬件可以读写寄存器
(3)寄存器可以抽象理解为硬件和软件之间的桥梁。
(4)在复杂单片机中,IO口的输入输出功能,输出高低电平,也可以通过寄存器来配置。
(5)总结:寄存器是软件能够控制硬件的关键。
3.3、单片机学习的关键就是各种寄存器
(1)单片机学习主要包括2个:CPU和各种内部外设
(2)各种内部外设的编程就是操纵寄存器。
(3)熟悉一款单片机其实就是熟悉他的寄存器。
(4)寄存器会随着单片机的复杂而复杂。
4、51单片机定时器简介
细节可参照具体型号单片机数据手册/参考手册。
4.1、数据手册部分内容
在STC89C51RC单片机中手册部分内容:
(1)定时器/计数器的核心部件是一个加法(也有减法)的计数器,其本质是对脉冲进行计数。只是计数脉冲来源不同:如果计数脉冲来自系统时钟,则为定时方式,此时的定时器/计数器每12个晶振时钟或者每6个晶振时钟得到一个计数脉冲,计数值加1;如果计数脉冲来自单片机外部引脚,则为计数方式,每来一个脉冲加1。
(2)该单片机可工作在12T或6T工作模式下。当外部晶振频率为12MHz时,12T工作模式下相当于12分频,6T工作模式下6分频。分频后得到的时钟频率才是CPU的工作时钟。该单片机默认是12T工作模式,可通过stc-isp下载程序软件勾选是能6T(双倍速)模式,这样下载程序,单片机便工作在6T模式下。
(3)在STM32单片机中是外部晶振频率倍频后的时钟为CPU工作时钟。
4.2、51单片机相关周期知识补充
(1)兆赫兹是波动频率单位之一。波动频率的基本单位是赫兹,采千进位制;1兆赫相当于1000千赫(KHz),也就是10^6赫兹。
(2)赫兹是国际单位制中频率的单位,它是每秒钟的周期性变动重复次数的计量。 赫兹简称赫。每秒钟振动(或振荡、波动)一次为1赫兹,或可写成次/秒。
(3)单片机中的常见周期
晶振周期:晶振的振荡周期,也就是晶振震动一次所花的时间,比如1MHz晶振震荡周期是 1/1MHz(1/1000000)s,也就是1微妙。一般也称为振荡周期。
时钟周期:时钟周期,如果晶振的输出没有经过分频或倍频就直接作为cpu的工作时钟,则时钟周期就等于晶振的振荡周期;如果晶振的输出经过分频或倍频后作为cpu的工作时钟,则时钟周期就就是分频或倍频后的。即,时钟周期是CPU的实际工作频率的倒数,是时序中最小的时间单位。51单片机没有分频或倍频,而STM32中有。51单片机中晶振周期等于时钟周期。
注:学习51单片机经常看见时钟周期就是振荡周期这种说法是不够严谨的。
机器周期:机器周期也称为CPU周期。在计算机中,为了便于管理,常把一条指令的执行过程划分为若干个阶段(如取指、译码、执行等),每一阶段完成一个基本操作。完成一个基本操作所需要的时间称为机器周期。一般情况下,一个机器周期由若干个时钟周期组成。
5、51单片机定时器的主要寄存器
定时器/计数器0和1的相关寄存器。(STC89C52RC单片机数据手册)
(1)51单片机中寄存器可以按位访问。
5.1、定时器/计数器控制寄存器TCON
SFR name | Address | bit | B7 | B6 | B5 | B4 | B3 | B2 | B1 | B0 |
TCON | 88H | name | TF1 | TR1 | TF0 | TR0 | IE1 | IT1 | IE0 | IT0 |
(1)TF:Time Flag,定时器溢出标志位。
(2)8个位。名称后面带1的对应定时器1,名称带0的对应定时器0。
(3)定时器为加法定时器。
(4)IT位设置外部中断触发方式。外部中断触发方式一般就是:边沿触发和电平触发2种。边沿触发又分为:上升沿触发、下降沿触发、双边沿触发(上升沿下降沿都会触发);电平触发方式分为:高电平触发、低电平触发2种。
5.2、定时器/计数器工作模式寄存器TMOD
5.3、TL0
5.4、TL1
5.5、TH0
5.6、TH1
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)