ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:20.71KB ,
资源ID:7265999      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7265999.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(51单片机汇编语言音乐程序.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

51单片机汇编语言音乐程序.docx

1、51单片机汇编语言音乐程序 01两只老虎 NEXT BIT 10H ;定义标志位 ORG 0000H JMP MAIN ORG 000BH JMP TONE ORG 001BH JMP BEAT ORG 0100HMAIN: MOV TMOD,#11H MOV TH0,R2 MOV TL0,R3 MOV TH1,#3CH MOV TL1,#0B0H MOV R4,#00H MOV DPTR,#TABYD: MOV A,R4 ;取音调数据 MOVC A,A+DPTR MOV R2,A XRL A,#00H JNZ JP ;直接取节拍 INC R4 CALL PD ;判断指针是否溢出 MOV A,

2、R4 MOVC A,A+DPTR MOV R3,A XRL A,#0FFH JZ JP MOV A,R2 XRL A,#0FFH JNZ MAINJP: INC R4 ;取节拍数据 CALL PD MOV A,R4 MOVC A,A+DPTR MOV R5,A SETB EA SETB ET0 SETB ET1 SETB TR0 SETB TR1 SETB NEXT JB NEXT,$ INC R4 CALL PD JMP YDPD: MOV A,R4 CJNE A,#00H,L1 INC DPHL1: RET ;音调产生子程序TONE: CPL P2.0 MOV TH0,R2 MOV TL0

3、,R3 RETI;节拍产生子程序BEAT: DJNZ R5,L2 MOV TH1,#3CH MOV TL1,#0B0HL3: RETIL2: CLR TR0 CLR TR1 CLR NEXT JMP L3;两只老虎音符表 TAB: DB 0FBH,0F9H,08H,0FCH,066H,08H,0FCH,0C7H,08H,0FBH,0F9H,08H DB 0FBH,0F9H,08H,0FCH,066H,08H,0FCH,0C7H,08H,0FBH,0F9H,08H DB 0FCH,0C7H,08H,0FCH,0F3H,08H,0FDH,4AH,10H,0FCH,0C7H,08H DB 0FCH,

4、0F3H,08H,0FDH,4AH,08H,0FDH,4AH,04H,0FDH,95H,04H DB 0FDH,4AH,04H,0FCH,0F3H,04H,0FCH,0C7H,08H,0FBH,0F9H,08H DB 0FDH,4AH,04H,0FDH,95H,04H,0FDH,4AH,04H,0FCH,0F3H,04H DB 0FCH,0C7H,08H,0FBH,0F9H,08H,0FCH,66H,08H,0FAH,93H,08H DB 0FBH,0F9H,08H,00H,08H,0FCH,66H,04H,0FAH,93H,08H DB 0FBH,0F9H,08H,00H,10H,0FFH,

5、0FFH END 02祝你平安ORG 0000H LJMP START ORG 000BH INC 20H ;中断服务,中断计数器加1 MOV TH0,#0D8H MOV TL0,#0EFH ;12M晶振,形成10毫秒中断 RETI START: MOV SP,#50H MOV TH0,#0D8H MOV TL0,#0EFH MOV TMOD,#01H MOV IE,#82H MUSIC0: NOP MOV DPTR,#DAT ;表头地址送DPTR MOV 20H,#00H ;中断计数器清0 MOV B,#00H ;表序号清0 MUSIC1: NOP CLR A MOVC A,A+DPTR ;

6、查表取代码 JZ END0 ;是00H,则结束 CJNE A,#0FFH,MUSIC5 LJMP MUSIC3 MUSIC5: NOP MOV R6,A INC DPTR MOV A,B MOVC A,A+DPTR ;取节拍代码送R7 MOV R7,A SETB TR0 ;启动计数 MUSIC2: NOP CPL P3.3 MOV A,R6 MOV R3,A LCALL DEL MOV A,R7 CJNE A,20H,MUSIC2 ;中断计数器(20H)=R7否?;不等,则继续循环 MOV 20H,#00H ;等于,则取下一代码 INC DPTR ; INC B LJMP MUSIC1 MUS

7、IC3: NOP CLR TR0 ;休止100毫秒 MOV R2,#0DH MUSIC4: NOP MOV R3,#0FFH LCALL DEL DJNZ R2,MUSIC4 INC DPTR LJMP MUSIC1 END0: NOP MOV R2,#64H ;歌曲结束,延时1秒后继续 MUSIC6: MOV R3,#00H LCALL DEL DJNZ R2,MUSIC6 LJMP MUSIC0 DEL: NOP DEL3: MOV R4,#02H DEL4: NOP DJNZ R4,DEL4 NOP DJNZ R3,DEL3 RET NOP DAT: db 26h,20h,20h,20h

8、,20h,20h,26h,10h,20h,10h,20h,80h,26h,20h,30h,20h db 30h,20h,39h,10h,30h,10h,30h,80h,26h,20h,20h,20h,20h,20h,1ch,20h db 20h,80h,2bh,20h,26h,20h,20h,20h,2bh,10h,26h,10h,2bh,80h,26h,20h db 30h,20h,30h,20h,39h,10h,26h,10h,26h,60h,40h,10h,39h,10h,26h,20h db 30h,20h,30h,20h,39h,10h,26h,10h,26h,80h,26h,20h

9、,2bh,10h,2bh,10h db 2bh,20h,30h,10h,39h,10h,26h,10h,2bh,10h,2bh,20h,2bh,40h,40h,20h db 20h,10h,20h,10h,2bh,10h,26h,30h,30h,80h,18h,20h,18h,20h,26h,20h db 20h,20h,20h,40h,26h,20h,2bh,20h,30h,20h,30h,20h,1ch,20h,20h,20h db 20h,80h,1ch,20h,1ch,20h,1ch,20h,30h,20h,30h,60h,39h,10h,30h,10h db 20h,20h,2bh,

10、10h,26h,10h,2bh,10h,26h,10h,26h,10h,2bh,10h,2bh,80h db 18h,20h,18h,20h,26h,20h,20h,20h,20h,60h,26h,10h,2bh,20h,30h,20h db 30h,20h,1ch,20h,20h,20h,20h,80h,26h,20h,30h,10h,30h,10h,30h,20h db 39h,20h,26h,10h,2bh,10h,2bh,20h,2bh,40h,40h,10h,40h,10h,20h,10h db 20h,10h,2bh,10h,26h,30h,30h,80h,00H END 03生日

11、歌 ORG 0000H JMP START ORG 000BH JMP TIM0 ORG 0030H START:MOV TMOD,#01H MOV IE,#82H START0:MOV 30H,#00H NEXT: MOV A,30H MOV DPTR,#TABLE MOVC A,A+DPTR MOV R2,A JZ END0 ANL A,#0FH MOV R5,A MOV A,R2 SWAP A ANL A,#0FH JNZ SING CLR TR0 JMP D1 SING: DEC A MOV 22H,A RL A MOV DPTR,#TABLE1 MOVC A,A+DPTR MOV T

12、H0,A MOV 21H,A MOV A,22H RL A INC A MOVC A,A+DPTR MOV TL0,A MOV 20H,A SETB TR0 D1: CALL DELAY INC 30H JMP NEXT END0: CLR TR0 JMP START0 TIM0: PUSH ACC PUSH PSW MOV TH0,21H MOV TL0,20H CPL P3.7 POP PSW POP ACC RETI DELAY: MOV R7,#02 D2: MOV R4,#187 D3: MOV R3,#248 DJNZ R3,$ DJNZ R4,D3 DJNZ R7,D2 DJNZ

13、 R5,DELAY RET TABLE1: DW 64260,64400,64524,64580 DW 64684,64777,64820,64898 DW 64968,65030,65058,65110 DW 65157,65178,65217 TABLE: DB 82H,01H,81H,94H,84H DB 0B4H,0A4H,04H DB 82H,01H,81H,94H,84H DB 0C4H,0B4H,04H DB 82H,01H,81H,0F4H,0D4H DB 0B4H,0A4H,94H DB 0E2H,01H,0E1H,0D4H,0B4H DB 0C4H,0B4H,04H DB

14、82H,01H,81H,94H,84H DB 0B4H,0A4H,04H DB 82H,01H,81H,94H,84H DB 0C4H,0B4H,04H DB 82H,01H,81H,0F4H,0D4H DB 0B4H,0A4H,94H DB 0E2H,01H,0E1H,0D4H,0B4H DB 0C4H,0B4H,04H DB 00H END 04八月桂花香ORG 0000H LJMP START ORG 000BH INC 20H ;中断服务,中断计数器加1 MOV TH0,#0D8H MOV TL0,#0EFH ;12M晶振,形成10毫秒中断 RETI START: MOV SP,#50

15、H MOV TH0,#0D8H MOV TL0,#0EFH MOV TMOD,#01H MOV IE,#82H MUSIC0: NOP MOV DPTR,#DAT ;表头地址送DPTR MOV 20H,#00H ;中断计数器清0 MUSIC1: NOP CLR A ;A清零 MOVC A,A+DPTR ;查表取代码 JZ END0 ;是00H,则结束 CJNE A,#0FFH,MUSIC5 ;如果是休止符,往下执行 LJMP MUSIC3 MUSIC5: NOP MOV R6,A ;R6=18H音符的频率 INC DPTR ;DPTR加一 MOV A,#0 MOVC A,A+DPTR ;取节拍

16、代码送R7 MOV R7,A ;R7=30H音符发音的时间 SETB TR0 ;启动计数 MUSIC2: NOP CPL P2.3 ;P2.3是音乐输出引脚 MOV A,R6 MOV R3,A ;籖3=R6=18H LCALL DEL MOV A,R7 CJNE A,20H,MUSIC2 ;中断计数器(20H)=R7否? ;不等,则继续循环 MOV 20H,#00H ;等于,则取下一代码 INC DPTR LJMP MUSIC1 MUSIC3: NOP ;休止100毫秒 CLR TR0 MOV R2,#0DH ;R2=13 MUSIC4: NOP MOV R3,#0FFH ;R3=255 LC

17、ALL DEL DJNZ R2,MUSIC4 INC DPTR LJMP MUSIC1 END0: NOP MOV R2,#0FFH ;歌曲结束,延时1秒后继续 MUSIC6: MOV R3,#00H LCALL DEL DJNZ R2,MUSIC6 LJMP MUSIC0 DEL: NOP DEL3: MOV R4,#02H DEL4: NOP DJNZ R4,DEL4 NOP DJNZ R3,DEL3 RET NOP DAT: DB 18H, 30H, 1CH, 10H DB 20H, 40H, 1CH, 10H DB 18H, 10H, 20H, 10H DB 1CH, 10H, 18H

18、, 40H DB 1CH, 20H, 20H, 20H DB 1CH, 20H, 18H, 20H DB 20H, 80H, 0FFH, 20H DB 30H, 1CH, 10H , 18H DB 20H, 15H, 20H , 1CH DB 20H, 20H, 20H , 26H DB 40H, 20H , 20H , 2BH DB 20H, 26H, 20H , 20H DB 20H, 30H , 80H , 0FFH DB 20H, 20H, 1CH , 10H DB 18H, 10H, 20H , 20H DB 26H, 20H , 2BH , 20H DB 30H, 20H , 2B

19、H , 40H DB 20H, 20H , 1CH , 10H DB 18H, 10H, 20H, 20H DB 26H, 20H , 2BH, 20H DB 30H, 20H, 2BH , 40H DB 20H, 30H, 1CH , 10H DB 18H, 20H , 15H , 20H DB 1CH, 20H , 20H , 20H DB 26H, 40H, 20H , 20H DB 2BH, 20H, 26H , 20H DB 20H, 20H, 30H , 80H DB 20H, 30H, 1CH , 10H DB 20H, 10H, 1CH , 10H DB 20H, 20H, 2

20、6H , 20H DB 2BH, 20H, 30H , 20H DB 2BH, 40H, 20H , 15H DB 1FH, 05H, 20H , 10H DB 1CH, 10H, 20H , 20H DB 26H, 20H, 2BH , 20H DB 30H, 20H, 2BH , 40H DB 20H, 30H, 1CH , 10H DB 18H, 20H , 15H , 20H DB 1CH, 20H , 20H , 20H DB 26H, 40H, 20H , 20H DB 2BH, 20H, 26H , 20H DB 20H, 20H, 30H, 30H DB 20H, 30H, 1

21、CH, 10H DB 18H, 40H, 1CH, 20H DB 20H, 20H, 26H, 40H DB 13H, 60H, 18H , 20H DB 15H, 40H, 13H , 40H DB 18H, 80H, 00H end 05兰花草 SPK EQU P3.3 ; 蜂鸣器所在端口 ORG 0000H JMP START START: MOV R3,#00H NEXT: MOV A,R3 MOV DPTR,#TABLE MOVC A,A+DPTR JZ START MOV R7,A INC R3 MOV A,R3 MOVC A,A+DPTR MOV R2,A ACALL SONG

22、INC R3 SJMP NEXT ;= ;= 歌曲播放子程序 = SONG: MOV A,R2 ; 取出节拍 RL A JNZ KEEP MOV A,#01H KEEP: MOV R2,A REPEAT: ACALL EIGHTH DJNZ R2,REPEAT RET ;= ;= 产生1/8拍延时子程序 = EIGHTH: MOV A,R7 ; 查表取出廷时参数,保存到R4 MOV DPTR,#DELAY_T MOVC A,A+DPTR MOV R4,A MOV A,R7 ; 查表取出1/8拍周期数,保存到R5 MOV DPTR,#S_PARA MOVC A,A+DPTR MOV R5,A N

23、EXTCYC: ACALL SOUND DJNZ R5,NEXTCYC RET ;= ;= 发声子程序 = SOUND: SETB SPK ACALL SDELAY CLR SPK ACALL SDELAY RET ;= ;= 延时子程序 = SDELAY: MOV A,R4 ; 廷时值在R4内 MOV R0,A XL2: MOV R1,#03H DL1: NOP DJNZ R1,DL1 DJNZ R0,XL2 RET ;= ;= 1/8拍周期表 = S_PARA: DS 1DH DB 15H,16H,00 DB 19H,00H,1CH,00H,1FH,21H,00H,25H DB 00H,2

24、9H,2CH,00H,31H,34H,37H,00H DB 3EH,41H,00H,49H,00H,52H,57H,00H DB 62H ;= ;= 延时参数表 = DELAY_T: DS 1DH DB 7EH,77H,00H DB 6AH,00H,5EH,00H,54H,4FH,00H,46H DB 00H,3FH,3BH,00H,35H,32H,2FH,00H DB 2AH,27H,00H,23H,00H,1FH,1DH,0C0H DB 1AH ;= ;= 歌曲表 = TABLE: DW 2202H,2902H,2902H,2902H,2906H,2702H ;我从山中来 DW 2502H

25、,2702H,2502H,2402H,2208H ;带着兰花草 DW 2E02H,2E02H,2E02H,2E02H,2E06H,2C02H ;种在小园中 DW 2902H,2C02H,2D02H,2A02H,2908H ;祈祷花开早 DW 2902H,2E02H,2E02H,2C02H,2906H,2702H ;一日看三回 DW 2502H,2702H,2502H,2402H,2206H,1D02H ;看得花时过 DW 1D02H,2502H,2502H,2402H,2206H,2902H ;兰花却依然 DW 2702H,2502H,2402H,2002H,2208H ;苞也无一个 DW 0

26、000H ; END 出师表两汉:诸葛亮先帝创业未半而中道崩殂,今天下三分,益州疲弊,此诚危急存亡之秋也。然侍卫之臣不懈于内,忠志之士忘身于外者,盖追先帝之殊遇,欲报之于陛下也。诚宜开张圣听,以光先帝遗德,恢弘志士之气,不宜妄自菲薄,引喻失义,以塞忠谏之路也。宫中府中,俱为一体;陟罚臧否,不宜异同。若有作奸犯科及为忠善者,宜付有司论其刑赏,以昭陛下平明之理;不宜偏私,使内外异法也。侍中、侍郎郭攸之、费祎、董允等,此皆良实,志虑忠纯,是以先帝简拔以遗陛下:愚以为宫中之事,事无大小,悉以咨之,然后施行,必能裨补阙漏,有所广益。将军向宠,性行淑均,晓畅军事,试用于昔日,先帝称之曰“能”,是以众议举宠

27、为督:愚以为营中之事,悉以咨之,必能使行阵和睦,优劣得所。 亲贤臣,远小人,此先汉所以兴隆也;亲小人,远贤臣,此后汉所以倾颓也。先帝在时,每与臣论此事,未尝不叹息痛恨于桓、灵也。侍中、尚书、长史、参军,此悉贞良死节之臣,愿陛下亲之、信之,则汉室之隆,可计日而待也。臣本布衣,躬耕于南阳,苟全性命于乱世,不求闻达于诸侯。先帝不以臣卑鄙,猥自枉屈,三顾臣于草庐之中,咨臣以当世之事,由是感激,遂许先帝以驱驰。后值倾覆,受任于败军之际,奉命于危难之间,尔来二十有一年矣。先帝知臣谨慎,故临崩寄臣以大事也。受命以来,夙夜忧叹,恐托付不效,以伤先帝之明;故五月渡泸,深入不毛。今南方已定,兵甲已足,当奖率三军,北定中原,庶竭驽钝,攘除奸凶,兴复汉室,还于旧都。此臣所以报先帝而忠陛下之职分也。至

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1