51单片机汇编语言音乐程序Word文档下载推荐.docx
《51单片机汇编语言音乐程序Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《51单片机汇编语言音乐程序Word文档下载推荐.docx(17页珍藏版)》请在冰豆网上搜索。
![51单片机汇编语言音乐程序Word文档下载推荐.docx](https://file1.bdocx.com/fileroot1/2023-1/22/a1e1ba1f-25b0-4347-9d28-d227d2a5fae5/a1e1ba1f-25b0-4347-9d28-d227d2a5fae51.gif)
SETBTR0
SETBTR1
SETBNEXT
JBNEXT,$
JMPYD
PD:
CJNEA,#00H,L1
INCDPH
L1:
RET
;
音调产生子程序
TONE:
CPLP2.0
RETI
节拍产生子程序
BEAT:
DJNZR5,L2
L3:
L2:
CLRTR0
CLRTR1
CLRNEXT
JMPL3
两只老虎音符表
TAB:
DB0FBH,0F9H,08H,0FCH,066H,08H,0FCH,0C7H,08H,0FBH,0F9H,08H
DB0FCH,0C7H,08H,0FCH,0F3H,08H,0FDH,4AH,10H,0FCH,0C7H,08H
DB0FCH,0F3H,08H,0FDH,4AH,08H,0FDH,4AH,04H,0FDH,95H,04H
DB0FDH,4AH,04H,0FCH,0F3H,04H,0FCH,0C7H,08H,0FBH,0F9H,08H
DB0FDH,4AH,04H,0FDH,95H,04H,0FDH,4AH,04H,0FCH,0F3H,04H
DB0FCH,0C7H,08H,0FBH,0F9H,08H,0FCH,66H,08H,0FAH,93H,08H
DB0FBH,0F9H,08H,00H,08H,0FCH,66H,04H,0FAH,93H,08H
DB0FBH,0F9H,08H,00H,10H,0FFH,0FFH
END
02祝你平安
ORG0000H
LJMPSTART
ORG000BH
INC20H;
中断服务,中断计数器加1
MOVTH0,#0D8H
MOVTL0,#0EFH;
12M晶振,形成10毫秒中断
RETI
START:
MOVSP,#50H
MOVTL0,#0EFH
MOVTMOD,#01H
MOVIE,#82H
MUSIC0:
NOP
MOVDPTR,#DAT;
表头地址送DPTR
MOV20H,#00H;
中断计数器清0
MOVB,#00H;
表序号清0
MUSIC1:
CLRA
MOVCA,@A+DPTR;
查表取代码
JZEND0;
是00H,则结束
CJNEA,#0FFH,MUSIC5
LJMPMUSIC3
MUSIC5:
MOVR6,A
INCDPTR
MOVA,B
取节拍代码送R7
MOVR7,A
SETBTR0;
启动计数
MUSIC2:
CPLP3.3
MOVA,R6
MOVR3,A
LCALLDEL
MOVA,R7
CJNEA,20H,MUSIC2;
中断计数器(20H)=R7否?
不等,则继续循环
等于,则取下一代码
;
INCB
LJMPMUSIC1
MUSIC3:
CLRTR0;
休止100毫秒
MOVR2,#0DH
MUSIC4:
MOVR3,#0FFH
DJNZR2,MUSIC4
END0:
MOVR2,#64H;
歌曲结束,延时1秒后继续
MUSIC6:
MOVR3,#00H
DJNZR2,MUSIC6
LJMPMUSIC0
DEL:
DEL3:
MOVR4,#02H
DEL4:
DJNZR4,DEL4
DJNZR3,DEL3
RET
DAT:
db26h,20h,20h,20h,20h,20h,26h,10h,20h,10h,20h,80h,26h,20h,30h,20h
db30h,20h,39h,10h,30h,10h,30h,80h,26h,20h,20h,20h,20h,20h,1ch,20h
db20h,80h,2bh,20h,26h,20h,20h,20h,2bh,10h,26h,10h,2bh,80h,26h,20h
db30h,20h,30h,20h,39h,10h,26h,10h,26h,60h,40h,10h,39h,10h,26h,20h
db30h,20h,30h,20h,39h,10h,26h,10h,26h,80h,26h,20h,2bh,10h,2bh,10h
db2bh,20h,30h,10h,39h,10h,26h,10h,2bh,10h,2bh,20h,2bh,40h,40h,20h
db20h,10h,20h,10h,2bh,10h,26h,30h,30h,80h,18h,20h,18h,20h,26h,20h
db20h,20h,20h,40h,26h,20h,2bh,20h,30h,20h,30h,20h,1ch,20h,20h,20h
db20h,80h,1ch,20h,1ch,20h,1ch,20h,30h,20h,30h,60h,39h,10h,30h,10h
db20h,20h,2bh,10h,26h,10h,2bh,10h,26h,10h,26h,10h,2bh,10h,2bh,80h
db18h,20h,18h,20h,26h,20h,20h,20h,20h,60h,26h,10h,2bh,20h,30h,20h
db30h,20h,1ch,20h,20h,20h,20h,80h,26h,20h,30h,10h,30h,10h,30h,20h
db39h,20h,26h,10h,2bh,10h,2bh,20h,2bh,40h,40h,10h,40h,10h,20h,10h
db20h,10h,2bh,10h,26h,30h,30h,80h,00H
03生日歌
JMPSTART
ORG000BH
JMPTIM0
ORG0030H
MOVTMOD,#01H
START0:
MOV30H,#00H
NEXT:
MOVA,30H
MOVDPTR,#TABLE
MOVCA,@A+DPTR
MOVR2,A
JZEND0
ANLA,#0FH
MOVR5,A
MOVA,R2
SWAPA
JNZSING
CLRTR0
JMPD1
SING:
DECA
MOV22H,A
RLA
MOVDPTR,#TABLE1
MOVTH0,A
MOV21H,A
MOVA,22H
INCA
MOVTL0,A
MOV20H,A
SETBTR0
D1:
CALLDELAY
INC30H
JMPNEXT
CLRTR0
JMPSTART0
TIM0:
PUSHACC
PUSHPSW
MOVTH0,21H
MOVTL0,20H
CPLP3.7
POPPSW
POPACC
RETI
DELAY:
MOVR7,#02
D2:
MOVR4,#187
D3:
MOVR3,#248
DJNZR3,$
DJNZR4,D3
DJNZR7,D2
DJNZR5,DELAY
RET
TABLE1:
DW64260,64400,64524,64580
DW64684,64777,64820,64898
DW64968,65030,65058,65110
DW65157,65178,65217
TABLE:
DB82H,01H,81H,94H,84H
DB0B4H,0A4H,04H
DB0C4H,0B4H,04H
DB82H,01H,81H,0F4H,0D4H
DB0B4H,0A4H,94H
DB0E2H,01H,0E1H,0D4H,0B4H
DB00H
END
04八月桂花香
LJMPSTART
INC20H;
MOVTH0,#0D8H
MOVTL0,#0EFH;
RETI
MOVSP,#50H
MOVTL0,#0EFH
MOVIE,#82H
NOP
MOVDPTR,#DAT;
MOV20H,#00H;
CLRA;
A清零
MOVCA,@A+DPTR;
JZEND0;
CJNEA,#0FFH,MUSIC5;
如果是休止符,往下执行
LJMPMUSIC3
MOVR6,A;
R6=18H音符的频率
INCDPTR;
DPTR加一
MOVA,#0
MOVR7,A;
R7=30H音符发音的时间
SETBTR0;
CPLP2.3;
P2.3是音乐输出引脚
MOVA,R6
MOVR3,A;
籖3=R6=18H
LCALLDEL
MOVA,R7
CJNEA,20H,MUSIC2;
INCDPTR
LJMPMUSIC1
NOP;
CLRTR0
MOVR2,#0DH;
R2=13
MOVR3,#0FFH;
R3=255
DJNZR2,MUSIC4
MOVR2,#0FFH;
MOVR3,#00H
DJNZR2,MUSIC6
LJMPMUSIC0
MOVR4,#02H
DJNZR4,DEL4
DJNZR3,DEL3
RET
DB18H,30H,1CH,10H
DB20H,40H,1CH,10H
DB18H,10H,20H,10H
DB1CH,10H,18H,40H
DB1CH,20H,20H,20H
DB1CH,20H,18H,20H
DB20H,80H,0FFH,20H
DB30H,1CH,10H,18H
DB20H,15H,20H,1CH
DB20H,20H,20H,26H
DB40H,20H,20H,2BH
DB20H,26H,20H,20H
DB20H,30H,80H,0FFH
DB20H,20H,1CH,10H
DB18H,10H,20H,20H
DB26H,20H,2BH,20H
DB30H,20H,2BH,40H
DB20H,20H,1CH,10H
DB18H,10H,20H,20H
DB26H,20H,2BH,20H
DB30H,20H,2BH,40H
DB20H,30H,1CH,10H
DB18H,20H,15H,20H
DB1CH,20H,20H,20H
DB26H,40H,20H,20H
DB2BH,20H,26H,20H
DB20H,20H,30H,80H
DB20H,10H,1CH,10H
DB20H,20H,26H,20H
DB2BH,20H,30H,20H
DB2BH,40H,20H,15H
DB1FH,05H,20H,10H
DB1CH,10H,20H,20H
DB26H,20H,2BH,20H
DB20H,20H,30H,30H
DB20H,30H,1CH,10H
DB18H,40H,1CH,20H
DB20H,20H,26H,40H
DB13H,60H,18H,20H
DB15H,40H,13H,40H
DB18H,80H,00H
end
05兰花草
SPKEQUP3.3;
蜂鸣器所在端口
ORG0000H
JMPSTART
MOVA,R3
MOVCA,@A+DPTR
JZSTART
INCR3
MOVR2,A
ACALLSONG
SJMPNEXT
===============================================================================
===歌曲播放子程序===
SONG:
MOVA,R2;
取出节拍
RLA
JNZKEEP
MOVA,#01H
KEEP:
REPEAT:
ACALLEIGHTH
DJNZR2,REPEAT
===产生1/8拍延时子程序===
EIGHTH:
MOVA,R7;
查表取出廷时参数,保存到R4
MOVDPTR,#DELAY_T
MOVR4,A
查表取出1/8拍周期数,保存到R5
MOVDPTR,#S_PARA
MOVR5,A
NEXTCYC:
ACALLSOUND
DJNZR5,NEXTCYC
===发声子程序===
SOUND:
SETBSPK
ACALLSDELAY
CLRSPK
===延时子程序===
SDELAY:
MOVA,R4;
廷时值在R4内
MOVR0,A
XL2:
MOVR1,#03H
DL1:
DJNZR1,DL1
DJNZR0,XL2
===1/8拍周期表===
S_PARA:
DS1DH
DB15H,16H,00
DB19H,00H,1CH,00H,1FH,21H,00H,25H
DB00H,29H,2CH,00H,31H,34H,37H,00H
DB3EH,41H,00H,49H,00H,52H,57H,00H
DB62H
===延时参数表===
DELAY_T:
DB7EH,77H,00H
DB6AH,00H,5EH,00H,54H,4FH,00H,46H
DB00H,3FH,3BH,00H,35H,32H,2FH,00H
DB2AH,27H,00H,23H,00H,1FH,1DH,0C0H
DB1AH
===歌曲表===
DW2202H,2902H,2902H,2902H,2906H,2702H;
我从山中来
DW2502H,2702H,2502H,2402H,2208H;
带着兰花草
DW2E02H,2E02H,2E02H,2E02H,2E06H,2C02H;
种在小园中
DW2902H,2C02H,2D02H,2A02H,2908H;
祈祷花开早
DW2902H,2E02H,2E02H,2C02H,2906H,2702H;
一日看三回
DW2502H,2702H,2502H,2402H,2206H,1D02H;
看得花时过
DW1D02H,2502H,2502H,2402H,2206H,2902H;
兰花却依然
DW2702H,2502H,2402H,2002H,2208H;
苞也无一个
DW0000H;
END
出师表
两汉:
诸葛亮
先帝创业未半而中道崩殂,今天下三分,益州疲弊,此诚危急存亡之秋也。
然侍卫之臣不懈于内,忠志之士忘身于外者,盖追先帝之殊遇,欲报之于陛下也。
诚宜开张圣听,以光先帝遗德,恢弘志士之气,不宜妄自菲薄,引喻失义,以塞忠谏之路也。
宫中府中,俱为一体;
陟罚臧否,不宜异同。
若有作奸犯科及为忠善者,宜付有司论其刑赏,以昭陛下平明之理;
不宜偏私,使内外异法也。
侍中、侍郎郭攸之、费祎、董允等,此皆良实,志虑忠纯,是以先帝简拔以遗陛下:
愚以为宫中之事,事无大小,悉以咨之,然后施行,必能裨补阙漏,有所广益。
将军向宠,性行淑均,晓畅军事,试用于昔日,先帝称之曰“能”,是以众议举宠为督:
愚以为营中之事,悉以咨之,必能使行阵和睦,优劣得所。
亲贤臣,远小人,此先汉所以兴隆也;
亲小人,远贤臣,此后汉所以倾颓也。
先帝在时,每与臣论此事,未尝不叹息痛恨于桓、灵也。
侍中、尚书、长史、参军,此悉贞良死节之臣,愿陛下亲之、信之,则汉室之隆,可计日而待也
。
臣本布衣,躬耕于南阳,苟全性命于乱世,不求闻达于诸侯。
先帝不以臣卑鄙,猥自枉屈,三顾臣于草庐之中,咨臣以当世之事,由是感激,遂许先帝以驱驰。
后值倾覆,受任于败军之际,奉命于危难之间,尔来二十有一年矣。
先帝知臣谨慎,故临崩寄臣以大事也。
受命以来,夙夜忧叹,恐托付不效,以伤先帝之明;
故五月渡泸,深入不毛。
今南方已定,兵甲已足,当奖率三军,北定中原,庶竭驽钝,攘除奸凶,兴复汉室,还于旧都。
此臣所以报先帝而忠陛下之职分也。
至