欢迎来到天天文库
浏览记录
ID:20043052
大小:663.00 KB
页数:19页
时间:2018-10-09
《第8章中断系统-4(中断请求的撤消外部中断扩充)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第8章中断系统中断处理过程中断请求的撤销CPU响应某中断请求后,在中断返回前,应该撤消该中断请求,否则会引起另一次中断。MCS—51各中断源请求撤消的方法各不相同。1.定时中断请求的撤销2.脉冲方式外部中断请求的撤销3.电平方式外部中断请求的撤销4.串行中断软件撤销中断请求的撤销对于定时器T0或T1溢出中断,CPU在响应中断后,就用硬件清除了有关的中断请求标志TF0或TFl,即中断请求是自动撤除的,无需采取其他措施。定时中断请求的撤销对于边沿激活的外部中断,CPU在响应中断后,也是用硬件自动清除有关的中断请求标志IE0或IEl,无需采取其他措施.脉冲方式外部中断请求的撤销对电平方式的外部中断
2、,中断标志的撤消是自动的,但中断请求信号的低电平可能继续存在,在以后机器周期采样时,又会把已清0的IE0或IE1重新置1,因为在硬件上CPU对INT0和INT1引脚的信号不能控制,所以这个问题要通过硬件,再配合软件来解决。电平触发外部中断请求的撤销电平方式外部中断请求的撤消电路方案之一:外部中断请求信号不直接加在INT0或INT1上,而是加在D触发器的CLK端。由于D端接地,当外部中断请求信号出现在CLK端时,INT0或INT1为低,发出中断请求。电平触发外部中断请求的撤销电平方式外部中断请求的撤消电路用P1.0接在触发器的S端作为应答线,当CPU响应中断后可使用如下两条指令:CLRP1.0
3、SETBP1.0执行第一条指令使P1.0输出为“0”,其持续时间为2个机器周期,足以使D触发器置位,从而撤除中断请求。执行第二条指令使P1.0变为“1”,否则D触发器的S端始终有效,INT0端始终为“1”,无法再次申请中断。电平触发外部中断请求的撤销对于串行口中断,CPU响应中断后,没有用硬件清除TI和RI,而是靠软件来清除相应的标志。串行口中断软件撤销51单片机有2个外部中断请求输入端INT0和INT1,实际应用中,若外部中断源有2个以上,需扩充外部中断源。扩充外部中断源1、用不到定时器中断,才用它扩充。2、需设为计数方式,因为计数器方式脉冲来自外部,才可用来扩充外部中断。3、计数器初值设
4、为满量程,如送“0FFH”,来一个脉冲计数器就加1产生中断。(可设为方式2)用定时器扩充外部中断源利用51的两根外部中断输入线,每一中断输入线可以连接多个外部中断源,同时利用输入端口线作为各中断源的识别线。中断与查询相结合的方法扩充中断与查询相结合的方法扩充ORG0003HLJMPINTRP0;中断服务程序入口…………INTRP0:PUSHPSW;中断查询程序PUSHAJBP1.0,DV1JBP1.1,DV2JBP1.2,DV3JBP1.3,DV4EXIT:POPAPOPPSWRETIDV1:……装置1的中断服务程序AJMPEXITDV2:……装置2的中断服务程序AJMPEXITDV3:……
5、装置3的中断服务程序AJMPEXITDV4:……装置4的中断服务程序AJMPEXIT中断程序的设计与应用中断应用举例例8.1(P194)利用定时器T0定时,在P1.0端输出方波,其周期为20ms,已知晶振频率为12MHz。中断程序的设计与应用解:T0的中断服务程序入口地址为000BH,定时器T0的初值:X=65536-10000=55536=D8F0HORG0000HLJMPMAIN……ORG000BHLJMPSUB1……中断程序的设计与应用ORG30HMAIN:MOVTMOD,#01HMOVTH0,#0D8HMOVTL0,#0F0HMOVIE,#82HSETBTR0HERE:SJMPHER
6、E……中断程序的设计与应用SUB1:MOVTH0,#0D8HMOVTL0,#0F0HCPLP1.0RETI……
此文档下载收益归作者所有