河北工程大学科信学院
课程设计说明书 (2015 /2016学年第二学期)
课程名称:小型数字系统设计2
题目: 电子琴 专业班级:计算机
学生姓名:
学号:
指导教师:
设计周数: 2周
设计成绩:
2016 年9月9日
1.概述
.1.1设计背景
随着时代的发展,电子科学技术越来越走进人们的生活,它正在逐渐改善着人们的学习、工作,因此让我们走进电子科学技术的世界吧。
电子琴伴随着科技的发展而出现在舞台上,鉴于传统电子琴可以用键盘上的“1”到“A”键演奏从低So到高DO等11个音,从而也可以通过单片机实现对十个按键的扩展,实现七个音符键的高、中、低21个音调的显示播放和任意音乐的自动播放。该设计将十个音键制作成独立键盘,其中七个为音符键,三个为控制键,并用数码管进行显示,使电子琴的功能更加完美。
1.2设计意义
①可以方便得知播放的音符和音调;
②比传统电子琴功能更完善;
③制作简单,成本低;
1.3 设计任务
利用蜂鸣器作为发声部件,两个数码管作为显示部件,设置10个按键,实现高音、中音、低音的1、2、3、4、5、6、7的发音,用PROTEUS实现的电子琴仿真设计。制作出PCB图并做出实体。
2.系统总体方案及硬件设计
2.1总体设计
采用AT89S52单片机作为主控芯片,设置键盘、蜂鸣器等外围器件,另外还用到一些简单器件如:两位数码管,和NPN型三极管及电阻等。利用按键实现音符和音调的输入;两位的数码管进行被操作的按键显示;用NPN型三极管8550实现低音频功率放大;最后用蜂鸣器发音。
2.2单片机的电路分析
2.2.1 时钟电路
单片机内部具有一个高增益反相放大器,用于
构成振荡器。通常在引脚XTALl和XTAL2跨接石英
晶体和两个补偿电容构成自激振荡器,结构图中
X1、C1、C2。
第 1 页
2.2.2复位电路
单片机小系统常采用上电自动复位和
手动按键复位两种方式实现系统的复位操
作。上电复位要求接通电源后,自动实现复
位操作。手动复位要求在电源接通的条件下,
在单片机运行期间,用按钮开关操作使单片
机复位。其结构如下图。上电自动复位通过
电容C3充电来实现。手动按键复位是通过按
键将电阻R1与VCC接通来实现。
2.3 原理框图
2.4八位数码管的结构
为了显示字符,要为 LED 显示器段码,除了组成8字形的字符的 7段,另加上1个小数点位,共计8段, 因此提供给 LED 显示器的显示段码为1个字节。
2.5 键盘设计
独立式按键是直接用I/O口线构成的单个按键电路,其特点是每个按键单独占用一根I/O口线,每个按键的工作不会影响其它I/O口线的状态。独立式按键电路配置灵活,软件结构简单,但每个按键必须占用一根I/O口线。
2.6发音部分设计
如下图所示,发音电路是由蜂鸣器、三极管、上拉电阻构成。由三极管来驱动扬声器发音的,同时加上拉电阻增强驱动电流,提高驱动能力。
第 2 页
3.系统软件设计
3.1系统分析
(1)键盘扫描程序:检测是否有按键按下,有按键按下则记录按下键的键值,并跳转至功能转移程序;无按键按下,则返回键盘扫描程序继续检测。
(2)功能转移程序:对检测到的按键值进行判断,是琴键则跳转至琴键处理程序,是功能键则跳转至相应的功能程序。
(3)琴键处理程序:根据检测到的按键值,查询音调表,给计时器赋值,使发出相应频率的声音。
3.2 发音原理
利用AT89C51的内部定时器使其工作计数器模式(MODE1)下,改变计数值TH0及TL0以产生不同频率的方法产生不同音阶。
3.3程序设计
判断音阶(高中低音)
在软件设计中采用yinjie代表音阶,如下图所示
初始化状态为中音(yinjie=1),电路中设计高、低两个音阶键。上电后,若无按键按下,则为中音模式。若音阶键被按下,则如下流程图所示,在高音键按下,若初始yinjie不为2,则另yinjie=2,进入高音工作模式,若初始yinjie为2,则对yinjie进行初始化,即另yinjie=1,重新进入进入中音工作模式,这样即实现了高音键切换高、中音方式的转换。同理,用低音键实现中、低音的切换。
第 3 页
Y
4. Proteus软件仿真
由下图可知,左侧数码管可以显示a、b、c三种结果,代表低音、中音和高音。右侧数码管可以显示1、2、3、4、5、6、7七个数字,分别代表DO、RE、MI、FA、SO、LA、SI七种音符。当系统上电后,若按下低音键,则选定工作方式为低音模式。
第 4 页
5.PCB封装图的制作
5.1元器件的封装
原理图做完之后,打开ARES 6 Professional,可以看到左下角的元器件选择窗口中列出了从原理图加载过来的所有元器件。一些没有加载的元器件,则需要根据元件进行手动封装。
5.2 设计元件封装
(1)对于封装库中没有的封装或者是与实际的元件不符的封装,就需要自己画。首先放置焊盘,根据按钮的引脚间距放置4个焊盘,并修改焊盘的标号,使之与原理图中的元件引脚标号一致,其次放置外边框 利用2D画图工具中的图标根据按钮的实际大小加一个外边框,如此便完成了按钮封装的设计。
(2)选中封装,用左键单击图标,出现保存对话框,在New Package Name中键入要保存的元件封装名称;在Package Category中选中Miscellaneous;在Package Type中选中Through Hole;在Package Sub-Category中选中Switches;单击OK,就把按钮封装保存到了USERPKG库中。自建封装保存后,再到库中加载,就可以把自己制作的元件封装加载到PCB中了。
5.3 PCB封装图
第 5 页
6. 课程设计体会
小数课程设计已经结束,此次课程设计不仅让我们在专业知识方面得到了提高,而且在动手能力和实验上获得了很多的经验,并且,通过这次的小数课程设计实验,我懂得了团队合作的作用,团队之间共同合作,克服困难。团队中分工明确,守望相助,最终克服一系列的难关。
通过实践的课程设计,我们收获了很多,首先,我们对知识的理解已经不仅仅存在于书本上,而是真真正正的掌握了它,深入了它,这使我们对知识的掌握更加的牢固并且运用的更加灵活;其次,在制作原理图时,由一开始的不熟练,生疏慢慢到制作流水灯只需要几分钟,对元器件的简写可以达到随心应手的地步,当我制作PCB图时,运用书籍网络等渠道查阅资料,克服了画元器件的困难,制作住了整齐的PCB图,并观看了3d效果。做实体时,由最开始的茫然到最后的熟练,用心制作出了美观的实体图,虽然这次的小数课程设计我们遇到过很多的困难,但是最终,我们在老师的帮助下和自己的努力下战胜了困难!克服了难关!
第 6 页
第 7 页
久久建筑网m.kkreddy.com提供大量:建筑图纸、施工方案、工程书籍、建筑论文、合同表格、标准规范、CAD图纸等内容。