(电子行业企业管理)单片机电子琴的设计最新)精品

上传人:精****库 文档编号:138104023 上传时间:2020-07-13 格式:DOC 页数:27 大小:1,009.89KB
返回 下载 相关 举报
(电子行业企业管理)单片机电子琴的设计最新)精品_第1页
第1页 / 共27页
(电子行业企业管理)单片机电子琴的设计最新)精品_第2页
第2页 / 共27页
(电子行业企业管理)单片机电子琴的设计最新)精品_第3页
第3页 / 共27页
(电子行业企业管理)单片机电子琴的设计最新)精品_第4页
第4页 / 共27页
(电子行业企业管理)单片机电子琴的设计最新)精品_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《(电子行业企业管理)单片机电子琴的设计最新)精品》由会员分享,可在线阅读,更多相关《(电子行业企业管理)单片机电子琴的设计最新)精品(27页珍藏版)》请在金锄头文库上搜索。

1、目 录前 言1第一章 设计要求及工作原理21.1 基本设计要求21.2 方案比较与确定21.3 系统组成与工作原理2第二章 硬件电路设计62.1 单片机最小系统62.2 键盘模块92.3 方波发生模块122.4 功率放大发声模块13第三章 软件设计143.1 软件结构功能设计143.2 主程序设计143.3 子程序设计15第四章 实验调试及测试结果分析174.1 软件调试174.2系统联调18结论19参考文献20附录1:系统原理图21附录2 源程序22附录3 电子琴成品图26附录4元件清单27前 言又称作电子键盘,属于电子乐器(区别于电声乐器),发音音量可以自由调节。音域较宽,和声丰富,甚至可

2、以演奏出一个管弦乐队的效果,表现力极其丰富。它还可模仿多种音色,甚至可以奏出常规乐器所无法发出的声音(如合唱声,风雨声,宇宙声等)。另外,电子琴在独奏时,还可随意配上类似打击乐音响的节拍伴奏,适合于演奏节奏性较强的现代音乐。另外,电子琴还安装有效果器,如混响、回声、延音,震音轮和调制轮等多项功能装置,表达各种情绪时运用自如。 电子琴是电声乐队的中坚力量,常用于独奏主旋律并伴以丰富的和声。还常作为独奏乐器出现,具有鲜明时代特色。但电子琴的局限性也十分明显:旋律与和声缺乏音量变化,过于协和、单一;在模仿各类管、弦乐器时,技法略显单调。电子琴是一种功能强大,易于制作,成本低廉的现代新型乐器。它可根据

3、使用者的不同要求方便的进行设计,成为现代社会一种颇具市场号召力的乐器。单片机具有强大的控制功能和灵活的编程实现特性,在现代工业生活中随处可见,本次课程设计主要就是利用STC89C52单片机为核心控制元件,设计简易的一个电子琴,并以此对电子琴原理及硬件组成进行分析并设计,最终由此做出实物。由此更进一步掌握微机原理及应用课程的有关知识,提高应用微机解决问题的能力,加深对微机应用的理解。通过查阅资料,结合所学知识进行软、硬件的设计,初步掌握应用微机解决问题的步骤及方法。为以后结合专业从事微机应用设计奠定基础。第一章 设计要求及工作原理1.1 基本设计要求1 基于单片机STC89C52为核心。2 利用

4、定时/计数器8253设计并制作一个简易电子琴。3 设计至少8个按键,每个按键对应一种音调,即1、2、3、4、5、6、7、8八个不同的音节。4 按下按键发声,松开按键后声音延迟一段时间后停止,可弹奏简单的乐曲。1.2 方案比较与确定 方案一:使用单片机内部定时器,通过编程实现发出不同频率方波,产生音阶。 方案二:使用8253作为外部定时器,通过编程实现产生所需频率的方波。 通过对方案一和方案二的比较可以知道,方案一是通过使用单片机内部定时器,以编程实现方波输出,优点在于外部电路简单,程序结构简单,缺点在于消耗单片机资源过多,不利于优化升级;方案二是利用8253来产生方波,相对来说这种方案外部电路

5、较为复杂,程序结构也更为复杂,优点在于占用单片机资源少,输出稳定,利于扩展;故而选择方案二较好1.3 系统组成与工作原理声音的频谱范围约在几十到几千赫兹, 若能利用程序来控制单片机某个口线不断输出“ 高” “ 低”电平, 则在该口线上就能产生一定频率的方波, 将该方波接上喇叭就能发出一定频率的声音, 若再利用程序控制“ 高” “ 低”电平的持续时间, 就能改变输出波形的频率从而改变音调。乐曲中, 每一音符对应着确定的频率, 下表给出各音符频率。如果单片机某个口线输出“ 高” “ 低”电平的频率和某个音符的频率一样, 那么将此口线接上喇叭就可以发出此音符的声音。本系统就是根据此原理设计, 对于单

6、片机来说要产生一定频率的方波大致是先将某口线输出高电平然后延时一段时间再输出低电平, 如此循环的输出就会产生一定频率的方波, 通过改变延时的时间就可以改变输出方波的频率。单片机内部有两个位的定时计数器T1和T0, 单片机的定时计数器实际上是个计数装置它既可以对单片机的内部晶振驱动时钟计数也可以对外部输入的脉冲计数, 对内部晶振计数时称为定时器, 对外部时钟计数时称为计数器。当对单片机的内部晶振驱动时钟计数时,每个机器周期定时计数器的计数值就加, 当计数值达到计数最大值时计数完毕并通知单片机的尸比对外部输入的时钟信号计数时, 外部时钟的每个时钟上升沿定时计数器的计数值就加, 当计数值达到计数最大

7、值时计数完毕并通知单片机的尸。因此, 如果知道单片机的机器周期或者外部输入时钟信号的周期单片机就可以根据定时器的计数值计算出定时的时间。用此方法定时十分准确, 想得到多大的延时时间就可以给定时器赋一定的计数初值, 定时器从预先设置的计数初值开始不断增当增加到计数最大值时计数完毕, 调整计数初值的大小就可以调整定时器定时的时间, 从而达到准确的延时。在本设计中我们使用的外部时钟信号的晶振频率为12MHz,而采用的计数方式为方式1,所以计数器的初始值可以由如下公式求得。 T=65536-1000000/2/ff为对应音调的频率;输出频率对照表: 0xA9,0xEF,/00220HZ ,1 /0 0

8、x93,0xF0,/00233HZ ,1# 0x73,0xF1,/00247HZ ,2 0x49,0xF2,/00262HZ ,2# 0x07,0xF3,/00277HZ ,3 0xC8,0xF3,/00294HZ ,4 0x73,0xF4,/00311HZ ,4# 0x1E,0xF5,/00330HZ ,5 0xB6,0xF5,/00349HZ ,5# 0x4C,0xF6,/00370HZ ,6 0xD7,0xF6,/00392HZ ,6# 0x5A,0xF7,/00415HZ ,7 0xD8,0xF7,/00440HZ 1 /12 0x4D,0xF8,/00466HZ 1# /13 0xB

9、D,0xF8,/00494HZ 2 /14 0x24,0xF9,/00523HZ 2# /15 0x87,0xF9,/00554HZ 3 /16 0xE4,0xF9,/00587HZ 4 /17 0x3D,0xFA,/00622HZ 4# /18 0x90,0xFA,/00659HZ 5 /19 0xDE,0xFA,/00698HZ 5# /20 0x29,0xFB,/00740HZ 6 /21 0x6F,0xFB,/00784HZ 6# /22 0xB1,0xFB,/00831HZ 7 /23 0xEF,0xFB,/00880HZ 1 0x2A,0xFC,/00932HZ 1# 0x62,0

10、xFC,/00988HZ 2 0x95,0xFC,/01046HZ 2# 0xC7,0xFC,/01109HZ 3 0xF6,0xFC,/01175HZ 4 0x22,0xFD,/01244HZ 4# 0x4B,0xFD,/01318HZ 5 0x73,0xFD,/01397HZ 5# 0x98,0xFD,/01480HZ 6 0xBB,0xFD,/01568HZ 6# 0xDC,0xFD,/01661HZ 7 /35 基于STC89S52单片机,以8253作为外部中断,通过7279进行键盘控制,设计一个电子琴。单片机作为主控核心,通过对7279的键盘按键键值进行定义,让定时器8253产生8个

11、特定频率的方波,通过由LM386组成外部功放电路输出至扬声器发出123456718个不音阶。硬件部分主要功能模块包含:键盘控制模块、方波发生模块、声音输出模块。八个音节do、re、mi、fa、sol、la、si、do所对应的频率分别为523HZ、587HZ、659HZ、698HZ、784HZ、880HZ、988HZ、1047HZ。软件部分主要功能模块包含:主程序、8253方波发生子程序、7279初始化子程序、接收发送字节子程序、延时子程序等当按下特定的按键后,程序通过读键值子程序得到所按下键的键值,再将所得的键值与键盘1、2、3、4、5、6、7、8八个键的键值相比较,从而确定所按下的键。当确认

12、按键后再调用8253方波发生子程序,使8253产生相应频率的方波持续输出。系统原理框图如图1.1所示:7279键盘模块单片机AT89C51定时/计数器8253功率放大电路喇叭发声模块图1.1 系统原理框图第二章 硬件电路设计2.1 单片机最小系统 STC89C52主要特性: 与MCS-51 兼容8K字节可编程闪烁存储器寿命:1000写/擦循环数据保留时间:10年全静态工作:0Hz-24Hz三级程序存储器锁定512内部RAM32可编程I/O线两个16位定时器/计数器5个中断源可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路管脚说明: VCC:供电电压。 GND:接地。 P0口:P0口为一

13、个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可

14、接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 P3口也可作为AT89C51的一些特殊功能口,如下表所示: 口管脚 备选功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通) P3口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持RST

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 企业文化

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号