第6章 定时计数器

合集下载

单片机原理及应用 第06章定时计数器

单片机原理及应用  第06章定时计数器

20
6.5 定时器/计数器的编程
初始化
1 根据要求给方式寄存器TMOD送一个方式控制 字,以设定定时器的工作方式; 2 根据需要给TH和TL选送初值,以确定需要的 定时时间或计数的初值; 3 根据需要给中断允许寄存器IE送中断控制字, 以开放相应的中断和设定中断优先级;
也可用查询方式来响应定时器。
JBC TF1,RP1 SJMP DEL2
30
6.6.4 长定时时间的产生
例 假设系统时钟为6MHz,编写定时器T0产生 1秒定时的程序。 (1)T0工作方式的确定 定时时间较长,采用哪一种工作方式? 由各种工作方式的特性,可计算出: 方式0最长可定时16.384ms;
方式1最长可定时131.072ms; 方式2最长可定时512μs。 选方式1,每隔100ms中断一次,中断10次为1s。
8
6.3 定时/计数器的4种工作方式 方式0、方式1(13位、16位定时计数方式)
T1工作于方式0的等效框图(M1M0=00、01)
GATE=0、A=1、TR1=1 GATE=1、INT1=1、TR1=1。注意定时器初值与定时时间的不同
9
6.3.1 方式0、方式1的说明 定时/计数器T1工作在方式0时,为13位的计数器,由TL1 的低5位和TH1的8位所构成。TL1低5位溢出向TH1进 位,TH1计数溢出置位TCON中的溢出标志位TF1。 GATE位的状态决定定时/计数器运行控制取决于TR1 一个条件还是TR1和INT1引脚这两个条件。 当GATE=0时,A点电位恒为1,则只要TR1被置为1,B 点电位即为1,定时/计数器被控制为允许计数(定时/计 数器的计数控制仅由TR1的状态确定,TR1=1计数, TR1=0停止计数)。 当GATE=1时,B点电位由INT1输入的电平和TR1的状 态确定,当TR1=1,且INT1=1时,B点电平才为1,才 允许定时器/计数器计数(计数控制由TR1和INT1二个条 件控制)。 方式1时,TL1的8位都参与计数,因而属于16位 定时/计数器。其控制方式,等效电路与方式0完全相 10 同。

单片机第六章定时器

单片机第六章定时器
计数溢出时,TFx置位。如果中断允许,CPU响应中 断并转入中断服务程序,由内部硬件清TFx。TFx也可以 由程序查询和清零。
这种方式下,计数寄存器由13位组成,即THx高八位(作计数器)
和TLx的低5位构成。TLx的高3位未用。
计数时,TLx的低5位溢出后向THx进位,THx溢出后 将TFx置位,并向CPU申请中断。
用软件控制,置 l时,启动 T1;清0时,停止 T1。
TF0(TCON.5)——T0的溢出标志。
TR0(TCON.4)——T0的运行控制位。
用软件控制,置1时,启动T0;清 0时,停止 T0。
• IE1(TCON.3)——外部中断1中断请求标志位。
• IE0(TCON.1)——外部中断0中断请求标志位。
器之外,还可用作串行接口的波特率发生器。
6.2
定时器/计数器T0、T1
T0、T1 的内部结构简图示于图6-1中。从图中 可以看出,T0、T1由以下几部分组成:
• 计数器TH0、TL0和TH1、TL1;


特殊功能寄存器TMOD、TCON;
时钟分频器;

输入引脚T0、T1。
6.2.1 与定时器/计数器T0、T1有关的 特殊功能寄存器
⑵定时器/计数器T1
T0方式3时,T1可以工作在方式0、1、2三种方式 T1的结构如图6–6所示。 由于T0占用了原来T1的启动位TR1和溢出标志TF1, 所以此时T1溢出时不能置位溢出标志,不能申请中断, 其溢出信号送给串行口,此时T1作为波特率发生器。
T1的启停由写入方式字控制,当写入方式0/1/2 时,T1立即启动,写入方式3 时,立即停止工作。
分析:设置T0工作在方式2,计数功能,每记满100个外 部脉冲,从P1.0输出一个低电平脉冲信号(简化的打包 操作)。

第06章 MCS-51单片机定时计数器

第06章 MCS-51单片机定时计数器

10
2 8位计数初值自动重装,TL(7 ~ 0)
TH(7 ~ 0)
11
3 T0运行,而T1停止工作,8位定时/计数。
▪ 2.定时/计数器控制寄存器(TCON)

D7 D6 D5 D4 D3 D2 D1 D0
位符号 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
TR0:定时 / 计数器0运行控制位。软件置位,软件复位。与GATE有关, 分两种情况:
GATE = 0 时:若TR0 = 1,开启T0计数工作;若TR0 = 0,停止T0计 数。
GATE = 1 时:若TR0 = 1 且/INT0 = 1时,开启T0计数; 若TR0 = 1 但 /INT0 = 0,则不能开启T0计数。 若TR0 = 0, 停止T0计数。
TR1:定时 / 计数器1运行控制位。用法与TR0类似。
▪ (1)计算计数初值。欲产生周期为1000μs的等宽方波脉冲, 只需在P1.7端交替输出500μs的高低电平即可,因此定时 时间应为500μs。设计数初值为X,则有:
▪ (216-X)×1×10-6=500×10-6
▪ X=65536-500=65036=FE0CH
▪ 将X的低8位0CH写入TL1,将X的高8位FEH写入TH1。
;清TCON,定时器中断标志清

MOV TMOD,#10H
;工作方式1设定

MOV TH1,#0FEH
;计数1初值设定

MOV TL1,#0CH

MOV IE,#00H
;关中断

SETB TR1
;启动计数器1
▪ LOOP0:JBC TF1,LOOP1 ;查询是否溢出

第6章MCS-51的定时器

第6章MCS-51的定时器

• 28×12×1/12MHz=28us=256us=0.256ms
工作方式2_补充说明
8位计数器 TL0作计数器,TH0作预置寄存器使用,计数溢出时 ,TH0中的计数初值自动装入TL0,即TL0是一个自动 恢复初值的8位计数器。 在使用时,要把计数初值同时装入TL0和TH0中。 优点是提高定时精度,减少了程序的复杂程度。
工作方式1_应用分析
定时和计数的应用 计数范围:1~216 计数计算公式:计数值=216-计数初值 机器周期(MC):=12/Fosc=12/时钟频率 定时范围:1机器周期~216机器周期 定时计算公式:定时时间=(216-定时初值)×
机器周期 如果晶振频率为6MHz ,则最大定时时间为: 216×12×1/6MHz=217us=131072us=131.072ms 如果晶振频率为12MHz ,则最大定时时间为: 216×12×1/12MHz=216us=65536us=65.536ms 工作方式1的定时计数功能切换模式,与工作方式
0完全一样;而启动定时计数器的模式,也与工作方式 0完全一样。计数量方式1更大,可完全取代方式0。
6.2.3 方式2
方式2为自动重装初值的8位计数方式。
TCON
TF1 D7
申请 中断
TR1
溢出8位计数器
1
TF0
TL0
TR0
0 &
TH1重TH装0 单元 ≥1 8位
D0
T0引脚
机器周期 1
INT0引脚
6.1.1 工作方式控制寄存器TMOD TMOD(工作方式寄存器):选择定时器/计数器T0、T1的工作 模式和工作方式,字节地址为89H,不能位寻址。
8位分为两组,高4位控制T1,低4位控制T0。 (1)GATE——门控位

单片机原理及其接口技术--第6章 MCS-51单片机定时器计数器

单片机原理及其接口技术--第6章 MCS-51单片机定时器计数器

单片机原理及其接口技术
T/C方式2的逻辑结构图
1
TH1/TH0
T8
T7
T6
T5
T4
T3
T2
T1
寄存器 计数器

TL1/TL0
T8
T7
T6
T5
T4
T3
T2
T1
主目录
上一页
下一页

单片机原理及其接口技术
4、方式3 M1M0=11 T0和T1有不同的工作方式
C/T0:
TH0和TL0被拆成2个独立的8位计数器。
28),向CPU申请中断,标志位TF1自动置位,若中
断是开放的,则CPU响应定时器中断。当CPU响应
中断转向中断服务程序时,由硬件自动将该位清0。
&
加1计数器 & 1
主目录
上一页
下一页


EA
ET1
单片机原理及其接口技术
2个模拟的位开关,前者决定了T/C的工作状态:当1单片机有2个特殊功能寄存器TCON和TMOD: TCON:用于控制定时器的启动与停止,中断标志。 TMOD:用于设置T/C的工作方式。
主目录
上一页
下一页


单片机原理及其接口技术
1.定时器控制寄存器TCON
88H TCON
位地址
D7
D6
D5
D4
D3
D2
D1
D0
TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 8F 8E 8D 8C 8B 8A 89 88
过实时计算求得对应的转速。
主目录 上一页 下一页 结 束
单片机原理及其接口技术 对于定时/计数器来说,不管是独立的定时器芯片还是单

接口技术06定时器计数器8253-5

接口技术06定时器计数器8253-5

0
0
0
1
1
0
传送方式
写入计数器0的初始值 写入计数器1的初始值 写入计数器2的初始值 写入控制寄存器控制字
读自计数器0的OL 读自计数器1的OL 读自计数器2的OL
五、8253 的控制字格式:
D7
D6
D5
D4
D3
D2
D1 D0
SC1 SC0 RW1 RW0 M2
M1
M0 BCD
计数器选 择
工作方式
计数初值开始工作,见图6.5所示③。21组1
CLK
WR ① GATE
OUT
n=4
43
0 21

GATE OUT
0
4
4321
WR ③
n=3
GATE
OUT2 工作在1方式,进行8位二进制计数, 并设计 数 初值的低8位为BYTEL。
其初始化程序段为
MOV DX,307H
计数器:
在时钟信号作用下,进行减“1”计数,计数次数到 (减“1”计数回零),从输出端输出一个脉冲信号。
计数举例: •①对零件和产品的计数; •②对大桥和高速公路上车流量的统计,等等。
Intel8253在微机系统中可用作定时器和计数 器。定时时间与计数次数是由用户事 先设定。
2、 8253 定时与计数器与CPU的关系 8253 定时与计数操作过程与CPU相互独立,
计数器 2
GATE2 OUT2
定时器/计数器的内部结构:
①数据总线缓冲器。它是一个三态、双向 8位寄存器,用于将8253与系统数据总线 D0~D7 相连。 ②读/写逻辑。 ③控制命令寄存器。它接受CPU送来的控 制字。 ④计数器。8253有3个独立的计数器(计 数通道),其内部结构完全相同,

第6章 定时计数器件组件及其应用(三版)习题及答案

第6章 定时计数器件组件及其应用(三版)习题及答案
嵌入式系统原理及应用第三版87本章习题选择题1关于定时计数器通常使用的公式61以下说法错误的是b计数值n与定时长度t成正比n越大t越长时的值即此时定时时间就是一个fpclk周期个计数周期时在定时器输出端通常有溢出标志或产生中断信号2以下关于定时计数器的功能说法错误的是a捕获的条件有上升沿触发下降沿触发以及上下边沿触发3关于stm32f10x系列微控制器的定时计数器以下说法错误的是d高级定时器只包括tim1和tim8通用定时器包括tim2tim3tim4和tim5均具有pwm功能所有定时器都是通过apb2总线连接的4关于stm32f10x系列微控制器定时计数器相关寄存器以下说法错误的是a定时器控制寄存器timxcr1可以决定计数器是否允许更新是否使能不能决定向上向下计数普通定时器中断使能寄存器timxdier用于是否允许更新和dma中断定时器状态寄存器timxsr记录哪个中断源有中断定时器重装载寄存器timxarr和预分频器timxpsc决定定时器的定时周期或时间5关于stm32f10x系列微控制器看门狗以下说法错误的是diwdg为独立看门狗wwdg为窗口看门狗iwdg的时钟输入源固定40khzwwdg输入频率可编程无论iwdg还是wwdg均要定期喂狗操作才能让系统正常有序工作iwdg和wwdg的喂狗方式一样都是写入0xaaaa到键寄存器中6关于stm32f10x列微控制器实时钟rtc以下说法错误的是artc的直接提供了年月日和时分秒这些数据rtc组件是接到apb1总线上的rtc的时钟可以是外部32768khz也可以选择内部40khz以及代功耗rclsi时钟rtc闹钟寄存器的值与计数寄存器的值相等时将产生闹钟中断7关于stm32f10x系列微控制器定时器每个定时器有4个pwm输出通道以下说法错误的是a每个pwm输出通道周期不可以单独编程设置每个pwm输出通道的占空比可以单独编程设置每个pwm输出通道可以编程输出正脉冲或负脉冲每个pwm输出通道占空比取决于比较寄存器ccr和自动重装载寄存器arr8关于stm32f10x系列通用定时器用作pwm功能以下说法错误agpio任何一个引脚均可以配置为pwm输出pwm输出具有边沿对齐和中心对齐方式pwm输出周期由自动重装载寄存器timxarr决定rpwm输出占空比取决于捕获比较寄存器timxcrri9为操作系统或其它系统管理软件提供固定10ms或可软件编程定时时间的定时中断该定

第6章-MCS-51定时计数器

第6章-MCS-51定时计数器
TMOD用于设置其工作方式、选择定时或计数功能; TCON用于控制其启动、中断申请以及作为运行状态的 标志等。
1.定时/计数器工作方式寄存器TMOD TMOD为T0、T1的工作方式寄存器,主要用于控制定
时/计数器T0和T1的工作模式和4种工作方式。低4位用于 控制T0,高4位用于控制T1。
门控 位
在单片机应用中,定时和计数的需求比较多,为了使用 方便并增加单片机的功能,就把定时电路集成到芯片中,称 之为定时/计数器。目前,几乎所有的单片机都集成了可编 程定时/计数器,为单片机提供定时和计数功能。
6.1.1 定时/计数器的结构 MCS-51 单片机内部有两个16位的可编程定时/计数器,称为
定时器0(T0)和定时器1(T1),都具有定时和计数的功能,可 编程选择其作为定时器或作为计数器用。 TMOD:选择定时器/计数器T0、T1的工作模式和工作方式。 TCON:控制T0、T1的启动和停止计数,同时包含了T0、T1的状态。
Hale Waihona Puke ⑵ 工作方式1: T0初值 =216-500s/2s=65536–250=65286=FF06H TH0=FFH;TL0=06H。
⑶ 工作方式2: T0初值 =28-500s/2s=256-250=6 TH0=06H;TL0=06H。
⑷ 工作方式3: T0方式3时,被拆成两个8位定时器,定时初值可分别计
定时器:对片内机器时钟(周期方波)进行计数 计数器:对Tx引脚输入的负脉冲进行计数
6.1.2 定时/计数器的工作原理
单片机内部有两个定时/计数器T0和T1,其核心是计数器, 基本功能是加1。
对外部事件脉冲(下降沿)计数,是计数器;对片内机周 脉冲计数,是定时器。
计数器由二个8位计数器组成。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
18
① 计算定时初值 T0初值 =216-50000s/1s =65536–50000=15536=3CB0H TH0=3CH;TL0=B0H。 ② 设置TMOD: 0000 0 0 01 B = 01H T0方式1
T0用作定时器
与 INT0 无关 T1控制位
19
③ 编制程序如下: ORG 0000H ;复位地址 LJMP MAIN ;转主程序 ORG 000BH ;T0中断入口地址 LJMP LP ;转T0中断服务程序 ORG 0100H ;主程序首地址 MAIN:MOV TMOD,#01H ;置T0定时器方式1 MOV TH0,#3CH ;置T0初值50mS MOV TL0,#0B0H ; MOV IE,#10000010B;T0开中 MOV R7,#0AH ;置50mS计数器初值 SETB TR0 ;T0运行 SJMP $ ;等待中断 LP: ............ RETI
8
三. 定时/计数器工作方式
1. 工作方式0 2. 工作方式1 3. 工作方式2 4. 工作方式3
9
⒉ 工作方式1
16位计数器,最大计数值为216 = 65536。
图 方式 1(16位计数器)
10
⒊ 工作方式2
初始常数自动重装载
• 8位计数器,仅用TL0计数,最大计数值为256,计 满溢出后,一方面进位TF0,使溢出标志TF0 = 1; 另一方面,使原来装在TH0中的初值装入TL0。
22
23
24
25
26
27
28
29
30
31
【例】设MCS-51单片机系统的晶振频率为12M,编
程测试外部脉冲输入引脚INT0(P3.2)上输人的正脉冲
宽度(设正脉冲宽度小于65ms),并将测量数值以us
为单位存放于R1 ,R2中。
当GATE=1 时, T0的工作不仅由TR0控制,还受引 脚INT0电平控制,只有当TR0为 l ,且INT0输入高电平时, 定时器T0才会启动。利用这个功能,可以测试外部脉冲输 入引脚INT0上输入的正脉冲宽度。
低4位控制T0 计数/定时 方式选择 C / T 工作方 式选择 M1 M0
⑵ C/T
—— 计数/定时方式选择位
C/T=1,计数工作方式,对外部事件脉冲计数,用作计数器。 C/T=0,定时工作方式,对片内机周脉冲计数,用作定时器。
⑶ GATE —— 门控位
GATE=0,运行只受TCON中运行控制位TR0/TR1的控制。 GATE=1,运行同时受TR0/TR1和外中断输入信号的双重控制。 只有当INT0/INT1=1且TR0/TR1=1,T0/T1才能运行。 TMOD字节地址89H,不能位操作,设置TMOD须用字节操作指令。
32
33
34


p112
一、 二、 三、10
35
【课后练习题】 参照以上例题工作方式 2 ,按下列要求分别 修改程序: ① 脉冲方波从P3.0输出; ② fosc=6MHz; ③ 脉冲方波脉宽为100s; ④ 用定时/计数器T0;
36
本章结束
37
12
【例1】 已知晶振6MHz,要求定时0.5mS,试分别 求出T0工作于方式0、方式1、方式2、方式3时的 定时初值。
⑵ 工作方式1: T0初值 =216-500s/2s=65536–250=65286=FF06H TH0=FFH;TL0=06H。
⑶ 工作方式2: T0初值 =28-500s/2s=256-250=6 TH0=06H;TL0=06H。
11
四. 定时/计数器的应用
⒈ 计算定时/计数初值
80C51定时/计数初值计算公式:
其中: N与工作方式有关: 方式0时,N=13; 方式1时,N=16; 方式2、3时,N=8。 机周时间与主振频率有关:机周时间=12/fosc fosc=12MHZ时,1机周=1S; fosc=6MHZ 时,1机周=2S。
3
二. 定时/计数器寄存器
⒈ 定时/计数器控制寄存器TCON
⒉ 定时/计数器工作方式寄存器TMOD
4
⒈ 定时/计数器控制寄存器TCON TCON 88H
位名称 位地址 T1 中断 标志 TF1
8FH
T1 运行 标志 TR1
8EH
T0 中断 标志 TF0
8DH
T0 INT1 INT1 INT0 INT0 运行 中断 触发 中断 触发 标志 标志 方式 标志 方式 TR0 IE1 IT1 IE0 IT0
14
③ 编制程序如下:
ORG LJMP ORG LJMP ORG MAIN: MOV MOV MOV MOV MOV SETB SJMP ORG LP: CPL RETI 0000H ;复位地址 MAIN ;转主程序 001BH ;T1中断入口地址 LP ;转T1中断服务程序 0100H ;主程序首地址 TMOD,#20H ;置T1定时器方式2 TL1,#38H ;置定时初值 TH1,#38H ;置定时初值备份 IP,#00001000B;置T1高优先级 IE,#0FFH ;全部开中 TR1 ;T1运行 $ ;等待T1中断 0200H ;T1中断服务程序首地址 P1.0 ;输出波形取反首地址 ;中断返回
15
16
17
【例3】已知晶振12MHZ,参阅图5-15,要求利用定时 器T0使图中发光二极管D进行秒闪烁。 解:发光二极管进行秒 闪烁。即一秒钟一亮一 暗,亮500ms,暗500 ms。晶振12MHz,每机 周1s,T0方式1最大定 时只能65ms余。 取T0定时50ms,计 数10次,即可实现 500ms定时。
13
【例2】试用T1 方式2 编制程序,在 P1.0 引脚输出周 期为400S的脉冲方波,已知fosc=12MHZ。
解:① 计算定时初值 T1初值=28-200s/1s=256–200=56=38H TH1=38H;TL1=38H
② 设置TMOD:
0 0 10 0000 B=20H
T0控制位,与T1无关 T1方式2 T1定时器 T1启动与 INT1 无关
第6章 定时/计数器
80C51定时/计数器概述
定时/计数器控制寄存器 定时/计数器工作方式
定时/计数器的应用
2
一. 定时/计数器概述
80C51单片机内部有两个16位定时/计数器T0和T1, 其核心是计数器,基本功能是加1。 对外部事件脉冲(下降沿)计数,是计数器; 对片内机器周期脉冲计数,是定时器。 定时/计数器作为计数器时,外部事件脉冲必须从规 定的引脚输入(T0/P3.4 T1/P3.5)。且外部脉冲的最 高频率不能超过时钟频率的1/24。
Байду номын сангаас20
【例】有一生产流水线,流水线上通过的工件 经光电转换电路产生计数脉冲,脉冲整形后 送入T0端,要求每生产100个工件,向P1.0 发出一包装命令正脉冲,包装成一箱,请编 写控制程序。
21
(1)选择定时器及其工作方式。
选择定时器T0工作于方式2计数
(2)计算初值。
计数初值 =最大计数值一计数值=256-100=9CH TH0=TL0=9CH
⑴ M1M0 —— 工作方式选择位
M1M0 00 01 10 11 工作方式 方式0 方式1 方式2 方式3 功能 13位计数器 16位计数器 两个8位计数器,初值自动装入 两个8位计数器,仅适用T0
7
高4位控制T1 门 控 位 G 计数/定时 方式选择 C / T 工作方式 门控 选择 位 M1 M0 G
8CH 8BH 8AH 89H 88H
⑶ TR1:定时/计数器T1运行控制位。TR1=1,T1运行;TR1=0,T1停。
⑷ TR0:定时/计数器T0运行控制位。TR0=1,T0运行;TR0=0,T0停。
5
6
⒉ 定时/计数器工作方式寄存器TMOD
高4位控制T1 门 控 位 G 计数/定时 方式选择 C/T 工作方式 选择 M1 M0 门 控 位 G 低4位控制T0 计数/定时 方式选择 C/T 工作方 式选择 M1 M0
相关文档
最新文档