第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,与定时器/计数器的控制无关。

单片机 第五章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)程序设计序设计

第5章AT89S52定时器计数器

第5章AT89S52定时器计数器
8
图5-2 TMOD格式
8位分为两组,高4位控制T1,低4位控制T0。 TMOD各位的功能。 (1)GATE———门控位。
0:仅由运行控制位TRx(x = 0,1)来控制定时器/计数器运 行。
1:用外中断引脚( INT0*或 INT1*)上的电平与运行控制 位TRx共同来控制定时器/计数器运行。
9
5
5.1 定时器/计数器的结构 定时器/计数器T1、T0结构如图5-1所示,T0由特殊功能
寄存器TH0、TL0构成,T1由特殊功能寄存器TH1、TL1构成。
图5-1 定时器/计数器T0、T1结构框图
6
具有定时器和计数器2种工作模式,4种工作方式(方式0、 方式1、方式2和方式3)。属于增1计数器。
定时器/计数器T0分为两个独立的8位计数器TL0和TH0, TL0使用T0的状态控制位C/T*、GATE、TR0、TF0 ,而TH0
23
被固定为一个8位定时器(不能作为外部计数模式),并使用 定时器T1的状态控制位TR1和TF1,同时占用定时器T1的中断 请求源TF1。 2.T0工作在方式3时T1的各种工作方式
P1.0输出;T2OE=0,禁止定时时钟从P1.0输出。 DCEN(D0):计数方式选择。DCEN=1,T2的计数方式
由P1.1引脚状态决定。P1.1=1,T2减计数,P1.1=0,T2加 计数;DCEN=0,计数方式与P1.1无关,同T1和T0一样,采 用增1计数。
31
2. 特殊功能寄存器T2CON T2的功能选择由特殊功能控制寄存器T2CON来设定,
(2)M1、M0——工作方式选择位 M1、M0共有4种编码,对应于4种工作方式的选择,如
表6-1所示。
10
(3)C/T*—计数器模式和定时器模式选择位 0:为定时器工作模式,对单片机的晶体振荡器12分频后的

定时器计数器的功能

定时器计数器的功能

志TF0的同时,自动将TH0中所装的原初始常数送TL0,使TL0从
原初始常数开始重新计数。
FFFFH时 2μs
•.定时间初隔和始计数化的范时围:在以6TMHLZ晶0振、为例TH0中装入同样的初始常数,TH0即记忆了该
初MCPOLV始PT1.L0常, #数0CH,因; 此在中断服务程序中不必重装时间常数,省去了重装
T1
T0
GATE C/T M1 M0 GATE C/T M1 M0 字节地址89H
GATE:门控位
C/T: 1 计数 0 定时
M1 M0:00 方式0 01 方式1 10 方式2 11 方式3
3
2.定时器控制寄存器 TCON 字节地址88H 可位寻址
TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
11110000 00001100 TH0=F0H TL0=0CH 即共加500次,每次耗费2μs,共耗费时间1ms
8
②讨论计数方式: 例如前述的啤酒生产线,计数24瓶中断转入装箱程序。 选T1方式0计数,TMOD的高4位为: 0 1 0 0 初始常数X的计算:
213 - X =24 X=8192 - 24=8168 8168=1FE8H 00011111 11101000B
T即H1 每= 9EH隔T1L12=/5f8H加1
T1
T0
MOV TH0, #0FAH
例如一啤酒生产线,如下图所示
首先计数器清零,在正脉冲开始时,
在正脉冲结束的下降
216 ×2×10-6 =65536 ×2×10-6 =131.
213 - X =24
1
关于定时器的小结与补充:
ORG 001BH
高电平1ms
11111111 00001000 TH1=FFH TL1=08H 加24次即溢出中断。程序如下:

电气控制与PLC实训章 (5)

电气控制与PLC实训章 (5)
需要说明的是,未定义的特殊辅助继电器可在用户程序中使 用。
辅助继电器的常开、常闭接点在PLC内可无限次使用。
第பைடு நூலகம்章
4) 状态器(S) 状态器S是构成状态转移图的重要器件,它与后述的步进顺 控指令配合使用。通常,状态器软件有下面五种类型: (1) 初始状态器S0~S9共10点。 (2) 回零状态器S10~S19共10点。 (3) 通用状态器S20~S499共480点。 (4) 保持状态器S500~S899共400点。 (5) 报警用状态器S900~S999共100点。这100个状态器器件 可用作外部故障诊断输出。 S0~S499没有断电保持功能,但是用程序可以将它们设定为 有断点保持功能的状态。状态器的常开、常闭接点在PLC内可以 使用,且使用次数不限。不用步进顺控指令时,状态器S可以作 辅助继电器M在程序中使用。此外,每一个状态继电器还提供一 个步进触点,称为STL触点,在步进控制的梯形图中使用。
第5章 图5.6 ANB指令使用说明(一)
第5章 图5.7 ANB指令使用说明(二)
第5章
6. 多重输出指令MPS、MPD、MPP (1) MPS:进栈指令; (2) MRD:读栈指令; (3) MPP:出栈指令。 PLC中有11个存储运算中间结果的存储器,称为栈存储器。 进栈MPS指令就是将运算中间结果存入栈存储器。使用一次MPS指 令,该时刻的运算结果就压入栈存储器第一级,再使用一次MPS 指令,此次的运算结果压入栈的第一级,上一次压入的数据依次 向栈的下一级移动。 使用出栈指令MPP就是将存入栈存储器的各数据依次上移, 最上级数据读出后就从栈内消失。
第5章
(3) 特殊辅助继电器M8000~M8255(256点)。PLC内有256个 特殊辅助继电器,这些特殊辅助继电器各自具有特定的功能,通 常分为下面两大类。

单片机习题答案

单片机习题答案

《单片机应用技术》习题答案第一章概述1. 什么是总线?总线主要有哪几部分组成?各部分的作用是什么?总线是连接计算机各部件之间的一组公共的信号线。

一般情况下,可分为系统总线和外总线。

系统总线应包括:地址总线(AB)控制总线(CB)数据总线(DB)地址总线(AB):CPU根据指令的功能需要访问某一存储器单元或外部设备时,其地址信息由地址总线输出,然后经地址译码单元处理。

地址总线为16位时,可寻址范围为216=64K,地址总线的位数决定了所寻址存储器容量或外设数量的范围。

在任一时刻,地址总线上的地址信息是惟一对应某一存储单元或外部设备。

控制总线(CB):由CPU产生的控制信号是通过控制总线向存储器或外部设备发出控制命令的,以使在传送信息时协调一致的工作。

CPU还可以接收由外部设备发来的中断请求信号和状态信号,所以控制总线可以是输入、输出或双向的。

数据总线(DB):CPU是通过数据总线与存储单元或外部设备交换数据信息的,故数据总线应为双向总线。

在CPU进行读操作时,存储单元或外设的数据信息通过数据总线传送给CPU;在CPU进行写操作时,CPU把数据通过数据总线传送给存储单元或外设2.什么是接口电路? CPU与接口电路连接一般应具有哪些信号线?外部设备与接口电路连接一般应具有哪些信号线?CPU通过接口电路与外部输入、输出设备交换信息,一般情况下,外部设备种类、数量较多,而且各种参量(如运行速度、数据格式及物理量)也不尽相同。

CPU为了实现选取目标外部设备并与其交换信息,必须借助接口电路。

一般情况下,接口电路通过地址总线、控制总线和数据总线与CPU连接;通过数据线(D)、控制线(C)和状态线(S)与外部设备连接。

3. 存储器的作用是什么?只读存储器和随机存储器有什么不同?存储器具有记忆功能,用来存放数据和程序。

计算机中的存储器主要有随机存储器(RAM)和只读存储器(ROM)两种。

随机存储器一般用来存放程序运行过程中的中间数据,计算机掉电时数据不再保存。

第5章 MCS-51的定时计数器

第5章 MCS-51的定时计数器
DELAY: DELAY: MOV MOV MOV MOV MOV SETB JBC SJMP DJNZ MOV DJNZ RET R5, R5,#28H R6, R6,#64H TMOD, TMOD,#20H TH1, TH1,#06H TL1, TL1,#06H TR1 TF1, TF1,LP2 LP1 R6, R6,LP1 R6, R6,#64H R5, R5,LP1 ;置25ms计数循环初值 25ms计数循环初值 250μs计数循环初值 ;置250μs计数循环初值 置定时器1为方式2 ;置定时器1为方式2 ;置定时器初值 ;启动定时器 ;查询计数溢出 ;无溢出继续计数 未到25ms 25ms继续循环 ;未到25ms继续循环 ;未到1s继续循环 未到1s继续循环 1s
电气与信息工程学院
2011/3/26
安徽理工大学
5.2 工作方式
(1) 方式0 方式0
位和TL 的低5位组成13 13位计数器 由THX的8位和TLX的低5位组成13位计数器 13位计数加 到全“1”,再加 就产生溢出, 位计数加1到全 就产生溢出, 位计数加 到全“ ,再加1就产生溢出 位为1,同时计数器全变为“ 置TCON的TFX位为 ,同时计数器全变为“0” 的
电气与信息工程学院
2011/3/26
安徽理工大学
(2) 方式1 方式1
唯一的差别是TH 组成一个16位计数器。 16位计数器 唯一的差别是THX和TLX组成一个16位计数器。
振荡器 ÷12
C /T=0 C /T=1 T0 TR0 GATE INT0 1 > 1 & 控制
TL0 TH0 (8位)(8位)
TF0
中断
定时/计数方式1 定时/计数方式1时的逻辑电路结构图 上例中

第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构成。 ★每个定时器都可由软件设置为定时工作方式或 计数工作方式。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

例:利用Timer1的门控定时,测量施加在引脚T1CK上的正脉冲宽度
说明:主振荡器8MHz,PLL4倍频, 预分频系数=8,TMT1的计时分辨 率为0.5us。在Timer1的中断服务 程序中将TMR1送脉冲宽度存储单 元PulseT,并清零TMR1,为下一 个脉冲的测量作准备。
单片机及其应用
Int PulseT; //存储所测脉冲宽度,单位0.5us Int main(void) { TMR1=0; PR1=0xffff; //清TIMER1,置其周期寄存器为65535 SRbits.IPL=3; //CPU priority level IFSObits.T1IF=0; IPCObits.T1IP=4; //setup Timer1 interrupt priority level->4 IECOBIT.T1IE=1; //enable Timer1 interrupts T1CON=0X8050;//start Timer1:TON=1,TCS=0,TGATE=1,internal //instruction cycle, prescaler setting at 1:8 while(1){ SimPulseT( ); } //产生模拟脉冲,用于测试程序 } Void __attribute__((__interrupts__,no_auto_psv))__T1Interrupt(void) { PulseT=TMR1; //将所测脉冲宽度送PulseT单元 TMR1=0; //清Timer1计数器,准备下次测量 IFSObits.T1IF=0 ;//reset Timer1 interrupt flag and return from ISR
单片机及其应用
5.1 概述
C类定时器 大多数PIC24F器件中,如存在TIMER3和TIMER5,则他们是C类定时器。与 其他类型的定时器相比,C类定时器有下列独特的功能:
C类定时器可以和B类定时器相连形成32位定时器,C类定时器为32位 定时器的高16位。 在某个给定的器件上,至少有1个C类定时器能够触发A/D转换。 C类定时器无异步模式,它的工作总是与指令时钟同步。
单片机及其应用
5.3 工作模式
5.3.1 定时器模式(16位,非门控)
所有类型的定时器都可以工作于定时器模式。通过清零TCS控制位 (TxCON<1>)选择定时器模式。这时,定时器的输入时钟由内部系统时钟 (Fosc/2 )提供。 使能该模式时,对于1:1的预分频器设置,定时器的计数值在每个指令周 期都会递增。同步模式控制位TSYNC(TxCON<2>)在该模式下不起作用, 因为使用了系统时钟源作为定时器时钟。 设指令周期为Tcy,预分频系数为N,周期寄存器PRx赋值为X,则定时时间 为: T=Tcy×N×(X+1)
工作模式由各定时器模块的控制寄存器TxCON中的相应位控制: TCS(TxCON<1>):定时器时钟源控制位; TSYNC (TxCON<2>):定时器同步控制位(仅A类定时器有); TGATE(TxCON<6>):定时器门控控制位; TON(TxCON<15>):使能或禁止每个定时器模块 。
单片机及其应用
5.1 概述
B类定时器 大多数PIC24F器件中,如存在TIMER2和TIMER4,则他们是B类定时器。与 其他类型的定时器相比,B类定时器有下列独特的功能:
B类定时器的TxCON寄存器有一个T32控制位,若将位T32置为“1”,则 B类定时器和C类定时器相连形成32位定时器,B类定时器为32位定时器的 低16位。Timer2+Timer3; Timer4+Timer5。 B类定时器无异步模式,它的工作总是与指令时钟同步,在预分频逻 辑后执行。
单片机及其应用
Int main(void) { TMR1=0; PR1=1999; IFSObits.T1IF=0; SRbits.IPL=3; //Setup CPU priority level->3 IPCObits.T1IP=4; //setup Timer1 interrupt priority level->4 IECOBIT.T1IE=1; //enable Timer1 interrupts TRISD=0XFFFE; //Set RD0 as OUT T1CON=0X8010;//start Timer1:TON=1,TCS=0,TGATE=0,internal //instruction cycle, prescaler setting at 1:8 while(1){ ; } //recycle } Void __attribute__((__interrupts__,no_auto_psv))__T1Interrupt(void) { if(TD0) TD0=0; else TD0=1; IFSObits.T1IF=0 ;//reset Timer1 interrupt flag and return from ISR }
单片机及其应用
定时器模块的寄存器均是16位可读、可写寄存器。 TMRx /计数工作寄存器,它是增量型计数器,计数脉冲来源取决于控 工作在定时器方式时(TCS=“0”),若将控制寄存器 控制寄存器 PRx是定时 是周期寄存器,当 TxCON 中的TON TMRx 位控制定时器的运行 寄存器中的计数值与 /停止。将 PRx寄存器中值相同时(即 TxCON TON 中门控位 位置“1TGATE ”,启 制寄存器 TxCON中的TCS 位。 置为“ 动定时器工作;若将 “周期匹配”),中断标志位 1”,则定时器工作需同时满足 TON 位清“0 TXiF ”,则定时器停止工作, 置“ TON位为“ 1”,若允许该定时器中断,则向 1”和引脚TxCK TMRx为“ 寄存器保持其 1” 若TCS=“0”,则计数脉冲来源于片内的系统时钟 ,即指令周期 Tcy, 若TCS=“1”,则该定时器模块作计数器使用,计数脉冲来源于引脚 TxCLK (高电平)两个条件,且当引脚 原来的计数值。分频系数由控制寄存器 CPU申请中断。*产生周期匹配时 TxCK TMRx 由高电平变低电平时,即下跳沿,置 寄存器不会清零,而是在产生周期匹 TxCON中的fosc/2 TCKPS<1:0> 位设置。 信号,这时作为定时器使用。 在其信号上沿使 TMRx 寄存器加 1申请中断。这种方式为门控定时器模式。 ; 中断标志位 配后的下一时钟脉冲 TxIF为“ 1”,向 TMRx寄存器才清零。当周期寄存器 CPU PRx的值为0时,定 时器不能工作,周期匹配也不会产生定时器中断。
单片机及其应用
5.2 控制寄存器——定时器控制寄存器TxCON(A类)
单片机及其应用
5.2 控制寄存器——定时器控制寄存器TxCON(B类)
单片机及其应用
5.2 控制寄存器——定时器控制寄存器TxCON(C类)
单片机及其应用
5.3 工作模式
每个定时器模块均可工作在以下几种模式之一: 定时器模式; 同步计数器模式; 门控定时器模式; 异步计数器模式(TIMER1定时器)。
单片机及其应用
例:使用系统时钟的16位定时器的初始化代码 ——Enable Timer1 interrupts, load the Timer period register and start Timer1. T1CON=0x00; //stops the Timer1 and reset control register TMR1=0X00; //clear contents of the timer register PR1=0xFFFF; //load the period register with the value 0xffff IPCObits.T1IP=0x01; //setup Timer1 interrupt for desired //priority level- assigns level 1 priority IFSObits.T1IF=0; //clear the Timer1 interrupt status flag IECObits.T1IE=1; // Enable Timer1 interrupts T1CONbits.TON=1; //Start Timer1 with prescaler settings at 1:1 and clock //source set to the internal instruction cycle Void _ _attribute__((__interrupt__, __shadow__))_T1Interrupt(void) { /* Interrupt service routine code goes here */ IFSObits.T1IF=0; //Reset Timer1 interrupt flag and return from ISR }
大多数PIC24F芯片为5个16位的定时器,只有少数几种14pin、20pin和 28pin封装的KA系列(如PIC24F04KA201)为3个16位的定时器。而PIC24H 系列中有十几种型号的芯片有9个16位的定时器。
单片机及其应用
5.ቤተ መጻሕፍቲ ባይዱ 概述
PIC24系列的每个定时器模块都有3个16位可读/写的寄存器:TMRx、PRx 和TxCON。其中: TMRx:16位定时器寄存器,即工作寄存器(为“加”计数器)。 PRx: 定时器的16位周期寄存器。 TxCON:定时器的16位控制寄存器。
单片机及其应用
例:设主振荡器8MHz, PLL4倍频,利用Timer1定时,使端口RD的RD0输出周期 为2ms的方波,即每1ms改变一次RD0的电平 由条件:指令时钟Fcy=Fosc/2=32MHz/2=16MHz, 定时时间T=1ms=1000μs.设 TCKPS<1:0>=01(预分频系数=8),周期寄存器PR1所赋值为X,则 1000 = 1/16 * 8 * (X+1) X= 1000*16/8 – 1=1999 #include “P24fj64ga006.h” _CONFIG1(JTAGEN_OFF & GCP_OFF & GWRP_OFF & BKBUG_ON & COE_OFF & ICS_PGx1 & FWDTEN_OFF & FWPSA_PR32 & WDTPS_PS256) _CONFIG2(IESO_OFF & FNOSC_PRIPLL & FCKSM_CSDCMD &OSCIOFNC_OFF & POSCMOD_XT)
相关文档
最新文档