单片机第六章 定时器计数器与串行通信口讲解

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
M:模值,和定时器的工作方式有关; TP:单片机的机器周期(振荡周期TCLK的12倍); TC:定时器的定时初值。
例:方式1,定时时间为5ms,主频为6MHz,求计数 初值?
3.初始化设置顺序
• 工作方式控制字TMOD的设置; • 计数初值的装入; • 开中断; • 启/停位的设置等。
6.1.5 定时器/计数器的编程和应用
各引脚与T0的逻辑关系如图所示:
当T1用作串行口的波特率发生器时,T0才工作 在方式3。T0处于方式3时, T1可定为方式0、方式 1和方式2,用来作为串行口的波特率发生器(通常 设置成方式2 ),或不需要中断的场合。
6.1.4 定时/计数器常数的计算
1.计数器初值的计算 • 把计数器计满为零所需要的计数值设定为C,计
X化为16进制,即X=FE0CH=1111111000001100B。 所以,T0的初值为:
TH0=0FEH TL0=0CH
(2)初始化程序设计
(3)程序设计
中断服务程序除了完成要求的产生方波这一工作 之外,还要注意将计数初值重新装入定时器中,为 下一次产生中断作准备。
参考程序:
ORG 0000H
RESET: AJMP MAIN
;转主程序
ORG 000BH
;T0的中断入口
AJMP IT0P
;转T0中断处理程序IT0P
ORG 0100H
MAIN: MOV SP,#60H
;设堆栈指针
MOV TMOD,#01H ;设置T0为方式1
ACALL PT0M0 HERE: AJMP HERE PT0M0: MOV TL0,#0CH
振荡器 1/12 C/T=0
TX TRX
GATE 1
INTX
C/T=1
& ≥1
TLX
TFX
THX
去串口
初值同时送THX、TLX,启动后可无限次运行,常用 于串行口波特率的产生。
4. 方式3—2个8位方式
只适用于定时器/计数器T0 。此时T1可用来作 串行口波特率产生器。
T0分为两个独立的8位计数器:TL0和TH0 。TL0 使用T0的状态控制位C/T*、GATE、TR0、,而TH0 被固定为一个8位定时器(不能作外部计数模式), 并使用定时器T1的状态控制位TR1和TF1。
数初值设定为TC,由此可得到公式: TC=M-C
• 式中,M为计数器模值,该值和计数器工作方式
有关。在方式0时M为213;在方式1时M为216;在 方式2和方式3时M为28。
• 把计数值换算成二进制装入THX、TLX中。
2.定时器初值的计算 在定时器模式下,计数器由单片机主脉冲经12 分频后计数。因此,定时器定时时间T的公式: T=(M-TC)TP 上式也可写成:TC=M-T/TP
由于方式0是为兼容MCS-48而设,其计数初值 计算复杂,在实际应用中,一般不用方式0,而采 用方式1。
一、方式1应用
例:假设系统时钟频率采用6MHz,要在P1.0上输出一 个周期为2ms的方波,如图所示。
(1)计算初值
设:需要装入T0的初值为X,则有: (216-X)×2×10-6=1×10-3 216-X=500 X=65036
第六章 定时器/计数器与串行通信口
定时器/计数器学习目标 定时器/计数器的结构及原理 定时器/计数器的各种工作方式 掌握定时器/计数器的应用
6.1.1 定时/计数器的基本原理
定时/计数器的核心部件是二进制加1计数器 (TH0、TL0或TH1、TL1) 。
1. 定时功能----计数输入信号是内部时钟脉 冲,每个机器周期使寄存器的值加1。所以, 计数频率是振荡频率的1/12。
;P1.0的状态取反
例:假设系统时钟为6MHz,编写定时器T0产生1秒定 时的程序。
(1)定时器T0工作方式的确定 因定时时间较长,采用哪一种工作方式?由定时器各
与INT 0 无关 与INT 0 有关
GATE——门控位
0:以运行控制位TRX(X=0,1)来启动定时器/计 数器运行。
1:TRX=1且中断引脚(INT0或INT1)上为高电平时, 启动定时器/计数器运行。
6.1.3 定时器/计数器的工作方式(4种)
Байду номын сангаас
1. 方式0—13位方式
定时
振荡器
1/12
中断请求标志 启动定时/计数器 触发方式选择
0 停止 1 启动
0 低电平 1 下降沿
TCON可位寻址,字节地址是88H,复位时所有位 清零。低4位与外部中断有关,已介绍。高4位的功 能如下:
(1) TF1、TF0——计数溢出标志位,计数溢出时由 硬件自动置1,向CPU请求中断,当CPU响应时,由 硬件清0。 (2) TR1、TR0——计数运行控制位
器 C/T=0
TX TRX GATE
INTX
计数脉冲输入
1
≥1
C/T=1
TLX THX TFX
低5位 8位
&
13位计数器
计数

2. 方式1—16位方式
振荡器
TX TRX GATE 1 INTX
1/12 C/T=0
C/T=1 &
≥1
TLX THX TFX 8位 8位
16位计数器
3. 方式2—8位自动装入时间常数方式
2. 计数功能----计数脉冲来自相应的外部输入 引脚,T0为P3.4,T1为P3.5。当输入脉冲信号 从1到0的负跳变时,计数器就自动加1。计数的 最高频率为振荡频率的1/24。
6.1.2 定时器/计数器的控制寄存器
1.启/停与中断控制寄存器TCON (88H)
D7 D6 D5 D4 D3 D2 D1 D0 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
MOV TH0,#0FEH SETB TR0 SETB ET0 SETB EA RET ITOP: MOV TL0,#0CH 值 MOV TH0,#0FEH CPL P1.0 RETI
;调用子程序PT0M0 ;自身跳转 ;T0初始化程序,T0置初值
;启动T0 ;允许T0中断 ;CPU开中断
;T0中断服务子程序,T0重置初
1:启动定时器/计数器工作 0:停止定时器/计数器工作
2.工作方式控制寄存器TMOD (89H)
控 制 T1
控 制 T0
89H GATE C/T M 1 M 0 GATE C/T M 1 M 0
和T0 类同
M1 M0 00 01 10 11
0 1
0 1
方式 方式0 方式1 方式2 方式3
定时器模式 计数器模式
相关文档
最新文档