最新单片机课件专题六输入输出和中断ppt课件

上传人:汽*** 文档编号:570770039 上传时间:2024-08-06 格式:PPT 页数:79 大小:2.64MB
返回 下载 相关 举报
最新单片机课件专题六输入输出和中断ppt课件_第1页
第1页 / 共79页
最新单片机课件专题六输入输出和中断ppt课件_第2页
第2页 / 共79页
最新单片机课件专题六输入输出和中断ppt课件_第3页
第3页 / 共79页
最新单片机课件专题六输入输出和中断ppt课件_第4页
第4页 / 共79页
最新单片机课件专题六输入输出和中断ppt课件_第5页
第5页 / 共79页
点击查看更多>>
资源描述

《最新单片机课件专题六输入输出和中断ppt课件》由会员分享,可在线阅读,更多相关《最新单片机课件专题六输入输出和中断ppt课件(79页珍藏版)》请在金锄头文库上搜索。

1、单片机课件专题六输入输出单片机课件专题六输入输出和中断和中断1 输入输入/输出的基本概念输出的基本概念2 输入输入/输出数据的传送方式输出数据的传送方式 3 中断技术中断技术4 MCS-51的中断系统的中断系统5 学会学会MCS-51中断程序设计及应用中断程序设计及应用6 学会与中断有关的硬件连线学会与中断有关的硬件连线本章重点及要求本章重点及要求5 51 11 1 输入输入/ /输出设备输出设备 输入设备:输入设备:输入设备:输入设备: 定义:定义:定义:定义:往主机传送信息的设备往主机传送信息的设备往主机传送信息的设备往主机传送信息的设备 常用的输入设备:常用的输入设备:常用的输入设备:常

2、用的输入设备:键盘、鼠标、扫描仪、读卡机等键盘、鼠标、扫描仪、读卡机等键盘、鼠标、扫描仪、读卡机等键盘、鼠标、扫描仪、读卡机等 输出设备输出设备输出设备输出设备 定义:定义:定义:定义:接收主机信息并送出信息呈现给人们的设备接收主机信息并送出信息呈现给人们的设备接收主机信息并送出信息呈现给人们的设备接收主机信息并送出信息呈现给人们的设备 常用的输出设备:常用的输出设备:常用的输出设备:常用的输出设备:显示器、打印机、绘图仪等显示器、打印机、绘图仪等显示器、打印机、绘图仪等显示器、打印机、绘图仪等外设与外设与CPUCPU是通过接口连接是通过接口连接CPUCPU接接接接 口口口口接接接接 口口口口

3、外设外设外设外设1 1 1 1外设外设外设外设2 2 2 2地址总线地址总线地址总线地址总线 ABAB数据总线数据总线数据总线数据总线 DBDB控制总线控制总线控制总线控制总线 CBCB5 51 12 2 输入输入/ /输出传送的信息输出传送的信息 数据信息数据信息 数字量数字量数字量数字量 模拟量模拟量模拟量模拟量 开关量开关量开关量开关量 状态信息状态信息表征外设状态表征外设状态表征外设状态表征外设状态 控制信息控制信息控制外设启停控制外设启停控制外设启停控制外设启停 在输入时,输入装置的信息是否准在输入时,输入装置的信息是否准在输入时,输入装置的信息是否准在输入时,输入装置的信息是否准备

4、好(备好(备好(备好(ReadyReady);););); 在输出时在输出时在输出时在输出时 ,输出装置是否有空,输出装置是否有空,输出装置是否有空,输出装置是否有空(EmptyEmpty),若输出装置正在输出信息,),若输出装置正在输出信息,),若输出装置正在输出信息,),若输出装置正在输出信息,则以则以则以则以BusyBusy指示。指示。指示。指示。 二进制形式表示的数或以二进制形式表示的数或以二进制形式表示的数或以二进制形式表示的数或以ASCASCASCASC码表示码表示码表示码表示的数或字符的数或字符的数或字符的数或字符 。 模拟量必须先经过模拟量必须先经过模拟量必须先经过模拟量必须先

5、经过A/DA/DA/DA/D转换才能输入计转换才能输入计转换才能输入计转换才能输入计算机,计算机的控制输出也必须先经过算机,计算机的控制输出也必须先经过算机,计算机的控制输出也必须先经过算机,计算机的控制输出也必须先经过D/AD/AD/AD/A转换才能控制执行机构。转换才能控制执行机构。转换才能控制执行机构。转换才能控制执行机构。 只要用一位二进制数即可表示的量,如只要用一位二进制数即可表示的量,如只要用一位二进制数即可表示的量,如只要用一位二进制数即可表示的量,如电机的运转与停止,开关的合与断,阀门的电机的运转与停止,开关的合与断,阀门的电机的运转与停止,开关的合与断,阀门的电机的运转与停止

6、,开关的合与断,阀门的打开和关闭等。打开和关闭等。打开和关闭等。打开和关闭等。5 51 13 3 输入输入/ /输出接口的作用及其输出接口的作用及其类型类型接口电路的作用接口电路的作用 锁存作用锁存作用锁存作用锁存作用防止由于防止由于防止由于防止由于CPUCPU速度快,外设慢而产生的丢数现象速度快,外设慢而产生的丢数现象速度快,外设慢而产生的丢数现象速度快,外设慢而产生的丢数现象 隔离作用隔离作用隔离作用隔离作用防止防止防止防止DBDB上的信息重叠上的信息重叠上的信息重叠上的信息重叠 变换作用变换作用变换作用变换作用在在在在CPUCPU与外设之间进行信息类型、电平、传送接收方与外设之间进行信息

7、类型、电平、传送接收方与外设之间进行信息类型、电平、传送接收方与外设之间进行信息类型、电平、传送接收方式变换式变换式变换式变换 联络作用联络作用联络作用联络作用在在在在CPUCPU与外设之间进行联络,与外设之间进行联络,与外设之间进行联络,与外设之间进行联络,Ready, BusyReady, Busy输出接口电路输出接口电路锁存作用锁存作用输出接口中必须含锁存器输出接口中必须含锁存器接口电路接口电路接口电路接口电路( (锁存器锁存器锁存器锁存器) ).锁存信号锁存信号锁存信号锁存信号 写选通写选通写选通写选通输出数据输出数据输出数据输出数据DBDB来自来自来自来自CPUCPU速度匹配速度匹配

8、输入接口电路输入接口电路隔离作用隔离作用输入接口中必须含三态门输入接口中必须含三态门接口电路接口电路接口电路接口电路( (三态门三态门三态门三态门) ).读选通信号读选通信号读选通信号读选通信号输入允许输入允许输入允许输入允许输入数据输入数据输入数据输入数据接口电路接口电路接口电路接口电路( (三态门三态门三态门三态门) ).输入数据输入数据输入数据输入数据DBDB防止信息重叠防止信息重叠1 1、 I/OI/O接口的种类很多,有两种基本类型接口的种类很多,有两种基本类型接口的种类很多,有两种基本类型接口的种类很多,有两种基本类型 串行串行串行串行I/OI/O接口接口接口接口 并行并行并行并行I

9、/OI/O接口接口接口接口2 2、不可编程接口、不可编程接口、不可编程接口、不可编程接口 例:例:例:例:74LS27374LS273、74LS37374LS373、74LS138 74LS138 、74LS24474LS2443 3、可编程接口、可编程接口、可编程接口、可编程接口 例:例:例:例:81558155、82558255、82508250、82538253I/O接口的类型接口的类型514 I/O端口的编址方式端口的编址方式 统一编址统一编址统一编址统一编址 I/OI/O端口与内存储器采用一套地址,完全象存储器端口与内存储器采用一套地址,完全象存储器端口与内存储器采用一套地址,完全象

10、存储器端口与内存储器采用一套地址,完全象存储器单元一样处理,使用访问存储器的指令。单元一样处理,使用访问存储器的指令。单元一样处理,使用访问存储器的指令。单元一样处理,使用访问存储器的指令。 如:如:如:如:movx movx 类指令类指令类指令类指令 独立编址独立编址独立编址独立编址 采用一套与存储器不同的地址,利用采用一套与存储器不同的地址,利用采用一套与存储器不同的地址,利用采用一套与存储器不同的地址,利用/MREQ/MREQ(存(存(存(存储器请求)和储器请求)和储器请求)和储器请求)和/IORQ/IORQ(输入输出请求),(输入输出请求),(输入输出请求),(输入输出请求), CPU

11、 CPU 有专有专有专有专门的门的门的门的I/OI/O指令指令指令指令 如:如:如:如:ININ, OUT OUT MCS51MCS51系列采用统一编址系列采用统一编址系列采用统一编址系列采用统一编址 片内片内片内片内RAM RAM 与与与与P0P3P0P3均用均用均用均用MOVMOV指令指令指令指令 片外片外片外片外RAMRAM与外扩口与外扩口与外扩口与外扩口I/OI/O口均用口均用口均用口均用MOVXMOVX指令指令指令指令 接口与端口接口与端口接口:接口:接口:接口:由一个或多个端口组成。由一个或多个端口组成。由一个或多个端口组成。由一个或多个端口组成。端口:端口:端口:端口:可被独立选

12、通的可被独立选通的可被独立选通的可被独立选通的I/OI/O接口电路,简称口。接口电路,简称口。接口电路,简称口。接口电路,简称口。端口地址:端口地址:端口地址:端口地址:端口在系统中被分配的惟一地址,简称口地址。端口在系统中被分配的惟一地址,简称口地址。端口在系统中被分配的惟一地址,简称口地址。端口在系统中被分配的惟一地址,简称口地址。端口可分为:端口可分为:端口可分为:端口可分为: 输入端口输入端口输入端口输入端口CPUCPU从中读取外设的状态或数据信息从中读取外设的状态或数据信息从中读取外设的状态或数据信息从中读取外设的状态或数据信息 输出端口输出端口输出端口输出端口CPUCPU通过它输出

13、控制信号或数据信息通过它输出控制信号或数据信息通过它输出控制信号或数据信息通过它输出控制信号或数据信息 状态端口状态端口状态端口状态端口CPUCPU从中读取外设的状态信息从中读取外设的状态信息从中读取外设的状态信息从中读取外设的状态信息 控制端口控制端口控制端口控制端口由由由由CPUCPU控制输出控制信号控制输出控制信号控制输出控制信号控制输出控制信号 数据端口数据端口数据端口数据端口 可以是输入数据端口或输出数据端口可以是输入数据端口或输出数据端口可以是输入数据端口或输出数据端口可以是输入数据端口或输出数据端口 I/OI/O信息都是通过信息都是通过信息都是通过信息都是通过数据总线数据总线数据

14、总线数据总线传递的。传递的。传递的。传递的。 5 52 21 1 无条件传送方式(又称同步传送)无条件传送方式(又称同步传送) 应用于定时为已知应用于定时为已知应用于定时为已知应用于定时为已知的且的且的且的且 固定不变的低固定不变的低固定不变的低固定不变的低速速速速I/OI/O 无需等待的高速无需等待的高速无需等待的高速无需等待的高速I/OI/O movxA,DPTRmovxA,DPTR movxDPTR,AmovxDPTR,ADB三态门三态门三态门三态门锁存器锁存器锁存器锁存器地址译码器地址译码器地址译码器地址译码器地址译码器地址译码器地址译码器地址译码器来自外设来自外设来自外设来自外设至外

15、设至外设至外设至外设ABRDRDWRWR无条件输入输出举例无条件输入输出举例无条件输入输出举例无条件输入输出举例MCS-51单片机内部的单片机内部的I/O口口6.1.2 P1口口 功能:功能: P1口作通用口作通用I/O口口 P1口口也也是是一一个个“准准双双向向”口口,作作输输入入口口时时要要先先将将输输出驱动管截止。出驱动管截止。 即先执行一条指令即先执行一条指令 MOV P1,#0FFH内部结构:内部结构:如图所示如图所示1 1、无条件传送方式、无条件传送方式2 2、查询方式、查询方式3 3、中断方式、中断方式利用利用P1口实现三种口实现三种I/O 传送方式传送方式 1 1、无条件传送方

16、式、无条件传送方式 1 1)无条件输出)无条件输出ORGORG 8000H8000HLJMPLJMP MainMainORGORG 80F0H80F0HMain:Main: MOVMOV R7,#0R7,#0Loop:MOVLoop:MOV R6,#0R6,#0DJNZDJNZ R6,$R6,$DJNZDJNZ R6,$R6,$DJNZDJNZ R6,$R6,$DJNZDJNZ R6,$R6,$DJNZDJNZ R7,LoopR7,LoopCPLCPLP1.0P1.0CPLCPLP1.1P1.1CPLCPLP1.2P1.2CPLCPLP1.3P1.3CPLCPLP1.4P1.4CPLCPLP1

17、.5P1.5CPLCPLP1.6P1.6CPLCPLP1.7P1.7SJMPSJMP MainMainENDEND8 8个发个发个发个发光二极光二极光二极光二极管闪亮管闪亮管闪亮管闪亮“ “0”0”亮亮亮亮“ “1”1”灭灭灭灭思考题思考题若使若使8个个LED循环循环点亮如何修改程序点亮如何修改程序?1 1、无条件传送方式、无条件传送方式 2 2)无条件输入)无条件输入/ /输出输出ORG8000HORG8000HAJMPMAINAJMPMAINORG8100HORG8100HMAIN:MOVA,#0FFHMAIN:MOVA,#0FFHMOVP1,AMOVP1,AMOVA,P1MOVA,P1S

18、WAPASWAPAMOVP1,AMOVP1,AHEREHERE:SJMPHERESJMPHEREENDEND5 52 22 2 查询式传送方式查询式传送方式 (又称条件传送(又称条件传送异步传送)异步传送) CPUCPU查询外设状态信息查询外设状态信息查询外设状态信息查询外设状态信息(Ready,Busy)(Ready,Busy),条件,条件,条件,条件 满足时,进行数据传送满足时,进行数据传送满足时,进行数据传送满足时,进行数据传送 程序简单程序简单程序简单程序简单 高速高速高速高速CPUCPU查询低速外设查询低速外设查询低速外设查询低速外设 浪费浪费浪费浪费CPUCPU时间,效率低时间,效

19、率低时间,效率低时间,效率低 输入接口原理图输入接口原理图输入接口原理图输入接口原理图 输出接口原理图输出接口原理图输出接口原理图输出接口原理图 程序流程图程序流程图程序流程图程序流程图查询方式举例查询方式举例查询方式举例查询方式举例输入接口原理图输入接口原理图地址译码器地址译码器地址译码器地址译码器QQR RD D三态三态三态三态缓冲器缓冲器缓冲器缓冲器锁存器锁存器锁存器锁存器输入设备输入设备输入设备输入设备5V5V选通信号选通信号选通信号选通信号RDRD口地址口地址口地址口地址PORTDPORTD译码译码译码译码PORTSPORTS译码译码译码译码D6D6ReadyReady状态信号状态信

20、号状态信号状态信号DB外设准备好,置入状态信号外设准备好,置入状态信号外设准备好,置入状态信号外设准备好,置入状态信号 Q=1Q=1Q=1Q=1CPUCPUCPUCPU读数据口时清掉状态信号读数据口时清掉状态信号读数据口时清掉状态信号读数据口时清掉状态信号输出接口原理图输出接口原理图外设收到外设收到外设收到外设收到CPUCPUCPUCPU数据后以数据后以数据后以数据后以“ “应答信号应答信号应答信号应答信号” ”清掉状态信号清掉状态信号清掉状态信号清掉状态信号CPUCPUCPUCPU写入数据后,置入状态信号写入数据后,置入状态信号写入数据后,置入状态信号写入数据后,置入状态信号 Q=1Q=1Q

21、=1Q=1口地址口地址地址译码器地址译码器QRD5V应答信号应答信号WR锁存器锁存器输出设备输出设备PORTD译码译码PORTS译码译码状态线状态线Busy状态信息状态信息D6RDDB条件传送方式程序举例条件传送方式程序举例Test:movDPTR,#PORTTest:movDPTR,#PORTS SmovxA,DPTRmovxA,DPTRanlA,#40HanlA,#40HjzTestjzTest;(jnzTest)(jnzTest)movDPTR,#PORTmovDPTR,#PORTD DmovxA,DPTRmovxA,DPTR ; ;输入输入输入输入(movxDPTR,A(movxDPT

22、R,A;输出;输出;输出;输出) )0/10/1状态信号状态信号状态信号状态信号D6输入端口状态输入端口状态输入端口状态输入端口状态准备好?准备好?准备好?准备好?传送信息传送信息传送信息传送信息YESYESNONOReady=1Ready=1Busy=0Busy=0(A)(A)查询举例查询举例查询举例查询举例2 2、查询输出、查询输出ORG8000HORG8000HLJMPMainLJMPMainORG8ORG8100H100HMain:JBMain:JBP1.7,SETLEDP1.7,SETLEDCLRLED:CLRCLRLED:CLRP1.0P1.0CLRCLRP1.1P1.1CLRCL

23、RP1.2P1.2CLRCLRP1.3P1.3CLRCLRP1.4P1.4CLRCLRP1.5P1.5CLRCLRP1.6P1.6SJMPSJMPMainMainSETLED:SETBSETLED:SETBP1.0P1.0SETBSETBP1.1P1.1SETBSETBP1.2P1.2SETBSETBP1.3P1.3SETBSETBP1.4P1.4SETBSETBP1.5P1.5SETBSETBP1.6P1.6SJMPSJMPMainMainENDEND思考题思考题若当若当P1.7=0时使时使7个个LED向左向左/右两右两个两个的循环点亮,如何修改程序个两个的循环点亮,如何修改程序?若当若当P

24、1.7=1时,使时,使7个个LED从中间向从中间向左右方向逐个点亮,如何修改程序左右方向逐个点亮,如何修改程序?5 52 23 3 中断传送方式中断传送方式中断:中断:中断:中断:要求进行输入、输出的外设,发出就绪信号给要求进行输入、输出的外设,发出就绪信号给要求进行输入、输出的外设,发出就绪信号给要求进行输入、输出的外设,发出就绪信号给CPUCPU,作为中断请求,打断,作为中断请求,打断,作为中断请求,打断,作为中断请求,打断CPUCPU正在进行的工作,即中正在进行的工作,即中正在进行的工作,即中正在进行的工作,即中断断断断CPUCPU正在执行的程序。正在执行的程序。正在执行的程序。正在执行

25、的程序。 中断过程中断过程中断过程中断过程 中断方式与查询方式比较中断方式与查询方式比较中断方式与查询方式比较中断方式与查询方式比较 提高了提高了提高了提高了CPUCPU的效率的效率的效率的效率 CPUCPU与外设可并行工作与外设可并行工作与外设可并行工作与外设可并行工作 CPUCPU可及时响应外部事件可及时响应外部事件可及时响应外部事件可及时响应外部事件中断过程中断过程外设发出中断请求信号外设发出中断请求信号外设发出中断请求信号外设发出中断请求信号CPU(CPU(有条件有条件有条件有条件) )响应中断响应中断响应中断响应中断进行中断服务进行中断服务进行中断服务进行中断服务( (执行中断服务程

26、序,执行响应执行中断服务程序,执行响应执行中断服务程序,执行响应执行中断服务程序,执行响应I/OI/O操作操作操作操作) )中断返回中断返回中断返回中断返回( (继续执行原程序继续执行原程序继续执行原程序继续执行原程序) )中断方式与查询方式中断方式与查询方式CPU占用时间比较占用时间比较打印机打印时间打印机打印时间打印机打印时间打印机打印时间数据传输时间数据传输时间数据传输时间数据传输时间查询等待时间查询等待时间查询等待时间查询等待时间数据传输时间数据传输时间数据传输时间数据传输时间执行主程序执行主程序执行主程序执行主程序中断服务时间中断服务时间中断服务时间中断服务时间中断方式中断方式中断方

27、式中断方式查询方式查询方式查询方式查询方式外设工作外设工作外设工作外设工作 利用利用利用利用DMAC(DMADMAC(DMA控制器控制器控制器控制器) )实现成组、大实现成组、大实现成组、大实现成组、大批量的数据在内存和外设之间的快速传送。批量的数据在内存和外设之间的快速传送。批量的数据在内存和外设之间的快速传送。批量的数据在内存和外设之间的快速传送。 DMADMA过程过程过程过程: 优点:速度快优点:速度快优点:速度快优点:速度快 缺点:硬件复杂,成本增加缺点:硬件复杂,成本增加缺点:硬件复杂,成本增加缺点:硬件复杂,成本增加5 52 24 4 DMA传送方式传送方式DMA过程过程外设向外设

28、向外设向外设向DMACDMAC发发发发DMADMA申请申请申请申请 DMACDMAC向向向向CPUCPU发发发发BUSRQBUSRQ CPU CPU发发发发BUSAKBUSAK响应响应响应响应 DMACDMAC发存储器地址和读写信号发存储器地址和读写信号发存储器地址和读写信号发存储器地址和读写信号 DMADMA控制结束,恢复控制结束,恢复控制结束,恢复控制结束,恢复CPUCPU对总线控制对总线控制对总线控制对总线控制BUSBUS外外外外 设设设设接接接接口口口口DMACDMACCPUCPU存储器存储器存储器存储器存储器存储器存储器存储器CPUCPUI/OI/O接口接口接口接口外外外外 设设设设

29、DMADMA控制器控制器控制器控制器5 53 31 1 中断的定义及必要性中断的定义及必要性定义:定义:所谓中断是指中央处理器所谓中断是指中央处理器CPU正在正在处理某件事的时候,外部发生了某一事件,处理某件事的时候,外部发生了某一事件,请求请求CPU迅速处理,迅速处理,CPU暂时中断当前的暂时中断当前的工作,转入处理所发生的事件,处理完后,工作,转入处理所发生的事件,处理完后,再回到原来被中断的地方,继续原来的工作。再回到原来被中断的地方,继续原来的工作。这样的过程称为中断。这样的过程称为中断。 必要性及应用必要性及应用必要性及应用必要性及应用中断功能便于实现中断功能便于实现中断功能便于实现

30、中断功能便于实现1 1 1 1分时操作分时操作分时操作分时操作2 2 2 2实时处理实时处理实时处理实时处理3 3 3 3故障处理故障处理故障处理故障处理4.4.4.4.主机与外设之间的速度匹配主机与外设之间的速度匹配主机与外设之间的速度匹配主机与外设之间的速度匹配 CPU CPU和外设同时工作;和外设同时工作;和外设同时工作;和外设同时工作;CPUCPU可以通可以通可以通可以通过分时操作启动多个外设同时工作,统过分时操作启动多个外设同时工作,统过分时操作启动多个外设同时工作,统过分时操作启动多个外设同时工作,统一管理。大大提高了一管理。大大提高了一管理。大大提高了一管理。大大提高了CPUCP

31、U的利用率,也的利用率,也的利用率,也的利用率,也提高了输入、输出的速度。提高了输入、输出的速度。提高了输入、输出的速度。提高了输入、输出的速度。 当计算机用于实时当计算机用于实时当计算机用于实时当计算机用于实时控制时,中断是一个十控制时,中断是一个十控制时,中断是一个十控制时,中断是一个十分重要的功能。现场的分重要的功能。现场的分重要的功能。现场的分重要的功能。现场的各个参数、信息,需要各个参数、信息,需要各个参数、信息,需要各个参数、信息,需要的话可在任何时候发出的话可在任何时候发出的话可在任何时候发出的话可在任何时候发出中断申请,要求中断申请,要求中断申请,要求中断申请,要求CPUCPU

32、处处处处理;理;理;理;CPUCPU就可以马上响就可以马上响就可以马上响就可以马上响应(若中断是开放的话)应(若中断是开放的话)应(若中断是开放的话)应(若中断是开放的话)加以处理。这样的及时加以处理。这样的及时加以处理。这样的及时加以处理。这样的及时处理在查询的工作方式处理在查询的工作方式处理在查询的工作方式处理在查询的工作方式是做不到的。是做不到的。是做不到的。是做不到的。 计算机在运行过程中,往往会出现事计算机在运行过程中,往往会出现事计算机在运行过程中,往往会出现事计算机在运行过程中,往往会出现事先预料不到的情况,或出现一些故障:先预料不到的情况,或出现一些故障:先预料不到的情况,或出

33、现一些故障:先预料不到的情况,或出现一些故障:如电源突跳,存储出错,运算溢出等等。如电源突跳,存储出错,运算溢出等等。如电源突跳,存储出错,运算溢出等等。如电源突跳,存储出错,运算溢出等等。计算机就可以利用中断系统自行处理,计算机就可以利用中断系统自行处理,计算机就可以利用中断系统自行处理,计算机就可以利用中断系统自行处理,而不必停机或报告工作人员。而不必停机或报告工作人员。而不必停机或报告工作人员。而不必停机或报告工作人员。 外设中断请求外设中断请求 实时时钟中断请求实时时钟中断请求 控制对象中断源控制对象中断源 故障引起的中断故障引起的中断 人为设置的中断人为设置的中断5 53 32 2

34、中断源中断源 人人人人为为为为设设设设置置置置的的的的中中中中断断断断,不不不不是是是是随随随随机的,故称为自愿中断。机的,故称为自愿中断。机的,故称为自愿中断。机的,故称为自愿中断。强迫中断强迫中断强迫中断强迫中断引起的中断都是引起的中断都是引起的中断都是引起的中断都是随机随机随机随机。5 53 33 3 中断的分类中断的分类 1. 1. 可屏蔽中断(可屏蔽中断(Maskable Interrupt) 2. 非屏蔽中断非屏蔽中断非屏蔽中断非屏蔽中断(Non Maskable Interrupt) 3. 软件中断(软件中断(Software Interrupt) INTINT NMI NMI

35、MCS-51MCS-51就是具有可屏蔽中断功能的一类就是具有可屏蔽中断功能的一类就是具有可屏蔽中断功能的一类就是具有可屏蔽中断功能的一类CPUCPU。中断类型中断类型中断类型中断类型 中断请求信号中断请求信号中断请求信号中断请求信号可屏蔽中断可屏蔽中断可屏蔽中断可屏蔽中断 INTINT中断请求输入线上输入中断请求输入线上输入中断请求输入线上输入中断请求输入线上输入非屏蔽中断非屏蔽中断非屏蔽中断非屏蔽中断 NMINMI中断请求输入线上输入中断请求输入线上输入中断请求输入线上输入中断请求输入线上输入软件中断软件中断软件中断软件中断 用中断指令使用中断指令使用中断指令使用中断指令使CPUCPU响应中

36、断响应中断响应中断响应中断中断类型中断类型中断类型中断类型 CPUCPU响应中断的方式响应中断的方式响应中断的方式响应中断的方式可屏蔽中断可屏蔽中断可屏蔽中断可屏蔽中断 开中断指令开中断指令开中断指令开中断指令 响应响应响应响应 关中断指令关中断指令关中断指令关中断指令 屏蔽屏蔽屏蔽屏蔽INTINT上来的低电平中断请求上来的低电平中断请求上来的低电平中断请求上来的低电平中断请求非屏蔽中断非屏蔽中断非屏蔽中断非屏蔽中断 CPUCPU必须予以响应,不能由软件指令屏蔽必须予以响应,不能由软件指令屏蔽必须予以响应,不能由软件指令屏蔽必须予以响应,不能由软件指令屏蔽软件中断软件中断软件中断软件中断 CP

37、UCPU只要执行这种指令,完成相应的中断功能只要执行这种指令,完成相应的中断功能只要执行这种指令,完成相应的中断功能只要执行这种指令,完成相应的中断功能5 53 34 4 中断系统的功能中断系统的功能 中断系统中断系统中断系统中断系统包括中断源的产生、包括中断源的产生、包括中断源的产生、包括中断源的产生、中断判优中断判优中断判优中断判优、中断查询中断查询中断查询中断查询、中断处理中断处理中断处理中断处理等实现这一全过程的硬件和软件。等实现这一全过程的硬件和软件。等实现这一全过程的硬件和软件。等实现这一全过程的硬件和软件。中断技术中断技术中断技术中断技术对中断全过程的分析、研究及实现的方法对中断

38、全过程的分析、研究及实现的方法对中断全过程的分析、研究及实现的方法对中断全过程的分析、研究及实现的方法中断判优中断判优多中断源同多中断源同多中断源同多中断源同时发出中断时发出中断时发出中断时发出中断请求,请求,请求,请求,CPUCPUCPUCPU根根根根据中断的优据中断的优据中断的优据中断的优先级判断优先级判断优先级判断优先级判断优先执行的中先执行的中先执行的中先执行的中断请求。断请求。断请求。断请求。中断嵌套中断嵌套中断嵌套中断嵌套CPUCPU正在执行正在执行正在执行正在执行主程序主程序主程序主程序CPUCPU正在执行正在执行正在执行正在执行低级中断服务低级中断服务低级中断服务低级中断服务程

39、序程序程序程序CPUCPU正在执行正在执行正在执行正在执行高级中断服务高级中断服务高级中断服务高级中断服务程序程序程序程序挂起的中断挂起的中断挂起的中断挂起的中断中断查询中断查询 软件查询软件查询软件查询软件查询 硬件查询硬件查询硬件查询硬件查询中断优先中断优先中断优先中断优先级链式电路级链式电路级链式电路级链式电路中断优先中断优先中断优先中断优先级编码电路级编码电路级编码电路级编码电路三态门三态门三态门三态门DBDB+中断请求中断请求中断请求中断请求 A LA L mov DPTR,#PortI mov DPTR,#PortI movx A,DPTR movx A,DPTR RLC A RL

40、C A JC ASV JC ASV RLC A RLC A JC BSV JC BSV ASV:ASV: BSV:BSV: 先查询的优先级高先查询的优先级高硬件申请硬件申请软件查询软件查询中断处理中断处理中断响应条件中断响应条件中断响应条件中断响应条件 CPUCPU处于开中断状态:处于开中断状态:处于开中断状态:处于开中断状态:5151内部有中断允许触发器内部有中断允许触发器内部有中断允许触发器内部有中断允许触发器EAEA EA=0 EA=0 禁止中断;禁止中断;禁止中断;禁止中断;EA=1 EA=1 开放中断。开放中断。开放中断。开放中断。 中断响应过程中断响应过程中断响应过程中断响应过程

41、中断响应:停止现行程序,中断响应:停止现行程序,中断响应:停止现行程序,中断响应:停止现行程序, 转向中断处理程序入口地址转向中断处理程序入口地址转向中断处理程序入口地址转向中断处理程序入口地址 关中断关中断关中断关中断 (MCS-51MCS-51响应中断后,不自动关中断响应中断后,不自动关中断响应中断后,不自动关中断响应中断后,不自动关中断) ) 保护断点保护断点保护断点保护断点 (自动将断点地址压入堆栈)(自动将断点地址压入堆栈)(自动将断点地址压入堆栈)(自动将断点地址压入堆栈) 执行中断处理程序执行中断处理程序执行中断处理程序执行中断处理程序执行中断处理程序执行中断处理程序 保护现场保

42、护现场 保护中断服务程序中用到的寄存器和保护中断服务程序中用到的寄存器和保护中断服务程序中用到的寄存器和保护中断服务程序中用到的寄存器和状态标志的内容状态标志的内容状态标志的内容状态标志的内容 中断服务中断服务 相应的中断源服务,完成一定的相应的中断源服务,完成一定的相应的中断源服务,完成一定的相应的中断源服务,完成一定的I/OI/O操作操作操作操作 恢复现场恢复现场 完成中断服务后,将保存在堆栈中的完成中断服务后,将保存在堆栈中的完成中断服务后,将保存在堆栈中的完成中断服务后,将保存在堆栈中的现场数据恢复现场数据恢复现场数据恢复现场数据恢复 开中断和中断返回开中断和中断返回RETI RETI

43、 ( (中断返回指令)中断返回指令)中断返回指令)中断返回指令)push PSWpush PSWpush ACCpush ACCpush DPHpush DPHpush DPLpush DPL pop DPLpop DPLpop DPHpop DPHpop ACCpop ACCpop PSWpop PSW请看请看请看请看P159P159图图图图5-225-22(1 1)设设设设置置置置中中中中断断断断请请请请求求求求触触触触发发发发器器器器( ( 又称中断标志触发器又称中断标志触发器又称中断标志触发器又称中断标志触发器) ) 每每每每个个个个中中中中断断断断源源源源需需需需有有有有一一一一个个

44、个个中中中中断断断断请请请请求求求求触触触触发发发发器器器器, , 保保保保持持持持中中中中断断断断请请请请求求求求信信信信号号号号 ,直直直直至至至至CPUCPU响响响响应应应应这这这这个个个个中中中中断断断断后后后后,才才才才可可可可清清清清除除除除中中中中断断断断请求请求请求请求。 当当当当中中中中断断断断请请请请求求求求触触触触发发发发器器器器为为为为“ “1”1”状状状状态态态态时时时时(Q=1Q=1),表表表表示示示示有有有有中中中中断断断断产产产产生生生生;Q=0Q=0表表表表示示示示没有中断产生。没有中断产生。没有中断产生。没有中断产生。 中断响应条件中断响应条件CPUCPU响

45、应中断的条件主要有以下几点:响应中断的条件主要有以下几点:响应中断的条件主要有以下几点:响应中断的条件主要有以下几点:设置中断请求的情况设置中断请求的情况设置中断请求的情况设置中断请求的情况 CPU CPU 中也要有中断标志触发器,有中断请求则置中也要有中断标志触发器,有中断请求则置中也要有中断标志触发器,有中断请求则置中也要有中断标志触发器,有中断请求则置1 1。 (2 2)需设置中断屏蔽触发器)需设置中断屏蔽触发器)需设置中断屏蔽触发器)需设置中断屏蔽触发器( (又称中断允许触发器)又称中断允许触发器)又称中断允许触发器)又称中断允许触发器) 每一个中断源的接口电路中需增加一个中断屏蔽触发

46、器每一个中断源的接口电路中需增加一个中断屏蔽触发器每一个中断源的接口电路中需增加一个中断屏蔽触发器每一个中断源的接口电路中需增加一个中断屏蔽触发器,只,只,只,只有当此触发器为有当此触发器为有当此触发器为有当此触发器为“ “1”1”时,中断源的中断请求才能被送出至时,中断源的中断请求才能被送出至时,中断源的中断请求才能被送出至时,中断源的中断请求才能被送出至CPU CPU 。 具有中断屏蔽的接口电路具有中断屏蔽的接口电路具有中断屏蔽的接口电路具有中断屏蔽的接口电路 (3 3)中断是开放的)中断是开放的)中断是开放的)中断是开放的 在在在在CPUCPU内部有一个中断允许触发器内部有一个中断允许触

47、发器内部有一个中断允许触发器内部有一个中断允许触发器EAEA。只有当。只有当。只有当。只有当EAEA为为为为“ “1”1”时(即中断开放时),时(即中断开放时),时(即中断开放时),时(即中断开放时),CPUCPU才能响应中断;若才能响应中断;若才能响应中断;若才能响应中断;若EAEA为为为为“ “0”0”(即中断是关闭的),这时外部有中断请求,(即中断是关闭的),这时外部有中断请求,(即中断是关闭的),这时外部有中断请求,(即中断是关闭的),这时外部有中断请求,CPUCPU不会响应,不会响应,不会响应,不会响应,EAEA的状态是可以用指令来控制的(称为可编程的)。的状态是可以用指令来控制的(

48、称为可编程的)。的状态是可以用指令来控制的(称为可编程的)。的状态是可以用指令来控制的(称为可编程的)。 (4 4)需设中断优先级触发器)需设中断优先级触发器)需设中断优先级触发器)需设中断优先级触发器 在在在在CPUCPU内部要设置中断优先级触发器,以实现嵌套;内部要设置中断优先级触发器,以实现嵌套;内部要设置中断优先级触发器,以实现嵌套;内部要设置中断优先级触发器,以实现嵌套; 在在在在各中断源中也要设一个中断优先级触发器各中断源中也要设一个中断优先级触发器各中断源中也要设一个中断优先级触发器各中断源中也要设一个中断优先级触发器,由指令置位,由指令置位,由指令置位,由指令置位/ /复复复复

49、位,以表示本中断源在中断系统中的优先级。位,以表示本中断源在中断系统中的优先级。位,以表示本中断源在中断系统中的优先级。位,以表示本中断源在中断系统中的优先级。 (5 5)CPUCPU在现行指令结束后响应中断在现行指令结束后响应中断在现行指令结束后响应中断在现行指令结束后响应中断 在开中断情况下,若中断源有中断请求,在开中断情况下,若中断源有中断请求,在开中断情况下,若中断源有中断请求,在开中断情况下,若中断源有中断请求,CPUCPU也并不是立也并不是立也并不是立也并不是立即响应,只是当正在执行的指令运行到最后一个机器周期即响应,只是当正在执行的指令运行到最后一个机器周期即响应,只是当正在执行

50、的指令运行到最后一个机器周期即响应,只是当正在执行的指令运行到最后一个机器周期T T状态时,状态时,状态时,状态时,CPUCPU才采样中断源。若发现有中断请求,则把内部的中断标志锁才采样中断源。若发现有中断请求,则把内部的中断标志锁才采样中断源。若发现有中断请求,则把内部的中断标志锁才采样中断源。若发现有中断请求,则把内部的中断标志锁存器置存器置存器置存器置“ “1”1”,然后下一个机器周期不进入取指周期,而进入中断,然后下一个机器周期不进入取指周期,而进入中断,然后下一个机器周期不进入取指周期,而进入中断,然后下一个机器周期不进入取指周期,而进入中断周期周期周期周期 。 MCS-51 的中断

51、系统的结构的中断系统的结构EX0EX1ET0ET1ESEAPX0PX1PT0PT1PS5.4.1 MCS-51的中断源和中断标志的中断源和中断标志 MCS-51 共有共有5个中断源个中断源 外部中断外部中断外部中断外部中断0 0 外部中断外部中断外部中断外部中断1 1 T/C0T/C0溢出中断溢出中断溢出中断溢出中断 T/C1T/C1溢出中断溢出中断溢出中断溢出中断 串行口中断串行口中断串行口中断串行口中断外部中断请求外部中断请求0 0、1 1 中断请求信号输入引脚:中断请求信号输入引脚:中断请求信号输入引脚:中断请求信号输入引脚:外部中断外部中断外部中断外部中断0 0请求引脚:请求引脚:请求

52、引脚:请求引脚:INT0INT0(P3.2)(P3.2)外部中断外部中断外部中断外部中断1 1请求引脚:请求引脚:请求引脚:请求引脚:INT1INT1(P3.3)(P3.3)INT0INT080318031INT1INT1电平触发电平触发电平触发电平触发:低电平低电平低电平低电平边沿触发边沿触发边沿触发边沿触发:负边沿负边沿负边沿负边沿 中断请中断请中断请中断请求信号求信号求信号求信号 外部中断请求信号触发方式选择(外部中断请求信号触发方式选择(IT0/1位)位)SETBIT0SETBIT0 外部中断请求标志位、中断允许位、优先级选择位外部中断请求标志位、中断允许位、优先级选择位外部中断请求标

53、志位、中断允许位、优先级选择位外部中断请求标志位、中断允许位、优先级选择位:INT0/1INT0/1IT0/1=0IT0/1=11IE0/1EX0/1 EAPX0/101高高高高低低低低D7D0TF1TF0IE1IT1IE0IT0TCONTCON IT0IT0(IT1)IT1):外部中断请求外部中断请求0(1)的触发方式选择的触发方式选择IT0=0电平触发方式;电平触发方式;IT0=1边沿触发方式边沿触发方式 IE0(IE1):外部中断请求:外部中断请求0(1)的中断申请标志的中断申请标志IT0=0CPU每个机器周期采样每个机器周期采样/INT0,若,若/INT0=1则则IE0=0否否则则/I

54、NT0=0,IE0=1申请中断申请中断IT0=1若第一个机器周期若第一个机器周期/INT0=1,第二个机器周期,第二个机器周期/INT0=0,则,则IE0=1申请中断,否则申请中断,否则IE0=0 转向中断服务时边沿触发方式下转向中断服务时边沿触发方式下IE由硬件清零由硬件清零 转向中断服务时电平触发方式下硬件不清转向中断服务时电平触发方式下硬件不清IE,待申请信号撤消,待申请信号撤消。T/C0、T/C1溢出中断溢出中断D7D0TF1TF0IE1IT1IE0IT0TCONTCON TF0TF0:51515151片内定时片内定时片内定时片内定时/ / / /计数器计数器计数器计数器0 0 0 0

55、溢出溢出溢出溢出中断请求标志中断请求标志中断请求标志中断请求标志。 定时定时定时定时/ / / /计数器计数器计数器计数器0 0 0 0溢出时,溢出时,溢出时,溢出时,TF0TF0TF0TF0由硬件置由硬件置由硬件置由硬件置1 1 1 1 CPU CPU CPU CPU 响应中断时响应中断时响应中断时响应中断时 自动清零自动清零自动清零自动清零 TF0TF0TF0TF0 TF0 TF0 TF0 TF0 也可软件清零也可软件清零也可软件清零也可软件清零 TF1TF1: 51515151片内定时片内定时片内定时片内定时/ / / /计数器计数器计数器计数器1 1 1 1溢出溢出溢出溢出中断请求标志

56、中断请求标志中断请求标志中断请求标志串行口中断串行口中断 RIRI:串行口接收中断标志串行口接收中断标志 RI=1RI=1串行口接收中断串行口接收中断 TI:串行口发送中断标志:串行口发送中断标志 TI=1TI=1串行口发送中断串行口发送中断 RI、TI 由硬件置位由硬件置位 必须由软件清零必须由软件清零 SCONSCOND7D0RITI5.4.2 MCS-51 对中断请求的控制对中断请求的控制总结中断源的各个触发器总结中断源的各个触发器(p163)表表5-1)中断源中断源中断源中断源中断标志中断标志中断标志中断标志1/01/0中断允许中断允许中断允许中断允许1/01/0 中断级别中断级别中断

57、级别中断级别1/01/0外部外部外部外部INT0INT0IE0IE0( (TCON.1TCON.1) )EX0(EX0(IE.0)IE.0)PX0PX0(IP.0)(IP.0)外部外部外部外部INT1INT1IE1IE1( (TCON.3TCON.3) )EX1EX1(IE.2)(IE.2)PX1PX1(IP.2)(IP.2)定时器定时器定时器定时器0 0TF0TF0( (TCON.5TCON.5) )ET0ET0(IE.1)(IE.1)PT0PT0(IP.1)(IP.1)定时器定时器定时器定时器1 1TF1TF1( (TCON.7TCON.7) )ET1ET1(IE.3)(IE.3)PT1P

58、T1(IP.3)(IP.3)串行口串行口串行口串行口RIRI(SCON.0)(SCON.0)TITI(SCON.1)(SCON.1)ESES(IE.4)(IE.4)PSPS(IP.4)(IP.4)CPUCPU标志标志标志标志EAEA(IE.7)(IE.7) 寄存器:寄存器:寄存器:寄存器: TCONTCON、SCONSCON、IEIE、IPIP复位后,这四个寄存器均为复位后,这四个寄存器均为复位后,这四个寄存器均为复位后,这四个寄存器均为00H00H。若设置串行口和定时器若设置串行口和定时器若设置串行口和定时器若设置串行口和定时器/ /计数器计数器计数器计数器1 1为高级中断:为高级中断:为高

59、级中断:为高级中断: SETB PSSETB PS SETB PT1 SETB PT1问:设置后,那个中断源的优先级最高?问:设置后,那个中断源的优先级最高?问:设置后,那个中断源的优先级最高?问:设置后,那个中断源的优先级最高? 那个中断源的优先级最低?那个中断源的优先级最低?那个中断源的优先级最低?那个中断源的优先级最低?答:答:答:答: 设置后,优先级的顺序为:设置后,优先级的顺序为:设置后,优先级的顺序为:设置后,优先级的顺序为: TF1TF1 RI/TI RI/TI INT0INT0 TF0 TF0 INT1INT1 高级高级高级高级低级低级低级低级同级同级同级同级默认默认默认默认顺

60、序顺序顺序顺序复位后复位后复位后复位后(IP)=00H(IP)=00H5 5个中断源均为低个中断源均为低个中断源均为低个中断源均为低级中断,同级默级中断,同级默级中断,同级默级中断,同级默认顺序:认顺序:认顺序:认顺序: INT0INT0 TF0 TF0 INT1INT1 TF1 TF1 RI/TIRI/TI5.4.3 MCS-51对中断的响应与撤消对中断的响应与撤消 MCS-51中断响应的中断响应的基本条件基本条件 MCS-51中断中断响应过程响应过程 MCS-51中断中断响应时间响应时间 MCS-51中断请求的中断请求的撤消撤消MCS-51中断响应的基本条件中断响应的基本条件 51 CPU

61、 51 CPU 中断受阻的条件:中断受阻的条件:中断受阻的条件:中断受阻的条件: CPU CPU 正在处理相同或更高级中断正在处理相同或更高级中断正在处理相同或更高级中断正在处理相同或更高级中断 现行的机器周期不是所执行指令的最后一个机器周期现行的机器周期不是所执行指令的最后一个机器周期现行的机器周期不是所执行指令的最后一个机器周期现行的机器周期不是所执行指令的最后一个机器周期 正在执行的指令是访问正在执行的指令是访问正在执行的指令是访问正在执行的指令是访问IEIE、IPIP或或或或RETIRETI指令指令指令指令 在执行上述指令后至少再执行一条指令,才可能响应中断。在执行上述指令后至少再执行

62、一条指令,才可能响应中断。在执行上述指令后至少再执行一条指令,才可能响应中断。在执行上述指令后至少再执行一条指令,才可能响应中断。 MCS-51MCS-51的中断响应的基本条件:的中断响应的基本条件:的中断响应的基本条件:的中断响应的基本条件: 首先要有中断源发出中断申请;首先要有中断源发出中断申请;首先要有中断源发出中断申请;首先要有中断源发出中断申请; 中断总允许位中断总允许位中断总允许位中断总允许位EA=1EA=1,即,即,即,即CPUCPU允许所有中断源申请中断;允许所有中断源申请中断;允许所有中断源申请中断;允许所有中断源申请中断; 在中断源寄存器在中断源寄存器在中断源寄存器在中断源

63、寄存器TCONTCON和和和和SCONSCON中,申请中断的中断标志位为中,申请中断的中断标志位为中,申请中断的中断标志位为中,申请中断的中断标志位为1 1, 即此中断源可以向即此中断源可以向即此中断源可以向即此中断源可以向CPUCPU申请中断。申请中断。申请中断。申请中断。A A A A 51CPU51CPU51CPU51CPU自动完成:自动完成:自动完成:自动完成: CPUCPUCPUCPU先在每个机器周期的先在每个机器周期的先在每个机器周期的先在每个机器周期的S5P2S5P2S5P2S5P2期间,对各中断源重复期间,对各中断源重复期间,对各中断源重复期间,对各中断源重复进行进行进行进行查

64、询查询查询查询,并设,并设,并设,并设置置置置相应的相应的相应的相应的中断标志位中断标志位中断标志位中断标志位 。 如果中断响应条件满足,且不存在中断阻断的情况,如果中断响应条件满足,且不存在中断阻断的情况,如果中断响应条件满足,且不存在中断阻断的情况,如果中断响应条件满足,且不存在中断阻断的情况,则则则则CPUCPUCPUCPU就响应中断。就响应中断。就响应中断。就响应中断。 硬件生成长调用指令自动地把断点地址压入堆栈保硬件生成长调用指令自动地把断点地址压入堆栈保硬件生成长调用指令自动地把断点地址压入堆栈保硬件生成长调用指令自动地把断点地址压入堆栈保护,并随之将对应的中断入口装入程序计数器护

65、,并随之将对应的中断入口装入程序计数器护,并随之将对应的中断入口装入程序计数器护,并随之将对应的中断入口装入程序计数器PCPCPCPC,使程序转,使程序转,使程序转,使程序转向该入口地址,以执行中断服务程序。向该入口地址,以执行中断服务程序。向该入口地址,以执行中断服务程序。向该入口地址,以执行中断服务程序。A A A A 用户必须完成:用户必须完成:用户必须完成:用户必须完成: 在这些入口地址存放一条无条件跳转指令,使程序跳转在这些入口地址存放一条无条件跳转指令,使程序跳转在这些入口地址存放一条无条件跳转指令,使程序跳转在这些入口地址存放一条无条件跳转指令,使程序跳转到用户安排的中断服务程序

66、起始地址上去到用户安排的中断服务程序起始地址上去到用户安排的中断服务程序起始地址上去到用户安排的中断服务程序起始地址上去 。 MCS-51MCS-51响应中断的过程响应中断的过程MCS-51 MCS-51 的中断响应过程的中断响应过程中断源中断源 入口地址入口地址 同级中断同级中断优先级优先级 IE0 0003H TF0 000BH IE1 0013H TF1 001BH TI/RI 0023H 中断入口地址表中断入口地址表低级中断源的低级中断源的中断服务程序中断服务程序CLRCLREAEASETBEASETBEA544 MCS-51中断系统的初始化及应用中断系统的初始化及应用1、MCS-51

67、中断系统的初始化中断系统的初始化中断系统初始化步骤为:中断系统初始化步骤为: 1)CPU开中断或关中断;开中断或关中断; 2)某中断源中断请求的允许或禁止(屏蔽);)某中断源中断请求的允许或禁止(屏蔽); 3)设定所用中断的中断优先级;)设定所用中断的中断优先级; 4)若为外部中断,则应规定低电平还是负边沿)若为外部中断,则应规定低电平还是负边沿 的中断触发方式。的中断触发方式。 解:解:解:解: (1)(1)采用位操作指令采用位操作指令采用位操作指令采用位操作指令 SETB EA SETB EA ;CPUCPU开中断开中断开中断开中断 SETB EX1 SETB EX1 ;开;开;开;开/I

68、NT1/INT1中断中断中断中断 SETB PX1 SETB PX1 ;令;令;令;令/INT1/INT1为高优先级为高优先级为高优先级为高优先级 CLR IT1 CLR IT1 ;令;令;令;令/INT1/INT1为电平触发为电平触发为电平触发为电平触发 (2)(2)采用字节型指令采用字节型指令采用字节型指令采用字节型指令 MOV IEMOV IE,#84H #84H ;开;开;开;开/INT1/INT1中断中断中断中断 ORL IPORL IP,#04H #04H ;令;令;令;令/INT1/INT1为高优先级为高优先级为高优先级为高优先级 ANLANL TCON TCON,#OFBH #

69、OFBH ;令;令;令;令/INT1/INT1为电平触发为电平触发为电平触发为电平触发 IT1IT1=0=0 例例例例5-15-1请写出请写出请写出请写出/INT1/INT1为低电平触发的中断系统初始化程序为低电平触发的中断系统初始化程序为低电平触发的中断系统初始化程序为低电平触发的中断系统初始化程序(1)(1)(1)(1)主程序主程序主程序主程序主主主主程程程程序序序序除除除除了了了了用用用用来来来来对对对对MCS-51MCS-51本本本本身身身身中中中中断断断断系系系系统统统统初初初初始始始始化化化化外外外外,还还还还经经经经常常常常用用用用来来来来对对对对具具具具有有有有中中中中断断断断

70、功功功功能能能能的的的的外外外外部部部部扩扩扩扩展展展展的的的的可可可可编编编编程程程程I/OI/O接接接接口口口口、可可可可编编编编程程程程内内内内部部部部定定定定时时时时器器器器/ /计计计计数数数数器器器器T/C0T/C0、T/C1T/C1和和和和可可可可编编编编程程程程内内内内部部部部串串串串行行行行口口口口等等等等初始化,程序如下:初始化,程序如下:初始化,程序如下:初始化,程序如下:ORG 0000HORG 0000H AJMP MAIN AJMP MAIN MAIN MAIN: ; MAINMAIN为主程序首地址为主程序首地址为主程序首地址为主程序首地址 复位后,其复位后,其复位

71、后,其复位后,其PCPC的内容被强迫置成的内容被强迫置成的内容被强迫置成的内容被强迫置成0000H0000H上电启动,上电启动,上电启动,上电启动,CPUCPU就执行就执行就执行就执行0000H0000H单元的指令单元的指令单元的指令单元的指令必须在必须在必须在必须在0000H0000H单元放一条跳转到单元放一条跳转到单元放一条跳转到单元放一条跳转到主程序的跳转指令主程序的跳转指令主程序的跳转指令主程序的跳转指令, ,实现了上电实现了上电实现了上电实现了上电自动转向主程序自动转向主程序自动转向主程序自动转向主程序2、程序设计方法、程序设计方法(2 2)中断服务程序)中断服务程序中中断断服服务务

72、程程序序是是一一种种具具有有特特定定功功能能的的独独立立程程序序段段,它它为为中中断断源的特定要求服务,其一般源的特定要求服务,其一般低级中断源程序低级中断源程序编写格式如下编写格式如下: ORG ZDRKORG ZDRK AJMP INTVS AJMP INTVS INTVS:INTVS:CLR EACLR EA PUSH ACC PUSH ACC PUSH 01H PUSH 01H SETB EASETB EA 中断服务中断服务中断服务中断服务 CLR EACLR EA POP 01H POP 01H POP ACC POP ACC SETB EASETB EA RETI RETI中断服务

73、程序入口中断服务程序入口中断服务程序入口中断服务程序入口地址:地址:地址:地址:ZDRKZDRK0003H0003H000BH000BH0013H0013H001BH001BH0023H0023H高级中断服务程序的设计高级中断服务程序的设计高级中断服务程序的设计高级中断服务程序的设计GJZHD:CLREAGJZHD:CLREA保护现场保护现场保护现场保护现场中断处理中断处理中断处理中断处理恢复现场恢复现场恢复现场恢复现场SETBEASETBEARETIRETI嵌套嵌套嵌套嵌套RETI完整程序完整程序ORGORG0000H0000HAJMPMAINAJMPMAIN ORGORG0003H0003

74、H AJMPINT0SVAJMPINT0SV ORGORG000BH000BH AJMPTC0SVAJMPTC0SV ORGORG0013H0013HAJMPINT1SVAJMPINT1SV ORGORG001BH001BH AJMPTC1SVAJMPTC1SVORGORG0023H0023HAJMPSSVAJMPSSVORG0100HORG0100HMAIN:MAIN:SJMP$SJMP$ ORG2000HORG2000HINT0SV:INT0SV:RETIRETI ORG3000HORG3000HTC0SV:TC0SV:RETIRETI ORG4000HORG4000HINT1SV:INT

75、1SV:RETIRETI ORG5000HORG5000HTC1SV:TC1SV:RETIRETIORG6000HORG6000HSSV:SSV:RETIRETI注意:注意:注意:注意: 要执行主程序要执行主程序要执行主程序要执行主程序 PCPC指针指针指针指针必须从必须从必须从必须从 0000H0000H开始开始开始开始执行执行执行执行MCS-51 的中断程序设计举例的中断程序设计举例 例例例例5-25-2请请请请根根根根据据据据图图图图6-26-2的的的的支支支支持持持持电电电电路路路路,编编编编出出出出CPUCPU响响响响应应应应INT0INT0上上上上中中中中断断断断时时时时的的的的主

76、主主主程序和中断服务程序。程序和中断服务程序。程序和中断服务程序。程序和中断服务程序。P1P1P1P1口中断方式传送口中断方式传送口中断方式传送口中断方式传送 ORG0000HAJMPMAINORG0003HLJMPINT0SVORG0100HMAIN:MOVSP#6FHSETBIT0SETBEX0SETBEASJMP$;等待中断等待中断INT0SV:PUSHPSWPUSHACCMOVA,#0FFHMOVP1,AMOVA,P1SWAPAMOVP1,APOPACCPOPPSWRETIEND初始化部分初始化部分初始化部分初始化部分中断嵌套程序设计中断嵌套程序设计ORG0000HAJMPMAINOR

77、G0003HLJMPI0SVORG0013HLJMPI1SVMAIN:MOVSP,#60HSETBPX1SETBEX0SETBEX1SETBIT0SETBIT1SETBEASJMP$DLY:MOVR6,#50HDYL1:MOVR7,#200DJNZR7,$DJNZR6,DYL1RETORG1000HI0SV:CLREAPUSHACCSETBEAMOVA,#0FEHMOVR2,#00HLOOP:MOVP1,AACALLDLYRLADJNZR2,LOOPCLREAPOPACCSETBEARETIORG1100HI1SV:CLREAPUSHACCMOVA,#7FHMOVR2,#00HLOOP1:MO

78、VP1,AACALLDLYRRADJNZR2,LOOP1POPACCSETBEARETIEND+5V+5VINT0INT0INT1INT18051R1R1R2R2K1K1K2K2+5VRLED0P1.0P1.0+5VRLED7P1.7调试:改8000H答:答:答:答:将子程序入口地址压入堆栈,因为它是将子程序入口地址压入堆栈,因为它是将子程序入口地址压入堆栈,因为它是将子程序入口地址压入堆栈,因为它是CALLCALL指令的指令的指令的指令的 转移目标地址,转移目标地址,转移目标地址,转移目标地址, 而不是而不是而不是而不是CALLCALL的下一条指令地址。的下一条指令地址。的下一条指令地址。的

79、下一条指令地址。问:问:问:问:响应中断后什么地址压入堆栈?响应中断后什么地址压入堆栈?响应中断后什么地址压入堆栈?响应中断后什么地址压入堆栈?答:答:答:答:将将将将 SJMP$SJMP$指令的转移目标地址压入堆栈。即指令的转移目标地址压入堆栈。即指令的转移目标地址压入堆栈。即指令的转移目标地址压入堆栈。即 中断在本中断在本中断在本中断在本指令处产生,本指令的目标地址是本指令地址。指令处产生,本指令的目标地址是本指令地址。指令处产生,本指令的目标地址是本指令地址。指令处产生,本指令的目标地址是本指令地址。问:问:问:问:若中断在若中断在若中断在若中断在CALLCALL指令执行后产生,指令执行

80、后产生,指令执行后产生,指令执行后产生, 响应中断后什么地址压入堆栈?响应中断后什么地址压入堆栈?响应中断后什么地址压入堆栈?响应中断后什么地址压入堆栈?问:问:问:问:若要控制中断的次数,在主程序中采用若要控制中断的次数,在主程序中采用若要控制中断的次数,在主程序中采用若要控制中断的次数,在主程序中采用 CJNE R7,#10,NEXTCJNE R7,#10,NEXT指令,指令,指令,指令,NEXTNEXT标号标号标号标号应写在什么语句上?应写在什么语句上?应写在什么语句上?应写在什么语句上?答:答:答:答:将将将将NEXTNEXT标号写在本指令上。标号写在本指令上。标号写在本指令上。标号写

81、在本指令上。 即:即:即:即:NEXTNEXT:CJNE R7,#10,:CJNE R7,#10,NEXTNEXT;等待中断;等待中断;等待中断;等待中断 必须在中断服务程序中用必须在中断服务程序中用必须在中断服务程序中用必须在中断服务程序中用INC R7INC R7指令更新指令更新指令更新指令更新R7R7的值。的值。的值。的值。 R7R7的初值在主程序的初始化部分置入的初值在主程序的初始化部分置入的初值在主程序的初始化部分置入的初值在主程序的初始化部分置入。 对强迫中断的服务程序具有随机性对强迫中断的服务程序具有随机性对强迫中断的服务程序具有随机性对强迫中断的服务程序具有随机性 要考虑可能在

82、程序的什么指令处发生,要考虑可能在程序的什么指令处发生,要考虑可能在程序的什么指令处发生,要考虑可能在程序的什么指令处发生, 要保护什么内容,才能保证返回断点后正常工作。要保护什么内容,才能保证返回断点后正常工作。要保护什么内容,才能保证返回断点后正常工作。要保护什么内容,才能保证返回断点后正常工作。 对人为设置的软件中断与子程序调用的区别对人为设置的软件中断与子程序调用的区别对人为设置的软件中断与子程序调用的区别对人为设置的软件中断与子程序调用的区别 返回指令不同返回指令不同返回指令不同返回指令不同 子程序返回用子程序返回用子程序返回用子程序返回用RETRET 中断服务程序返回用中断服务程序

83、返回用中断服务程序返回用中断服务程序返回用RETIRETI 处理内容不同,中断一般处理处理内容不同,中断一般处理处理内容不同,中断一般处理处理内容不同,中断一般处理I/OI/O操作。操作。操作。操作。 RETI 恢复中断逻辑恢复中断逻辑 转向中断服务是由转向中断服务是由CPU通过硬件产生的通过硬件产生的LCALL指令指令子程序与中断服务程序的区别子程序与中断服务程序的区别1 1、一个单级的中断系统中必要响应时间、一个单级的中断系统中必要响应时间、一个单级的中断系统中必要响应时间、一个单级的中断系统中必要响应时间 从中断请求有效(从中断请求有效(CPU响应中断)到开始执响应中断)到开始执行中断服

84、务程序的第一条指令(中断入口地址处行中断服务程序的第一条指令(中断入口地址处指令)为止,至少要经历三个完整的机器周期:指令)为止,至少要经历三个完整的机器周期: 第一个机器周期用于查询中断标志位;第一个机器周期用于查询中断标志位; 第二和第三个机器周期用于保护断点并自动转第二和第三个机器周期用于保护断点并自动转入执行一条长转移入执行一条长转移LCALL指令指令 ,进入中断服务程进入中断服务程序入口地址。序入口地址。 MCS-51中断中断响应时间响应时间2 2、附加等待时间、附加等待时间、附加等待时间、附加等待时间 逢逢RETI或其它访问或其它访问IE、IP指令的第一个周期,而这指令的第一个周期

85、,而这类指令之后又跟随着类指令之后又跟随着MUL或或DIV指令引起的附加等待时指令引起的附加等待时间不会超过间不会超过5个机器周期:一个周期完成正在进行的指令,个机器周期:一个周期完成正在进行的指令,再加再加MUL或或DIV的的4个周期。个周期。 得出结论得出结论:在一个单级的中断系统中,在一个单级的中断系统中,MCS-51响应响应中断的时间一般在中断的时间一般在3-8个机器周期之间。个机器周期之间。3 3、中断受阻引起响应时间延长、中断受阻引起响应时间延长、中断受阻引起响应时间延长、中断受阻引起响应时间延长 当一个同级或更高级的中断正在进行,则附加的等待当一个同级或更高级的中断正在进行,则附

86、加的等待时间取决于正在进行的中断程序。时间取决于正在进行的中断程序。 中断源中断源中断源中断源 撤消中断标志的方法撤消中断标志的方法撤消中断标志的方法撤消中断标志的方法外部中断外部中断外部中断外部中断0/10/1当边沿触发中断,则硬件置位,硬件清除当边沿触发中断,则硬件置位,硬件清除当边沿触发中断,则硬件置位,硬件清除当边沿触发中断,则硬件置位,硬件清除当低电平触发中断,硬件置位,当低电平触发中断,硬件置位,当低电平触发中断,硬件置位,当低电平触发中断,硬件置位,必须人为撤消中断请求信号必须人为撤消中断请求信号必须人为撤消中断请求信号必须人为撤消中断请求信号定时定时定时定时/ /计数器计数器计

87、数器计数器0/10/1由硬件置位和复位,硬件自动撤消由硬件置位和复位,硬件自动撤消由硬件置位和复位,硬件自动撤消由硬件置位和复位,硬件自动撤消串行口串行口串行口串行口RI/TIRI/TI由硬件置位,由硬件置位,由硬件置位,由硬件置位, 必须由软件复位必须由软件复位必须由软件复位必须由软件复位 CLRRI,CLRTICLRRI,CLRTI CPU必必须须在在中中断断返返回回前前,把把它它的的响响应应中中断断标标志志位位复复位位成成“0”状状态态。8031单单片片机机的的5个个断断源源,撤撤除除中中断断请求的方法是不相同请求的方法是不相同。 MCS-51中断请求的撤除中断请求的撤除外部中断请求的撤

88、除外部中断请求的撤除 对对对对于于于于负负负负边边边边沿沿沿沿触触触触发发发发的的的的外外外外部部部部中中中中断断断断,CPUCPU在在在在响响响响应应应应中中中中断断断断后后后后,是是是是用用用用硬硬硬硬件件件件自自自自动动动动清清清清除除除除有有有有关关关关的的的的中中中中断断断断请请请请求求求求标标标标志志志志IE0IE0或或或或IE1IE1,来来来来撤撤撤撤除除除除INT0INT0或或或或INT1INT1上的中断请求。上的中断请求。上的中断请求。上的中断请求。 对对对对于于于于电电电电平平平平触触触触发发发发的的的的外外外外部部部部中中中中断断断断,IE0IE0或或或或IE1IE1是是

89、是是依依依依靠靠靠靠CPUCPU检检检检测测测测INT0INT0或或或或INT1INT1上上上上低低低低电电电电平平平平而而而而置置置置位位位位。尽尽尽尽管管管管CPUCPU响响响响应应应应中中中中断断断断时时时时,IE0IE0或或或或IE1IE1可可可可用用用用硬硬硬硬件件件件自自自自动动动动复复复复位位位位成成成成“ “0”0”状状状状态态态态,但但但但若若若若外外外外部部部部中中中中断断断断源源源源不不不不能能能能及及及及时时时时撤撤撤撤除除除除INT0INT0或或或或INT1INT1上上上上低低低低电电电电平平平平,就就就就会会会会再再再再次次次次使使使使已已已已经经经经变变变变“ “

90、0”0”的的的的中中中中断断断断标标标标志志志志IE0IE0或或或或IE1IE1置置置置位位位位,这这这这是是是是绝绝绝绝对对对对不不不不能能能能允允允允许许许许的的的的。所所所所以以以以,对对对对于于于于电电电电平平平平触触触触发发发发的的的的外外外外部部部部中中中中断断断断请请请请求求求求的的的的撤撤撤撤除除除除,必必必必须须须须随随随随着其中断被响应,使着其中断被响应,使着其中断被响应,使着其中断被响应,使INT0INT0或或或或INT1INT1上低电平变为高电平。上低电平变为高电平。上低电平变为高电平。上低电平变为高电平。INSVR:ANLP1,#0FEHORLP1,#01H RETIEND 执行第一条指令使执行第一条指令使P1.0输出为负,其持续时间输出为负,其持续时间为为2个机器周期,足以使个机器周期,足以使D触发器置位,触发器置位,INT0上电平上电平变高,从而撤除中断请求。变高,从而撤除中断请求。 第二条指令使第二条指令使P1.0变为变为1,否则,否则,D触发器的触发器的S端始终有效,端始终有效,INT0端终为端终为1,无法再次中断。,无法再次中断。中断请求信号中断请求信号中断请求信号中断请求信号

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号