?? 發聲.asm
字號:
;************* 應用筆記 樂符.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 + -