当前位置:文档之家› 第5章80C51的中断系统及定时计数器

第5章80C51的中断系统及定时计数器


C/T:模式选择位。 清0为定时模式,置1为计数方式。 M1M0:工作方式设置位。可设置四种工作方式(见下页)。
2019/1/8
19
M1M0 工作方式 00 方式0
说 13位定时/计数器

01
10 11
方式1
方式2 方式3
16位定时/计数器
8位自动重装定时/计数器 T0分成两个独立的8位定时/计数器; T1此方式停止计数
PT1:T1中断优先级 PS :串口中断优先级
同一优先级的自然顺序: 自高至低:INT0、TO、INT1、T1、串口。
9
2019/1/8
中断优先级遵循的原则 几个中断同时申请,先响应高级的中断 正进行的中断服务,同级或低级中断不能对其 中断,但可以被高级中断所中断。 为此,中断系统内设有对应高、低2个优先级状 态触发器(用户不能寻址)。 状态触发器的复位由中断返回指令RETI控制。
2019/1/8
21
5.3.3
定时/计数器的工作方式
T0有方式0、1、2、3;T1有方式0、1、2。以T0为例说明。
方式0:13位方式
TCON TF1 申请 中断 TR1 TF0 TR0 D7 溢出 TH0 8位 TL0 5位 &
≥1
TMOD T0引脚 1 1 0 0 0 M0 M1 C/T 机器周期 GATE M0 1 D0 INT0引脚 M1 C/T GATE D7 D0
18
2019/1/8
5.3.2 定时/计数器的控制
工作方式寄存器TMOD
7 TMOD 6 5 M1 4 M0 3 2 1 M1 0 M0 字节地址:89H GATE C/T GATE C/T
GATE :门控位。 GATE = 0 时,只要 TRx 为 1 ,就可启动计 数器工作; GATA = 1 时,定时器的启动还要加上 INTx 引脚 为高电平这一条件。
} void Ex1Isr() interrupt 2 { if(Flag1==0)Flag1=1; Flag0 = 0; }
16
2019/1/8
5.3 80C51单片机的定时/计数器
基本型:T0,定时、计数。 T1,定时、计数、串口波特率发生器。
增强型:增加了 T2。见5.3.4节。 5.3.1 定时/计数器的结构和工作原理
≥1
TMOD T0引脚 0 1 M0 M1 C/T 0 机器周期 GATE M0 1 INT0引脚 M1 C/T GATE D7 D0
X=28-N=256-N
计数范围:1~256
EX0:外中断0允许 ET0:T0中断允许 EX1:外口中断允许 EA :CPU中断允许
2019/1/8
8
中断优先级控制
中断优先级由IP控制(1,高级;0,低级)
7 IP 6 5 4 PS 3 2 1 0 PT1 PX1 PT0 PX0 字节地址:B8H
PX0:外中断0优先级 PT0:T0中断优先级 PX1:外中断1优先级
定时器模式时,对内部机器周期计数。 定时时间=计数值*机器周期 计数器模式时,是对外部脉冲计数。脉冲由T0 ( P3.4 ) 或T1(P3.5)引脚输入。 注意:(若计数值为N,计数初值为X) •溢出信号使TF0或TF1置1,并发出中断请求,16位时有: X=65536-N •12MHz晶振时,计数频率低于0.5MHz
第5章 80C51的中断系统及定时/计数器
5.1
80C51单片机的中断系统
5.2
80C51单片机的中断处理过程
5.3
80C51单片机的定时/计数器 80C52的定时/计数器2
5.4
2019/1/8
1
5.1 80C51单片机的中断系统
5.1.1 80C51中断系统的结构
中断的概念
CPU进行工作A时发生了事件B,请求CPU马上处理 CPU暂时中断当前工作A,转去处理事件B 事件B处理完后,回到工作A被中断的地方继续处理A工作
2019/1/8
4
触发方式设置及中断标志
7 6 5 4 3 2 1 0
TCON
TF1 TR1 TF0 TR0 IE1
IT1
IE0
IT0
字节地址:88H
外部中断标志IE1、IE0(用IEx表示) 电平方式(ITx=0),INTx引脚低电平时IEx=1,响应中 断后IEx不自动清0(INTx引脚状态)。 边沿方式(ITx=1),INTx引脚负跳变时IEx=1,响应中 断后IEx自动清0。
结构
T1引脚 T0引脚
机器周 期脉冲
TH1
TL1
TH0
TL0
内部总线
GATE TF1 TR1 TF0 TR0 C/T C/T M1 M0 M1 M0
TCON
TMOD
TH1、TL1 TH0、TL0 TCON TMOD
GATE
外部中断相关位
T1方式
17
T0方式
2019/1/8
工作原理
---实质是16位加1计数器
2019/1/8
5
两种触发方式比较:
电平方式时, INTx低电平必须保持到响应时,否则就会 漏掉;在中断服务结束前,INTx低电平必须撤除,否则中断 返回之后将再次产生中断。 例,8255的中断请求线在接受读或写操作后即被复位,因 此以其去请求电平触发方式的中断比较方便。 边沿方式时,采样到有效下降沿后,在IEx中将锁存一个1。 若CPU暂时不能响应,申请标志也不会丢失,直到响应时才 清0。 例,ADC0809的转换结束信号EOC为正脉冲,经反相后就可 以作为80C51的INTx信号 。
IE
EA 1
IP
PX0 1 0 PT0 1
硬件查询
高 优 先 级
INT0 T0 INT1 T1 RX TX
中断申请
中断入口
中断入口
SCON
2019/1/8 3
5.1.2 80C51的中断源 中断源 外部中断0(INT0) 外部中断1(INT1) T0溢出中断(TF0) T1溢出中断(TF1) 串行口中断(RI或TI)
主程序A 断点 中断服务程序B
响应
返回
RETI 中断服务程序B
中断的优点 中断源 : CPU 中断请求 利用率高 控制实时性强 中断服务 系统可靠性好 中断返回 中断系统
2019/1/8
2
……
80C51中断系统的结构
5个中断源、2个优先级
TCON
IT0 1 0 IE0 1 ET0 1 TF0 IT1 1 0 IE1 1 ET1 1 TF1 0 RI TI ES 1 ≥1 PS 1 0 0 PT1 1 低 优 先 级 中断源 中断申请 0 EX1 1 PX1 1 中断源 EX0 1
2019/1/8 24
方式1:16位方式
TCON TF1 申请 中断 TR1 TF0 TR0 D7 溢出 1 TH0 8位 TL0 8位 &
≥1
TMOD T0引脚 1 0 M0 M1 C/T 0 机器周期 GATE M0 1 D0 INT0引脚 M1 C/T GATE D7 D0
X=216-N=65536-N
2019/1/8 11
中断响应时间
M1 M2 M3 M4 M5 S1 S2 S3 S4 S5 S6 S1 S2 S3 S4 S5 S6 S1 S2 S3 S4 S5 S6 S1 S2 S3 S4 S5 S6 S1 S2 S3 S4 S5 S6
中断 ε 标志 锁存 有效
排序选择
保护断点,长调用至入口
2019/1/8 6
溢出中断标志TF1、TF0(用TFx表示) 溢出中断请求标志TFx ,Tx启动后就开始由初值进行加 1计数,直至最高位产生溢出使TFx=1向CPU请求中断。CPU 响应中断后TFx自动清0。
SCON的中断标志
7 SCON 6 5 4 3 2 1 TI 0 RI 字节地址:98H
也可以利用以下2条语句完成: TH0 = (65536-500)/256 ; 商为计数初值的高字节 TL0 = (65536-500)%256 ; 余数为计数初值的低字节
2019/1/8
26
方式2:8位自动重装方式
TCON TF1 申请 中断 TR1 TF0 TR0 TH0 8位 D0 D7 溢出 1 TL0 &
计数范围:1~65536
计数初值要分成2个字节分别送入TH0、TL0
2019/1/8 25
【例5-4】若要求定时器T0工作于方式1,定时时间为1ms, 当晶振为6 MHz时,求送入TH0和TL0的计数初值各为多少? 应怎样送入TH0和TL0?
由于晶振为6 MHz,所以机器周期Tcy为2µ S,因此: N=t/Tcy=1×10-3/2×10-6=500 X=216-N=65536-500=65036=FE0CH 分别将FEH送入TH0中,0CH送入TL0中即可。
2019/1/8 23
门控位作用
当GATE=0时 仅由TR0控制与门的开启。与门输出1时,控制开关 接通,计数开始; 当GATE=1时 与门的开启由INT0和TR0共同控制。这种方式可以用 来测量INT0引脚上正脉冲的宽度。 注意:方式0的计数初值高8位和低5位确定麻烦 ,实际 应用中常由16位的方式1取代。
2019/1/8
10
5.2 80C51单片机中断处理过程
5.2.1 中断响应条件和时间
中断响应条件
有中断请求
相应的中断允许位为1
CPU开中断(即EA=1) 遇下面情况之一将不被响应(此间中断条件失效,中断丢失) 正在处理同级或高级中断
当前选择周期不是所执行指令的最后一个机器周期
正在执行RETI或访问IE或IP 的指令
编写中断服务程序注意
中断服务程序入口存放指令LJMP或AJMP 现场保护与现场恢复
相关主题