sl03.asm

来自「单片机开发资料光盘-双龙-686M.zip」· 汇编 代码 · 共 52 行

ASM
52
字号
;***********************************************
;*LED按钮(PC5)控制,LED灯(PB4-5),轮流闪烁。
;*请你修改程序,改变LED灯闪烁的快慢。
;*AT90S8515      8MHz     
;*双龙电子   www.sl.com.cn
;*	   liqing	2002.05.08
;************************************************
.include "8515def.inc"
.org	$000
	rjmp	sl03
.org	$020

sl03:	
	ldi r17,$02	;栈指针置初值SP=0x025F
	ldi r16,$5f
	out sph,r17
	out spl,r16
	ldi r16,$00	;PC口输入,内部上拉
	ldi r17,$ff	
	out ddrc,r16
	out ddrb,r17	;PB口输出
	out portc,r17
	out portb,r17
start3:	
	in r16,pinc	;读取C口管脚状态判键是否按下
	sbrs r16,5	
	rjmp	shan	;键按下,两LED轮流闪烁
	ldi r17,$ff	;无键按下,灯灭
	out portb,r17
	rjmp	start3	;循环检测
shan:	ldi r17,$ef	;熄LED5
	out portb,r17
	rcall	time	;调用延时程序
	ldi r17,$df	;熄LED4
	out portb,r17
	rcall	time
	rjmp	start3	;循环检测

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 + =
减小字号Ctrl + -
显示快捷键?