最新51单片机中断系统及应用
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
恢复现场的指令有POP。
(4)中断返回 中断服务程序返回指令必须是RETI。CPU 执行RETI时自动从SP中取回断点地址,继续执行主程序。
上一页 下一页
【例4-2】某中断系统使用作外部中断控制端,低电平触 发方式,设中断服务子程序名为EXINT0 ,试写出其初始化 程序。
ORG 0000H LJMP MAIN ORG 0003H LJMP EXINT0 ORG 0100H MAIN: …… CLR IT0 SETB EX0 SETB EA …… EXINT0:…… RETI …… END
断前的状态继续执行。
保护现场的主要指令有PUSH。
图4-9 中断程序结构图
上一页 下一页
4.2.4 中断服务程序的结构
(2)中断服务程序主体 中断服务程序主体是中断系统中 独立的子程序,根据中断的要求来设计。
(3)恢复现场 为了使中断服务程序返回主程序能够继续 执行主程序,中断返回之前必须恢复堆栈的数据到原工作 寄存器中。注意堆栈操作必须遵循后进先出的原则。
51单片机中断系统及应 用
中断计数流水灯电路
【项目任务】 本项目采用外部中断方式实现 0~9 循环计数和流
水灯控制电路。在单片机 I/O 口连接一个按键,当开关 断开时,单片机电路进行循环计数;当开关按下时,计 数停止,单片机控制流水灯点亮。当流水灯点亮两轮后, 计数按照中断时的计数值继续计数。
通过本项目设计制作,熟悉单片机中断的基本概念, 掌握MCS-51单片机中断系统的硬件结构、外部中断 的基本原理和应用。
3. 3 级中断控制开关设置
3.第三级开关——中断优先级开关设置 中断优先级控制寄存器IP的字节地址是B8H,可以
字节寻址,也可以位寻址。各位定义如下: PS :串行口中断优先级控制位 PT1:定时器T1中断优先级控制位 PX1:外部中断1中断优先级控制位 PT0:定时器T0中断优先级控制位 PX0:外部中断0中断优先级控制位
上一页 下一页
2. 4个中断有关的控制寄存器
(1)中断控制寄存器TCON 中断控制寄存器TCON有两个作用,即除了控制
定时/计数器T0和T1的溢出中断外,还控制外部中断 的触发方式和锁存外部中断请求标志位。TCON字节 地址为88H,可位寻址,位地址范围为88H~8FH。
地址位 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H 位定义 TF1 TR1 TF0 TR1 IE1 IT1 IE0 IT0
当开关断开时,单片机运行循环计数主程序;当开
关闭合时,单片机运行流水灯中断程序,执行完中断程
序后返回继续执行计数显示主程序。
4.2.5 中断计数流水灯硬件电路设计
图4-10 中断计数流水灯电路 上一页 下一页
图4—6 中断控制寄存器TCON各位定义
上一页 下一页
2. 4个中断有关的控制寄存器
(2) 串行口控制寄存器SCON
串行口控制寄存器用于外部IO口扩展和单片机与计 算机、单片机、外部设备之间通信,与外部中断控制无 关,将在串行口应用中介绍。
(3) 中断允许控制寄存器IE
MCS-51对中断源的开放或屏蔽是由中断允许寄存 器IE控制的。IE的字节地址为A8H,可以按位寻址。
;主程序 ;设置为电平触发方式 ;允许中断 ;开中断
;中断服务子程序 ;中断返回
4.2.5 中断计数流水灯硬件电路设计
中断方式计数流水灯电路如图4-10所示,单片机P2 口接一共阳极数码管显示器,实现0~9的循环计数显示。 P0口接8个LED作流水灯,图中电阻均为限流电阻。中断 由P3.2口(INT0)上连接一个开关SW1,作外部中断控 制信号。发光二极管D9是指示开关状态而设立的。
平维持时间过长时,一个中断申请会引发多个中断,因此 必须采用措施撤消中断申请。
2. 第二级开关——中断允许和开放中断开关 五个中断源各有一个开关进行控制,通过软件对IE的
某位置1操作,实现相应中断允许开关闭合,于是某个中断 申请被允许。注意,无论哪个或哪几个中断被允许,能否 实现中断还必须开放总中断,即用软件设置EA=1。
1. 5个中断源
4.T1:定时器T1溢出中断请求。当T1工作在计数状态 时,计数脉冲从P3.5脚输入。当定时器T1产生溢出时, 定时器T1中断请求标志位(TCON.7)置位(由硬件自 动执行),请求中断处理。 5.RX/TX:串行中断请求。当接收或发送完一串行帧 时,内部串行口中断请求标志位RI(SCON.0)或TI (SCON.1)置位(由硬件自动执行),请求中断。串行 口应用时,一般是RX、TX同时使用,相互配合完成串 行数据传输工作。
同一优先级中按照自然优先级的次序响应中断。在同 一优先级同时发生几个的中断请求时,响应哪个中断取决 于内部查询次序。
表4-4 同级内中断查询次序 同级查询次序
先
后
上一页
下一页
3. 3 级中断控制开关设置
1. 第一级开关——中断触发方式开关 IT0/IT1=1时, 外部中断信号取下降沿触发方式。 IT0/IT1=0时, 外部中断信号取电平触发方式,低电
图4—8 中断优先寄存器IP各位定义
4.2.4 中断服务程序的结构
2. 中断服务子程序的结构
(1) 保护现场 主程序使用一些 常用特殊功能寄存器和工作存储器, 例如ACC、DPTR、Rn等。一般在中 断服务程序中可能也要应用这些常用 的特殊功能寄存器、工作寄存器,执 行中断程序之前,必须将这些单元的 内容保存起来,这样在执行完中断服 务程序返回主程序是能够恢复这些单 元的内容,使主程序能够继续按照中
地址位 AFH AEH ADH ACH ABH AAH A9H A8H
Baidu Nhomakorabea
位定义 EA
ES ET1 EX1 ET0 IT0
上一页 下一页
2. 4个中断有关的控制寄存器
(4)中断优先级控制寄存器IP
IP规定了两个中断级别,称为低级优先级和高级优先 级。每一个中断源均可由程序设置为高级优先级中断或低 级优先级中断,从而实现中断嵌套。
(4)中断返回 中断服务程序返回指令必须是RETI。CPU 执行RETI时自动从SP中取回断点地址,继续执行主程序。
上一页 下一页
【例4-2】某中断系统使用作外部中断控制端,低电平触 发方式,设中断服务子程序名为EXINT0 ,试写出其初始化 程序。
ORG 0000H LJMP MAIN ORG 0003H LJMP EXINT0 ORG 0100H MAIN: …… CLR IT0 SETB EX0 SETB EA …… EXINT0:…… RETI …… END
断前的状态继续执行。
保护现场的主要指令有PUSH。
图4-9 中断程序结构图
上一页 下一页
4.2.4 中断服务程序的结构
(2)中断服务程序主体 中断服务程序主体是中断系统中 独立的子程序,根据中断的要求来设计。
(3)恢复现场 为了使中断服务程序返回主程序能够继续 执行主程序,中断返回之前必须恢复堆栈的数据到原工作 寄存器中。注意堆栈操作必须遵循后进先出的原则。
51单片机中断系统及应 用
中断计数流水灯电路
【项目任务】 本项目采用外部中断方式实现 0~9 循环计数和流
水灯控制电路。在单片机 I/O 口连接一个按键,当开关 断开时,单片机电路进行循环计数;当开关按下时,计 数停止,单片机控制流水灯点亮。当流水灯点亮两轮后, 计数按照中断时的计数值继续计数。
通过本项目设计制作,熟悉单片机中断的基本概念, 掌握MCS-51单片机中断系统的硬件结构、外部中断 的基本原理和应用。
3. 3 级中断控制开关设置
3.第三级开关——中断优先级开关设置 中断优先级控制寄存器IP的字节地址是B8H,可以
字节寻址,也可以位寻址。各位定义如下: PS :串行口中断优先级控制位 PT1:定时器T1中断优先级控制位 PX1:外部中断1中断优先级控制位 PT0:定时器T0中断优先级控制位 PX0:外部中断0中断优先级控制位
上一页 下一页
2. 4个中断有关的控制寄存器
(1)中断控制寄存器TCON 中断控制寄存器TCON有两个作用,即除了控制
定时/计数器T0和T1的溢出中断外,还控制外部中断 的触发方式和锁存外部中断请求标志位。TCON字节 地址为88H,可位寻址,位地址范围为88H~8FH。
地址位 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H 位定义 TF1 TR1 TF0 TR1 IE1 IT1 IE0 IT0
当开关断开时,单片机运行循环计数主程序;当开
关闭合时,单片机运行流水灯中断程序,执行完中断程
序后返回继续执行计数显示主程序。
4.2.5 中断计数流水灯硬件电路设计
图4-10 中断计数流水灯电路 上一页 下一页
图4—6 中断控制寄存器TCON各位定义
上一页 下一页
2. 4个中断有关的控制寄存器
(2) 串行口控制寄存器SCON
串行口控制寄存器用于外部IO口扩展和单片机与计 算机、单片机、外部设备之间通信,与外部中断控制无 关,将在串行口应用中介绍。
(3) 中断允许控制寄存器IE
MCS-51对中断源的开放或屏蔽是由中断允许寄存 器IE控制的。IE的字节地址为A8H,可以按位寻址。
;主程序 ;设置为电平触发方式 ;允许中断 ;开中断
;中断服务子程序 ;中断返回
4.2.5 中断计数流水灯硬件电路设计
中断方式计数流水灯电路如图4-10所示,单片机P2 口接一共阳极数码管显示器,实现0~9的循环计数显示。 P0口接8个LED作流水灯,图中电阻均为限流电阻。中断 由P3.2口(INT0)上连接一个开关SW1,作外部中断控 制信号。发光二极管D9是指示开关状态而设立的。
平维持时间过长时,一个中断申请会引发多个中断,因此 必须采用措施撤消中断申请。
2. 第二级开关——中断允许和开放中断开关 五个中断源各有一个开关进行控制,通过软件对IE的
某位置1操作,实现相应中断允许开关闭合,于是某个中断 申请被允许。注意,无论哪个或哪几个中断被允许,能否 实现中断还必须开放总中断,即用软件设置EA=1。
1. 5个中断源
4.T1:定时器T1溢出中断请求。当T1工作在计数状态 时,计数脉冲从P3.5脚输入。当定时器T1产生溢出时, 定时器T1中断请求标志位(TCON.7)置位(由硬件自 动执行),请求中断处理。 5.RX/TX:串行中断请求。当接收或发送完一串行帧 时,内部串行口中断请求标志位RI(SCON.0)或TI (SCON.1)置位(由硬件自动执行),请求中断。串行 口应用时,一般是RX、TX同时使用,相互配合完成串 行数据传输工作。
同一优先级中按照自然优先级的次序响应中断。在同 一优先级同时发生几个的中断请求时,响应哪个中断取决 于内部查询次序。
表4-4 同级内中断查询次序 同级查询次序
先
后
上一页
下一页
3. 3 级中断控制开关设置
1. 第一级开关——中断触发方式开关 IT0/IT1=1时, 外部中断信号取下降沿触发方式。 IT0/IT1=0时, 外部中断信号取电平触发方式,低电
图4—8 中断优先寄存器IP各位定义
4.2.4 中断服务程序的结构
2. 中断服务子程序的结构
(1) 保护现场 主程序使用一些 常用特殊功能寄存器和工作存储器, 例如ACC、DPTR、Rn等。一般在中 断服务程序中可能也要应用这些常用 的特殊功能寄存器、工作寄存器,执 行中断程序之前,必须将这些单元的 内容保存起来,这样在执行完中断服 务程序返回主程序是能够恢复这些单 元的内容,使主程序能够继续按照中
地址位 AFH AEH ADH ACH ABH AAH A9H A8H
Baidu Nhomakorabea
位定义 EA
ES ET1 EX1 ET0 IT0
上一页 下一页
2. 4个中断有关的控制寄存器
(4)中断优先级控制寄存器IP
IP规定了两个中断级别,称为低级优先级和高级优先 级。每一个中断源均可由程序设置为高级优先级中断或低 级优先级中断,从而实现中断嵌套。