📄 音符声.asm
字号:
;************* 应用笔记SLAVR14.ASM ************************
;*
;* 标题: 音符
;* 版本: 1.0
;*最后更新日期: 2000.08.08
;*
;* 支援 E-mail: gzsl@sl.com.cn
;*
;* 描述
;* 用AVR 的I/O口发出1234567音符声
;* 作者: SL.
;*程序适用于所有单片机
;***************************************************************************
.include "8515def.inc" ;器件配置文件
.org $0000
rjmp RESET
.org $0010
RESET: ldi r16,0x02
out sph,r16
ldi r16,0x5f
out spl,r16 ;设堆栈为0X025F
ldi r16,0xff ;设口为输出状态
out ddra,r16
out ddrb,r16
out ddrc,r16
out ddrd,r16
out porta,r16 ;关口,灭LED灯
out portb,r16
out portc,r16
out portd,r16
ldi r18,0x20 ;设延时常数
ldi r17,0x01
ldi r19,0x60
loop: mov r16,r19
rcall delay ;调用延时子程序
eor r18,r17 ;异或
out portc,r18 ;输出AT90S8515的C口引脚
dec r20 ;-1
brne loop ;R20不为0转,为0顺执
subi r19,0x05 ;R19减立即数
cpi r19,0x1f ;R19与立即数比
brne loop ;R19不0为转
RJMP RESET
delay: push r16 ;2t
delay1: dec r16 ;1t
brne delay1 ;1t/2t
pop r16 ;2t
dec r16 ;1t
brne delay ;1t/2t
ret ;4t
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -