找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6203|回复: 1
打印 上一主题 下一主题
收起左侧

自制单片机音乐播放器 有汇编程序 实物图

[复制链接]
跳转到指定楼层
楼主
ID:85192 发表于 2015-7-9 23:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本单片机音乐播放器主要是由AT89C2051单片机和喇叭组成。内部存储了一首《八月桂花香》的歌曲。每一个音符和每一种声调都有它特定的频率,单片机音乐播放器就是利用不同的音符和音调所组成的各种不同的频率,所能发出声音的不同的原理,使它们按照乐谱有机的组合起来,利用单片机的定时器使定时器定出不同的时间(时间的长短根据频率的大小来决定),发出不同频率的声音,这样不断的定时,不断的发出各种频率的声音,就形成了优美的音乐了。
汇编源程序如下:

ORG 0000H
LJMP START
ORG 000BH
INC 20H
MOV TH0,#0D8H
MOV TL0,#0EFH
RETI
START:
MOV SP,#50H
MOV TH0,#0D8H
MOV TL0,#0EFH
MOV TMOD,#01H
MOV IE,#82H
MUSIC0:
NOP
MOV DPTR,#DAT
MOV 20H,#00H
MOV B,#00H
MUSIC1:
NOP
CLR A
MOVC A,@A+DPTR
JZ END0
CJNE A,#0FFH,MUSIC5
LJMP MUSIC3
MUSIC5:
NOP
MOV R6,A
INC DPTR
MOV A,B
MOVC A,@A+DPTR
MOV R7,A
SETB TR0
MUSIC2:
NOP
CPL P1.4
MOV A,R6
MOV R3,A
CPL A
MOV P0,A
CPL A
LCALL DEL
MOV A,R7
CJNE A,20H,MUSIC2
MOV 20H,#00H
INC DPTR
LJMP MUSIC1
MUSIC3:
NOP
CLR TR0
MOV R2,#0DH
MUSIC4:
NOP
MOV R3,#0FFH
LCALL DEL
DJNZ R2,MUSIC4
INC DPTR
LJMP MUSIC1
END0:
NOP
MOV R2,#64H
MUSIC6:
MOV R3,#00H
LCALL DEL
DJNZ R2,MUSIC6
LJMP MUSIC0
DEL:
NOP
DEL3:
MOV R4,#05H
DEL4:
NOP
DJNZ R4,DEL4
NOP
DJNZ R3,DEL3
RET
DAT:
DB 18H, 30H, 1CH, 10H
DB 20H, 40H, 1CH, 10H
DB 18H, 10H, 20H, 10H
DB 1CH, 10H, 18H, 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, 2BH, 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, 26H, 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, 1CH, 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
注:晶振12MHZ。音乐输出口为P1.4
本程序已通过实践验证!!!


评分

参与人数 1黑币 +5 收起 理由
新乡家电维修 + 5 很给力!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶1 踩
回复

使用道具 举报

沙发
ID:163285 发表于 2021-8-19 23:51 | 只看该作者
代码写的非常好,下载到我的开发板效果很好,谢谢楼主!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表