视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
51单片机:音乐盒设计控制程序(音乐汇编) - 日月环的日志 - 网易博客
2025-10-04 22:00:52 责编:小OO
文档
音符 频率 周期(半个) 初值 音符 频率 周期(半个)初值 音符 频率 周期(半个)初值

;------------------------------------------------------------------------------------------------------

;低1DO 262 1908 f88c 中1DO 523 0956 fc44 高1DO 1046 0478 fe22

;#1DO# 277 1805 #1DO# 554 0903 #DO# 1109 0451

;低2RE 294 1700 f95c 中2RE 578 0842 fcb6 高2RE 1175 0426 fe56

;#2RE# 311 1608 #2RE# 622 0804 #2RE# 1245 0402

;低3M 330 1516 fa14 中3M 659 0759 fd09 高3M 1318 0372 fe8c

;低4FA 349 1433 fa67 中4FA 698 0716 fd34 高4FA 1397 0358 fe9a

;#4FA# 370 1350 #4FA# 740 0676 #4FA# 1480 0338

;低5SO 392 1276 fb04 中5SO 784 0638 fd82 高5SO 1568 0319 fec1

;#5SO# 415 1205 #5SO# 831 0602 #5S0# 1661 0292

;低6LA 440 1136 fb90 中6LA 880 0568 fdc8 高6LA 1760 0284 fee4

;#6LA# 466 1072 #6LA# 932 0536 #6LA# 1865 0268

;低7SI 494 1012 fc0c 中7SI 988 0506 fe06 高7SI 1976 0253 ff03

;------------------------------------------------------------------------------------------------------

yfh equ 30h ;音符高位

yfl equ 31h ;音符低位

jp equ 32h ;节拍

yyd equ 33h ;

yf equ 34h ;

org 0000h

ajmp main

;--------------定时中断程序

org 000bh

cpl p2.1

mov th0,yfh

mov tl0,yfl

reti

;--------------主程序

org 0030h

main: setb p2.1

mov yyd, #00h

mov tmod,#11h

setb ea

setb et0

setb tr1

setb tr0

music:

mov dptr,#table2 ;取出音符,并存入yf单元

mov a,yyd

movc a,@a+dptr

cjne a,#00h,music1;判断音乐是否结束,结束复位

ajmp main

music1:

dec a

rl a

mov yf,a

mov a,yyd;指向节拍

inc a

mov yyd,a

mov dptr,#table1 ;取出音符初值,并存入yfh,yfl单元

mov a,yf

movc a,@a+dptr

mov yfh,a

mov a,yf

inc a

movc a,@a+dptr

mov yfl,a

mov dptr,#table2

mov a,yyd;取出音节,并存入jp

movc a,@a+dptr

mov jp,a

mov th0,yfh;送入音符初值

mov tl0,yfl

mov a,yyd ;指向下一音符

inc a

mov yyd,a

lcall delay

nop

ljmp music

delay:

mov r2,jp

del4: mov r1,#3

del3:

mov th1,#3ch

mov tl1,#0b0h

del1:

jbc tf1,del2 ;查询定时时间是否到

ajmp del1

del2:

djnz r1,del3

djnz r2,del4

ret

table1:

db 0f8h,8ch,0f9h,5ch,0fah,14h,0fah,67h,0fbh,04h,0fbh,90h,0fch,0ch ;音符表

db 0fch,44h,0fch,0b6h,0fdh,09h,0fdh,34h,0fdh,82h,0fdh,0c8h,0feh,06h

db 0feh,22h,0feh,56h,0feh,8ch,0feh,9ah,0feh,0c1h,0feh,0e4h,0ffh,03h

table2:

;歌曲---音节表

/*db 01h,04h,02h,04h,03h,04h,04h,04h,05h,04h,06h,04h,07h,04h ;歌曲表

db 08h,04h,09h,04h,0ah,04h,0bh,04h,0ch,04h,0dh,04h,0eh,04h

db 0fh,04h,10h,04h,11h,04h,12h,04h,13h,04h,14h,04h,15h,06h

db 00h*/

/*乐曲---心太软

db 0ch,02h,0ch,02h,0ah,02h,0dh,04h,0ch,02h,0ah,06h,0ah,04h,09h,02h,08h,02h,08h,04h,08h,02h

db 0fh,02h,0fh,02h,0fh,02h,0fh,02h,0dh,02h,0ch,04h,0ah,02h,0dh,02h,0ch,06h*/

;乐曲---老鼠爱大米

/*db 0ah,02h,09h,01h,08h,01h,08h,04h,0ah,02h,09h,01h,08h,01h,08h,04h,0ah,02h,09h,02h

db 0ah,02h,01h,02h,0ah,02h,0dh,01h,0ch,01h,0ch,04h,0ah,01h,0ch,01h,0dh,02h,0dh,01h,0ch,01h,0ch,02h

db 0dh,01h,0ch,01h,0ch,04h,0ah,01h,09h,01h,08h,02h,09h,02h,09h,01h,0ah,01h,09h,02h,08h,01h,09h,01h,09h,04h */

;乐曲---国歌

db 05h,02h,08h,06h,08h,02h,08h,02h,08h,02h,05h,02h,06h,01h,07h,01h,08h,04h,08h,04h

db 0ah,02h,08h,02h,09h,01h,0ah,01h,0ch,04h,0ch,04h,0ah,02h,0ah,01h,08h,02h,0ah,02h

db 0ch,02h,0ah,01h,09h,04h,09h,08h,0dh,04h,0ch,04h,09h,04h,0ah,04h,0ch,02h,0ah,02h

db 0ch,02h,0ah,02h,09h,01h,0ah,01h,08h,04h,0ah,04h,05h,02h,0dh,01h,08h,02h,08h,02h

db 0ah,02h,0ah,01h,0ch,02h,0ch,02h,09h,02h,09h,01h,09h,01h,06h,04h,09h,04h,05h,02h

db 08h,04h,08h,02h,0ah,04h,0ah,02h,0ch,08h,08h,02h,0ah,01h,0ch,02h,0ch,02h,0dh,04h

db 0ch,04h,0ah,02h,08h,01h,0ch,02h,0ch,01h,0ch,01h,0ah,03h,08h,03h,05h,04h,08h,04h

db 0ah,02h,08h,01h,0ch,02h,0ch,01h,0ch,01h,0ah,03h,08h,03h,05h,04h,08h,04h,05h,04h

db 08h,04h,05h,04h,08h,04h,08h,04h

end下载本文

显示全文
专题