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

📄 int8led.asm

📁 这是一个八路跑马灯的实验在单片机做跑马灯时经常用到 希望能对大家有帮助
💻 ASM
字号:
;********************************************************************************
;开机8个灯循环, 按p32后暂停,小喇叭响,松开继续循环,中断的典型应用。          *
;硬件连接:p1口8路指示灯,喇叭p3.7,按键p3.2					*
;********************************************************************************
;*  日期:  2007-3-25                                                            *
;*  版本:  3.0                                                                  *
;*  作者:  深圳学林电子有限公司     专业8051单片机教学站                        *
;*  邮箱: sxj1974@163.com                                                       *
;*  网站: http://www.51c51.com     http://www.8951.com    更多例程请登陆网站   *
;********************************************************************************
;*  硬件:此程序在本公司xlisp系列单片机实验仪运行通过                           *
;********************************************************************************
;* 【版权】 Copyright(C)深圳学林电子有限公司 www.51c51.com  All Rights Reserved *
;* 【声明】 此程序仅用于学习与参考,引用请注明版权和作者信息!                  *
;********************************************************************************
	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 + -