配色: 字号:
定时器实验指导书
2020-08-13 | 阅:  转:  |  分享 
  


实验九定时器实验

一、知识准备

单片机中的定时器和计数器其实是同一个物理的电子元件,只不过计数器记录的是单片机外部发生的事情(接受的是外部脉冲),而定时器则是由单片机自身提供的一个非常稳定的计数器。

1.定时器的工作频率

单片机外接的是11.0592MHz,所以单片机内部的工作频率(时钟脉冲频率)是11.0592MHz/12=0.9216条指令/微秒;也就是说,晶振振荡一次,就会给单片机提供一个时钟脉冲,花费的时间是0.9216微秒,此时,CPU会执行一条指令,经历一个机器周期;即:1个时钟脉冲=1个机器周期=0.9216微秒=1条指令;。

1.1定时器的结构

单片机的两个定时器T0和T1分别都由两个特殊功能寄存器组成;T0由特殊功能寄存器TH0和TL0构成,而T1则是由TH1和TL1构成;

作为定时器使用时,定时器计数8051单片机片内振荡器输出经过12分频后的脉冲个数,即:每个机器周期使定时器T0/T1的寄存器值自动累加1,直到溢出,溢出后继续从0开始循环计数;所以,定时器的分辨率是时钟振荡频率的1/12;

1.2定时器的工作模式

除了可选择定时器和计数器的这两种工作方式外,每个定时器/计数器都有4种工作模式;在模式0、1和2时,T0和T1的工作模式相同;在模式3时,两个定时器/计数器的工作模式不同;

(1)工作模式0:

由TL0的低5位和TH0的全部8位共同构成一个13位的定时器/计数器;定时器/计数器启动后,定时或计数脉冲个数加到TL0上,从预先设置的初值(时间常数)开始累加,不断递增1;当TL0计满后,向TH0进位,直到13位寄存器计满溢出;溢出时,定时器/计数器硬件会自动地把13位的寄存器值清0,中断标记TF0置1;如果需要进一步定时/计数,需要使用相关指令重置时间常数,并把定时器/计数器的中断标记TF0置0;工作模式0的结构如下图:



(2)工作模式1:

模式1与模式0几乎完全相同,唯一的区别就是,模式1中的寄存器TH0和TL0共同构成的是一个16位定时器/计数器来参与操作,因此比模式0中的定时/计数范围更大;工作模式1如下图所示:

?

(3)工作模式2:

这种模式又称为自动再装入预置数模式;当定时器/计数器的寄存器TH0/TL0的值溢出时,定时器/计数器硬件设备会自动把寄存器TH0/TL0的值清0,以重新开始操作;但是有时候,我们的定时/计数操作是需要多次重复定时/计数的,如果溢出时不做任何处理,那么,在第二轮定时/计数时就是从0开始定时/计数了,而这并不是我们想要的;所以,要保证每次溢出之后,在重新开始定时/计数的操作是我们想要的,那就要把预置数(时间常数)重新装入某个地方;而重新装入预置数的操作是硬件设备自动完成的,不需要人工干预所以,这种工作模式就叫自动再装入预置数方式;既然需要重新装入预置数,那么预置数就必须要存放在某个地方,才能保证重装操作成功;在工作模式2中,把自动重装入的预置数存放在定时器/计数器的寄存器的高8位中,也就是存放在TH0中,而只留下TL0参与定时/计数操作;显然,定时/计数的方位小了很多;

注:这个工作模式常用于波特率发生器(串口通讯),T1工作在串口模式2;用于这种方式时,定时器就是为了提供一个时间基准;计数溢出之后,不需要做太多的事情,只做一件事就可以,就是重新装入预置数,再开始重新计数,而且中间不需要任何延时;工作模式2的结

构如下图所示:

?

工作模式3: 由于定时器/计数器T1没有工作模式3,如果把定时器/计数器T0设置为工作模式3,那么TL0和TH0将被分割成两个相互独立的8位定时器/计数器;工作模式3的结构如下图:

1.3定时器/计数器的定时/计数范围

工作方式0——13位定时器/计数器工作模式,最多可计数2的13次方次,即:8192次,[0,8191];

工作方式1——16位定时器/计数器工作模式,最多可计数2的16次方次,即:65536次,[0,65535];

工作方式2——8位定时器/计数器工作模式,计算次数最多为2^8,即256,,[0,255];

工作方式3——8位定时器/计数器工作模式,计算次数最多为2^8,即256,,[0,255];

预置数的计算公式:预置数=最大值-需要计数的次数;

1.4定时器/计数器的寄存器



2.接口芯片

74HC595具有8位移位寄存器和一个存储器,三态输出功能。移位寄存器和存储器有相互独立的时钟。数据在SH_CP(移位寄存器时钟输入)的上升沿输入到移位寄存器中,在ST_cp(存储器时钟输入)的上升沿输入到存储寄存器中去。如果两个时钟连在一起,则移位寄存器总是比存储寄存器早一个脉冲。移位寄存器有一个串行移位输入(Ds),和一个串行输出(Q7’),和一个异步的低电平复位,存储寄存器有一个并行8位的,具备三态的总线输出,当使能OE时(为低电平),存储寄存器的数据输出到总线。8位串行输入/输出或者并行输出移位寄存器,具有高阻关断状态。三态。将串行输入的8位数字,转变为并行输出的8位数字,例如控制一个8位数码管,将不会有闪烁。



下表说明了74HC595芯片的引脚功能。

Q0--Q7 8位并行数据输出, GND 地 Q7 串行数据输出 MR 主复位(低电平) SHCP 移位寄存器时钟输入 STCP 存储寄存器时钟输入 OE 输出有效(低电平) DS 串行数据输入 VCC 电源 接口电路图如下,可以看到74HC595接了8个LED,定时器。DS(SDI)为引脚P4.0,STCP(RCLK)为引脚P4.1,SHCP(SRCLK)为引脚P4.2,



图1-1



图1-2

二、实验实验实验实验

图1-5

进入目录obj,选择需要下载的hex文件打开;关闭电源→点击下载/编辑→打开电源,程序开始下载,出现下图则操作成功



图1-6

七、实验

(1)思考题1定时器工作需要哪些条件?

(2)思考题《单片机原理技术》实验九



《单片机原理技术》实验九



2



1





Android系统移植环境搭建实验例程



第页





献花(0)
+1
(本文系摘摘摘丿丿...首藏)