【文件属性】:
文件名称:51单片机 汇编 IO发音系列 小喇叭爬音演奏
文件大小:3KB
文件格式:RAR
更新时间:2015-10-29 09:11:36
51单片机 汇编 IO发音系列 爬音演奏
51单片机 汇编 IO发音系列 小喇叭爬音演奏
;小喇叭的爬音演奏,即do,rui,mi,fa,so,la,xi,do
;30h=步进值,21h低8位 22h高8位
org 0000h
ajmp main
org 000bh
jmp tim0
org 0030h
main: ;主程序
mov tmod,#01h ;设定时方式
mov ie,#82h ;开中断
start0:
mov 30h,#00h ;
next: mov a,30h
jnz sing ;根据音调决定是否演奏.
clr tr0
jmp d1
sing: dec a
mov 22h,a ;将音调存入22H.
rl a
mov dptr,#table1
movc a,@a+dptr ;根据音调决定定时器初值.
mov th0,a ;放入TH0
mov 21h,a
mov a,22h
rl a
inc a
movc a,@a+dptr
mov tl0,a ;放入TL0
mov 20h,a
jz end0 ;如果到了00则停止发音
setb tr0 ;启动定时
d1: call delay
inc 30h ;取下一个码
jmp next
end0: clr tr0
jmp start0 ;重新开始
tim0: ;定时器中断服务程序
push acc
push psw
mov tl0,20h ;重赋初值.
mov th0,21h
cpl p3.2
pop psw
pop acc
reti
delay: mov r7,#03h ;延时子程序 决定每个音的时间
d2: mov r4,#187
d3: mov r3,#248
djnz r3,$
djnz r4,d3
djnz r7,d2
ret
table1: ;决定音调的定时初值.
【文件预览】:
小喇叭的爬音演奏
----_desktop.ini(9B)
----UNTITLED.DSK(4KB)
----小喇叭的爬音演奏.ASM(1KB)
----小喇叭的爬音演奏.HEX(420B)
----小喇叭的爬音演奏.BIN(164B)