MCS-51单片机中断系统应用.pptx
单片机原理与接口技术建设线上线下混合金课、系统打造一流课堂
MCS-51单片机中断系统与定时器计数器北京石油化工学院曹建树jianshu@bipt.edu.cnQQ:2245682503北京石油化工学院
MCS-51单片机中断系统应用中断初始化1.设置堆栈指针SP设置适宜的堆栈深度:(1)深度要求不高且工作寄存器组1~3不用时,可维持复位时状态:SP=07H,深度为24B(20H~2FH为位寻址区)。(2)要求有一定深度时,可设SP=60H或50H,这时深度分别为32B和48B。2.定义中断优先级根据中断源的轻重缓急,划分高优先级和低优先级。3.定义外部中断触发方式一般情况下,应定义边沿触发方式为宜。若外部中断必须采用电平触发方式时,应在硬件电路上和中断服务程序中采取撤除中断请求信号的措施。4.开放中断由于AT89C51采用了二级中断控制方式,因此开放中断必须同时开放二级中断控制,即同时置位EA和需要开放中断的中断允许控制位。
要求每次按动按键,使外接发光二极管LED改变一次亮灭状态。例1解:INT0输入按键信号,P1.0输出改变LED状态。1.跳变触发:每次跳变引起一次中断请求。 ORG 0000H AJMPMAIN ORG 0003H ;中断入口 AJMP PINT0 ORG 0100H ;主程序MAIN:SETB EA ;开总允许开关 SETB EX0 ;开INT0中断 SETB IT0 ;负跳变触发中断Here: SJMP Here ;相当于执行其它任务 ORG 0200H ;中断服务程序PINT0:CPLP1.0 ;改变LED RETI ;返回主程序单片机INT0P1.01+5VMCS-51单片机中断系统应用
2.电平触发:避免一次按键引起多次中断响应。(1)软件等待按键释放。(2)硬件清除中断信号。 ORG 0000H; AJMPMAIN ORG 0003H ;中断入口 AJMP PINT0 ORG 0100H ;主程序MAIN:SETB EA ;开总允许开关 SETB EX0 ;开INT0中断 CLR IT0 ;低电平触发中断Here: SJMP Here ;相当于执行其它任务 ORG 0200H ;中断服务程序PINT0:CPLP1.0 ;改变LEDWAIT:JNB P3.2,WAIT ;等按键释放 RETI ;返回主程序单片机INT0P1.01+5VMCS-51单片机中断系统应用
使8只LED灯每隔1s左移一次,当外部中断P3.2出现时8个LED灯闪烁5次,闪烁完后返回主程序运行。例2MCS-51单片机中断系统应用
ORG0000H LJMPSTART ORG0003H LJMPEXT ORG0100HSTART: MOVSP,#50H MOVIE, MOVIP, MOVR1,#0FEHABC: MOVA,R1 MOVP1,A LCALLDELAY RLA MOVR1,A SJMPABC外部中断服务程序,闪烁EXT: PUSHACC PUSHPSW MOVA,#00 MOVR2,#10LOOP3: MOVP1,A ACALLDELAY CPLA DJNZR2,LOOP3 POPPSW POPACC RETI ;延时程序DELAY: MOVR5,#20D1: MOVR6,#20D2: MOVR7,#248D3: DJNZR7,D3 DJNZR6,D2 DJNZR5,D1 RET ENDMCS-51单片机中断系统应用
用AT89S51的P1.0~P1.6控制注塑机的七道工序,现模拟控制七只发光二极管的点亮,低电平有效,设定每道工序时间转换为延时,P3.4为开工启动开关,高电平启动。P3.3为外部故障输入模拟开关,低电平报警,P1.7为报警声音输出,设定6道工序只有一位输出,第七道工序三位输出。例3要点分析P3.4为开工启动开关,高电平启动硬件:P3.4外接开关软件:PO11:JNBP3.4,PO11P3.3为外部故障输入模拟开关,低电平报警硬件:P3.3外接开关软件:入口地