MCS-51(80C51)外部中断源的扩展:当实际的单片机应用系统需要用到两个以上的外部中断源时,就需要对单片机的外部中断源进行扩展。扩展的方法通常有以下3种。
1)借用定时器溢出中断扩展外部中断源。
2)采用查询法扩展外部中断源。
3)采用外接可编程序中断扩展芯片(如8259中断控制器)扩展外部中断源。
例4-3:根据图4-8,外部中断1为边沿触发的外部中断源,当按下按键K1,产生外部中断1信号,单片机读取输入信号P1.0~P1.3引脚,将采样到的信号转换为输出信号去驱动相应发光二极管的亮灭,单片机的工作频率为11.0592MHz,编写相应驱动程序。
图4-8 外部中断1驱动发光二极管
解:程序清单如下:
/***汇编语言中断方式***/
ORG 0000H
LJMP MAIN;上电转向主程序
ORG 0013H;外部中断1入口地址
LJMP EXINT1;指向中断服务子程序
ORG 0100H;主程序
MAIN:MOV SP,#50H
SETB IT1;选择边沿触发方式
SETB EX1;允许外部中断1
SETB EA;CPU允许中断
HERE:AJMP HERE;主程序踏步(www.xing528.com)
/***以下是中断服务子程序***/
EXINT1:MOV P1,#0FFH
MOV A,P1;读取P1口输入信号
SWAP A;将采样到的信号转换为输出信号
MOV P1,A;输出信号驱动发光二极管
RETI;中断返回
END
/***汇编语言查询方式***/
ORG 0000H
START:SETB IT1
HERE:JB P3.3 HERE
EXINT1:MOV P1,#0FFH
MOV A,P1
SWAP A
MOV P1,A
AJMP HERE
END
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。