- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
可存储式电子琴课程设计76653
通达学院
课程设计 实验报告
模 块 名 称 AVR单片机课程设计(proteus)
设计题目 基于LM016L显示的可存储式电子琴 任务要求 1、使用4*4键盘,对应2个8度的16个单音,当按下相应按键时,扬声器发出相对音符的音阶。
2、可以单键按下,也可以按照乐谱演奏音乐。
3、在ATmega128内存储至多64个单音(在两个8度音阶中任选),按键可以控制开始连续播放这64个单音或停止播放,每个单音的播放时长自定。
4、使用LED/LCD来实时显示目前正在演奏的单音码,例低音音符la、相应的音符频率及时长、或中音音符si、相应的音符频率及时长等。
实验设备及软件 设备:计算机
软件:proteus7.7 sp2
ICCAVR7.22 同组人员学号及姓名
一人一组,无同组成员 参考文献 [1] 金钟夫 杜刚.ATmega128单片机C程序设计与实践[M].北京:社.
[] 沈建良 赵文宏.ATmega128单片机入门与提高[M].北京:社.
[] 张毅刚.单片机应用设计[M].哈尔滨:[4] 长沙太阳人电子有限公司.SMC1602A LCM 使用说明书[EB/OL].
[5] 刘娟 梁卫文.单片机c语言与protues仿真技能实训[M].中国电力出版社,2004.
AVR单片机软件设计(proteus)报告
总体设计原理、思路
1. 电子琴的设计主要分为手动弹奏乐曲和自动播放音乐两大部分组成。手动弹奏乐曲是根据具体的硬件键盘设置了16个音符按键和1个功能转换键,自动播放音乐是在单片机的存储器中通过软件编程的方法放置音乐代码和相关播放程序来实现。
2. 应用到的原件,主要是ATmega128单片机、矩阵4×4键输入电路、LM016L显示电路、扬声器以及电源电路。
3. 从声音原理方面来看,通过控制单片机的定时器的定时时间产生不同频率的音频脉冲,经放大后驱动扬声器发出不同音乐的声音。用软件延时来控制发音时间的长短,控制节拍。
4. 在写程序时,将电子琴的设计采用程序模块化设计方法,将程序分为主程序、键盘扫描程序模块、数码显示模块。这样使得思路更加清晰,出问题更加容易更正。
硬件方面原理图的设计:
整个硬件部分主要包括一颗atmega128单片机,lm016l显示器和16个按键组成。单片机ATMEGA128是一颗高性能低功耗的avr 8位微处理器,它拥有先进的RISC结构,多达133条指令,大多数可以在一个时钟周期内完成。
Atmega128的引脚图
LM016L的接口说明
最后连接的原理图
软件方面程序流程图的设计、关键代码的说明
程序流程图如下
关键代码及其说明
/******************************************************************************/
#includeiom128v.h
#include macros.h
//1602液晶显示程序
#includexianshi.h
//蜂鸣器
#define BEEP() PORTB ^= (1PB0)
//音符延时表,它们分别对应于0~15号音符的输出频率
uint tone[]=
{64021,64103,64260,64400,64524,64580,64684,64777,
64820,64898,64918,64938,64958,64978,64998,65100
};
//第一段(Tone为音符,Time为节拍)
uchar Music1_Tone[] =
{ 2,3,1,1,2,3,1,1,2,3,5,5,5,6,1,1,6,1,2,2,2,1,6,6,6,1,2,2,3,2,1,2,2,2,0xFF };
uchar Music1_Time[] =
{ 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0xFF };
//第二段
uchar Music2_Tone[] =
{ 1,3,3,3,3,5,4,2,5,3,7,6,5,5,7,4,4,3,6,7,2,1,0xFF };
uchar Music2_Time[] =
{ 2,1,1,2,1,1,1,2,1,1,3,2,1,1,2,4,1,1,2,1,1,1,0xFF };
//第三段
uchar Music3_Tone[] =
{ 0,1,2,3,4,5,5,6,7,8,9,10,11,12,13,14,15,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0xFF};
您可能关注的文档
最近下载
- 捕歼战斗中地排教案设计.doc VIP
- 深圳希莱恒电解质说明书.doc VIP
- 开展体育领域突出问题专项整治工作情况汇报.docx VIP
- 学校安全生产风险分级管控和隐患排查治理双重预防体系建设实施指南.pdf VIP
- 双眼视异常分析临床处理2020.pptx VIP
- 排捕歼战斗连贯演练.docx VIP
- Illustrator教程Illustrator绘图技巧Illustrator经典实例Illustrator网格工具绘制逼真花瓣.pdf VIP
- 民企混改公司合作协议书10篇.docx VIP
- 如何免费申请QQ号申请qq号方法.docx VIP
- Illustrator进阶技巧.pdf VIP
文档评论(0)