报警声.asm
来自「单片机开发资料光盘-双龙-686M.zip」· 汇编 代码 · 共 45 行
ASM
45 行
;MEGA16的PC口发出报警声
.include"m16def.inc" ;器件配置文件
.org $0000
reset:
ldi r16,low(ramend) ;设置堆栈指针。
out spl,r16
ldi temp,high(ramend)
out sph,r16
ldi r18,0xff ;设口为输出
out ddrc,r18
ldi r19,0x80 ;报警参数
lp: sbi portc,$00 ;开pc口
rcall delay ;延时
cbi portc,$00 ;关pc口
rcall delay
dec r19 ;-1
brne lp ;r19不为0转,为0顺执
rcall delay1 ;较长延时,不发声
rjmp lp ;循环报警
delay1:ldi r17,$40 ;延时子程序,报警声快慢调节$30-$60
rcall delay0
ret
delay:ldi r17,$9 ;延时子程序,报警声频率可调$a-$7
rcall delay0
ret
delay0: ;延时子程序
d1: push r17
d2: push r17
d3: push r17
d4: dec r17
brne d4
pop r17
dec r17
brne d3
pop r17
dec r17
brne d2
pop r17
dec r17
brne d1
ret
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?