




已阅读5页,还剩64页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第七章:MCS-51的中断和中断接口,7.1:中断概述7.2:中断处理过程7.3:MCS-51的中断系统及其控制7.4:MCS-51外部中断源的扩展,中断源,发出中断请求的来源称为中断源,软件中断源,硬件中断源,由中断指令引起中断,例如8086CPU的INTn指令MCS-51无软件中断指令,由外设发出中断请求信号给CPU称硬件中断源PC/XT微机外设向CPU发中断请求信号控制系统各种传感器发出的中断请求信号,51单片机的中断源,P3口的第二功能,引脚P3.0P3.5,外部中断源,内部中断源,P3.2/INT0、P3.3/INT1,定时/计数溢出中断P3.4T0、P3.4T1串口传数中断P3.0RXD、P3.1TXD,硬件中断的分类,可屏蔽中断,非屏蔽中断,中断请求(中断允许)中断响应中断请求(中断屏蔽)X中断响应,中断请求中断响应,注:MCS-51有此中断方式,注:MCS-51无此中断方式,中断允许与中断屏蔽,中断允许开中断,中断屏蔽关中断,开/关中断的方法,有外设中断请求就有CPU中断响应,有外设中断请求但无CPU中断响应,专用标志位法,专用寄存器法,8086CPU中对控制标志位IF进行操作,MCS-51中对专用寄存器IE进行操作,中断优先级,单中断源,多中断源,无需讨论中断优先级问题,必需讨论中断优先级问题,优先级解决方法,软件查询法专用芯片法寄存器控制法(51单片机用此法),7.2:中断处理过程,中断请求中断允许(可屏蔽中断)中断响应中断处理(中断服务程序)中断返回,在计算机应用系统中,一个完整的中断处理过程应包括如下五个步骤,中断请求,外设向CPU发出中断请求信号,不同CPU对中断请求信号的要求,电平请求信号,边沿请求信号,高电平有效、低电平有效,上升沿有效、下降沿有效,中断允许(可屏蔽中断),非屏蔽中断无中断允许概念,可屏蔽中断有中断允许要求,中断允许方法,标志寄存器中控制位法专用寄存器中特殊位法(51单片机用此法),为什么,中断响应,对非屏蔽中断,对可屏蔽中断,有中断请求必有中断响应,有中断请求可有中断响应,中断响应的基本过程,执行完当前指令对断点进行保护,PC当前入栈获得中断服务程序的入口地址,即PC目的,注:MCS-51入口地址的获得方法,中断处理(中断服务程序),PC指向中断服务程序的入口地址,保护现场,执行中断服务程序,恢复现场,将中断服务程序中需用的寄存器推入堆栈,将入栈保护的寄存器从堆栈中弹出,注:保护断点、保护现场的区别,中断返回,恢复断点,恢复断点的指令,RET结束过程返回主程序,RETI结束中断服务程序恢复断点,注:中断服务程序的最后一条指令必须是RETI,否则将造成整个程序的PC指针混乱。,7.3:MCS-51的中断系统及其控制,中断系统的一般功能MCS-51中断系统中的寄存器MCS-51中断源及中断标志位MCS-51中断允许,中断屏蔽的控制MCS-51中断优先级的控制MCS-51的中断响应MCS-51的中断响应时间MCS-51中断请求的撤除MCS-51中断系统初始化MCS-51中断方式应用例,中断系统的一般功能,对中断允许/中断屏蔽的管理对多中断源优先级的排队管理对中断响应及中断撤除的管理,MCS-51中断系统中的寄存器,定时器控制寄存器TCON中断允许寄存器IE中断优先级寄存器IP串行口控制寄存器SCON,注:对上述寄存器中有关中断功能的位操作,即置1或清0操作。,MCS-51中的可屏蔽中断源,外部中断源/INT0、/INT1输入中断,内部中断源T0、T1计数溢出中断,内部中断源串行口数据传送中断,电平型申请中断请求低电平有效边沿型申请中断请求下降沿有效,当定时器/计数器计数到时产生中断,即计数值从FFFFH0000H时产生中断。,串行口收、发完一组数据后产生中断,注:/INTn外部触发型中断,Tn、串口功能型中断。,MCS-51中的中断标志位,标志位定义,标志位含义,标志位特点,由某个特殊寄存器相关位确定,若相关标志位清0,无中断请求产生若相关标志位置1,有中断请求产生,中断请求发生,相关标志位自动置1中断处理开始,相关标志位自动清0中断处理开始,相关标志位手动清0,定时器控制寄存器TCON中的中断标志位,TCON的字节地址88H,TCON的位地址88H8FH,TCON的标志位IE0、IE1、TF0、TF1,TCON的服务位IT0、IT1、TR0、TR1,位,符号,位地址,TCON中的标志位含义,与外部中断请求状态有关的标志位,IE0/INT0的中断请求标志位,IE1/INT1的中断请求标志位,若/INT0有效,则IE0=1,由硬件自动置1若MCU响应,则IE0=0,由硬件自动清0,若/INT1有效,则IE1=1,由硬件自动置1若MCU响应,则IE1=0,由硬件自动清0,注:外部中断为硬件自动置1清0,TCON中的标志位含义,与内部定时器/计数器中断有关的标志位,TF0定时器/计数器T0溢出中断标志位,TF1定时器/计数器T1溢出中断标志位,若T0溢出,则TF0=1,由硬件自动置1若MCU响应,则TF0=0,由硬件自动清0,若T1溢出,则TF1=1,由硬件自动置1若MCU响应,则TF1=0,由硬件自动清0,注:定时器/计数器中断为硬件自动置1清0,TCON中的服务位含义,与外部中断输入信号有关的服务位,IT0/INT0的中断请求触发方式选择,IT1/INT1的中断请求触发方式选择,IT0=0电平触发方式,低电平有效IT0=1边沿触发方式,下降沿有效,IT1=0电平触发方式,低电平有效IT1=1边沿触发方式,下降沿有效,注:电平触发、边沿触发的应用特点,TCON中的服务位含义,与定时器/计数器工作有关的服务位,TR0T0计数开启/停止方式选择,TR1T1计数开启/停止方式选择,TR0=0T0停止计数TR0=1T0开始计数,TR1=0T1停止计数TR1=1T1开始计数,注:TR0、TR1的应用在定时/计数器中讲,串行口控制寄存器SCON中的中断标志位,位,符号,位地址,SCON的字节地址98H,SCON的位地址98H9FH,SCON的标志位TI、RI,SCON的功能位RB8、TB8、RENSM0、SM1、SM2,注:功能位在串行口通信中讲,SCON中的标志位含义,与串行通信有关的标志位,TI发送数据后的中断标志位,RI接收数据后的中断标志位,若串口发送完数据,则TI=1,由硬件自动置1若串口还要发数据,则应手动编程使TI=0,若串口接收完数据,则RI=1,由硬件自动置1若串口还要收数据,则应手动编程使RI=0,注:串行口中断为编程手动清0,中断标志位的总结,中断标志位专用寄存器TCON、SCON,外部中断/INT0、/INT1的标志位IE0、IE1,定时器/计数器T0、T1的标志位IF0、IF1,串行口通信中的标志位TI、RI,注:5个中断源、6个中断标志位,为什么,中断标志位的置1和清0,自动置1,当中断源/INTn、Tn、串口有中断请求时对应标志位IEn、TFn、TI、RI自动置1,自动清0,手动清0,若MCU响应标志位IE0、IE1、TF0、TF1自动清0,若还需继续传送数据标志位TI、RI手动清0,特点,TCON、SCON编程,自动置1、清0的标志位不需编程手动清0的标志位(TI、RI)必需编程,用字节操作指令MOV编程(少用)用位操作指令SETB、CLR编程(常用),TCON中的服务位根据需要编程SCON中的功能位根据需要编程,TCON、SCON编程,例:外部中断/INT0为负电平触发,例:外部中断/INT1为负脉冲触发,字节操作:MOVTCON,#XXXXXXX0BMOV88H,#XXXXXXX0B,位操作:CLRIT0CLR88H,字节操作:MOVTCON,#XXXXX1XXBMOV88H,#XXXXX1XXB,位操作:SETBIT1SETB8AH,中断允许/屏蔽控制寄存器IE,位,符号,位地址,IE的字节地址A8H,IE的位地址A8HAFH,IE的总控制位EA,IE的分控制位EX0、EX1ET0、ET1ES,IE中的位含义,全部中断源中断允许/屏蔽控制位,EA=0总中断屏蔽有效EA=1总中断允许有效,EA=1时,各中断源中断允许/屏蔽控制位,EX0(EX1)=0,/INT0(/INT1)中断屏蔽EX0(EX1)=1,/INT0(/INT1)中断允许,ET0(ET1)=0,T0(T1)中断屏蔽ET0(ET1)=1,T0(T1)中断允许,ES=0,串行口中断屏蔽ES=1,串行口中断允许,IE中的位操作,对外部/INT0开中断(中断允许),对外部/INT1关中断(中断屏蔽),字节操作:MOVIE,#1XXXXXX1BMOV0A8H,#1XXXXXX1B,位操作:SETBEASETBEX0,SETB0AFHSETB0A8H,字节操作:MOVIE,#XXXXX0XXBMOVIE,#0XXXXXXXB,位操作:CLREX0CLREA,注:系统复位时,IE=00H,即均中断屏蔽,中断优先级的控制寄存器IP,位,符号,位地址,IP的字节地址B8H,IP的位地址B8HBFH,IP的控制位PX0、PX1PT0、PT1PS,IP中的位含义,中断源与位的关系,PX0/INT0中断优先级控制位PX1/INT1中断优先级控制位PT0T0中断优先级控制位PT1T1中断优先级控制位PS串口中断优先级控制位,优先级判别,位置1高级别中断位清0低级别中断,等优先级序,/INT0T0/INT1T1串行口,MCS-51的中断响应,有中断响应发生,则执行中断服务程序,MCS-51中断响应的条件,执行完当前指令才能有中断响应IE中的相应位需置为中断允许IP中的相应位需置为高优先级,MCS-51中断响应的特点,在同级或高级中断服务程序中不能有新的中断响应。,在低级别中断服务程序中可有高级别中断响应发生。,MCS-51与中断有关的特殊功能寄存器,/INTn,TCONIEIP,Tn,TCONIEIP第八章中的有关寄存器,串口,SCONIEIP第十章中的有关寄存器,MCS-51中断服务程序的入口地址,中断入口地址表,中断响应的条件及指令,中断响应条件,中断响应指令,中断标志位为1,LCALL0003HLCALL000BHLCALL0013HLCALL001BHLCALL0023H,自动执行,中断服务程序的编写方法,在中断入口地址处开始编写,ORG0003HMOVA,R0RETI,注:特定存储区长度有限,应用有限。,0003H000BH8字节!,中断服务程序的编写方法,在源程序的其它处开始编写,ORG0003HLJMPINT0INT0:MOVA,R0RETI,注:充分利用存储区长度。,中断服务程序的编程,例:/INT0中服程序的起始真实地址为1000H,例:T1中服程序的起始符号地址为ADDA,写表ORG0003HLJMP1000H,写表ORG001BHLJMPADDA,注:LJMP指令也可用AJMP、SJMP指令。,注:程序设计中使用符号地址而非直接地址。,中断请求标志位的撤除,对/INT0、/INT1中断,对T0、T1中断,对串行口中断,中断响应后硬件自动对IE0、IE1撤除,中断响应后硬件自动对TF0、TF1撤除,中断响应后需软件手动对TI、RI撤除,注:撤除即清0,外部中断源触发信号的撤除,负脉冲触发方式,低电平触发方式,在中服程序中基本不会再产生中断请求,在中服程序中可能会保持中断请求,解决方法,选用负脉冲触发方式减小低电平宽度在中服程序入口处关中断,MCS-51中断系统初始化,外部中断/INT0、/INT1的初始化,确定外部中断源的触发方式,对TCON寄存器中IT0、IT1进行位操作,中断优先级确定,对IP寄存器中PX0、PX1进行位操作,对IE寄存器中EA、EX0、EX1进行位操作,中断允许确定(开中断),注:初始化即对相关寄存器编程,IE必编、TCON和IP选编。,MCS-51中断系统初始化编程,例:/INT1为边沿触发中断,低优先级的初始化编程。,SETBIT1;/INT1为负脉冲触发中断源CLRPX1;/INT1为低优先级SETBEX1;开/INT1中断源SETBEA;开所有中断源,注:初始化程序段在主程序中编写,注:定时/计数器、串行口的初始化后讲,有中断的完整程序结构,中断入口表程序,主程序,中断服务程序,(其它子程序),源程序汇编结束伪指令,有中断的完整程序结构,入口表程序,ORG0000HLJMPMAIN;跳到主程序入口ORG0003HLJMPRINT0;跳到/INT0中服功能程序入口ORG000BHLJMPRT0;跳到T0中服功能程序入口ORG0013HLJMPRINT1;跳到/INT1中服功能程序入口ORG001BHLJMPRT1;跳到T1中服功能程序入口ORG0023HLJMPRPS;跳到串行口中服功能程序入口,有中断的完整程序结构,主程序(MAIN),MAIN:MOVA,R0;主程序入口SETBEASJMP$;主程序结束,主程序的内容,应用系统相关的指令语句对与中断相关寄存器进行置位操作,注:SJMP$或LOOP:SJMPLOOP语句为等待中断产生。,有中断的完整程序结构,中断服务程序(RINT0),RINT0:PUSHACC;中服功能程序入口PUSHPSW;保护现场POPPSWPOPACC;恢复现场RETI;退出中断服务程序,注:RETI指令恢复PC断点为指向SJMP$。,注:保护/恢复现现场为中服程序中要用的存储器。,有中断的完整程序结构,ORG0000HLJMPMAIN;跳到主程序入口ORG0003HLJMPRINT0;跳到/INT0中服程序入口MAIN:SETBEA;主程序入口SJMP$;主程序结束RINT0:PUSHACC;中服功能程序入口RETI;退出中断服务程序END;结束汇编,表程序,主程序,中服程序,有关寄存器及操作位,MCS-51外部中断的应用,TCON,IE,IP,/INT0,/INT1,注:IE必须操作,MCS-51外部中断的应用,8051,P3.2,P0.1,VCC,GND,VCC,查询方式(键按下时灯亮),MCS-51外部中断的应用,ORG0000HSTART:MOVA,P3JBACC.2,STARTCLRP0.1SJMPSTARTEND,MCS-51外部中断的应用,8051,/INT0,P0.1,VCC,GND,VCC,中断方式(键按下时灯亮),MCS-51外部中断的应用,ORG0000HLJMPMAINORG0003HLJMPINT0MAIN:SETBIT0;下降沿中断SETBEX0SETBEA;开中断SJMP$;等待中断INT0:CLRP0.2RETIEND,MCS-51外部中断的应用,例(177页)8051和微型打印机的接口,接口中的信息,数据信息8位数据,控制信息1位数据(/STB),状态信息1位数据(BUSY),中断信息1位数据(/ACK),8051准备好数据后,向控制端口发低电平,打印机收到数据后,经状态端口向8051发高电平,打印机处理完数据后,BUSY从高变低时,经外部中断口向8051发中断请求信号,中服程序的功能为8051向数据端口送新数据。,MCS-51外部中断的应用,系统连接原理图,8051,锁存器,译码器,打印机,/WR,/INT0,P0口,A4A5A6A7,/Y15,/STB,/ACK,DB,I/O口,MCS-51外部中断的应用,接口时序图,数据,控制,状态,中断,/STB,BUSY,/ACK,数据处理,MCS-51外部中断的应用,入口表程序,ORG0000HLJMPMAIN;跳到主程序入口ORG0003HLJMPROUT;跳到/INT0中服程序入口,MCS-51外部中断的应用,主程序,MAIN:SETBIT0;/INT0为负边沿触发SETBPX0;/INT0优先级高SETBEX0;/INT0中断允许SETBEA;所有中断允许MOVR2,#49;打印数据量初值MOVR0,#20H;打印数据存放首址MOVR1,#0F0H;打印机端口地址MOVA,R0;打印数据送AMOVXR1,A;数据到打印机打印SJMP$;主程序结束等待中断,MCS-51外部中断的应用,中断服务程序,ROUT:PUSHPSWPUSHACC;保护现场INCR0;修改数据区指针MOVA,R0;取数据到AMOVXR1,A;打印数据,产生新的中断DJNZR2,NEXT;未打印完将退出中服程序CLREX0;打印完将关中断NEXT:POPACCPOPPSW;恢复现场RETI;中断返回END;结束汇编,7.4:MCS-51外部中断源的扩展,从前述可知,MCS-51单片机仅提供了两个外部中断输入端/INT0和/INT1,并规定其中服程序的入口地址为0003H和0013H,若外部设备需要两个以上的外部中断请求则中断源的扩展是必不可少的。,借用定时/计数器溢出中断T0和T1作为外部中断用查询方式扩展中断源用8259可编程中断控制器扩展中断源,借用T0、T1作为外部中断,借用原理,计数器溢出中断发生在计数从FFFFH0000H将计数器的初值置为FFFFH从计数输入端输入脉冲,一次计数后产生溢出中断,工作过程,向T0端输入计数脉冲(中断请求信号),在000BH处编写外设的中服程序向T1端输入计数脉冲(中断请求信号),在001BH处编写
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 评分标准表数学试卷
- 2024年甘肃北方技工学校招聘笔试真题
- 南通中考模拟数学试卷
- 国际合作协议签署演讲稿模板
- 七年级统考试卷数学试卷
- 产业投资合作协议的法律框架
- 红酒生意基础知识培训
- 2024年铜川市消防员招聘笔试真题
- 南充市蓬安县医疗卫生辅助岗考试真题2024
- 2024年南充营山县引进“带编入企”招聘笔试真题
- DB53-T 1119-2022石林彝族(撒尼)刺绣技法-(高清最新)
- 辽宁省盘锦市各县区乡镇行政村村庄村名居民村民委员会明细
- 喷砂检验报告
- PCB板来料检验规范
- DL∕T 617-2019 气体绝缘金属封闭开关设备技术条件
- 诺如病毒感染暴发调查和预防控制技术指南(2023版)
- 班级管理(第3版)教学课件汇总全套电子教案(完整版)
- 教师入职审批登记表
- 日语教学计划.doc
- 岩石抗压岩石单轴压缩变形试验记录
- 《职业病危害告知卡》
评论
0/150
提交评论