版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机课程设计任务书题 目:基于单片机的简易电子琴电路设计初始条件:简易电子琴一般具有弹奏一个自然大调7声音阶的功能。本课程设计,要求用 AT89C51等系列芯片实现控制功能,利用按键实现音符和音调的输入;两位的数码管进行被操作的按 键显示;用LM386放大电路实现低音频功率放大;最后用蜂鸣器进行播放“送别”。要求完成的主要任务:1 .设计任务根据已知条件,设计并制作一个简易电子琴。2 .设计要求(1)基本要求:具备7个按键,能够分别较准确地弹奏出17八个音符。选择电路方案,完成对确定方案电路的设计。计算电路元件参数与元件选择、并画出 总体电路原理图,阐述基本原理。用EW域MULTISIM软件
2、完成仿真,之后制作出相应实物,并按规定格式写出课程设计报告书。(2)扩展要求:(在完成基本要求的前提下,学有余力的同学可完成) 能够弹奏出至少21个音符(三个音阶)。 能够较便捷地完成音阶的升降。(用另外三个按键开关实现正常、升 8度和降8度的切换)。时间安排:序 号阶段内容所需时间 (周)1方案选择及电路设计P假期进行2制作、编程、调试13撰写课程设计报告及答辩1合 计2指导教师签名:基于单片机的简易电子琴控制系统设计摘要目的 :本设计主要研究基于AT89C52单片机的简易电子琴设计。方法 :它是以单片机作为主控核心,设置键盘、蜂鸣器等外围器件;另外还用到一些简单器件如:两位数码管,和NPN
3、型三极管及电阻等。利用按键实现音符和音调的输入;两位的数码管进行被操作的按键显示;用NPN三极管8550实现低音频功率放大;最后用蜂鸣器进行播放“送别” 。结果:本设计硬件部分主要由最小系统,按键系统模块、数码管显示模块和蜂鸣器模块组成。其软件部分主要有主程序模块、定时中断程序、定时计数程序、显示程序。( 1 ) 最小系统: 它是单片机应用系统的设计基础。 它包括单片机的选择、 时钟系统设计、复位电路设计、简单的 I/O 口扩展、掉电保护等。(2)按键系统模块:本设计采用10 个按键,其中 7 个按键用来显示7 个音调,其它 3个按键可以进行高低中音的切换,并自动播放已存歌曲。(3)数码管显示
4、模块:SM420562段选端接在单片机的P0 口,两个位选端分别接在P2A0和 P2A1。( 4 )蜂鸣器模块:此电子琴发音电路是通过三极管驱动蜂鸣器发音,经过上拉电阻提高驱动能力。结论:本次设计首先对单片机设计简易电子琴仔细分析,接着制作硬件电路和编写软件的程序,最后进行软硬件的调试运行。并且从原理图,主要芯片,各模块的原理和各个模块的程序调试来阐述。利用单片机产生不同频率来获得我们要求的音阶,实现高、中、低共 21 个音符的发音和显示和音乐播放时的控制显示,并且能自动播放程序中编排的音乐。系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比高等,具有一定的使用和参考价值。
5、关键词: 单片机 定时中断蜂鸣器 数码管 c 语言编程111系统设计本项目所制作的电子琴控制系统是以51单片机为核心的系统,它主要包括模拟信号主控芯片89C52、发音单元、显示模块、按键模块组成。具体方案如图1-1所示:图1-1系统模块采用AT89C52单片机作为主控芯片,设置键盘、蜂鸣器等外围器件,另外还用到一些简 单器件如:两位数码管,和 NPN型三极管及电阻等。利用按键实现音符和音调的输入;两位 的数码管进行被操作的按键显示;用NPN三极管8550实现低音频功率放大;最后用蜂鸣器发日。2硬件电路设计2.1显示部分设计(1)数码显示方式数码显示有静态显示方式与动态显示方式两种。工作在静态显
6、示方式时,数码管的位线 与电源一直相连,数码管中的二极管均处于通电状态,即在静态工作方式下,显示电路中数 码管的位选线是同时选通,而数码管的段选线是独立输入。工作在动态显示方式时,数码管的位线在扫描控制电路的控制下按设定顺序导通,即电 路中的数码管是逐个接通电源,数码管的段选线以并联方式与译码电路联接,即在动态工作 方式下,数码管不是同时导通显示而是按照设定顺序分时导通显示。(2)八位数码管的结构本次课程设计的显示电路采用两位数码管进行显示,由于此设计采用的是共阴极的,使 用时不加限流电阻为了显示字符,要为LED显示器段码,除了组成 8字形的字符的7段,另加上1个小数点位,共计 8段,因此提供
7、给LED显示器的显示段码为 1个字节。图2-1数码管电路2.2按键部分设计(1)操作键设计常用的按键有三种:机械触点式按键、导电橡胶式和柔性按键(又称触摸式键盘)机械触点式按键是利用机械弹性使键复位,手感明显,连线清晰,工艺简单,适合单件 制造。但是触点处易侵入灰尘而导致接触不良,体积相对较大。导电橡胶按键是利用橡胶的弹性来复位,通过压制的方法把面板上所有的按键制成一块, 体积小,装配方便,适合批量生产。但是时间长了,橡胶老化而使弹力下降,同时易侵入灰柔性按键是近年来迅速发展的一种新型按键,可以分为凸球型和平面型两种。柔性按键 最大特点是防尘、防潮、耐蚀,外形美观,装嵌方便。而且外形和面板的布
8、局、色彩、键距 可按照整机的要求来设计。但是由于客观条件与经济能力有限,本系统采用机械触点式按键。(2)键盘设计键盘在单片机应用系统中是一个关键的部件,它能实现向计算机输入数据,传送命令等 功能,是人工干预计算机的主要手段。键盘可以分为2类:独立连接式键盘和矩阵式键盘。矩阵式键盘:单片机系统中,若按键较多时,通常采用矩阵式(也称行列式)键盘。矩阵式键盘由行 线和列线组成,按键位于行、列线的交叉点上。显然,在按键数量较多时,矩阵式键盘较之 独立式按键键盘要节省很多 I/O 口。矩阵式键盘中,行、列线分别连接到按键开关的两端,行线通过上拉电阻接到+5V上.当无键按下时,行线处于高电平状态;当有键按
9、下时,行、列线将导通,此时,行线电平将由 与此行线相连的列线电平决定。这是识别按键是否按下的关键。独立连接式键盘:独立式按键是直接用I/O 口线构成的单个按键电路,其特点是每个按键单独占用一根I/O口线,每个按键的工作不会影响其它I/O 口线的状态。独立式按键电路配置灵活,软件结构简单,但每个按键必须占用一根I/O 口线,然而,在按键较多时,I/O 口线浪费较大,不宜采用。独立式按键软件常采用查询式结构。先逐位查询每根I/O 口线的输入状态,如某一根I/O口线输入为低电平,则可确认该I/O 口线所对应的按键已按下,然后,再转向该键的功能处理程序。由于本程序较为简单,为了使用方便及节省资源,选择
10、独立式键盘。下图为独立式 键盘电路图:图2-2独立式键盘电路图(3)去抖动键盘编程中主要考虑去抖动的问题。当测试表明有键被按下之后,紧接着就进行去抖动处理。因为键是机械开关结构,由于 机械触点的弹性及电压突跳等原因,在触点闭合或断开的瞬间会出现电压抖动。为保证键识 别的准确,在电压信号抖动的情况下不能进行行状态输入。为此需进行去抖动处理。去抖动 有硬件和软件两种方法。硬件方法就是加去抖动电路,从根本上避免抖动的产生。软件消抖, 在第一次检测到有键按下时,执行一段延时程序之后,再检测此按键,如果第二次检测结果 仍为按下状态,CPUt确认此按键己按下,消除了抖动。2.3发音部分设计如下图所示,发音
11、电路是由蜂鸣器、三极管、上拉电阻构成。由三极管来驱动扬声器发 音的,同时加上拉电阻增强驱动电流,提高驱动能力。图2-3独立式键盘电路图3 软件程序设计3.1 系统分析 1 )系统软件的组成 键盘扫描程序:检测是否有按键按下,有按键按下则记录按下键的键值,并跳转至 功能转移程序;无按键按下,则返回键盘扫描程序继续检测。 功能转移程序:对检测到的按键值进行判断,是琴键则跳转至琴键处理程序,是功 能键则跳转至相应的功能程序,我们设计的功能程序有两种,即音色调节功能和自动播放乐 曲的功能。 琴键处理程序:根据检测到的按键值,查询音调表,给计时器赋值,使发出相应频 率的声音。 自动播放歌曲程序:检测到按
12、键按下的是自动播放歌曲功能键后执行该程序,电子 琴会自动播放事先已经存放的歌曲,歌曲播放完毕之后自动返回至键盘扫描程序,继续等待 是否有按键按。3.2 参数计算( 1)发音原理若要产生音频脉冲,只要算出某一音频的周期( 1/ 频率) ,再将此周期除以2 ,即为半周期的时间。利用定时器计时半周期时间,每当计时终止后就将P1.0 反相,然后重复计时再反相。就可在P1.0引脚上得到此频率的脉冲。利用AT89C51的内部定时器使其工作计数器模式(MODE1下,改变计数值 TH0及TL0以产生不同频率的方法产生不同音阶。( 2 ) 计算举例例如,频率为523Hz,其周期T= 1/523 = 1912 s
13、,因此只要令计数器计时956 ds/1 s= 956,每计数956次时将I/O反相,就可得到中音DO(523Hz)。计数脉冲值与频率的关系式是:N= fi +2 + fr ,式中,N是计数值;fi是机器频率(晶体振荡器为12MHz时,其频率为1MHZ; fr是想要产生的频率。其计数初值T的求法如下:T= 65536-Nl= 65536-fi +2 + fr例如:设 K= 65536, fi =1MHz 求中音 DO(261Hz)。T= 65536N= 65536-fi +2 + fr =65536 1000000-2-fr = 65536 500000/fr ,中音 DO的 T= 65536
14、500000/523 = 64580。3)计算结果( 1 )单片机12MHz晶振,中音符与计数T0 相关的计数值如表所示:音符频率计数值(T音符频 率计 数Hz)值)( Hz)( T 值)低 1DO26263628#4FA#74064860#1DO#27763737中 5SO78464898低 2RE29463835#5SO#83194934#2RE#31163928中 6LA88064968低 3MI33064021#6LA#93264994低 4FA34964103中 7SI96865030值#4FA#37064185低 1DO104665058低 SO39264260#1DO#11096
15、5085#5SO#41564331高 2RE117565110低 6LA44064400#2RE#124565134#6LA#46664463高 3MI131865157低 7SI49464524高 4FA139765178中 1DO52364580#4FA#149065198#1DO#55464633高 5SO156865217中 2RE58764633#5SO#166165235#2RE#62264884高 6LA176065252中 3MI65964732#6LA#186565268中 4FA69864820高 7SI196765283采用查表程序进行查表时,可以为这个音符建立一个表格,
16、有助于单片机通过查表的方式来获得相应的数据:低音019 之间,中音在2039 之间,高音在 4059 之间。用单片机播放音乐,或者弹奏电子琴,实际上是按照特定的频率,输出一连串的方波。为了输出合适的方波,首先应该知道音符与频率的关系。( 2 )音调数据表曲调值DELAY曲调值DELAY调 4/4125ms调 4/462ms调 3/4187ms调 3/494ms调 2/4250ms调 2/4125ms上表中的频率数值,有些过多,去掉不常用的黑键频率,只是把白键对应的数据存放在单片机中,即可满足绝大部分的应用需求。定义音调数据表的程序如下:DW 63628,63835,64021,64103,64
17、260,64400,64524 64580, 低音区 :1 2 3 4 5 6 7DW 64580,64671,64777,64820,64898,64968,65030 65058中音区:1 2 3 4 5 6 7DW 65058,65110,65157,65178,65217,65252,65283 65312高音区:1 2 3 4 5 6 7把这个数据表,放在程序中,需要播音的时候,就从表中取出一个数据送到定时器,当定时器溢出中断的时候,再对输出引脚取反,那么,在扬声器中,即可听到上表中频率的声3.3 程序设计( 1 ) 判断音阶(高中低音)子程序在软件设计中采用 yinjie 代表音阶
18、,如下所示音阶Yinjie 值高2中1低0初始化状态为中音( yinjie=1 ) ,电路中设计高、低两个音阶键。上电后,若无按键按下,则为中音模式。若音阶键被按下,则如下流程图所示,初始化后进行按键扫描,在高音键按下,若初始yinjie 不为2,则另yinjie=2,进入高音工作模式,若初始yinjie 为2,则对yinjie 进行初始化,即另yinjie=1,重新进入进入中音工作模式,这样即实现了高音键切换高、中音 方式的转换。同理,用低音键实现中、低音的切换。Y图3-1判断音阶(高中低音)子程序(2)播放子程序(包括自动播放存储音乐和按键发音)本设计共两种播放模式,包括自动播放存储音乐和
19、按键发音。上电后,首先开中断并设定 定时器0为工作方式1,当自动播放键按下时,进入中断,根据乐谱在定义的音频数组中查找 相应音律,然后给定时器赋初值,即开始播放音乐。当 DO RE MI、FA、SO LA、SI七种音 符键按下时,根据音阶值(如 3.3.1中高中低对应)和音符值在定义的音频数组中查找相应 音律,然后给定时器赋初值,即按键发音。图3-2播放子程序(3)由此可得系统总体功能流程图4系统仿真与调试4.1硬件调试硬件调试主要是针对单片机部分进行的调试。在上电之前,先确保电路中不存在断路或短路情况,这一工作是整个调试工作的第一步, 也是非常重要的一个步骤。在这部分调试中主要使用的工具是万
20、用表,用来完成检测电路中 是否存在断路或者短路情况的任务。注意焊点之间,确保焊点没有短接在一起,同时注意焊 点的美观,确保没有开路以及短路的现象出现。在确保硬件电路正常且无异常情况(断路或短路)的情况下方可上电调试,上电调试的目的是检验电路是否接错,同时还要检验原理是否正确,在本次设计中,上电调试主要是检测 单片机控制部分、数码管点亮部分、和音频转换电路硬件调试。(1)、数码管LED电路调试:接通电源,随机按下按钮可以看到数码管显示数字。(2)、键盘单片机控制部分调试:上电后,随机按动键盘可以发现各个按键对应的音正确。1.2 软件调试调试主要方法和技巧:通常一个调试程序应该具备至少四种性能:跟
21、踪、断点、查看变 量、更改数值。整个程序是一个主程序调用各个子程序实现功能的过程,要使主程序和整个 程序都能平稳运行,各个模块的子程序的正确与平稳运行必不可少,所以在软件调试的最初 阶段就是把各个子程序模块进行分别调试。1.3 仿真结果(任举一例)MZC 埠;幽T 4U-1IQABCDEFG DP 1国F2 Ijffl rlZJAD PZ*J1 PZ4AI1 FT $J AIJ Pi MH阳加R卸I P3 I加 PlliirjIT PllilNTl ra-crn 时却ri5中的 rtT“qa刖打出8图4-1低音音符DO仿真图1.4 结果分析根据仿真结果可知,本次课程设计能够准确并彻底的完成设计
22、要求。左侧数码管可以显示a、 b、 c 三种结果,分别代表低音、中音和高音。右侧数码管可以显示1、 2、 3、 4、 5、 6、 7七个数字,分别代表DO、 RE、 MI、 FA、 SO、 LA、 SI 七种音符。下面以4.3 为例具体进行分析:当系统上电后,若按下低音键(如图 P3.6) , ,则选定工作方式为低音模式,图中 a 即代表低音。P0 口连接数码管段选端,右侧数码管显示的 1即代表DQ两位数码管即代表低音DQ5 总结与展望总体来说,此次单片机课程设计使我们收获良多,虽然课程设计的过程中遇到了很多困难与问题,但我们最终还是完成了设计的任务及要求。具体来说可以分为以下几点:第一,不够
23、细心,不够严谨(如因为粗心大意而焊错线) ;第二,因对课本理论的掌握度不够导致编程出现错误;第三,硬件方面,刚开始有的程序模块不能实现预期的效果,对于有的硬件,在实物制作过程中焊了比较多的排线,同时对于整体各元器件的布局都有很高的要求。不过在向同学请教,各方面都有了不同程度的改善;第四,在做人方面,我认识到,无论做什么事情,只要你足够坚强,有足够的毅力和决心,有足够的挑战困难的勇气,就没有什么办不到的。这次课程设计中,经过我们的努力,在仿真软件和实物上都实现了高、中、低21 个音符的发声和音乐的自动播放,使我们有了一定的成就感,也使我们进一步熟悉和掌握了单片机的内部结构和工作原理,了解了单片机
24、应用系统设计的基本方法和步骤 , 掌握了单片机仿真软件 Proteus 的使用方法和键盘、显示器在的单片机控制系统中的应用,同时也掌握了撰写课程设计报告的方法。总之,通过这次课程设计,我们都清楚明白了自己的能力有多深,想提高还得归于多锻炼,多动手,多向别人学习。6 参考文献【 1 】 余发山、 王福忠 . 单片机原理及应用技术. 中国矿业大学出版社.2008 年 6 月第 1 版【 2 】杨凌霄. 微型计算机原理与应用,中国矿业大学出版社 .2008 年 8 月第一版【 3 】康华光. 电子技术基础(数字部分) ,高等教育出版社 . 第五版【4】徐志军,伊廷多1等.EDA技术与PLD设计 人民
25、邮电出版社,2006年2月第1版【5】李朝青. 单片机原理及接口技术M. 北京:北京航天航空大学出版色, 2001.【 6 】胡汉才. 单片机原理及其接口技术M. 北京:清华大学出版社, 2004.附件 1: 源程序代码#include#define keyport P1#define uchar unsigned char#define uint unsigned intuchar high,low; / 定时器预装值的高 8位和低 8 位sbit speak=P3A0;sbit gao=P3A5;sbit di=P3A6;sbit zdbf=P3A7;uchar yinjie=1;ucha
26、r time;uchar n=0;uchar bo=0;uchar code fre2= 0x8c,0xf8,0x5b,0xf9,0x15,0xfa,0x67,0xfa,0x90,0xfb,0xae,0xfb,0x0c,0xfc, / 低音0x44,0xfc,0xac,0xfc,0x09,0xfd,0x34,0xfd,0x82,0xfd,0xc2,0xfd,0x06,0xfe,/ 中音0x22,0xfe,0x56,0xfe,0x85,0xfe,0x9a,0xfe,0xc1,0xfe,0xe4,0xfe,0x03,0xff,/ 高音;void delay(uint );void ITimer0(
27、void);/ 定时器初始化void key(void);void dtxs(int,int);void song()TH0=high;TL0=low;TR0=1;delay(time*240);void yinyue()uchar code hls= 5,2,2,3,2,1, 5,2,1, 1,3,4, 6,2,2, 1,3,2, 5,2,4, 5,2,2, 1,2,1,2,2,1 ,3,2,2 ,2,2,1,1,2,1 ,2,2,6, 5,2,2, 3,2,1, 5,2,1, 1,3,3, 7,2,1, 6,2,2,1,3,2, 5,2,4, 5,2,2,2,2,1, 3,2,1, 4,2
28、,3, 7,1,1, 1,2,6, 6,2,2, 1,3,2, 1,3,4,7,2,2, 6,2,1, 7,2,1, 1,3,4 ,6,2,1,7,2,1, 1,3,1 ,6,2,1, 6,2,1 ,5,2,1 ,3,2,1, 1,2,1, 2,2,6,5,2,2, 3,2,1,1,2,1, 1,3,3, 7,2,1, 6,2,2, 1,3,2, 5,2,4, 5,2,2, 2,2,1,3,2,1, 4,2,3, 7,1,1, 1,2,6;uchar m;n=0;while(n174)m=hlsn+7*(hlsn+1-1)-1;high=frem1;low=frem0;time=hlsn+2;n=n+3;song();void main (void)uchar num;ITimer0();speak=0;while(1)key();switch(keyport)case 0xfe:num=1;break;case 0xfd:num=2;break;case 0xfb:num= 3;break;case 0xf7:num= 4;break;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国矿业大学《火灾动力学(英语)》2021-2022学年第一学期期末试卷
- 中国计量大学《中国古代文学》2023-2024学年第一学期期末试卷
- 中国地质大学(武汉)《图形动效展示设计》2022-2023学年第一学期期末试卷
- 2024年乡村住宅租赁合同样本3篇
- 2024年度劳务分包交底协议要览版B版
- 2024年中小企业融资租赁业务协议3篇
- 2024年携手创新:材料检测与评估协议3篇
- 2024年标准房屋抵押权协议样本版B版
- 哲学二级学科课程设计
- 中国地质大学(武汉)《计算机视觉与机器学习》2023-2024学年第一学期期末试卷
- 2024年秋季新苏教版一年级上册数学课件 期末复习 第3课时 图形的认识
- 2024-2025学年新教材高中化学 第3章 不同聚集状态的物质与性质 第2节 第2课时 共价晶体 分子晶体 晶体结构的复杂性教案 鲁科版选择性必修2
- 华中师大版七年级上册信息技术 4.2信息的合理存放-文件及文件夹的合理存储 教案
- 初中主题班会人际交往
- 气候可行性论证技术规范 第10部分:油田开发工程
- 单位工程质量竣工验收记录1
- 防雷与接地作业指导书
- 施工组织设计-汽研中心风洞试验室工程
- 突发环境事件应急预案评审会汇报课件-(模板)
- 医疗投诉与纠纷处理管理制度
- 国开电大本科《理工英语3》机考真题(第001套)
评论
0/150
提交评论