




已阅读5页,还剩23页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
5AT89S51单片机中断系统,5.1AT89单片机中断和中断请求源5.1.1中断简介计算机暂时中止正在执行的主程序,转而执行中断服务程序,并在中断服务程序执行后自动返回原程序继续执行。这个过程被称为“中断”。中断需要解决两个主要问题:第一,如何从主程序转移到中断服务程序;第二是如何从中断服务程序返回主程序。一般来说,中断系统的使用提高了计算机的性能,主要表现在以下几个方面:(1)有效地解决了快CPU和慢外设之间的矛盾,使CPU和外设能够并行工作,大大提高了工作效率。(2)能及时处理控制系统中许多随机产生的参数和信息,即计算机具有实时处理能力,从而提高控制系统的性能。(3)系统具有处理故障的能力,提高了系统本身的可靠性。中断源通常分为软件中断和硬件中断。AT89S51提供了五个中断源,如图5-2所示。在AT89S52中,有一个附加的中断源-定时器/计数器T2,即有6个中断源。AT89S51的五个中断源是:外部中断源:由P3.2输入。外部中断源:由P3.3输入。输入/输出设备的中断请求信号或电源故障等异常事件可用作外部中断源。定时器/计数器T0溢出中断:TF0标志,由P3.4输出。定时器/计数器T1溢出中断:TF1标志,由P3.5输出。片内串行端口产生的中断:RX,TX。图5-2 at89s 51中断系统示意图。1.定时器/计数器中断锁存寄存器TCONTCON是定时器/计数器T0和T1的控制寄存器。它还锁存T0和T1的溢出中断源和外部请求中断源。与中断源相关的位如下:tf1: t1溢出中断标志。T1被允许计数后,从初始值开始按1计数。当溢出发生时,硬件设置“1”TF1向中央处理器请求中断。“0”不会被硬件清除,直到中央处理器响应中断(它也可以被查询软件清除)。Tf0: t0溢出中断标志。T0被允许计数后,从初始值开始计数1。当溢出发生时,硬件设置“1”TF0向中央处理器请求中断。“0”不会被硬件清除,直到中央处理器响应中断(它也可以被查询软件清除)。IE1:外部中断1请求源标志。IE1=1,外部中断请求来自中央处理器的中断,当中央处理器响应中断时,硬件清除“0”IE1(边沿触发模式)。IT1:软件设置/复位选择外部中断1的跳转/电平激活中断请求。当IT1设置为1时,当外部中断1端口从“1”转换到“0”(前一个机器周期为高,下一个机器周期为低,即发生负转换)时,中断请求标志IE1被激活,以向主机请求中断处理。如果复位IT1为0,当端口处于低电平时,中断请求标志IE1被激活,以向主机请求中断处理。IE0:外部中断0请求源(3.2)标志。IE0=1外部中断0向中央处理器请求中断。当中央处理器响应外部中断时,硬件清除“0”IE0(边沿触发模式)。IT0:外部中断0触发模式控制位,其含义和功能类似于IT1。2。串行端口中断SCON是一个串行端口控制寄存器,字节地址为98H。SCON的低位两位锁存串行端口的接收中断和发送中断标志,格式如下:TI:串行端口发送中断标志。当串行端口以模式0发送时,硬件会在每次发送8位数据时设置TI。当在模式1、2和3下传输时,TI在传输停止位的开始被置位。TI=1表示串行端口发送器正在向中央处理器请求中断。值得注意的是,当中央处理器对中断作出响应时,它不会在转到中断服务程序时重置时间间隔。用户必须使用中断服务程序中的软件清除TI(CLRTI或其他指令可用)。串口接收中断标志。如果串行端口接收器被允许在模式0下接收和操作,则每当接收到第8位数据时,R1被置位;如果它在模式1、2和3下工作,并且SM2=0,则每当接收器RI=1表示串行端口接收器正在向中央处理器申请中断。类似地,中断服务程序中的RI必须由用户清除。AT89S51复位后,SCON也被清除。3。中断允许控制AT89S51中断允许和禁止由寄存器控制。中断允许寄存器(IE)的字节地址为A8H,其格式如下:IE寄存器中的每个位为:0时,中断禁用;1时,允许中断。系统复位后,IE寄存器中的所有位都为0,也就是说,此时禁止所有中断。EX0(IE . 0)-外部中断0中断允许位。ET0(即1)-定时器/计数器T0中断使能位。EX1(IE . 2)-外部中断1中断允许位。ET1(即3)-定时器/计数器T1中断使能位。串行端口中断允许位。Ea(即7)-cpu中断使能位。当EA=1时,所有都断开;当ea=0时,所有中断都被屏蔽。Et2(即5)-定时器t2中断请求位。5.2中断的优先级如果在主程序执行时只有一个中断源请求中断,并且此时中央处理器对中断开放,则中断将立即得到响应。然而,由于中断是随机产生的,并且通常有不止一个中断源,因此通常会有多个中断源同时请求中断。或者当一个中断正在响应(即中断源的中断服务程序正在执行)而另一个中断源请求中断时,中断系统应该如何处理?在正常情况下,每个中断源首先被分成几个优先级,然后根据以下原则进行处理:(1)当不同级别的中断源同时申请中断时,首先为高,然后为低;(2) 是当同级中断源同时申请中断时预先规定的;(3) ,当处理低电平中断和接收高电平中断请求时,停止低电平并变为高电平;(4)当处理高级中断并接收低级中断请求时,为高但不为低。AT89S51单片机的中断系统对优先级的控制比较简单,只规定了两个中断优先级,每个中断源可编程为高优先级中断或低优先级中断。在相同的优先级下,五个中断源的优先级顺序如下:最高优先级、最低优先级、外部中断0(IE0)定时器/计数器t 0溢出中断(TF0)外部中断1(IE1)定时器/计数器t 1溢出中断(TF1)串行端口中断(RI TI)AT89S51微控制器具有一个字节地址为B8H的中断优先级寄存器IP。对于每个中断源,优先级可以通过设置IP来确定,设置1为高优先级,清除0为低优先级。表中显示了IP寄存器的格式。其中:PX0:外部中断0优先级控制位。PT0:定时器0中断优先级控制位。PX1:外部中断1优先级控制位。PT1:定时器1中断优先级控制位。串行端口中断优先级控制位。上述优先级控制位指定1为高优先级,0为低优先级。5.3.1中断响应过程1。中断响应条件微控制器对中断的响应条件:中断源有请求(中断允许寄存器IE对应位置1),并且中央处理器被中断(即,EA=1)。这样,在每个机器周期中,单片机按顺序检测所有中断源,并能在任何一个周期的S6期间找到所有有效的中断请求并将它们的优先级排队。但是,必须满足以下条件:(1)没有对等中断或高级中断在服务中;(2)当前指令被执行到最后一个机器周期并且已经结束;(3)如果当前指令是RETI指令或要求访问特殊功能寄存器IE或IP的指令,则该指令已经被执行,并且下面的指令也已经被执行。微控制器在下一个机器周期的S1期间响应中断。否则,中断查询的结果将被丢弃。中断响应过程一旦微控制器响应中断,它首先设置相应的优先级有效触发。然后执行硬件生成的子程序调用指令,将断点地址推送到堆栈上,然后将每个中断源对应的中断服务程序的入口地址发送到程序计数器PC,并清除中断请求标志(除串口中断和外部电平触发中断外),从而将程序转移到中断服务程序。上述过程由中断系统自动完成。每个中断源对应的中断服务程序的入口地址如下:中断源入口地址外部中断0003H定时器t 0中断000BH外部中断0013H定时器T1中断001BH串行端口中断0023h,中央处理器从上述对应的地址开始执行中断服务程序,直到遇到RETI指令。RETI指令指示中断服务程序的结束。当中央处理器执行指令时,一方面,它清除中断响应期间设置的优先级有效触发;另一方面,从堆栈顶部弹出的断点地址被发送到程序计数器PC,从而返回到主程序。如果用户在中断服务程序开始时安排保护字段指令(通常,相应寄存器的内容被堆叠或工作寄存器区被替换),则字段指令应在RETI指令之前恢复(相应寄存器的内容被堆叠或替换在原始工作寄存器区)。中断响应时间所谓的中断响应时间是指从查询中断请求标志位到中断服务程序的入口地址所需的机器周期数(对于单个中断源)。对中断的响应至少需要3个机器周期。如果中央处理器查询中断请求标志的周期正好是执行指令的最后一个机器周期,它可以不等待地作出响应。然而,响应中断执行长调用指令需要2个机器周期,加上查询需要1个机器周期,这需要3个机器周期来开始执行中断服务程序。5.3.2AT89S51微控制器中断向量地址处理器响应中断,首先设置相应的优先级状态触发器(该触发器指出中央处理器开始处理中断的优先级),然后执行硬件子程序调用将控制转移到相应的入口,清除中断请求源应用标志(TI和RI除外)。硬件子程序调用程序的入口地址发送到程序计数器PC,每个中断源服务程序的入口地址为:中断源入口地址外部中断00003H定时器/计数器T0000BH外部中断10013H定时器/计数器T1001BH串行端口中断0023h,以及5.3.3中断编程和应用在编程中断服务程序时,必须首先初始化中断系统,即必须分配几个特殊功能寄存器的相关控制位。具体来说,有必要完成以下任务:1)打开中断并允许中断源中断。2)确定每个中断源的优先级。3)当外部中断时,应说明是水平触发还是边缘触发。示例5-1如果外部中断0被指定为具有高优先级的电平触发模式,则写出相关的初始化程序。解决方案:一般可以通过位操作指令来实现:SETBEA;开中断SETBEX0;允许外部中断0中断SETBPX0;外部中断0设置为高优先级CLRIT0;电平触发,示例5-2如果外部中断1被指定为具有低优先级的边沿触发模式,则在中断服务程序的左循环中,寄存器B的内容被移位一位,并且B的初始值被设置为01H。试着写主程序和中断服务程序。解决方法:程序如下:组织0000小时;主程序LJMPMAIN;主程序被转移到组织0013H;主要的;中断服务程序LJMPINT;中断服务例程转到MAIN:SETBEA在int开中断SETBEX1;允许外部中断1中断CLRPX1;设置为低优先级SETBIT1;边沿触发movb,# 01h将b的初始值设置为HALT:SJMPHALT。暂停等待中断int:mova,b。一BRLA;将左环移动一个movb,a;RETI;返回;中断返回,例5-3图5-4为单片机数据传输示意图。外围数据通过P1端口输入单片机。对于准备好的每一个数据,外设发出一个选通信号,该选通信号通过触发器和非门。图5-4数据传输示意图:外围设备准备好一个数据后,发出选通信号,使触发器输出1通过非门的0发送,并向CPU发出中断请求。在中央处理器响应中断请求后,它首先在中断处理程序中移除中断请求信号(通过3.0=0,INT0=1),然后将数据输入微控制器图5-5关键示意图:如图5-5所示。假设30H单元存储键值。K1是“加1”键,K2是“减1”键。程序如下:ORG0000HAJMPMAINORG0003H;中断0条目地址AJMPADDR;添加1个子程序ORG0013H;中断1入口地址。减去1个子程序ORG0033HMAIN:MOVSP,# 60hsetbex0。打开外部中断0SETBEX1。打开外部中断1SETBEA。全局中断使能sjmp $ addr: clrea。关闭全局中断增量3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年华中师大一附丘成桐少年班自主招生数学试卷(含答案详解)
- 2025年事业单位工勤技能-湖北-湖北造林管护工三级(高级工)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-湖北-湖北管道工四级(中级工)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-湖北-湖北园林绿化工三级(高级工)历年参考题库典型考点含答案解析
- 2025年房地产市场区域分化与投资策略的人工智能研究报告
- 化工园区安全环保提升项目2025年社会稳定风险评估与风险评估产业融合报告
- 2025-2030中国窄带钢企业竞争策略与投融资风险预测报告
- 2025年事业单位工勤技能-江西-江西经济岗位工一级(高级技师)历年参考题库含答案解析(5套)
- 2025年事业单位工勤技能-江西-江西堤灌维护工四级(中级工)历年参考题库含答案解析(5套)
- 2025年事业单位工勤技能-江苏-江苏城管监察员二级(技师)历年参考题库含答案解析
- 新版煤矿安全规程解读
- 儿童自闭症教学方法
- 五年级下学期数学期末质量分析
- 北京市通州区2024-2025学年七年级下学期期末道德与法治试题(含答案)
- 2025年甘肃高速公路处收费人员招聘考试(公共基础知识)历年参考题库含答案详解(5套)
- 2025年新版节能减排生态环保知识竞赛考试题库及答案
- 2025年重庆交安考试题库及答案
- 高中数学《新课程标准》考试试题及答案
- 2025年岗前安全培训试题及答案
- 2025年甘肃兰州市事业单位招考笔试《公共基础知识》题库(共50题)及答案
- 地铁站基坑施工监测方案
评论
0/150
提交评论