《第5章MCS-51中断系统.ppt》由会员分享,可在线阅读,更多相关《第5章MCS-51中断系统.ppt(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 第五章第五章 MCS-51MCS-51中断系统中断系统 MCS-51允许5个中断请求源,提供2个中断优先级,可实现2级中断嵌套。和中断系统相关的特殊功能 寄存器有中断优先级控制寄存器IP,中断允许控 制寄存器IE,以及中断源寄存器TCON,SCON的相 关位,中断入口地址为固定的。一、中断请求源一、中断请求源 MCS-51提供5个中断请求源,即INT0、INT1、TF0、TF1和串行口发送与接收中断请求源TI或RI。这些 中断请求源分别由TCON与SCON的相应位锁存。二、中断源控制寄存器(二、中断源控制寄存器(TCONTCON、SCONSCON)1 1TCONTCON寄存器寄存器 TCON
2、寄存器中与中断有关的位如下:D7D6D5D4D3D2D1D0TF1 TR1TF0 TR0IE1IT1IE0IT0 TF1TF1:T1T1溢出中断标志溢出中断标志 (溢出后,由硬件置“1”;响应中断后置“0”/也可软件查询清0)TF0 TF0:T0T0溢出中断标志溢出中断标志 (溢出后,由硬件置“1”,响应中断后置“0”/也可软件查询清0)IE1 IE1:外部中断请求源外部中断请求源 (INT1)(INT1)标志标志 IE1=1,表示外中断1请求中断,当CPU响应中断 后,由硬件清“0”。定时器1启动位,软件置1位启动定时器,软件清0关闭定时器。IT1IT1:外部中断源外部中断源1 1触发控制位
3、触发控制位 IT1=0:为低电平电平触发方式(INT1=0时,1IE1)必须在中断服务程序结束前INT1变高。IT1=1:为下降沿边沿触发方式(INT1由高变1IE1)高低电平时间应大于12个振荡周期。IE0IE0:外部中断外部中断0 0请求源请求源 (INT0)(INT0)标志标志 IT0IT0:外部中断外部中断0 0触发方式控制位触发方式控制位2 2SCONSCON寄存器寄存器 SCONSCON寄存器中与中断有关位如下:寄存器中与中断有关位如下:D7D6D5D4D3D2D1D0TIRI TI:串行口发送中断标志 RI:串行口接收中断标志 三、中断允许控制寄存器三、中断允许控制寄存器(IE)
4、(IE)CPU对中断是否开放,由中断允许寄存器IE控制,其 格式如下:D7D6D5D4D3D2D1D0EA/ESET1EX1ET0EX0 EA:CPU的中断开放标志 (EA=1开放,EA=0关所有中断)ES:串行口中断允许位 (ES=1允许串行口中断)ET1:定时器T1的溢出中断允许位 (ET1=1为允许)EX1:外中断1中断允许位 (EX1=1为允许)ET0:T0的溢出中断允许位 (ET0=1为允许)EX0:外部中断0中断允许位 (EX0=1为允许)2 2中断优先级控制寄存器中断优先级控制寄存器IPIP MCS-51有二个中断优先级,每一个中断源可编程为高 级中断或低级中断,实现二级中断嵌套
5、。A A中断优先级寄存器IP的格式如下:D7D6D5D4D3D2D1D0/PSPT1PX1PT0PX0PSPS:串行口中断优先级控制位,PS=1定义为高级中断否则为低PT1PT1:定时器T1中断优先级控制位,PT1=1定义为高级中断,否则为低PT0PT0:定时器T0中断优先级控制位,PT0=1定义为高级中断,否则为低 PX1PX1:外部中断1中断优先级控制位,PX1=1定义为高级 中断,否则为低 PX0PX0:外部中断0中断优先级控制位,PX0=1定义为高级 中断,否则为低 注:注:MCS-51MCS-51复位后,复位后,IPIP被清被清0 0,用户可根据需要来设置,用户可根据需要来设置 中断
6、级别中断级别。B B同级中断请求处理同级中断请求处理 在CPU接到同样优先级的几个中断请求源时,将由 查询(硬件)序列来确定响应那个中断,其查询次序 如下:外部中断0 先、中断优先级高 定时器T0中断 外部中断1 定时器T1中断 串行口中断 后、中断优先级低四、中断响应过程四、中断响应过程 1 1响应中断的条件响应中断的条件 CPU在每一个周期的“S6”采样并按优先级处理所有 被激活的中断请求,如果没有下述条件所阻止,则 将在下一个机器周期(S1)响应激活了的高级中断。A ACPU在处理同级或更高级的中断 B B现行机器周期不是指令的最后一个机器周期 C C正在执行的指令是RETI或访问IE或
7、IP指令 2 2MCS-51MCS-51中断源服务程序入口地址中断源服务程序入口地址 A A外部中断00003H B B定时器0000BH C C外部中断10013H D D定时器1001BH E E串行口中断0023H3 3中断响应过程中断响应过程 CPUCPU完成中断响应的步骤完成中断响应的步骤:A.A.1 相应的优先级状态触发器 B.B.1 中断请求源标志(TI和RI除外)C C保护断点保护断点 入口地址入口地址 PCPC 保护现场保护现场 中服程序中服程序 恢复现场恢复现场 RETI RETI 返回断点返回断点 0 0 相应的优先级状态触发器相应的优先级状态触发器五、应用举例五、应用举
8、例1.1.采用采用T1T1定时中断方式,使定时中断方式,使P1P1口上的灯一秒亮,一秒灭。口上的灯一秒亮,一秒灭。F F晶晶6MHZ6MHZ MAIN:MOV SP,#67 CPL A MOV TMOD,#10H MOV P1,A MOV TH1,#3CH LP1:MOV R7,#80H MOV TL1,#B0H LP2:DJNE R7,LP2 MOV IE,#88H SJMP LP0 MOV 30H,#00H MOV 31H,#01H SETB TR1 LP0:MOV A,31H CJNE A,#01H,LP1 MOV 31H,#00H MOV A,P1 INT-T1:MOV TH1,#3C
9、H MOV TL1,#BOH INC 30H MOV A,30H CJNE A,#OAH,LP6 LP6:JC LP7 MOV 30H,#00H MOV 31H,#01H LP7:RETI 2.2.采用采用T1T1定时定时,使使P1P1口上的灯按下面规律点亮口上的灯按下面规律点亮.F.F晶晶6MHZ6MHZ 第1秒 第2秒 第3秒 第4秒 第5秒 第6秒 第7秒 第8秒 L1.3 L2.4 L5.7 L6.8 L1234 L5678 全 全 亮 亮 亮 亮 亮 亮 亮 灭 MAIN:MOV SP,#67H ADD A,#08H MOV TMOD,#10H MOVC A,A+PC MOV TH1
10、,#3CH MOV P1,A MOV TL1,#B0H MOV R7,#80H MOV IE,#88H LP2:DJNZ R7,LP2 MOV 30H,#00H SJMP LP0 MOV 31H,#00H TAB:DB 05H,0AH,50H,A0H SETB TR1 55H,AAH,FFH,00HLP0:MOV A,31H ;1秒到标志01H CJNE A,#09H,LP1 MOV 31H,#00HLP1:MOV A,31H INT-T1:MOV TH1,#3CH MOV TL1,#BOH INC 30H ;10次计数 MOV A,30H CJNE A,#OAH,LP6 LP6:JC LP7
11、 MOV 30H,#00H INC 31H LP7:RETICJNE指令:=不转移,向下顺序执行 则C=0,转移 则C=1,转移 3.3.试设计一个时钟程序:设试设计一个时钟程序:设F F晶晶=6=6MHZHZ,用,用T0T0产生产生10mS10mS 定时中断时钟单元为:定时中断时钟单元为:30H(30H(时时),31H(),31H(分分),32H(),32H(秒秒),33H(10ms),33H(10ms)主程序主程序:MAINMAIN T0T0中断服务程序中断服务程序:ITIT_ _0 0 MAINMAIN:MOV 30H,#00H MOV TL0,#78H MOV 31H,#00H /MO
12、V IP,#02H MOV 32H,#00H MOV IE,#82H MOV 33H,#00H SETB TR0 MOV SP,#67H LP1:MOV R7,#80H MOV TMOD,#01H LP2:DJNZ R7,LP2 MOV TH0,#ECH SJMP LP1IT_0:IT_0:MOV TH0,#ECH MOV A,31H(分加1)MOV TL0,#78H ADD A,#01H INC 33H DA A MOV A,33H MOV 31H,A CJNE A,#64H,LP0 CJNE A,#60,LP3 LP0:JC LP1 LP3:JC LP1 MOV 33H,#00H MOV 31H,#00H MOV A,32H(秒加1)MOV A,30H ADD A,#01H ADD A,#01H(时加1)DA A DA A MOV 32H,A MOV 30H,ACJNE A,#60,LP2 CJNE A,#24,LP4 LP2:JC LP1 LP4:JC LP1 MOV 32H,#00H MOV 30H,#00H LP1:RETI