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

📄 sl02.asm

📁 单片机开发资料光盘-双龙-686M.zip
💻 ASM
字号:
;************************************************
;*1S2-SW-DIP-1开关(PA4)控制LED灯(PB0-7)亮后右移。
;*请你修改程序,改为左移,或右移后左移,循环不断。
;*AT90S8515      8MHz     
;*双龙电子   www.sl.com.cn
;*	   liqing	2002.05.08
;************************************************
.include "8515def.inc"
.org	$000
	rjmp	sl02
.org	$020

sl02:	
	ldi r17,$02	;栈指针置初值SP=0x025F
	ldi r16,$5f
	out sph,r17
	out spl,r16
	ldi r16,$ef	;0b1110 1111
	ldi r17,$ff
	out ddra,r16	;PA4输入内部上拉,接开关
	out ddrb,r17    ;PB口输出,接LED灯     
	out porta,r17
	out portb,r17

start2:	
	in r16,pina  	;读取A口管脚状态判键是否按下
	sbrs r16,4
	rjmp	paomd	;有键按下调用跑马灯程序
	ldi r17,$ff	;无键则熄灭所有LED
	out portb,r17
	rjmp	start2	;循环检测
paomd:	
	ldi r17,$fe	;只点亮LED0
	out portb,r17
	rcall	time	;延时
	ldi r17,$fd	;只点亮LED1
	out portb,r17	
	rcall	time
	ldi r17,$fb	;只点亮LED2
	out portb,r17
	rcall	time
	ldi r17,$f7	;只点亮LED3
	out portb,r17
	rcall	time
	ldi r17,$ef	;只点亮LED4
	out portb,r17
	rcall	time
	ldi r17,$df	;只点亮LED5
	out portb,r17
	rcall	time
	ldi r17,$bf	;只点亮LED6
	out portb,r17
	rcall	time
	ldi r17,$7f	;只点亮LED7
	out portb,r17
	rcall	time
	rjmp	start2	;循环检测

time:			;延时
	ldi r21,$0a
loop2:	ldi r20,$ff
loop1:	ldi r19,$ff
loop:	dec r19
	brne	loop
	dec r20
	brne	loop1
	dec r21
	brne	loop2
	ret
		
	

⌨️ 快捷键说明

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