访问电脑版页面

导航:老古开发网手机版51单片机51单片机中断系统

浅谈51单片机2个外部中断的应用案例

导读:
关键字:
51单片机,

;51单片机的P1口上接有8只LED。

;在外部中断0输入引脚P3.2接有一只按钮开关K1。

;在外部中断1输入引脚P3.3接有一只按钮开关K2。

;要求K1和K2都未按下时,P1口的8只LED呈流水灯显示,

;仅K1(P3.2)按下时,左右4只LED交替闪烁。

;仅按下K2(P3.3)时,P1口的8只LED全部闪亮。

;两个外中断的优先级相同。

;=============================================

;用 PROTSUE 仿真界面如下:

浅谈51单片机2个外部中断的应用案例

;下列程序,可以满足要求。

ORG 0000H

SJMP MAIN

ORG 0003H

SJMP X0_INT

ORG 0013H

SJMP X1_INT

;------------------------------------

MAIN:

MOV SP, #60H

MOV IE, #85H

MOV A, #254

M_LOOP:

MOV P1, A

RL A

CALL DL_500MS

SJMP M_LOOP

;------------------------------------

X0_INT:

PUSH PSW

SETB RS1

MOV P1, #0FH

SH_0:

XRL P1, #255

CALL DL_500MS

JNB P3.2, SH_0

POP PSW

RETI

;------------------------------------

X1_INT:

PUSH PSW

SETB RS0

MOV P1, #0

SH_1:

XRL P1, #255

CALL DL_500MS

JNB P3.3, SH_1

POP PSW

RETI

;-------------------------------延时子程序

DL_500MS:

MOV R5, #9 ;1T

DL1: MOV R6, #128 ;1T

DL2: MOV R7, #215 ;1T

NOP ;1T

DL3: DJNZ R7, DL3 ;2T 2 * 215 = 430 T

DJNZ R6, DL2 ;2T [1+1+430+2] * 128 = 55552 T

DJNZ R5, DL1 ;2T [1+55552+2] * 9 = 499995 T

RET ;2T 1 + 499995 + 2 = 499998 T

;------------------------------------

END

来源:网络整理   作者:工程师2  2018/5/29 12:22:00
栏目: [ 51单片机中断系统]

相关阅读

8051单片机是几位机_8051单片机共有几个中断源

51单片机中断优先级的设置方法解析

51单片机的中断方法以及对LED显示器的控制设计

AT89S51单片机扩充外部中断源系统的设计

51单片机中断服务子程序的设计

8051单片机定时器溢出中断与CPU响应中断的时间误差分析

80C51单片机中断的编程使用方法介绍

51单片机中断系统的重要性

C51单片机中断函数的修饰方法

MCS-51单片机定时中断不同应用情况

MCS-51单片机定时中断的编程方法解析

MCS-51单片机中断响应的三种方法解析

51单片机外部中断请求源与内部中断请求源的用法解析

8051单片机中断系统结构及中断控制原理

C51单片机中断函数的定义及应用

8051单片机定时器溢出中断误差补偿示例

C51单片机的中断号以及中断向量

如何设置51单片机的中断优先级

8051单片机的中断响应过程解析

51单片机中断用法实例解析