版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、工程设计报告键盘设计 摘要:本文介绍了一种简单的电子琴设计,它是通过软件和硬件的结合来实现的。硬件系统以51系列单片机AT89C51为主控制器,配备矩阵键盘、扬声器等。软件设计采用C语言编程实现。可以播放系统设置的相应音符,可以播放军歌。它还具有声音显示功能。所设计的简易电子琴在硬件和软件上都有其优势。硬件方面,电路简单。再加上简单的外围电路,在实现上具有很大的可靠性。软件方面, C语言编写的程序功能齐全,控制系统可靠。系统运行稳定。我们为电路设计的电源变压器将220V交流电转换成9V直流电,再通过7805得到5V直流电,为整个电路提供稳定的电源。摘要:本文介绍了一种简单的电钢琴的设计,它是通
2、过软件和硬件的结合来实现的。硬件系统以51系列单片机AT89C51为主控制器,配备矩阵键盘、扬声器等。软件设计采用C语言编程实现。可以播放系统设置的相应音符,可以完成一首军歌的播放,还具有播放功能。设计简单的电钢琴在硬件和软件上都有其优势。硬件方面,电路简单。它以单片机为核心,并附有简单的外围电路。它在实现上具有很大的可靠性,但在软件方面,C语言编程功能齐全,控制系统可靠。系统运行稳定。我们用变压器将220V交流留声机的电源变为9V直流,通过7805得到5V并联,为整个电路提供稳定的电源。关键词:电子琴;单片机; C语言。功能和性能指标单片机是大规模集成电路技术发展的产物。它属于第四代电子计算
3、机。具有高性能、高速、体积小、价格低、稳定可靠、应用广泛等特点。灵活编程实现功能。它的应用必然会导致传统控制技术发生根本性的变化。电子琴是现代电子技术与音乐相结合的产物,是一种新型的键盘乐器。它在现代音乐中占有重要地位,已经融入现代人的生活,成为不可替代的一部分。本文的主要内容是以AT89S51单片机为核心控制元件,设计了以单片机为主控核心,键盘为主控的电子琴、喇叭等模块。模块。这个简单的电子键盘使用八度键盘。由于传统的电子键盘可以使用键盘上的“1”到“8”键来弹奏从So到DO的8个音调,因此可以用来弹奏自己喜欢的歌曲。主要功能(1) 这是一个简单的 8 键电子琴,可以使用通用键盘上的“1”到
4、“8”键弹奏从 So 到 DO 的 8 个音符。(2) 具有自动播放功能,可播放“生日快乐”纯音乐和从低So到高DO的16个音调。(3) 保留扩展接入点的功能,如连接电位器实现调节音量的功能。两种设计方案及对比结论一、主要工作原理电子琴系统流程图 模块初始化 结束是否有复位键扫描键盘 延时军歌播放音调播放开始电子琴的工作原理音乐产生原理及硬件设计 因为一首音乐是由许多不同的音阶组成,每个音阶对应不同的频率,所以我们可以用不同频率的组合来创作我们想要的音乐。当然,让单片机产生不同的频率是很方便的。我们可以使用单片机的定时器/计数器来产生这样的方波频率信号。本设计中单片机的晶振为12MHZ ,定时
5、器的计数周期为1MHZ 。如果选择工作模式1 ,则T值为T= 216-5 * 105/对应的频率,则根据不同的频率分配给定时器的计数值。系统框图AT89C521单片机 复位电路模块电源模块蜂鸣器模块键盘模块数码管模块本电子琴系统以AT89C51单片机为系统核心,由24矩阵键盘模块和蜂鸣器模块4部分组成。2、各结构部分对比总结控制模块方案选择方案一:用晶闸管制作电子琴。 220V交流电源经变压器降压,再经整流滤波得到+13.5V直流电压。单向晶闸管晶闸管、电阻和电容组成一个chi振荡电路。然而,这种设计昂贵且制造复杂。方案二: AT89C51单片机控制,我校实验室有现货,日常实验常用。团队成员已
6、经对其工作原理有了更全面的了解,并且更容易上手。方案三:使用AT89S52单片机进行控制,满足本工作的智能化要求,程序存储空间达到8K ,使软件设计有足够的使用空间,方便日后系统升级,使用方便,并提高抗干扰性能。选择方案:针对以上对比分析,结合团队成员的基本能力,本次设计采用第二种方案.定时器/计数延迟模式选择声音的频谱在几十到几千赫兹的数量级。如果单片机的某个端口可以通过程序控制连续输出“高”和“低”电平,就可以在该端口上产生一定频率的方波。 ,可以将方波连接到扬声器发出一定频率的声音,如果通过程序控制“高”和“低”电平的持续时间,可以改变输出波形的频率,从而改变这个语调。与高、中、低音符相
7、关的计数值和 MCU 计数 T0 如下表所示音符频率 (HZ) 符号代码 (T 值) 音符频率 (HZ) 符号代码 (T 值)低 1 DO 262 63628 # 4 FA# 740 64860#1 DO# 277 63731 中等 5 SO 784 64898低 2 RE 294 63835 # 5 SO# 831 64934#2 RE# 311 63928 中间 6 LA 880 64968低 3 M 330 64021 # 6 932 64994低 4 FA 349 64103 中 7 SI 988 65030# 4 FA# 370 64185 高 1 DO 1046 65058低 5
8、SO 392 64260 # 1 DO# 1109 65085#5 SO# 415 64331 高 2 RE 1175 65110低 6 LA 440 64400 # 2 RE# 1245 65134# 6 466 64463 高 3 M 1318 65157低 7 SI 494 64524 高 4 FA 1397 65178中等 1 DO 523 64580 # 4 FA# 1480 65198# 1 DO# 554 64633 高 5 SO 1568 65217中 2 RE 587 64684 # 5 SO# 1661 65235# 2 RE# 622 64732 高 6 LA 1760
9、65252米 3 米 659 64777 # 6 1865 65268中 4 FA 698 64820 高 7 SI 1967 65283在音乐中,每个音符对应一个一定的频率,表1给出了C调中每个音符的频率。如果单片机某个端口输出的“高”和“低”电平的频率相同作为某个音符的频率,此端口线可以连接到扬声器以产生该音符的声音。本系统就是根据这一原理设计的。 AT89C2051单片机需要产生一定频率的方波,大致就是先输出一个端口线的高电平,然后延时一段时间,再输出低电平,这样输出周期会产生一定频率的方波,通过改变延迟时间可以改变方波的输出频率。有两种主要的方式来延迟微控制器:第一种方法是用循环语句来
10、实现延时,让单片机循环执行某条指令,然后根据单片机每条指令的运行时间和周期数计算出延时时间。如下:在上面的延时程序中,可以看出DJNZ指令的执行时间是2个机器周期,MOV指令的执行时间是1个机器周期,单片晶振频率的机器周期是1s,这是12MHz。因此,它可以基于这些指令的执行时间和每条指令的循环数。根据计算,上述延迟程序的延迟时间约为50ms。但是,这种方法计算的延迟时间不是很准确,为了达到一定的延迟时间,必须进行非常复杂的运算。因此,只有在延迟要求不严格时才应使用此方法。但是对于电子琴电路,由于对每个音符的频率值有严格的要求,变化范围不能太大,所以方波的频率也很严格,不能用延时程序产生方波。
11、第二种方法是使用微控制器的定时器/计数器延迟。 AT89C2051 微控制器有两个 16 位定时器/计数器 T0 和 T1。微控制器的定时器/计数器实际上是一个计数设备。既可以对单片机的晶振驱动时钟进行计数,也可以对外部输入的脉冲和晶振进行计数。当它被称为计时器时,当它对外部时钟进行计数时,它被称为计数器。对单片机的晶振驱动时钟进行计数时,定时器/计数器在每个机器周期内的计数值加1。当计数值达到最大计数值时,计数完成,单片机CPU-单片机通知;对外部输入时钟信号进行计数时,定时器/计数器的计数值在外部时钟的每个上升沿加 1。当计数值达到最大计数值时,计数完成并通知单片机CPU。因此,如果已知单
12、片机的机器周期或外部输入时钟信号的周期,单片机就可以根据定时器的计数值计算定时。使用这种方法计时非常准确。如果想知道延迟时间有多长,可以给定时器分配一个初始计数值,定时器会从预设的初始计数值继续加1。当增加到最大计数值时,计数完成,调整计数。初始值的大小可以调整定时器的计时,从而达到准确的延时。结论:在本系统中,第二种方法用于延迟定时器/计数器。功率模块方案选择方案一:用变压器将220V交流电转换成9V交流电,然后通过电桥和7805转5V直流电为整个电路提供稳定的电源。方案二:使用干电池供电。方案三:实验室配备直流稳压电源供电。方案比较:方案2使用电池供电。电池槽会占用空间,影响键盘的音量,电
13、池也会出现续航问题。方案一比较麻烦,实验室可以提供团队成员能力有限的设备。结合本次电子设计的目的,采用更简单的方案3。密钥选择方案传统键盘可以通过键盘上的“1”到“7”键弹奏从 SO 到高 O 的 8 个音符。加上调音键和自动播放键自动播放音乐蜂鸣器选型方案选项 1 :0.25W / 8 欧姆扬声器选项 2 : 2.5W / 8 欧姆扬声器方案比较:使用0.25W/8欧的喇叭可以直接使用单片机驱动元件,使用2.5W/欧的喇叭需要额外的三极管驱动电路,但是大功率喇叭的音质比前者好,所以为了电子琴的整体考虑,我们选择了0.5W的大功率音箱3、系统结构设计及各部分功能技术指标单片机简介(1)。芯片引
14、脚图(2) 主要功能特点AT89C51是 HYPERLINK %20%20%20%20:/baike.baidu%20%20%20%20/view/1012.htm t _blank 51系列单片机的型号。它是由ATMEL生产的低压、高性能 CMOS 8 位微控制器。 HYPERLINK %20%20%20%20:/baike.baidu%20%20%20%20/view/110906.htm t _blank 它包含 8k 字节的可重写 Flash 只读程序存储器和 256 字节的随机存取数据存储器。 (RAM),具体来说:兼容MCS51指令系统8k可重写(1000次)Flash ROM 3
15、2 个双向 I/O 端口 256x8bit RAM 3 个 16 位可编程定时器/计数器中断 时钟频率 0-24MHz2个串行中断可编程UART串行通道 2 个外部中断源 共 8 个中断源 2 条读写中断线 3 级加密位低功耗空闲和掉电模式软件设置的睡眠和唤醒功能(3) 各引脚的功能XTAL1(引脚 19)和 XTAL2(引脚 18)是振荡器输入和输出端口,连接到 12MHz 晶振。 RST/Vpd(9脚)为复位输入端口,由外部电阻电容组成的复位电路。 VCC(40脚)和VSS(20脚)为电源端口,分别接+5V电源的正负端。 P0P3 是可编程通用 I/O 引脚,其功能由软件定义。端口P0是一
16、组8位开漏双向I/O端口,即地址/数据总线复用端口。用作输出端口时,每个位可通过灌电流驱动 8 个 TTL 逻辑门。向端口 P0 写入“1”时,可用作高阻输入。 P1 是一个 8 位双向 I/O 端口,带有 P1 的输出缓冲级可以驱动的部分上拉电阻。 P2 是一个带有部分上拉电阻的 8 位双向 I/O 端口。 P2 的输出缓冲级可以驱动(接收或源)4 个 TTL 逻辑门。 P3口除了作为通用I/O口外,更重要的作用在于它的第二个功能,P3口,它还可以接收一些控制信号,用于Flash编程和程序验证。硬件电路设计:整体系统设计:晶振12MHZ,使用的键盘输入为8键,整体系统框图如下:复位电路 AT
17、89SC51电源电路晶振12MHZ音频放大电路扬声器键盘输入供电电路:(初步设计,后来因设备和个人能力问题没有使用,换成实验室直流稳压5v电源)输出5V电源7805 变压器桥其中,变压器后的交流电通过四个二极管组成的电桥转换成直流电,再利用7805转换成电路所需的5V直流电。2 键盘电路:按键上加了两个功能键,需要在按键上接一个上拉电阻,使输入到单片机的电压为高电平。如图所示:上拉电阻(接高电平)按钮3 音频输出放大电路及数码管电路:用两个晶体管放大信号并输入到扬声器。具体硬件电路原理图如下:注:最终产品去掉了电源电路部分和八段显示代码部分4. 软件设计参考一般系统流程图: 模块初始化 结束是
18、否有复位键扫描键盘 延时军歌播放音调播放开始是的不要源程序:#include位 P1_0=P10;位 P1_1=P11;#define SPK P1_0#define LED P1_1#define 刷马关 P0无符号整数tone1,tone2;无符号字符代码 yinfu=0 xfb,0 xe9, /*Do*/ 0 xfc,0 x5c, /*Re*/ 0 xfc,0 xc1, /*Mi*/ 0 xfc,0 xef, /*Fa*/ 0 xfd,0 x45, /*所以*/ 0 xfd,0 x92, /*La*/ 0 xfd,0 xd0, /*Si*/ 0 xfd,0 xee, /*做*/0 x00
19、,0 x00 ;/*军调表*/ 无符号字符代码 shengri_tone= 8,8,8,8,8,8,0, 1,1,3,5,5,6,8,6,5,0, 1,3,6,5 , 3,2,2,0, 1,3,5,5,6,8,6,5,0, 1,1,3,5,5,6,6,5,3,2,2,1 , 0、2、2、3、5、5、8、6、2、5、0、2、2、3、5、5、8、6、5、3、2;/*生日快乐歌曲播放列表 */无符号字符代码 shengri_beat= 3,3,3,3,3,20,54, 10,36,36,36,9,25,36,15,54,25, 46,36,30,15 , 30,36,6,25, 46,36,18,1
20、8,24,30,15,46,25, 30,30,36,24,18,18,24,24,18,18,18,54 , 25、20、20、24、20、20、36、36、36、54、25、20、20、24、20、20、36、36、15、15、54、;/*自动演示音调表*/无符号字符码 yanshi_tone= 1,0,2,0,3,0,4,0,5,0,6,0,7,0,8,0,8,0,7,0,6 , 0,5,0,4,0,3,0,2,0,1,0;/*自动演示节拍表*/无符号字符码 yanshi_beat= 48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,2, 48,1,48,1,4
21、8 , 1,48,1,48,1,48,1,48,1,48,2;/*15ms延迟子程序用于节拍*/无效延迟(无效)无符号字符 n=15;而 (n-)无符号字符 i;for(i=0;i=68)返回; /*播放子程序2*/无效播放2(无效)无符号字符 m=0;无符号的字符;无符号字符 a=1;而 (1) EA=0;LED = 0;a=yanshi_tonem;s=yanshi_beatm;注意1 = 注意2*a-2;音2=音符2*a-1;EA=1;而 (s-) 延迟();LED = 1;米+;如果 (m = 32) 返回;/*按键检测*/无效的检查键(无效)p2=0 xff;P3=0 xff; /设
22、置为输入状态开关 (P2) case 0 xfe:shumaguan=0 xF9;tone1=0 xfb;tone2=0 xe9;EA=1;break;case 0 xfd:shumaguan=0 xA4;tone1=0 xfc;tone2=0 x5c;EA=1;break;case 0 xfb:shumaguan=0 xB0;tone1=0 xfc;tone2=0 xc1;EA=1;break;case 0 xf7:shumaguan=0 x99;tone1=0 xfc;tone2=0 xef;EA=1;break;case 0 xef:shumaguan=0 x92;tone1=0 xfd
23、;tone2=0 x45;EA=1;break;case 0 xdf:shumaguan=0 x82;tone1=0 xfd;tone2=0 x92;EA=1;break;case 0 xbf:shumaguan=0 xF8;tone1=0 xfd;tone2=0 xd0;EA=1;break;case 0 x7f:shumaguan=0 x79;tone1=0 xfd;tone2=0 xee;EA=1;break;默认值:EA=0;SPK=0;shumaguan=0 xff;开关 (P3) 案例 0 xfb:play1();break;案例 0 xf7:play2();break; /*主程
24、序*/无效主要(无效)初始化计时器();刷马关 = 0 xff;TR0=1;ET0=1;SPK=0;而 (1)check_key();四。材料和费用表组件列表制造商模型数量价格(元/个)爱特梅尔AT89C521612M晶振10.5按钮110.2扬声器15.0带领10.18050三极管20.2220V转9V变压器18.010K电阻80.11K电阻10.1330电阻10.120F极性电容20.11000F 极性电容10.10.1F电容20.1教师们积极认真贯彻落实科学发展观和以人为本,提供实验室和几乎所有设备。该组几乎没有花费任何东西。五。调试方案设计电路调试是实现整个系统功能的关键步骤。我们将整
25、个调试过程分为三个部分:硬件调试、软件调试和综合调试。1 软件仿真调试软件仿真调试主要是调试单片机部分。在运行软件之前,请确保电路中的接线正确。这项工作是整个调试工作的第一步,也是最重要的一步。在这部分调试中,主要通过目测来完成对电路是否有开路或短路的检测。本设计中的软件操作主要是测试单片机的键盘控制部分、数码管的灯光部分、音频功放电路的调试。1、数码管LED电路调试:软件运行时,可按任意键查看数码管显示数字;2、单片机键盘控制部分的调试:软件运行,随机按键盘可以发现每个按键对应的声音是正确的。.2 软件调试调试主要方法和技巧:通常一个调试器至少应该有四个属性:trace、breakpoints、view variables和change values。整个程序就是主程序调用各个子程序来实现功能的过程。要使主程序和整个程序顺利运行,各模块子程序的正确稳定运行是必不可少的。因此,在软件调试的初始阶段,每个子程序模块都是单独调试的。具体调试过程1 调试(根据实际步骤) :调试k1-k8音输出按 k8。按k8-k1音频反向输出先按自动播放键,歌曲会在音频中输出,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论