基于单片机的音乐发声器的设计(完整版,含程序和电路图)(2)
表5.1 1/4和1/8节拍的时间设定
曲调值 调4/4 调3/4 调2/4
DELAY 125毫秒 187毫秒 250毫秒
曲调值 调4/4 调3/4 调2/4
DELAY 62毫秒 94毫秒 125毫秒
5.1.3编码
do re mi fa so la si分别编码为1~7,重音do编为8,重音re编为9,停顿编为0。播放长度以十六分音符为单位(在本程序中为165ms),一拍即四分音符等于4个十六分音符,编为4,其它的播放时间以此类推。音调作为编码的高4位,而播放时间作为低4位,如此音调和节拍就构成了一个编码。以0xff作为曲谱的结束标志。
举例1:音调do,发音长度为两拍,即二分音符,将其编码为0x18。 举例2:音调re,发音长度为半拍,即八分音符,将其编码为0x22
歌曲播放的设计。先将歌曲的简谱进行编码,储存在一个数据类型为unsigned char 的数组中。程序从数组中取出一个数,然后分离出高4位得到音调,接着找出相应的值赋给定时器0,使之定时操作蜂鸣器,得出相应的音调;接着分离出该数的低4位,得到延时时间,接着调用软件延时。
绝对完整版
5.2 主要程序设计 5.2.1 主程序设计
图5.8 主程序方框图
源程序代码见附件A
5.2.2 播放音乐子程序设计
播放音乐子程序代码见附件A
6 系统仿真
6.1 系统仿真环境及参数设置
本设计在Protues的ISIS7.8SP2的软件环境下打开电路仿真图,接下来将设计好的程序在Keil C51 μVision4开发集成环境上编译成机器语言,生成.hex文件,进入Proteus7.8的ISIS,将KeilC下编程生成的.hex文件导入到AT89C51中,可在Protues中单击全速仿真运行按钮
,按下开关1进入音乐播放模式,
再次按下可在两首歌曲中切换,按下开关2进入花样灯模式,再次按下可在3
绝对完整版
中花样灯样式中切换。
6.2系统仿真结果及其分析 6.2.1系统仿真图
整体仿真电路图如图6.1所示。
图6.1 整体电路protues仿真图
6.2.2 花样灯3种花样仿真图
当按下按键2是切换到花样灯模式。
1) 第一种花样灯显示方式为:从D1移向D2,然后D1熄灭,再从D2移向D3,然
后D2熄灭,以此类推,往复循环,如图6.2所示。
2) 第二种花样灯显示方式为:从两边向中间移动,首先从D1移向D8,再从D8
移向D2,以此类推,往复循环,如图6.3所示。
3) 第三种花样灯显示方式为:从D1移向D2,D1不熄灭,再从D2移向D3,D1
和D2不熄灭,知道8个灯全亮,然后从D1向D2开始熄灭,直到全部熄灭,如此循环,如图6.4所示。
绝对完整版
图6.2 第一种花样灯仿真图
图6.3 第二种花样灯仿真图
绝对完整版
图6.4 第三种花样灯仿真图
7 使用说明
使用本设计按以下步骤进行:按下按键1播放音乐,再次按下按键切换音乐,可播放“寂寞沙洲冷”和“千年之恋”。按下按键2可进入花样灯模式,再次按下可在3中闪烁模式中切换。
8 设计总结
本设计以AT89C51为中心控制器,通过2个按键、时钟复位电路、蜂鸣器、LED模块组成音乐发生器。单片机负责接收按键的输入,根据输入控制音乐播放曲目和音乐花样灯的显示样式以及蜂鸣器发音。经过仿真,该系统基本能够实现本文能够提出的功能和要求。
本设计也存在不足,在播放歌曲时,当遇到一个音符发音为4拍时,因时间较长,当定时器中断会对歌曲的播放流畅度产生影响。若改为发音一拍,中断影响减弱,但音乐效果变差。改进方法:采用可以定时时间更长的单片机。 通过这次对音乐发生器的设计,让我了解了中断控制的原理,也让我了解怎
绝对完整版
样写出高效率程序的方法,对硬件电路的工作原理更加了解,掌握做设计的各个步骤与方法,总之,这次课程设计使在电路设计方面受益匪浅。
参考文献
[1] 戴佳.戴卫恒.51单片机C语言应用程序设计实例[M].北京:电子工业出版社,2007:152-161. [2] 李建忠.单片机原理及应用[M].西安:西安电子科技大学出版,2002:63-78.
[3] 陈新建,邵少雄,葛长虹.PIC系列单片机程序设计与开发应用[M].北京:北京航空航天大学出版社2007.5:442-449.
[4] 侯玉宝.陈忠平.李成群.基于proteus的51系列单片机设计与仿真[M].北京:电子工业出版
社.2008:38-57.
[5] 康华光.电子技术基础(第5版)[M].北京:高等教育出版社,2006:45-48. [6] 彭华林等编.数字电子技术[M].长沙:湖南大学出版社,2004:45-60.
[7] 杨恢先.黄辉先.单片机原理及应用[M].北京:人民邮电出版社,2006:168-193. [8] 张俊谟.单片机中级教程[M].北京:北京航空航天大学出版,2006:22-33. [9] 唐述宏.一种单片机音乐盒的设计与制作[J].仪器仪表学报,2008.4(29):390-392.
绝对完整版
附件A
源程序代码: #include <reg52.h> #define uchar unsigned char #define uint unsigned int sbit duan=P2^6;
sbit key1=P3^2;//按key1可切换花样 sbit key2=P3^3;//按key2可切换歌曲 sbit fm=P2^4;//蜂鸣器连接的IO口 sbit P34=P3^4;//矩阵键盘的一列
uchar code huayang1[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,
0xfd,0xfb,0xf7,0xef,0xdf,0xbf};//花样1
uchar code huayang2[]={0x7f,0xfe,0xbf,0xfd,0xdf,0xfb,0xef,0xf7,
0xef,0xfb,0xdf,0xfd,0xbf,0xfe};//花样2
uchar code huayang3[]={0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x0,
0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff};
char code huayang4[]={ 0x55,0xaa,0xcc,0x33,0x99,0x66,0x0f,0xf0}; uchar count1;//花样标志 uchar count2;//歌曲标志 uchar timeh,timel,i;
//---------------------------简谱--------------------------------------- //编程规则:字节高位是简谱,低位是持续时间, //代表多少个十六分音符
//1-7代表中央C调,8-E代表高八度,0代表停顿 //最后的0是结束标志 uchar code qnzl[]={
//千年之恋
0x12,0x22,0x34,0x84,0x74,0x54,0x38,0x42,0x32,0x22,0x42,0x34,0x84,0x72,0x82,0x94,0xA8,0x08, //前奏
绝对完整版
0x32,0x31,0x21,0x32,0x52,0x32,0x31,0x21,0x32,0x62, //竹林的灯火 到过的沙漠
0x32,0x31,0x21,0x32,0x82,0x71,0x81,0x71,0x51,0x32,0x22, //七色的国度 不断飘逸风中
0x32,0x31,0x21,0x32,0x52,0x32,0x31,0x21,0x32,0x62, //有一种神秘 灰色的旋涡
0x32,0x31,0x21,0x32,0x83,0x82,0x71,0x72,0x02, //将我卷入了迷雾中
0x63,0xA1,0xA2,0x62,0x92,0x82,0x52, //看不清的双手
0x31,0x51,0x63,0x51,0x63,0x51,0x63,0x51,0x62,0x82,0x7C,0x02, //一朵花传来谁经过的温柔7
0x61,0x71,0x82,0x71,0x62,0xA2,0x71,0x76, //穿越千年的伤痛
0x61,0x71,0x82,0x71,0x62,0x52,0x31,0x36, //只为求一个结果
0x61,0x71,0x82,0x71,0x62,0xA3,0x73,0x62,0x53, //你留下的轮廓 指引我 0x42,0x63,0x83,0x83,0x91,0x91, //黑夜中不寂寞
0x61,0x71,0x82,0x71,0x62,0x0A2,0x71,0x76, //穿越千年的哀愁
0x61,0x71,0x82,0x71,0x62,0x52,0x31,0x36, //是你在尽头等我
0x61,0x71,0x82,0x71,0x62,0xA3,0x73,0x62,0x53, //最美丽的 …… 此处隐藏:3902字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [实用文档]李践-有效提升销售的12大黄金法则8-大
- [实用文档]党支部换届工作方案
- [实用文档]2013年下期电子商务专业部宣传工作计划
- [实用文档]方庄一矿通风、钻探绩效工资考核管理办
- [实用文档]项目一 认识企业物流认识企业物流
- [实用文档]MBI_Display_产品蓝图规画
- [实用文档]北京市建筑业劳务作业人员普法维权培训
- [实用文档]锅炉燃烧调整与运行优化
- [实用文档]4支付结算业务的核算
- [实用文档]米什金_货币金融学_第9版各章学习指导
- [实用文档]水泥混凝土路面硬化工程施工组织设计
- [实用文档]钢筋工程安全技术交底书
- [实用文档]关于公布华中师范大学本科毕业论文
- [实用文档]太原市园林绿化施工合同范本 2
- [实用文档]周日辅导 初中英语分类复习单项选择题(
- [实用文档]第四章 文化经纪人的管理形式 第二节
- [实用文档]学宪法讲宪法竞赛题库
- [实用文档]《数值计算方法》期末考试模拟试题二
- [实用文档]爱词霸学英语:每日一句( 十月)
- [实用文档]2014年国家公务员面试:无领导小组讨论
- 新课程主要理念和教学案例分析汇编(24
- 英国人的快乐源于幸福的家庭生活
- 七年级上册第一次月考模拟数学试卷
- 真丝及仿真丝的种类有哪些?
- 【最新】华师大版八年级数学下册第十六
- 高中英语3500个必背单词
- 我可以接受失败,但我不能接受放弃!
- 最近更新沪科版八年级物理上册期末试卷
- 绿化工作先进乡镇事迹材料
- 鲁教版九年级上册思想品德教学计划
- 英语音标的分类
- 地下室底板无梁楼盖与普通梁板结构形式
- 美容师黄金销售话术
- 雅思写作满分作文备考方法
- 血清甲状腺激素测定与高频彩色多普勒超
- 1度浅析装修对室内空气品质的影响
- 2017-2022年中国汞矿行业深度分析与投
- 计算机二级VB公共基础知识
- (何勇)秸秆禁烧_重在寻找出路
- 内外墙抹灰工程分包施工合同1




