5.5 外部中断扩展方法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5. 5 外部中断扩展方法
C51单片机有两个外部中断请求输入端(INT0和 INT1)。实际应用中,若外部中断源有两个以上, 则需要扩展外部中断源。 常用扩展方法: ◇ 利用定时器扩展外部中断源 ◇ 中断加查询扩展外部中断源 ◇ 利用编码器等数字集成电路扩展
一、利用定时器扩展外部中断源
思路:当定时器设置为计数方式时,计数初值设置 为满量程FFH。一旦外部信号从计数器引脚输入一 个负跳变信号,计数器加1产生溢出中断,从而转 去处理该外部中断源的请求。 方法:将外部中断源信号接至T0或T1引脚;该定 时器的溢出中断标志及中断服务程序作为扩充外部 中断源的标志和中断服务程序。程序中把定时器设 置为计数方式时,计数初值设置为满量程FFH。
DV1: … 装置1的中断服务程序 AJMP EXIT DV2: … 装置2的中断服务程序 AJMP EXIT DV3: … 装置3的中断服务程序 AJMP EXIT DV4: … 装置4的中断服务程序 AJMP EXIT
二、中断加查询扩展外部中断源
思路:每一根中断输入线可以通过“线与”的关系 连接多个外部中断源,同时利用输入端口线作为各 个中断源的识别线。 +5V
INT1 INT0
装置1 装置2 装置3 装置4
89wk.baidu.com51
P1.3 P1.2 P1.1 P1.0
ORG 0003H LJMP INTRP ;INT0中断服务程序入口 ORG 1000H INTRP:PUSH PSW PUSH A JB P1.0, DV4 JB P1.1, DV3 JB P1.2, DV2 JB P1.3, DV1 EXIT: POP A POP PSW RETI
例如:将定时器T0设定为方式2(自动恢复计数初 值),TH0和TF0的初值均设置为FFH,允许T0中断, CPU开放中断,源程序如下:
MOV TMOD,#06H MOV TH0,#0FFH MOV TL0,#0FFH SETB TR0 SETB ET0 SETB EA ……
T0引脚每输入一个负跳变,TF0都会置1,向CPU请 求中断。 T0脚相当于边沿触发的外部中断源输入线。
C51单片机有两个外部中断请求输入端(INT0和 INT1)。实际应用中,若外部中断源有两个以上, 则需要扩展外部中断源。 常用扩展方法: ◇ 利用定时器扩展外部中断源 ◇ 中断加查询扩展外部中断源 ◇ 利用编码器等数字集成电路扩展
一、利用定时器扩展外部中断源
思路:当定时器设置为计数方式时,计数初值设置 为满量程FFH。一旦外部信号从计数器引脚输入一 个负跳变信号,计数器加1产生溢出中断,从而转 去处理该外部中断源的请求。 方法:将外部中断源信号接至T0或T1引脚;该定 时器的溢出中断标志及中断服务程序作为扩充外部 中断源的标志和中断服务程序。程序中把定时器设 置为计数方式时,计数初值设置为满量程FFH。
DV1: … 装置1的中断服务程序 AJMP EXIT DV2: … 装置2的中断服务程序 AJMP EXIT DV3: … 装置3的中断服务程序 AJMP EXIT DV4: … 装置4的中断服务程序 AJMP EXIT
二、中断加查询扩展外部中断源
思路:每一根中断输入线可以通过“线与”的关系 连接多个外部中断源,同时利用输入端口线作为各 个中断源的识别线。 +5V
INT1 INT0
装置1 装置2 装置3 装置4
89wk.baidu.com51
P1.3 P1.2 P1.1 P1.0
ORG 0003H LJMP INTRP ;INT0中断服务程序入口 ORG 1000H INTRP:PUSH PSW PUSH A JB P1.0, DV4 JB P1.1, DV3 JB P1.2, DV2 JB P1.3, DV1 EXIT: POP A POP PSW RETI
例如:将定时器T0设定为方式2(自动恢复计数初 值),TH0和TF0的初值均设置为FFH,允许T0中断, CPU开放中断,源程序如下:
MOV TMOD,#06H MOV TH0,#0FFH MOV TL0,#0FFH SETB TR0 SETB ET0 SETB EA ……
T0引脚每输入一个负跳变,TF0都会置1,向CPU请 求中断。 T0脚相当于边沿触发的外部中断源输入线。