📄 sl03.asm
字号:
;***********************************************
;*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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -