第五章定时器/计数器

合集下载

第5章习题解答

第5章习题解答

第5章思考题及习题5参考答案一、填空1.如果采用晶振的频率为3MHz,定时器/计数器T x(x=0,1)工作在方式0、1、2下,其方式0的最大定时时间为,方式1的最大定时时间为,方式2的最大定时时间为。

答:32.768ms,262.144ms,1024µs2.定时器/计数器用作计数器模式时,外部输入的计数脉冲的最高频率为系统时钟频率的。

答:1/243.定时器/计数器用作定时器模式时,其计数脉冲由提供,定时时间与有关。

答:系统时钟信号12分频后,定时器初值4.定时器/计数器T1测量某正单脉冲的宽度,采用方式可得到最大量程?若时钟频率为6MHz,求允许测量的最大脉冲宽度为。

答:方式1定时,131.072ms。

5. 定时器T2 有3种工作方式:、和,可通过对寄存器中的相关位进行软件设置来选择。

答:捕捉,重新装载(增计数或减计数),波特率发生器,T2CON6. AT89S52单片机的晶振为6MHz,若利用定时器T1的方式1定时2ms,则(TH1)= ,(TL1)= 。

答:FCH,18H。

二、单选1.定时器T0工作在方式3时,定时器T1有种工作方式。

A.1种B.2种 C.3种D.4种答:C2. 定时器T0、T1工作于方式1时,其计数器为位。

A.8位B.16位C.14位D.13位答:B3. 定时器T0、T1的GATE x=1时,其计数器是否计数的条件。

A. 仅取决于TR x状态B. 仅取决于GATE位状态C. 是由TR x和INT x两个条件来共同控制D. 仅取决于INT x的状态答:C4. 定时器T2工作在自动重装载方式时,其计数器为位。

A.8位B. 13位C.14位D. 16位答:D5. 要想测量INT0引脚上的正单脉冲的宽度,特殊功能寄存器TMOD的内容应为。

A.87HB. 09HC.80HD. 00H答:B三、判断对错1.下列关于T0、T1的哪些说法是正确的。

A.特殊功能寄存器SCON,与定时器/计数器的控制无关。

单片机 第五章2 单片机的定时器计数器

单片机 第五章2 单片机的定时器计数器

若晶振频率为6MHz,1个机器周期为1/6 x 10-6 x12=2μs 则最小定时时间为:[213 –(213 -1)]x2μs=2μs 最大定时时间为:[213 –0] x2μs=16384μs =16.384ms
2、 方式1 (T1,T0) 当M1M0两位为 01时,定时 /计数器被选为工作方式 1,16位计数器,其逻辑结构 如图 所示。
8FH TCON TF1 8EH TR1 8DH TF0 8CH TR0 8BH IE1 8AH IT1 89H IE0 88H IT0
TF1(TCON.7, 8FH位)----定时器T1中断请求溢出标志位。 TF0(TCON.5, 8DH位)----定时器T0中断请求溢出标志位。 TR1(TCON.6, 8EH位)----T1运行控制位。 0:关闭T1;1:启动T1运行。只由软件置位或清零。 TR0(TCON.4, 8CH位)----T0运行控制位。 0:关闭T0;1:启动T0运行。只由软件置位或清零。
1、 方式0 (T1,T0)
当 M1M0两位为 00时,定时 /计数器被选为工作方式 0, 13位计数器,其逻辑结 构如图所示。
振荡器 ÷12 C/ T = 0 TL0 低5位 C/ T = 1 控制 T0 端 TR0 GATE INT0 端 TH0 高8 位 TF0 中断
+
在方式0下,计数工作方式时,计数值的范围是: 1~8192(213 ) 定时工作方式时,定时时间的计算公式为: (213一计数初值)×晶振周期×12 或(213一计数初值)×机器周期
例4:用定时器l 以工作方式2计数,每计100次进行累计器加1操作.
(1)计算计数初值. 28—100=156D=9CH TH1=9CH,TL1=9CH TMOD寄存器初始化:MlM0=10,C/T=1,GATE=0 因此 TMOD=60H (2)程序设计序设计

计算机定时器计数器接口

计算机定时器计数器接口
数据 总线 缓冲器 读 /写 控制 逻辑 控制字 寄存器
CLK 0 GATE 0 OUT 0
D7~D0
计数器 数据总线缓冲器 通道0
A1 RD WR CS
A0
8位双向三态的缓冲器,可直接 挂在数据总线上。 CLK 1 计数器 1.可以向控制寄存器写入控制字, GATE 1 通道1 向计数器写入计数初值 OUT 1 2.可由CPU通过该缓冲器读取计 CLK 2 计数器 数器的当前计数值 GATE 2
计数器 通道1
CLK 1 GATE 1 OUT 1
9
8253的控制字
最小0001H 最大0000H D7 D6 D5 D4 D3 D2 D1 D0
计数方式选择 通道选择 00 选通道0 01 选通道1 10 选通道2 11 无意义 读/写格式选择 00 锁存命令 01 只读/写低8位 工 作 方 式 选 择 000 001 010 011 100 101 方式0 方式1 方式2 方式3 方式4 方式5 0 二进制数 1 BCD码(十进制数)
4
8253
5
二、8253的内部结构
数据 总线 缓冲器 读 /写 控制 逻辑 控制字 寄存器
CLK 0 GATE 0 OUT 0
D7~D0
计数器 通道0
A1 RD WR CS
A0
计数器 通道1
CLK 1 GATE 1 OUT 1
计数器 通道2
CLK 2 GATE 2 OUT2
6
二、8253的内部结构
在8254中是锁 存命令特征位 此时D3-D0无效
10 只读/写高8位
11 先低后高字节读/写

最小1 最大104 若初值为20D, 直接写20H就可 以了

第5章定时计数器 (2)

第5章定时计数器 (2)

5.4 8XX51定时/计数器的应用程序设计
5.4.3 应用编程举例 例1 如图所示,
P1中接有八个发光二极管, 编程使八个管轮流点亮,每 个管亮100ms,设晶振为 6MHz。 分析利用T1完成100ms的定时、 当P1口线输出“1”时,发光二 极管亮,每隔100ms”1”左移一 次,采用定时方式1,先计算计 数初值: MC=2μs 100ms/2μs =50000=C350H C =10000H-C350H=3CB0H
★若将T0设置为模式3,TL0和TH0被分成为两个互相独立的8位计数器
TH0和 TL0 。
★TL0可工作为定时方式或计数方式。占用原T0的各控制位、引脚和 中断源。即C/T、GATE、TR0、TF0和T0 (P3.4)引脚、INT0 (P3.2) 引脚。 TH0只可用作定时功能,占用定时器T1的控制位TR1和T1的中断标 志位TF1,其启动和关闭仅受TRl的控制。
ORG 0000H
AJMP
AJMP
MAIN
;T0中断服务程序入口 ;主程序开始 ;T0定时100ms IP0
ORG 000BH ORG 0030H MAIN:CLR P1.7
MOV TMOD,#01H MOV TH0,#3CH MOV TL0,#0B0H
SETB
SETB
ET0
EA
5.4 8XX51定时/计数器的应用程序设计
本章介绍的主要内容
★ ★

定时计数器结构和工作原理 定时计数器的控制寄存器
定时计数器的应用编程
5· 1 8XX51定时/计数器结构和工作原理
★51系列单片机片内有两个十六位定时/计数器:定时器0(T0) 和定时器1(T1)。 ★两个定时器都有定时或事件计数的功能,可用于定时控制、 延时、对外部事件计数和检测等场合。 ★定时/计数器实际上是16位加1计数器。 T0由2个8位持殊功能寄存器TH0和TL0构成, T1由2个8位持殊功能寄存器TH1和TL1构成。 ★每个定时器都可由软件设置为定时工作方式或 计数工作方式。

《单片机原理及应用》第5章 定时器及应用

《单片机原理及应用》第5章 定时器及应用

计数工作方式
通过引脚T0(P3.4)和T1(P3.5)对外部脉冲信号计数。 当输入脉冲信号产生由1至0的下降沿时定时器的值加1。 CPU检测一个1至0的跳变需要两个机器周期,故最高计 数频率为振荡频率的1/24。 为了确保某个电平在变化之前被采样一次,要求电平保持 时间至少是一个完整的机器周期。 对输入脉冲信号的基本要求如图5-2所示。
外部事件
计数电路 时间单位脉冲 单片机 计数完成信号
5.2 89C51定时器概述
• 89C51有两个16位的定时器/计数器,即定时器0(T0)和 定时器1(T1)。它们实际上都是16位加1计数器。 • T0由两个8位特殊功能寄存器TH0和TL0构成;T1由TH1 和TL1构成。
• 每个定时器都可由软件设置为定时工作方式或计数工作方
• 例:当P3.4引脚上的电平发生负跳变时,从P1.0输出一个 500μs的同步脉冲。请编程序实现该功能。查询方式, fosc=6MHz。
解:(1)模式选择 选T0为模式2,外部事件计数方式。当P3.4引脚上的电平发生 负跳变时,T0计数器加1,溢出标志TF0置1;然后改变T0为 500μs定时工作方式,并使P1.0输出由1变为0。T0定时到产生 溢出,使P1.0输出恢复高电平,T0又恢复外部事件计数方式。
T0的低5位:01100B=0CH即(TL0)=0CH T0的高8位:11110000B=F0H即(TH0)=F0H
(2)计算最大定时时间T
T0的最大定时时间对应于初值为0. 则:T=213×1/6 × 10-6×12=16.384ms
例2:利用T0的工作模式0产生1ms定时,在P1.0引脚输出 周期为2ms的方波。设单片机晶振频率fosc=12MHz。编 程实现其功能。 解:要在P1.0引脚输出周期为2ms的方波,只要使P1.0每隔 1ms取反一次即可。 (1)选择工作模式 T0的模式字为TMOD=00H,即 M1M0=00,C/T=0,GATE=0,其余位为0。 (2)计算1ms定时时T0的初值

单片机原理第5章定时、计数器

单片机原理第5章定时、计数器

5.2.2 控制寄存器 控制寄存器TCON
5,控制寄存器TCON初始化设置 ,控制寄存器 初始化设置
0
0 1
0
1 0 1
0
0
0
0
复位时, 的所有位被清0. 复位时,TCON的所有位被清 的所有位被清 要启动,关闭 , 要启动,关闭TI, T0,需对 ,需对TR1,TR0用 , 用 软件设置: 软件设置: SETB TRx;启动 ; CRL TRx;关闭 ; 也可以用传送指令 MOV TCON,#50H , 同时启动T0, 同时 同时启动 ,T1同时 使用电平触发方式. 使用电平触发方式.
时钟 振荡 ÷12
2,脉冲计数 , 每来1个脉冲,计 每来 个脉冲, 个脉冲 数器加1. 数器加 .
C P U
T0 TL0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0
溢 出 启动 TH0 工作 方式
TCON
TMOD
中断
5.1 定时器的结构及工作原理
1,计数脉冲来源 ,
(P3.4)
INT0(INTI)=1 指令 SETB TR0(TR1) 启动定时/计数器 启动定时 计数器T0(T1) 计数器
1
5.2.2 控制寄存器 控制寄存器TCON
1,溢出标志位 TFx
0 1
TFl(TCON.7):T1溢出标志位.当T1溢出时由硬 : 溢出标志位 溢出标志位. 溢出时由硬 件自动使中断触发器TFl置1,并向 申请中断. 件自动使中断触发器 置 ,并向CPU申请中断. 申请中断 响应进入中断服务程序后, 当CPU响应进入中断服务程序后,TFl又被硬件 响应进入中断服务程序后 又被硬件 自动清0. TFl也可以用软件清 . 自动清 . 也可以用软件清0. 也可以用软件清 TF0(TCON.5):T0溢出标志位.其功能和操作同 : 溢出标志位 其功能和操作同TFl 溢出标志位.

第五章 PLC基本指令系统----计数器+典型案例

第五章  PLC基本指令系统----计数器+典型案例

1L
Q0.0 Q0.1
Q0.2
Q0.3
S7200 CPU 222
1M
I0.0
I0.1
M L+
DC 24V
停止按钮SB1 启动按钮SB2
脉冲的上升沿(由0到1)信号时,计数器的当前值减1。当计数器当前值等于或大于设定值 (PV)时,该计数器位被置1。当复位输入端(R)有效或用复位指令(R)对计数器执行复 位操作时,计数器被复位,即计数器位为0,且当前值清零。
《第5章 PLC基本指令系统》
五、S7-200 PLC的基本指令
11. 计数器指令
《第5章 PLC基本指令系统》
六、典型控制环节的PLC程序设计 2、大功率电动机的星-三角减压起动控制程序
输入信号
停止按 I0.0 钮SB1
起动按 I0.1 钮SB2
输出信号 接触器 Q 0.1 KM1
接触器 Q 0.2 KM2
接触器 Q 0.3 KM3
FR
KM1
KM2
KM3
~
KM3
KM2
1L
Q0.0 Q0.1
《第5章 PLC基本指令系统》
五、S7-200 PLC的基本指令
12. 比较指令
比较指令是将两个数值或字符串按指定条件进行比较,比较条件成立时,比较触点就闭合。 所以比较指令实际上也是一种位指令。
类型: 按两个操作数的数据类型分:字节比较、整数比较、双字整数比较和实数比较。 比较指令的运算符有6种: ==(等于)、>(大于)、>=(大于等于)、<(小于)、<=(小于等于) 和 <>(不等于)。
C21当前值 0
C21位
//计数值为0时接通Q0.0

C51单片机课件 5第五章顺序控制系统

C51单片机课件 5第五章顺序控制系统

5.2 89C51单片机定时器/计数器
2、中断方式参考源程序:
#include <reg51.h>
sbit P1_0=P1^0; void timer0( ) interrupt 1
{ TH0=0x15;
TL0=0xa0; P1_0=~P1_0; }
void main ( void ) { P1=0xff; TMOD=0X01; TH0=0x15; TL0=0xa0; TR0=1; EA=1; ET0=1; While (1); }
六、顺序控制系统所涉及的知识点
(1)定时/计数器的概念。 (2)89C51单片机中定时/计数器的应用。 (3)C51定时/计数器中断服务程序的设计与应用。
5.2 89C51单片机定时器/计数器
定时和计数功能最终都是通过计数实现的,若计数的事件源是
周期固定的脉冲,则可以实现定时功能,否则只能实现计数功 能。因此可以将定时和计数功能由一个部件实现。
图5-4 定时器/计数器结构框图
5.2 89C51单片机定时器/计数器
2、计数方式:外部输入信号的下降沿触发计数,计数器 在每个时钟周期或时钟周期的12分频采样外部输入信号, 若一个周期的采样值为1,下一个周期的采样值为0,则 计数器加1,故识别一个从1到0的跳变需2个周期,所以,
单片机对外部输入信号最高的计数速率是时钟频率的
实现定时和计数的方法一般有软件、专用硬件电路和可编程定
时器/计数器三种方法。

采用软件只能定时,且占用CPU时间,降低了CPU的使用效率。
专用硬件电路可实现精确的定时和计数,但参数调节不便。
可编程定时器/计数器,不占用CPU时间,能与CPU并行工作, 实现精确的定时和计数,又可以通过编程设置其工作方式和 其它参数,因此使用方便。

第五章 定时器计数器8253

第五章  定时器计数器8253

1方式----低电平输出(GATE信号上升沿重新计数) 可重复触发的单稳态触发器 1方式为可编程的单稳态工作方式。(平时gate无效) 情况一: (1)写入计数初值后,计数器并不立即开始工作; (2)门控信号GATE有效,才开始工作,使输出OUT变成低电平; (3)直到计数器值减到零后,输出才变高电平。见图6.5中①。 情况二: 21组16 在计数器工作期间,当GATE又出现一个上升沿时,计数器 重新装入原计数初值并重新开始计数,见图见图6.5中②。 21组17 如果工作期间对计数器写入新的计数初值,则要等到当前的 计数值计满回零且门控信号再次出现上升沿后,才按新写入的 计数初值开始工作,见图6.5所示③。21组1 2.
CLK WR
n=6
5 4 3 2 1 0

OUT
② ห้องสมุดไป่ตู้ATE
OUT
5
4
4
4
4
3
2
1
0
图6.8:8253的4方式时序波形
6. 5方式------单次负脉冲输出(硬件触发)
加1,计数脉冲是频率恒定的时钟脉冲
一次计数过程是指计数器从初值开始计数到0。
一段定时是指计数器从初值开始计数到0所经
历的时间段。
定时举例:
①计算机及电子系统中需要定时信号,如系统 的日历时钟,一天24小时的计时。动态存储器 的刷新,应用系统的定时中断、定时查询与检 测等称为日时钟。
②在监测系统中,对被测点的定时取样。 ③在读键盘时,为去抖,一般延迟10ms再读。
个字节),采用二进制计数。其初始化程序段为

MOV DX,43H
;命令口 ;2号计数器的初始化命令字 ;写入命令寄存器 ;2号计数器数据口

第5章思考题及习题5参考答案

第5章思考题及习题5参考答案

第5章思考题及习题5参考答案一、填空1.如果采用晶振的频率为3MHz,定时器/计数器T x(x=0,1)工作在方式0、1、2下,其方式0的最大定时时间为,方式1的最大定时时间为,方式2的最大定时时间为。

答:32.768ms,262.144ms,1024µs2.定时器/计数器用作计数器模式时,外部输入的计数脉冲的最高频率为系统时钟频率的。

答:1/243.定时器/计数器用作定时器模式时,其计数脉冲由提供,定时时间与有关。

答:系统时钟信号12分频后,定时器初值4.定时器/计数器T1测量某正单脉冲的宽度,采用方式可得到最大量程?若时钟频率为6MHz,求允许测量的最大脉冲宽度为。

答:方式1定时,131.072ms。

5. 定时器T2 有3种工作方式:、和,可通过对寄存器中的相关位进行软件设置来选择。

答:捕捉,重新装载(增计数或减计数),波特率发生器,T2CON6. AT89S52单片机的晶振为6MHz,若利用定时器T1的方式1定时2ms,则(TH1)= ,(TL1)= 。

答:FCH,18H。

二、单选1.定时器T0工作在方式3时,定时器T1有种工作方式。

A.1种B.2种 C.3种D.4种答:C2. 定时器T0、T1工作于方式1时,其计数器为位。

A.8位B.16位C.14位D.13位答:B3. 定时器T0、T1的GATE x=1时,其计数器是否计数的条件。

A. 仅取决于TR x状态B. 仅取决于GATE位状态C. 是由TR x和INT x两个条件来共同控制D. 仅取决于INT x的状态答:C4. 定时器T2工作在自动重装载方式时,其计数器为位。

A.8位B. 13位C.14位D. 16位答:D5. 要想测量INT0引脚上的正单脉冲的宽度,特殊功能寄存器TMOD的内容应为。

A.87HB. 09HC.80HD. 00H答:B三、判断对错1.下列关于T0、T1的哪些说法是正确的。

A.特殊功能寄存器SCON,与定时器/计数器的控制无关。

第5章 定时器计数器

第5章 定时器计数器
时软件清0 ) ✓ 使用中断方式时,此位作为中断请求标志位,进入中断服务程序
后由硬件自动清0
(2)TR1、TR0——计数运行控制位
✓ TR1(或TR0)=1,启动定时器/计数器工作 ✓ TR1(或TR0)=0,停止定时器/计数器工作。 ✓ 该位可由软件置1或清0(位操作)
7
定时器/计数器T1、T0工作方式
22
✓ 当T2MOD的DCEN=0时,T2为增1型重新装载方式
EXEN2=0时,T2计满回0溢出,TF2置1;陷阱寄存器RCAP2L、 RCAP2H中预置的16位计数初值重新再装入TL2、TH2中,自动进 行下一轮计数。
EXEN2=1时,T2操作方式照旧,但当T2EX(P1.1)产生负跳变时 触发三态门将RCAP2L、RCAP2H陷阱寄存器中的计数初值自动装 载到TL2和TH2中重新开始计数,EXF2置1并发出中断请求。
9
✓ 方式2(M1 M0=10B) 方式2为自动恢复初值(初值自动装入)的8位定时器/计数器。
TLx(x = 0,1)作为常数缓冲器,当TLx计数溢出时,TFx置1且
自动将THx中的初值送至TLx,开始重新计数。
【注】方式2可省去用户软件中重装初值的指令执行时间,可以
相当精确地确定定时时间。
10
✓ 方式3(M1 M0=11B) 相当于增加了一个8位定时器/计数器。
(2)T1工作在方式1( M1 M0 =01B )
12
(3)T1工作在方式2( M1 M0 =10B )
(4)T1设置在方式3( M1 M0 =11B )
当T0设置在方式3,再把T1也设成方式3,此时T1停止计数。
13
定时/计数器初始化步骤
(1)方式控制字送TMOD MOV TMOD,#——

第5章 定时器计数器2(1)

第5章 定时器计数器2(1)

2、模式1模式1(M1M0=01)除了使用了THn和TLn全部16位外,其它与模式0相同。

(1)计数工作方式由于定时器/计数器以加1方式计数,假定计数值为X,则应装入定时器/计数器的初值为:初值=216-计数值【216=初值+计数值】所以方式1的计数值围是:1~65536(216=65536),最大值为:65536(2)定时工作方式定时时间t的计算公式为:【t的时间单位为微秒(µs)】计数值=216-初值定时时间t=计数值×机器周期=(216-初值)×(1/晶体振荡频率)×12在模式1下的情况下,如果fosc=12MHz,最大定时时间为:t=(65536-初值)×(1/12)×12=65536-0=65.536ms在模式1下的情况下,如果fosc=6MHz,最大定时时间为:t=(65536-初值)×(1/6)×12=(65536-0)×2=131.072 ms。

【例如】:若晶体振荡为12MHz,要定时2.5ms,计算初值。

要定时2.5ms,也可以用模式1。

2500=(216-初值)×(1/12)×12初值=65536-2500=63036=32768+16384+8192+4096+1024+512+32+16+8+4=1111 0110 0011 1100――> THn =0xF6 和 TLn=0x3C在fosc=12MHz时,如果定时时间大于65.536ms,这时用一个定时/计数器直接处理不能实现,这时可用:1、2个定时/计数器共同处理;2、1个定时/计数器配合软件计数方式处理。

3、模式2方式0和方式1的最大特点是计数溢出后,计数器为全0。

因此在循环定时或循环计数应用时就存在用指令反复装入计数初值的问题。

这不仅影响定时精度,也给程序设计带来麻烦。

方式2就是针对此问题而设置的。

该方式可省去用户软件中重装初值的指令执行时间,简化定时初值的计算方法,可以相当精确地确定定时时间。

第5章 MCS-51单片单片机内部 定时器计数器

第5章  MCS-51单片单片机内部 定时器计数器

LOOP:
例:由P1.0输出方波信号,周 期为2ms,设fosc=12MHz。 (中断方式)
2ms
解:每隔1ms改变一次P1.0的输出状态,即形成方波, 用T0非门控方式1定时。 计算时间常数:X = 216 - t/T = 216 –(1/1000)/10-6 = 65536-1000 = 64536 = FC18H
3 工作模式2 • 模式2把TL0(或TL1)设置成一个可以自动重 装载的8位定时器/计数器 。 用于需要重复定时和计数的场合。 最大计数值:256 (28) 最大定时时间(晶振12MHz时 T=1s): 256s 自动恢复初值8位定时/计数器。TLx为8位加1计 数器,THx为8位初值暂存器。
复位时,TMOD所有位均置0。 确定定时器工作方式指令: MOV TMOD,#方式字 例:设T0用方式2非门控定时,T1用方式1门控计数。 MOV TMOD,#0D2H ; 1101 0010 B
定时器控制寄存器TCON除可字节寻址外,各 位还可以位寻址。
位地址 位符号 8FH TF1 8EH 8DH 8CH TR1 TF0 TR0 8BH IE1 8AH 89H 88H IT1 IE0 IT0
解得:T0初值=7096=11011101 11000B,其中将高8位 11011101 B=DDH 赋给 TH0 ,低 5 位 11000B=18H 赋 给 TL0。

方法一:
采用查询工作方式,编程如下:
ORG AJMP 0000H MAIN
LOOP:JNB TF0,$;$为当前指令指 针地址 CLR SETB CLR MOV MOV TF0 P1.0 P1.0 TH0 , #0DDH ;重装载 ;产生2µ s正脉冲
ORG AJMP ORG AJMP ORG MAIN:MOV MOV MOV SETB SETB SETB HERE:SJMP PT0INT:MOV MOV CPL RETI

第05章单片机定时计数器习题解答.

第05章单片机定时计数器习题解答.

第05章 单片机定时计数器 习题解答一、 填空题1.1. MCS-51单片机中有单片机中有 2 2 个 16 16 位的定时器位的定时器//计数器。

器。

2.2. 定时器定时器//计数器T0可以工作于方式可以工作于方式 0、1、2、3 3 。

3.3. 方式0为 13 位定时器位定时器//计数器。

计数器。

4.4. 若系统晶振频率为12MHz ,则T0工作于定时方式1时最多可以定时 65536 65536 µs。

µs。

5.5. 欲对300个外部事件计数,可以选用定时器个外部事件计数,可以选用定时器//计数器T1的模式的模式 0 0 或模或模式 1 。

6.6. TMOD 中的M1M0= 11时,定时器工作于方式时,定时器工作于方式 3 3。

7.7. 若系统晶振频率为6MHz 6MHz,则定时器可以实现的最小定时时间为,则定时器可以实现的最小定时时间为,则定时器可以实现的最小定时时间为 2 2 µs。

8.8. MCS-51单片机工作于定时状态时,计数脉冲来自单片机内部的机器周期 。

9.9. MCS-51单片机工作于计数状态时,计数脉冲来自单片机工作于计数状态时,计数脉冲来自 单片机外部事件单片机外部事件单片机外部事件 。

10.10. 当GATE=0时,时, 则当软件控制位则当软件控制位TR0TR0==1时 启动T0开始工作。

开始工作。

二、 简答题1.1.定时器定时器定时器//计数器T0和T1各有几种工作方式?简述每种工作方式的特点。

如何控制定时器/计数器的工作方式?计数器的工作方式?答:答:T0T0可以工作于方式0,1,2,3;T1可以工作于方式0,1,2方式0:是13位定时位定时//计数器,由TLX 的低5位(位(TLX TLX 的高3位未用)和THX 高8位组成。

成。

方式1:TLX 和THX 组成16位定时位定时//计数器。

计数器。

方式2:方式2为自动重装初值的8位定时位定时//计数器。

单片机中的定时器和计数器

单片机中的定时器和计数器

单片机中的定时器和计数器单片机作为一种嵌入式系统的核心部件,在各个领域都发挥着重要的作用。

其中,定时器和计数器作为单片机中常用的功能模块,被广泛应用于各种实际场景中。

本文将介绍单片机中的定时器和计数器的原理、使用方法以及在实际应用中的一些典型案例。

一、定时器的原理和使用方法定时器是单片机中常见的一个功能模块,它可以用来产生一定时间间隔的中断信号,以实现对时间的计量和控制。

定时器一般由一个计数器和一组控制寄存器组成。

具体来说,定时器根据计数器的累加值来判断时间是否到达设定的阈值,并在时间到达时产生中断信号。

在单片机中,定时器的使用方法如下:1. 设置定时器的工作模式:包括工作在定时模式还是计数模式,以及选择时钟源等。

2. 设置定时器的阈值:即需要计时的时间间隔。

3. 启动定时器:通过控制寄存器来启动定时器的运行。

4. 等待定时器中断:当定时器计数器的累加值达到设定的阈值时,会产生中断信号,可以通过中断服务函数来进行相应的处理。

二、计数器的原理和使用方法计数器是单片机中另一个常见的功能模块,它主要用于记录一个事件的发生次数。

计数器一般由一个计数寄存器和一组控制寄存器组成。

计数器可以通过外部信号的输入来触发计数,并且可以根据需要进行计数器的清零、暂停和启动操作。

在单片机中,计数器的使用方法如下:1. 设置计数器的工作模式:包括工作在计数上升沿触发模式还是计数下降沿触发模式,以及选择计数方向等。

2. 设置计数器的初始值:即计数器开始计数的初始值。

3. 启动计数器:通过控制寄存器来启动计数器的运行。

4. 根据需要进行清零、暂停和启动操作:可以通过控制寄存器来实现计数器的清零、暂停和启动操作。

三、定时器和计数器的应用案例1. 蜂鸣器定时器控制:通过定时器模块产生一定频率的方波信号,控制蜂鸣器的鸣叫时间和静默时间,实现声音的产生和控制。

2. LED呼吸灯控制:通过定时器模块和计数器模块配合使用,控制LED的亮度实现呼吸灯效果。

5 定时计数器

5 定时计数器

主程序
定时器T1溢 出中断服 务子程序
单片微机 原理与应用 编程实现在P1.0引脚上输出周期为2ms的方波。
例5-3 利用T0的工作模式0产生1ms的定时,
设单片机的晶振频率ƒosc=12MHz。 解: 方法:定时1ms,对P1.0取反,然后继续定时 (1)设置模式字 2ms TMOD= **** 0000B =00000000B=00H 1ms (2)计算初值
单片微机 原理与应用
5. 3. 3 模式2及其应用
一、模式2时的结构和工作原理
与以前模式区别在于: 可连续计数 计数器为8位自动重装初值计数器,在循环定时 或计数时,不必反复预置计数初值。
单片微机 原理与应用
二、特短, 计数值N和定时时间t的计算 : N= 28- 初值X t=(28- 初值X) *机器周期Tcy 最大计数值为: 28 =256 说明:通常使用定时期T1工作在模式2作为串口 的波特率发生器。
单片微机 原理与应用
单片微机 三、应用举例 原理与应用 例5-1 使用定时器T0定时时间为1ms,选择工 作模式0,ƒosc=6MHz。试确定T0初值,计算最大 定时时间T。
解: (1)求T0的初值X 由公式:t=(213-T0初值)*机器周期Tcy t=1ms=1000μs 机器周期Tcy=12/ƒosc=12/6000000s=2μs 得 1000=( 213 -X)*2 所以初值 X=8192-500=7692=1111000001100B (一定要写全13位) TL0: 00001100B=0CH TL0的低5位和TH0的8位 TH0:11110000B=F0H
因Tcy=1μs,得 10000= (216-X)*1, 10000=65536-X X=55536=D8F0H
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第五章MCS-51定时器/计数器及其应用5.1定时方法概述在单片机的应用中,可供选择的定时方法主要有:1.软件定时软件定时是靠执行一个循环程序以进行时间延迟。

软件定时的特点是时间较精确,且不需外加硬件电路。

但软件定时要占用CPU的时间,增加CPU开销,因此软件定时的时间不宜太长。

当单片机时钟确定后,每条指令的指令周期是确定的,在指令表中用振荡周期表示出来了。

因此,根据程序执行所用的总的振荡周期数和振荡频率,可以较准确的计算,程序执行完所用的时间。

软件延时是实际经常采用的一种短时间定时方法。

例4-16 ORG 1000HTIME:MOV R1, #0FAH ;12个振荡周期L1 :MOV R0, #0FFH ;12个振荡周期W1 :DJNZ R0 , W1 ;24个振荡周期DJNZ R1 , L1 ;24个振荡周期NOP ;12个振荡周期NOP ;12个振荡周期RET ;24个振荡周期计算延时时间:N=12+(12+24×255+24)×250+12+12+24=1539060个振荡周期如果ƒ=6MHz Tƒ=1/ƒ=1/6μsTt=N×Tƒ=1539060×1/6μS=256510μS=0.25651S调整R0和R1中的参数,可改变延时时间,如果需要加长延时间,可以增加循环嵌入。

当延时时间较长、不便多占用CPU时间的情况下,一般采用定时器方法。

2.内部可编程定时器这种定时方法是通过对系统时钟脉冲的计数来实现的。

计数值通过程序设定,改变计数值,也就改变了定时时间,使用起来既灵活又方便。

此外,由于采用计数方法实现定时,因此可编程定时器都兼有计数功能,可以对外来脉冲进行计数。

3.外部扩展专用定时器对于时间较长的定时,常使用外部扩展专用定时器完成。

这种方法定时全部由硬件电路完成,不占用CPU时间。

例如:DALLAS 公司的DS1302低功耗时钟芯片.它可以对年月日时分秒计时,并且有闰年补偿功能,它可以很方便地和单片机接口.5.2 51单片机内部的定时器/计数器作为基本组成内容,8051单片机共有两个可编程的定时器/计数器,分别称定时器/计数器0和定时器/计数器1。

它们都是十六位加法计数结构,分别由TH0和TL及TH1和TL1两个8位计数器组成,它们具有计数和定时两种工作方式以及四种工作模式。

两个特殊功能寄存器(定时器控制寄存器TCON和定时器方式寄存器TMOD)用于确定定时器/计数器的功能和操作方式。

图5-1给出了定时器/计数器的结构框图,它反映了单片机中微处理器、寄存器TCON和TMOD与定时器T0、T1之间的关系。

计数器的输入脉冲源可以是外部脉冲源或系统时钟振荡器,计数器对这两个输入脉冲之一进行递增计数。

顾名思义,MCS-51的每个定时器/计数器都具有定时和计数两种功能。

图5-1 定时器/计数器的结构框图1.计数功能所谓计数是指对外部事件进行计数。

外部事件的发生以输入脉冲表示,因此计数功能的实质就是对外来脉冲进行计数。

8051芯片有T。

(P3.4)和T1(P3.5)两个信号引脚,分别是这两个计数器的计数输入端,外部输入的脉冲在负跳变时有效,进行计数器加1(加法计数)。

计数方式下,单片机在每个机器周期的S5P2拍节对外部计数脉冲进行采样。

如果前一个机器周期采样为高电平,后一个机器周期采样为低电平,即为一个有效的计数脉冲。

在下一机器周期的S3P1进行计数。

可见采样计数脉冲是在二个机器周期进行的。

鉴于此,计数脉冲的频率不能高于振荡脉冲频率的1/24。

2.定时功能定时功能也是通过计数器的计数来实现的,不过这时的计数脉冲来自单片机的内部,即每个机器周期产生一个计数脉冲。

也就是每个机器周期计数器加1。

由于一个机器周期等于12个振荡脉冲周期,因此计数频率为振荡频率的1/12。

如果单片机采用12MHZ晶体,则计数频率为1MHz。

即每微秒计数器加1。

这样不但可以根据计数值计算出定时时间,也可以反过来按定时时间的要求计算出计数器的预置值。

5.3 定时器/计数器的控制寄存器与定时器/控制器有关的控制寄存器有:1.定时器控制寄存器(TCON)TCON寄存器既参与中断控制又参与定时控制。

有关中断的控制内容已在第六章中说明,此处只对其定时控制功能加以介绍。

其中有关定时的控制位共有四位:·TF0(TF1)--计数溢出标志位当计数器从初值开始递增计数至计数溢出(计满)时,由单片机内部(硬件)自动对该位置1。

使用查询方式时,此位作状态位供查询,但应注意查询有效后应以软件方法及时将该位清0;使用中断方式时,此位作中断标志位,在转向中断服务程序时,自动(硬件)清0。

·TR0(TR1)--定时器运行控制位定时器T0(T1)的运行控制位该位根据需要以软件方法使其置1或清0,用来启动/关闭定时器T0(T1)。

2.工作方式控制寄存器(TMOD)TMOD寄存器是一个专用寄存器,用于控制两个定时器/计数器的工作方式。

但TMOD寄存器不能位寻址,只能用字节传送指令设置其内容。

各位定义如下:其中:高4位字段用于定时器T1的工作方式控制,低4位字段用于定时器T的工作方式控制。

TMOD各位的定义和功能如下:·GATE--门控位GATE=0以运行控制位TR0(TR1)启动定时器GATE=l以外中断请求信号(INT0、INT1)启动定时器以上说明:GATE为1时,定时器/计数器的计数受外部引脚输入电平的控制,具体来讲,INT0控制T运行,INT1控制T1运行。

GATE为0时,定时器/计数器的运行不受外部输入引脚的控制。

因此,通常称前者为外部控制,后者为内部控制。

·C/T--定时方式或计数方式选择位C/T=0定时工作方式,计数脉冲是内部脉冲,其周期等于机器周期。

C/T=1计数工作方式,计数脉冲是从引脚T0或T1输入。

·M1M0—工作方式选择位M1M0=00 方式0M1M0=01 方式1MlM0=10 方式2M1M0=11 方式33.中断允许寄存器(IE)IE寄存器的详细内容请见第六章。

其中与定时器/计数器有关的位重复介绍如下。

·EA--中断允许总控制位·ET。

(ET1)--定时/计数中断允许控制位ET。

(ET1)=0禁止定时/计数中断ET。

(ET1)=1允许定时/计数中断5.4 MCS-51的定时器/计数器工作方式MCS-51的定时器/计数器共有四种工作方式,现从方式0开始逐个介绍。

5.4.1定时器/计数器工作方式01.电路逻辑结构方式0是13位计数结构的工作方式,其计数器由TH0全部8位和TL的低5位构成。

TL的高3位弃之不用。

图5-2是定时器/计数器0在工作方式0的逻辑结构(定时器/计数器1与此完全相同)。

图5-2 定时器/计数器工作方式0逻辑结构如图所示,当C/T=0时,多路开关接通振荡脉冲的十二分频输出,13位计数器以此进行计数,这就是所谓定时器工作方式。

当C/T=1时,多路开关接通计数引脚(T),外部计数脉冲由引脚T。

输入。

当计数脉冲发生负跳变时,计数器加1,这就是所谓计数工作方式。

不管是那种工作方式,当TL。

的低5位计数溢出时,向TH。

进位,而全部13位计数溢出时,则向计数溢出标志位TF。

进位。

这里说明一下工作方式控制寄存器中门控位(GATE)的功能。

当GATE=0时,由于GATE信号封锁了或门,使引脚INT信号无效。

而这时或门输出端的高电平状态却打开了与门。

因此可以由TR(TCON寄存器)的状态来控制计数脉冲的接通与断开。

这时如果TR=1,则接通模拟开关,使计数器进行加法计数,即定时器/计数器工作。

如果TR。

=0,则断开模拟开关,停止计数,定时器/计数器不能工作。

因此在单片机的定时或计数应用中要注意GATE位的清0当GATE=1,同时又TR=1时,有关电路的或门和与门全都打开,计数脉冲的接通与断开由引脚信号INT。

控制。

当该信号为高电平时计数器工作;当该信号为低电平时计数器停止工作。

这种情况可用于测量外信号的脉冲宽度。

2.定时和计数应用在方式0下,当为计数工作方式时,计数值的范围是:1~8192(213)当为定时工作方式时,定时时间的计算公式为;(213-计数初值)×T ×12或(213-计数初值)×机器周期其时间单位分别与晶振周期或机器周期相同。

如晶振频率为6MHZ,则最小定时时间为:[213-(213-1)]×1/6 × 10-6 ×12 = 2 × 10-6=2(us) 最大定时时间为:(213-0)×1/6 ×10-6X12=16384X10-6=16384(us)定时器/计数器初始化程序设计的基本步骤如下:(1)确定工作方式,对寄存器TMOD和TCON等赋值;(2)预置定时或计数的初值X;(3)根据需要开放或关闭定时器/计数器的中断;(4)启动定时器/计数器工作。

[应用举例]设单片机晶振频率Fosc=6MHz,使用定时器1以方式0产生周期为500us的等宽正方波脉冲,并由P1.0输出。

以查询方式完成。

①计算计数初值欲产生500us的等宽正方波脉冲,只需在P1.0端以250us为周期交替输出高低电平即可实现,为此定时时间应为250us。

使用6MHZ晶振,则一个机器周期为2us。

方式0为13位计数结构。

设待求的计数初值为X,则:(213-X) ×1/6 ×10-6×12=250×10-6,求解得:X=8067。

二进制数表示为1111110000011。

转换为十六进制数,高8位为FCH,低5位为03H。

其中高8位放入TH1,即TH1=FCH;低5位放入TL1,即TL1=O3H。

②TMOD寄存器初始化为把定时器/计数器1设定为方式0,则M1M=00;为实现定时功能,应使C/T=0;为实现定时器/计数器1的运行控制,则GATE=0。

定时器/计数器0不用,有关位设定为0。

因此TMOD寄存器应初始化为00H。

③由定时器控制寄存器TCON中的TR1位控制定时的启动和停止,TR1=1启动,TR1=0停止。

④程序设计MOV TMOD,#00H ;设置T1工作方式0MOV TH1,#OFCH ;设置计数初值MOV TL1,#03H ;MOV IE,#00H ;禁止中断SETB TR1;启动定时LOOP:JBC TF1,LOOP1;查询计数溢出AJMP LOOPLOOP1:MOV TH1,#0FCH ;重新设置计数初值。

NMOV TL1,#03H ;CPL P1。

0;输出取反AJMP LOOP ;重复循环5.4.2定时器/计数器工作方式1方式1是16位计数结构的工作方式,计数器由TH全部8位和TL全部8位构成。

相关文档
最新文档