⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 int8led.asm

📁 我实验板带的实验程序
💻 ASM
字号:
;开机8个灯循环, 按p32后暂停,小喇叭响,松开继续循环,中断的典型应用。
;***************************************************************************
;*  sxj1974@163.com		     (51c51 test web)     www.8951.com     *
;*  Create by :石学军      www.51c51.com 更多例程请登陆网站        	   *
;***************************************************************************
org 00h;开始
jmp start;跳到主程序
org 03h;int0中断入口(p32)
jmp ext0;到中断子程序
start: mov ie,#10000001b;中断使能
mov ip,#00000001b;中断优先
mov tcon,#0000000b;中断为电平触发
mov sp,#70h;堆栈指针

main:;主程序循环点亮
	mov	p1,#00h		;全亮
	lcall	delay		;延时一段时间
	mov	a,#0feh		;每次只亮一个灯。
loop:	mov	p1,a		;输出到p1
	lcall	delay		;	延时
	rl	a		;循环左移。
	ajmp	loop		; 跳转main继续循环
ext0: push acc	;(把A的值压入堆栈,保存A)
push psw	;(保存现场)
cpl p3.3	; 小喇叭响
call deL	;小喇叭响的速率
pop psw		; 恢复现场
pop acc
reti
delay: mov r5,#20;延时子程序1闪烁灯调用
d1:mov r6,#20
d2: mov r7,#250
djnz r7,$
djnz r6,d2
djnz r5,d1
ret
del:   ;延时子程序2小喇叭调用
mov r4,#250
djnz r4,$
ret
end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -