第3章-MCS-51中断系统与内部定时计数器.知识讲解
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中断向量
中断程序的入口地址称为中断向量,8051单片机一
旦响应中断就会根据不同的中断源转入相应的固定
入口地址(中断向量)执行中断服务程序。
不同中断源对应的中断服务程序入口地址如下:
中断源
入口地址
INT0
0003H
T0
000BH
INT1
0013H
T1
001BH
RI/TI
0023H
中断请求的撤除
中断响应后,TCON和SCON的中断请求标志位应及时撤除, 否则系统在下一个机器周期查询到中断标志位仍然有效后,便 会重复响应。中断源不同,中断请求撤除的方式也不同: (1)定时中断请求的撤销。系统自动将TF0/TF1标志位清零 ,不需要用户参与。 (2)串行中断请求的撤销。需要软件清零。 (3)外部中断请求的撤销。 ①负边沿触发:系统自动将外部中断标志位IE0/IE1清零。 ②低电平触发:系统响应中断后自动将中断标志位清零,但是 如果连接外部中断引脚(INT0/INT1)的低电平不撤除,在以 后的周期采样时,系统便会重复响应。
INT0、C/T0、INT1、C/T1、串行口中断
响应过程
8051单片机接收到中断申请后,把申请锁定在各自的中断标志 位中,在下一个机器周期按内部优先顺序查询中断标志,并在 下一个机器周期完成检测和优先级排队,以决定响应哪个中断 源,响应中断过程包括三部分工作: 响应过程——单片机响应中断后,自动执行下列操作: ① 保存断点地址,将PC中的内容压入堆栈。 ② 关闭中断,将中断允许寄存器IE有效位复位为0。 ③ 根据中断源入口地址,转入执行相应中断服务程序。
中断服务函数
Keil C51编译器支持在C语言源程序中直接编写 8051单片机的中断服务函数程序,一般形式为:
函数类型 函数名(形式参数表) [interrupt n] 关键字intrrupt后面的n是中断号, n的取值范围为
0~31。编译器从8n+3处产生中断向量, 具体的中断号n 和中断向量取决于8051系列单片机芯片型号。
每一中断源可编程为高优先级或低优先级中断,以实现二级嵌套。默 认的优先次序为:INT0、C/T0、INT1、C/T1、串行口中断(依次从高 到低)
中断响应
中断响应:当有某个中断源请求中断,同时特殊功能
寄存器IE中相应控制位置“1”状态,则CPU可以响应 中断;若有多个中断源,则CPU响应中断级别最高若中 断源;若优先级相同,则8051单片机按如下优先级顺 序进行响应。
第3章-MCS-51中断系统与内部 定时计数器.
主程序
执行主 程序 中断请求
断点
继续执行 主程序
中断响应
执行 中断 处理 程序
中断返回
中断系统结构
MCS-51单片机有5个中断源,分别是两个外部中断源 INT0和INT1,两个定时/计数器中断T0和T1和一个串行口 中断。
具有二个中断优先级:高优先级和低优先级,可实现二 级中断服务程序的嵌套。允许或禁止向CPU请求中断。
源自文库
注意:响应中断后,CPU并不清零中断标志位,必须软件清零。
(3)中断允许控制寄存器IE
D7 D6 D5 D4 D3 D2 D1 D0 0 禁止
EA
ES ET1 EX1 ET0 EX0 1允许
实现两级控制 注意:复位时,禁止所有中断
(4)中断优先级控制寄存器(IP)
D7 D6 D5 D4 D3 D2 D1 D0 0 低级别 PS PT1 PX1 PT0 PX0 1 高级别
ET1
PT1
TI TI RI RI
ES
≥1
PS
EA
中断源 SCON
高级 内 部 入口 查 地址 询
低级 内 部 查 询 入口
地址
中断源
8051单片机共有5个中断源,分 别是2个外部中断、 2个定时中 断和1个串行中断。 外部中断是: 外部中断0--INT0,由P3.2提供, 外部中断1—INT1,由P3.3提供,
一、定时器/计数器的功能
定时/计数器的核心部件是16位二进制加1计数器 (TH0、TL0或TH1、TL1) 。具有两个功能:
1. 定时功能----计数输入信号是内部时钟脉 冲fosc/12,每个机器周期使计数器的值加1。
2. 计数功能----计数脉冲来自相应的外部输入引 脚,T0为P3.4,T1为P3.5。输入脉冲负跳变时, 计数器值加1。计数的最高频率一般不超过fosc的 1/24(大于两个机器周期),高低电平至少保持 一个机器周期
(1)定时控制寄存器TCON
D7 D6 D5 D4 D3 D2 D1 D0
TF1
TF0
IE1 IT1 IE0 IT0
中断请求标志
外部中断触发方式选择:
0 1
低电平 下降沿
注意:电平触发时,在中断返回前应撤除中断源。
(2)串行口控制寄存器SCON
D7 D6 D5 D4 D3 D2 D1 D0 串行中断 TI RI 请求标志
C语言中断程序举例
定时器/计数器的工作方式与控制
定时/计数器结构
8051单片机有2个16位的定时/计数器:定 时器0(T0)和定时器1(T1)。它们都有定时 器或事件计数的功能,可用于定时控制、延时、 对外部事件计数和检测等场合。
T0由2个特殊功能寄存器TH0和TL0构成,T1 则由TH1和TL1构成。见P8
有关的特殊功能寄存器(SFR)有: 中断允许寄存器IE 中断优先级控制寄存器IP 中断源寄存器(TCON、SCON中的有关位) 注:均可位寻址。
TCON
中断请 求标志
INT0 IE0
中断系统结构图
IE
中断允 许控制
IP
中断优 先级
EX0
PX0
T0 TF0
ET0
PT0
INT1 IE1
EX1
PX1
T1 TF1
外部中断有两种触发方式,即低电平方式和负边沿 方式。 定时器和串行口中断分别是: T0溢出中断; 由片内定时/计数器0提供 T1溢出中断; 由片内定时/计数器1提供 串行口中断RI/TI; 由片内串行口提供
与中断有关的特殊功能寄存器
与中断有关的特殊功能寄存器有四个:
TCON----定时控制寄存器, IE----中断允许控制寄存器, IP----中断优先级控制寄存器, SCON----及串行口控制寄存器。
常用中断号与中断向量
中断号 n 0 1 2 3 4
中断源 外部中断 0
定时器 0 外部中断 1
定时器 1 串行口
中断向量 8n+3 0003H 000BH 0013H 001BH 0023H
中断系统的初始化
1.开相应中断源的中断。(设置IE) 2.设定中断优先级。(设置IP) 3.若为外部中断,设定外部中断的触发方式。(设置 TCON的IT0、IT1)