第6章 定时计数器

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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 ;输出波形取反首地址 ;中断返回
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。
32
33
34


p112
一、 二、 三、10
35
【课后练习题】 参照以上例题工作方式 2 ,按下列要求分别 修改程序: ① 脉冲方波从P3.0输出; ② fosc=6MHz; ③ 脉冲方波脉宽为100s; ④ 用定时/计数器T0;
36
本章结束
37
20
【例】有一生产流水线,流水线上通过的工件 经光电转换电路产生计数脉冲,脉冲整形后 送入T0端,要求每生产100个工件,向P1.0 发出一包装命令正脉冲,包装成一箱,请编 写控制程序。
21
(1)选择定时器及其工作方式。
选择定时器T0工作于方式2计数
(2)计算初值。
计数初值 =最大计数值一计数值=256-100=9CH TH0=TL0=9CH
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
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 无关
⑴ M1M0 —— 工作方式选择位
M1M0 00 01 10 11 工作方式 方式0 方式1 方式2 方式3 功能 13位计数器 16位计数器 两个8位计数器,初值自动装入 两个8位计数器,仅适用T0
7
高4位控制T1 门 控 位 G 计数/定时 方式选择 C / T 工作方式 门控 选择 位 M1 M0 G
低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须用字节操作指令。
第6章 定时/计数器
80C51定时/计数器概述
定时/计数器控制寄存器 定时/计数器工作方式
定时/计数器的应用
2
一. 定时/计数器概述
80C51单片机内部有两个16位定时/计数器T0和T1, 其核心是计数器,基本功能是加1。 对外部事件脉冲(下降沿)计数,是计数器; 对片内机器周期脉冲计数,是定时器。 定时/计数器作为计数器时,外部事件脉冲必须从规 定的引脚输入(T0/P3.4 T1/P3.5)。且外部脉冲的最 高频率不能超过时钟频率的1/24。
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。
15
16
17
【例3】已知晶振12MHZ,参阅图5-15,要求利用定时 器T0使图中发光二极管D进行秒闪烁。 解:发光二极管进行秒 闪烁。即一秒钟一亮一 暗,亮500ms,暗500 ms。晶振12MHz,每机 周1s,T0方式1最大定 时只能65ms余。 取T0定时50ms,计 数10次,即可实现 500ms定时。
11
四. 定时/计数器的应用
⒈ 计算定时/计数初值
80C51定时/计数初值计算公式:
其中: N与工作方式有关: 方式0时,N=13; 方式1时,N=16; 方式2、3时,N=8。 机周时间与主振频率有关:机周时间=12/fosc fosc=12MHZ时,1机周=1S; fosc=6MHZ 时,1机周=2S。
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上输入的正脉冲宽度。
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
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
相关文档
最新文档