第5-2章定时器与中断和串行口课件

上传人:风*** 文档编号:241971991 上传时间:2024-08-08 格式:PPT 页数:37 大小:499.12KB
返回 下载 相关 举报
第5-2章定时器与中断和串行口课件_第1页
第1页 / 共37页
第5-2章定时器与中断和串行口课件_第2页
第2页 / 共37页
第5-2章定时器与中断和串行口课件_第3页
第3页 / 共37页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,5,章,定时,/,计数器与中断系统和串行口,5.2 中断系统结构及管理,5.3 定时/计数器及中断系统综合应用,第5章 定时/计数器与中断系统和串行口5.2 中断系统,1,中断系统是计算机的重要指标之一,。,某人看书 执行主程序 日常事务,电话铃响 中断信号INT=0 中断请求,暂停看书,暂停执行主程序 中断响应,书中作记号 当前PC入栈 保护断点,电话谈话 执行I/,O,程序 中断服务,继续看书 返回主程序 中断返回,日常事务程序,中断服务程序,5.2 中断概念,人类行为计算机行为对应中断概念,中断系统是计算机的重要指标之一。日常事务程序中断服务程序5,2,5.2 中断请求与控制,图5-7 中断流程,返回本节,5.2 中断请求与控制图5-7 中断流程返回本节,3,所谓“中断”,是指CPU执行正常程序时,系统中出现特殊请求,CPU暂时中止当前的程序,转去处理更紧急的事件,处理完毕后,CPU返回原程序的过程。,中断与子程序的区别:,子程序是预先安排好的;,中断是随机发生的;,中断的定义,与子程序的区别,所谓“中断”,是指CPU执行正常程序时,系统中出现特殊请求,,4,5.2.1中断的来源-解决外部设备与CPU之间信息传送匹配问题,接口电路的作用,锁存作用,隔离作用,变换作用,联络作用,5.2.1中断的来源-解决外部设备与CPU之间信息传送匹配问,5,5.2.2,输入,/,输出控制方式,计算机CPU与I/O设备间进行信息交换的方式,即输入/输出传送的方式主要有无条件传送、程序查询传送(有条件传送)、中断传送和直接存储器传送(DMA)四种。,一、无条件传送方式,这是指计算机不考虑外围设备的状态,,CPU,可随时执行输入或输出指令,立即进行数据传送的一种方式,.,二、程序查询传送方式,程序查询传送方式是指,CPU,在与外围设备进行数据传送前,先对外围设备的状态进行查询程序查询传送方式进行数据传送时,,CPU,要不断地测试外围设备的状态。若外围设备尚未准备就绪,,CPU,只能反复查询,等待外围设备准备就绪。,5.2.2 输入/输出控制方式 计算机CPU与I/O设备,6,三、中断传送方式,提高了CPU的利用率,CPU无需等待。,四、存储器直接传送(DMA)方式,查询方式和中断方式传送数据都是由程序控制的,数据必须经,CPU,中转,使数据的传送速率受到限制。,DMA不需要CPU参与数据传送,但是价格昂贵,一般只有PC机或以上机型才配置该种方式,单片机不会配置。,三、中断传送方式,7,5.2.3中断的优越性,1,分时操作,采用中断技术能够使,CPU,与外围设备并行工作,实现分时操作,大大提高了,CPU,的利用率。,2,实时处理,实时控制是单片机系统一个重要的应用领域,它要求,CPU,对工作现场的各种参数和状态的随机变化能够快速响应并加以及时处理,而这些功能只有采用中断技术才能得以实现。,3,故障处理,计算机在运行过程中常常会突然发生故障,如电源掉电、内存出错及程序故障等。,5.2.3中断的优越性,8,5.2.4有关中断的名词解释,中断源:中断源是指向CPU发出中断请求的来源或引起中断的事件。主要有以下几种:,1外围设备 如键盘、打印机、各种传感器等。,2故障源 如电源掉电、运算溢出、程序故障等。,3实时时钟电路 如定时器等。,4,人为设置的中断源,如为调试程序而设置的断点或单步运行等。,中断的屏蔽与开放,中断响应与返回,中断优先,中断嵌套,5.2.4有关中断的名词解释,9,图5-8 MCS-51单片机中断系统的结构框图,返回,图5-8 MCS-51单片机中断系统的结构框图返回,10,5.2.5 C51,中断系统及其管理,一、中断源及中断入口,5.2.5 C51中断系统及其管理,11,5.2.6 中断系统控制(注意单片机复位后寄存器的初值),-1 中断控制寄存器TCON,1.,中断标志位,:,TF1,、,TF0,、,IE1,、,IE0,、,RI,、,TI,登记各中断源请求信号:=1,有中断请求;=0,无中断请求。,CPU响应中断后,该中断标志自动清零。TI,RI标志必须软件清零。,2.外部中断,触发方式选择位:,IT0,、,IT1,=1:负边沿触发中断请求;=0:低电平触发中断请求。,5.2.6 中断系统控制(注意单片机复位后寄存器的初值),12,5.2.6 中断系统控制,-2 中断允许寄存器IE,中断允许控制位:,EA,、,ES,、,ET1,、,EX1,、,ET0,、,EX0,=1开中断;=0关中断。,例:允许CPU响应INT0的中断请求,SETB EX0,SETB EA,5.2.6 中断系统控制-2 中断允许寄存器IE中断允,13,图5-9 中断允许寄存器IE,(注意单片机复位后寄存器的初值),返回,图5-9 中断允许寄存器IE返回,14,5.2.6 中断系统控制,-3 中断优先寄存器IP,中断优先级控制位:,PS,、,PT1,、,PX1,、,PT0,、,PX0,2级优先级:=1为高优先级,=0为低优先级。,同一优先级别按内部查询顺序排列优先级:,高,低,。,INT0、T0、INT1、T1、SI,O,5.2.6 中断系统控制-3 中断优先寄存器IP中断优,15,图5-10 中断优先寄存器IP,(注意单片机复位后寄存器的初值),返回,图5-10 中断优先寄存器IP返回,16,5.2.7 中断响应过程,一个完整的中断处理过程,一般可分为三个阶段:,中断响应,中断处理,中断返回,5.2.7 中断响应过程一个完整的中断处理过程,一般可分为,17,一、中断响应:,中断响应是对中断源提出的中断请求的接受。,单片机在每个机器周期的S5P,2,期间,顺序采样每个中断源,CPU在下一个机器周期S,6,期间按优先级顺序查询中断标志,如查询到某个中断标志为1,将在再下一个机器周期S,1,期间按优先级进行中断处理。,中断得到响应后自动清除中断标志,由硬件将程序计数器PC内容压入堆栈保护,然后将对应的中断矢量装入程序计数器PC,使程序转向中断矢量地址单元中去执行相应的中断服务程序。,下一页,一、中断响应:中断响应是对中断源提出的中断请求的接受。下一,18,中断响应的过程,1置位相应的优先级状态触发器,2清除中断源的中断请求标志,3由硬件自动生成一条长调用(LCALL)指令,通常的做法是把中断服务程序存放在其它存储区域,而在中断入口地址处安排一条跳转指令,通过跳转指令再进入中断服务程序所在的地址。,中断响应的过程,19,下列任何一种情况存在中断申请将被封锁(暂时不响应),(1)CPU正在执行一个同级或高一级的中断服务程序。,(2)当前正在执行的那条指令还未执行完。,(3)当前正在执行的指令是RETI或对IE,IP寄存器进行读/写指令,执行这些指令后至少再执行一条指令才会响应中断。,(4)发出中断请求的中断源已被设置为关中断。即中断总允许位EA=0,或者该中断源的中断允许位为“0”,返回本节,下列任何一种情况存在中断申请将被封锁(暂时不响应)(1)CP,20,各中断源中断服务程序的入口地址,中断响应时间,正常中断响应时间至少为38个机器周期,如果有同级或高级中断服务,将延长中断响应时间。,各中断源中断服务程序的入口地址中断响应时间,21,二、中断处理,中断处理又称中断服务,是指CPU从入口地址开始执行中断服务程序,直到执行完中断返回指令RETI为止的过程。,1保护现场和恢复现场 所谓现场是指中断时刻单片机存储单元中的数据或状态。,2允许中断和禁止中断 在CPU执行当前中断服务程序的过程中,往往又会有其它中断源的中断请求出现。,3执行中断服务程序主体 执行中断服务程序主体是中断处理的核心内容,也是中断源请求中断的具体目的。,二、中断处理,22,第5-2章定时器与中断和串行口课件,23,三、中断返回,中断返回是指中断服务程序执行完成后,CPU返回到断点处,继续执行原来的程序,中断返回指令:,RETI,=RET,指令+通知CPU中断服务已结束。,三、中断返回,24,5.2.8 多中断源系统,当外部中断源多于中断输入引脚(即多于两个外部中断源)时,可采取以下措施:,1.用定时器计数输入信号端T0、T1作外部中断入口引脚,2.用串行口接收端RXD作外部中断入口引脚,3.用一个中断入口接受多个外部中断源,并加入中断查询电路(如下图),5.2.8 多中断源系统当外部中断源多于中断输入引脚(即多,25,5.3 定时/计数器及中断系统综合应用,【例5.3.1】设MCS-51单片机系统时钟频率,CLK,为6MH,Z,,请编出利用定时/计数器T0在P,1.0,引脚上产生周期为2秒,占空比为50%的方波信号的程序,(1)分析:,1.T0工作方式的设定:选择方式1(16位方式),(最大定时131ms),2.定时常数的设定:,TC=2,16,-,100ms,/2s=15536=3CB0H,即:TH0应装3CH,TL0应装B0H,下一页,5.3 定时/计数器及中断系统综合应用【例5.3.1】设M,26,3.中断管理:允许T0中断,开放总中断,即:IE应装10000010B。,4.启动定时器T0:SETBTR0,5.设置软件计数器初值:(如使用R7),即R7应装0AH,6.动态停机:SJMP$,下一页,3.中断管理:允许T0中断,开放总中断下一页,27,主程序如下:,MAIN:MOVTMOD,#01H;设定T0为方式1,MOVTH0,#3CH;装入定时常数高8位,MOVTL0,#0B0H;装入定时常数低8位,MOVIE,#82H;开放T0中断,SETBTR0;启动T0,MOVR7,#0AH;设置软件计数器,SJMP$,下一页,主程序如下:下一页,28,(2)中断服务程序任务:,1)恢复T0常数;,2)软件计数器减1;,3)判断软件计数器是否为0。为0时,改变P,1.0,状态,并恢复软件计数器初值;不为0时中断返回。,程序如下:,TOINT:MOVTL0,#0B0H;恢复定时常数,MOVTH0,#3CH;,DJNZR7,NEXT,CPLP1.0,MOVR7,#0AH,NEXT:RETI,下一页,(2)中断服务程序任务:下一页,29,完整程序如下:,ORG0000H,AJMP MAIN,ORG 000BH,AJMPTOINT,ORG 0030H,MAIN:MOVTMOD,#01H,MOV TH0,#3CH,MOVTL0,#0B0H,MOV IE,#82H,SETBTR0,MOVR7,#0AH,SJMP$,TOINT:MOVTL0,#0B0H,MOVTH0,#3CH,DJNZR7,NEXT,CPLP1.0,MOVR7,#0AH,NEXT:RETI,END,下一页,完整程序如下:下一页,30,例5.3.2,要求每次按动按键,使外接发光二极管LED改变一次亮灭状态。INT0输入按键信号,P,1.0,输出改变LED状态,ORG 0000H;复位入口,AJMP MAIN,ORG0003H;中断入口,AJMPPINT0,ORG0100H;主程序,MAIN:MOV SP,#40H;设栈底,SETBEA;开总允许开关,SETBEX0;开INT0中断,SETBIT0;负跳变触发中断(1时下降沿有效),H:SJMPH ;执行其它任务,ORG0200H;中断服务程序,PINT0:CPL P1.0;改变LED,RETI;返回主程序,END,单片机,INT0,P,1.0,1,+5V,例5.3.2要求每次按动按键,使外接发光二极管LED改变一次,31,1软件等待按键释放。,2硬件清除中断信号。,解法,2.,电平触发:,避免一次按键引起多次中断响应。,单片机,INT0,P,1.0,1,+5V,ORG 0000H;复位入口,AJMP MAIN,ORG0003H;中断入口,AJMPPINT0,ORG0100H;主程序,MAIN:MOV SP,#40H;设栈底,SETBEA;开总允许开关,SETBEX0;开INT0中断,CLRIT0;低电平触发中断,(0时低电平有效),H:SJMPH ;执行其它任务,ORG0200H;中断服务程序,PINT0:CPL P1.0;改变LED,WAIT:JNBP3.2,WAIT;等按键释放,RETI;返回主程序,1软件等待按键释放。解法2.电平触发:避免一次按键引起多,32,二、用中断和查询结合的方法扩展外部中断源,其具体方法就是把待扩展的外部中断源通过逻辑电路接到外部中断输入引脚或上,同时另接一路通到单片机的某一个I/O接口上,并按各外部中断源所要求执行任务的轻重缓急对中断优先级别进行排队。这时,只要有一个外部中断源发出中断请求,其信号即通过或引脚输入,向CPU请求中断。CPU响应中断后,再通过程序查询确定是哪个中断源发出的中断请求,然后转去执行相应的中断服务子程序。,二、用中断和查询结合的方法扩展外部中断源,33,【例5.3.3】,如图,4-17,所示为一比赛抢答器的电路图。,P1,.,0P1,.,3,分别接按钮,K0K3,,,4,个按钮通过与门连接到引脚,按钮没有按下时,对应的输入线为高电平,按下时为低电平。当某一个按钮按下,相应的小彩灯就被点亮,即按下,K0,点亮,L0,,按下,K1,点亮,L1,,按下,K2,点亮,L2,,按下,K3,点亮,L3,。若几个按钮同时按下,则,CPU,按照,P1,.,0P1,.,3,的查询次序决定,K0K3,的中断优先级。试编制程序。,【例5.3.3】如图4-17所示为一比赛抢答器的电路图。P,34,比赛抢答器电路图,当某一个按钮按下,相应的小彩灯就被点亮,即按下K0点亮L0,按下K1点亮L1,按下K2点亮L2,按下K3点亮L3。若几个按钮同时按下,则CPU按照P1,.,0P1,.,3的查询次序决定K0K3的中断优先级。,比赛抢答器电路图 当某一个按钮按下,相应的小彩灯就被点亮,即,35,a),主程序流程图,b),中断服务程序流程图,K0,a)主程序流程图 b)中断服务程序流程图 K0,36,ORG 0000H,LJMP MAIN,ORG 0003H,LJMP INSE,ORG 0100H,MAIN:SETB EX0,;允许外中断中断,SETB IT0,;设为边沿触发方式,SETB EA,;CPU开中断,SJMP$,ORG0200H,INSE:JNBP1.0,L0,JNBP1.1,L1,JNBP1.2,L2,CLRP1.7,BACK:RETI,L0:CLRP1.4,SJMPBACK,L1:CLRP1.5,SJMPBACK,L2:CLRP1.6,SJMPBACK,ORG 0000HORG0200H,37,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!