历史上的今天
今天是:2025年05月08日(星期四)
2018年05月08日 | 51单片机2个外部中断的应用
2018-05-08 来源:eefocus
;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 仿真界面如下:

;下列程序,可以满足要求.
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
史海拾趣
|
听说现在三恒星科技推出一个中国最便宜的ARM7开发板,才198元,我晕,谁了解行情啊?ARM有这么便宜的吗?高手指点一下! 小弟QQ:727887572… 查看全部问答> |
|
我单位发生一起越级跳闸。低压和高压都跳了,检查结果现场发现是一台75KW的电机角形开路所至。控制该电机电子开关发现进线空开有大量弧光烧黑。可控硅电源和阻容吸收电路炸断。电路绝缘全部破坏。请教一下各位同仁。是否是电机在运行过程中。外控没 ...… 查看全部问答> |
|
当本人把以下代码嵌入到C文件中 __asm { MRC p15,0,r10,c0,c0,0; } 编译出错的信息为: War ...… 查看全部问答> |
|
仿真输出全为0,不知道为什么 初学者求教,弄了好久都没有找出原因。 代码和注释已经上传,您给予的帮助,晚辈感激不尽!愿您身体健康,工作顺利! 代码及注释 见此附件 … 查看全部问答> |
|
请问gprs模块+zigbee模块,用手机发短信控制zigbee模块上的led点亮这个功能怎么实现 我知道是用串口控制的,很多人都说很简单,可是我还是实现不了,大家都说简单 我的代码也打好了,在串口调试助手上也测试过zigbee模块能输出AT指令,并且在串口调 ...… 查看全部问答> |




