C51课程设计电子琴_第1页
C51课程设计电子琴_第2页
C51课程设计电子琴_第3页
C51课程设计电子琴_第4页
C51课程设计电子琴_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C51 程序设计课程报告电子琴学 院:电气信息工程学院班 级:自动化(3)学 号:1114210114姓 名: 雷星星摘要:随着电子产业的发展和人民生活水平的提高,电子琴在人们生活中将扮演着越来越重要的角色,它改善人们的生活,给人们带来快乐和陶冶人的情操。电子琴,它是现代电子科技与音乐结合的产物,是一种新型的键盘乐器,电子琴采用控制功能强大的微处理技术和电子技术,使它融入现代人的生活中,成为不可或缺的一部分。本设计在充分了解音乐音阶基础上,以 AT89S51 单片机作为核心控制器件而设计的,以这款单片机作为主控核心,通过程序控制与键盘,运放电路,扬声器等电路组成电子琴的基本单元,本文设计的电子琴,采用十六键技术,模拟了市场上电子琴的基本功能。可以用弹奏出简单的乐曲;弹奏电子琴时能播放出准确的声音,不弹奏时可以播放内置音乐。本设计给出了电子琴的详细设计方案,电路组成及程序流程并对电子琴可行性模拟仿真,Proteus 试验仿真表明本文设计的电子琴运行稳定,电路简单,软件功能完善,控制系统可靠,性价比较高等,具有一定的实用和参考价值。在本文设计的基础上,功能可以延伸和拓展,由于是程序控制,电子琴升级方便,具有很强的市场推广价值。关键词:AT89S51,电子琴,Proteus 仿真,音阶目录一 设计背景 .2二 设计目的和要求 .21设计目的 .22.设计要求 .3三 设计原理 .31. 定时/计数器原理 .32.中断控制 .33.七段数码管 .44.矩阵式键盘的识别和显示 .6四 设计组成 .71.设计的模块组成 .72.设计的软件实现流程 .7五 设计的电路原理图 .8六 本实验的 C 语言程序 .9七 仿真和调试 .141.仿真结果 .142.调试过程 .15八 实验成果和心得 .151.实验成果 .152.心得体会 .15参考文献: .172一 设计背景随着人们生活水平的提高和电子产业的高速发展,越来越多的电子产品融入到人们的生活当中,电子琴也不例外,它作为一种陶冶人们情操,给人们生活增天乐趣的一种乐器,在生活中扮演比较重要的角色,逐步成为人们生活当中的一部分。电子琴本身是一种敲击乐器,通过敲击不同按键,由于音阶不同而发出不同声响,给人们的带来快乐,音阶的控制和声音大小是通过微控制器和电子电路实现的。简易电子琴结构组成: 电子乐器的结构较为复杂, 音源是由晶体管产生电振动,并通过音色回路而产生各种音色;同时由周波数调制产生颤音效果,由振 幅调制产生各种乐器的音效。 乐器特色:属于电子乐器,发音音量可以自由调节。音域较宽,和声丰富,甚至可以演奏出一个管弦乐队的效果,表现力极其丰富。它还可模仿多种音色,甚至可以奏出常规乐器所无法发出的声音(如人声,风雨声等)。另外,电子琴在独奏时,还可随意配上类似打击乐音响的节拍伴奏,适合于演奏节奏性较强的现代音乐。另外,电子琴还安装有混响、回声、延长音、震 音和颤音等多项功能装置,表达各种情绪时运用自如。简易电子琴是电声乐队的中坚力量,常用于独奏主旋律并伴以丰富的和声。 还常作为独奏乐器出现,具有鲜明时代特色。但电子琴的局限性也十分明显:旋律与和声缺乏音量变化,过于协和、单一;在模仿各类管、弦乐器时,音色还不够逼真,模仿提琴类乐器的音色时,失真度更大,还需要不断改进。本设计在充分了解音乐音阶基础上,AT89C51 单片机作为核心控制器件而设计的,以这款单片机作为主控核心,通过程序控制与键盘,运放电路,扬声器等电路组成电子琴的基本单元,本文设计的电子琴,采用十六键技术,模拟了市场上电子琴的基本功能。可以用弹奏出简单的乐曲;弹奏电子琴时能播放出准确的声音,不弹奏时可以播放内置音乐。二 设计目的和要求1设计目的(1)熟悉单片机的内部结构。(2)掌握 C51 编程方法。(3)掌握定时器与发声的关系。(4)掌握交流蜂鸣器的发声原理和程序控制方法。(5)掌握串行控制键盘键的识别方法。3 2 .设计要求(1)使用 AT89C51 作为核心控制器件。(2)编写 C 语言程序。(3)利用定时器来控制频率。(4)要求达到电子琴的基本功能,可以用弹奏出简单的乐曲。 (5)用键盘作出电子琴的按键,每键代表一个音符。 (6)各音符按一定的顺序排列,必须符合电子琴的按键排列顺序。 三 设计原理1. 定时/计数器原理MCS-51 单片机内部有 2 个 16 位的可编程定时/计数器,定时 /计数器 0 由计数器 TH0 和 TL0 组成,定时/计数器 1 由计数器 TH1 和 TL1 组成,THX 和TLX(X=0,1)分别为两个 8 位计数器,连接起来可组成 16 位计数器。定时/ 计数器的工作方式由方式控制字 TMOD 选择,定时/计数器的启停由控制寄存器TCON 控制,这两个寄存器均属于特殊功能寄存器。 定时/计数器的工作原理图如下:其核心是一个加 1 计数器,加 1 计数器的脉冲有两个来源:一个是外部脉冲源,另一个是系统的时钟振荡器。当脉冲源为时钟振荡器(等间隔脉冲序列)时,由于计数器脉冲周期相同,所以脉冲数乘以脉冲周期就是定时时间,此时为定时功能。当脉冲源为外部脉冲时,就是外部事件的计数器,此时为计数功能。2 中断控制(1)TCON 用于中断请求TF1TF0IE1 IT1 IE0 IT0IT0:外部中断请求触发方式。当 IT0=0 时,低电平触发;当 IT0=1 时,下降沿触发。IT1 外部中断请求触发方式。作用同 IT0。IE0:外部中断请求标志位。当发中断请求时,置 1,否则置 0。4 IE1:外部中断请求标志位。作用同 IE0。TF0:片内定时/计数器 0 的溢出请求标志位,定时/ 计数器 0 溢出时,置1,否则置 0.TF1:片内定时/计数器 1 的溢出中断请求标志位,作用同 TF0.(2)中断允许寄存器 IEEA ES ET1EX1ET0EX0EA:开中断标志位。当 EA=1 时,CPU 开中断;EA=0 时,CPU 关中断。ES:串行口的中断允许位。当 ES=1 时,串行口允许中断;ES=0 时,则不允许中断。ET0(ET1):定时/ 计数器 0(1)的中断允许位。当 ET0=1,定时/ 计数器0(1)溢出,允许中断,否则不允许。EX0(EX1):INTO 的中断允许位,当 EX0=1 时,允许中断,否则,不允许。3.七段数码管(1)七段数码管简介数码管使用条件:a、段及小数点上加限流电阻b、使用电压:段:根据发光颜色决定; 小数点:根据发光颜色决定c、使用电流:静态:总电流 80mA(每段 10mA);动态:平均电流 4-5mA 峰值电流 100mA上面这个只是七段数码管引脚图,其中共阳极数码管引脚图和共阴极的是一样的。(共阳管与共阴管的判断方法:在公共端加高电平,段码端加低电平,看是否点亮二极管,若亮则为共阳管,不亮则为共阴管)数码管使用条件:(2)数码管的分类数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示) ;按能显示多少个“8”可分为 1 位、2 位、4 位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极 COM 接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极七段数码管5 (COM)的数码管。共阴数码管在应用时应将公共极 COM 接到地线 GND 上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。外观图 共阳极 共阴极数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出想要的数字,因此根据数码管的驱动方式不同,可以分为静态式和动态式两类。(3)数码管的驱动方式静态显示驱动静态显示驱动也称直流驱动。静态显示驱动是指每个数码管的每一个段码都由一个单片机的 I0 端口进行驱动,或者使用如 BCD 码二十进制译码器译码进行驱动。静态显示驱动的优点是编程简单、显示亮度高,缺点是占用 I0端口多,如驱动 5 个数码管静态显示时需要 40(58)根 I0 端口,要知道一个 89551 单片机可用的 I0 端口才 32 个,所以实际应用时必须增加译码驱动器进行驱动,从而增加了硬件电路的复杂性。动态显示驱动数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态显示驱动是将所有数码管的 8 个显示笔画“a、b、 c、d、e、f、g、dp”的同名端连在一起,另外为每个数码管的公共极 COM 增加位选通控制电路,位选通由各自独立的 I0 线控制。当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是哪个数码管会显示出字形,取决于单片机对位选通 COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的 COM端,使各个数码管轮流受控显示,这就是动态显示驱动。在轮流显示过程中,每位数码管的点亮时间为 12ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人6 的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,但能够节省大量的 I0 端口,而且功耗更低。4.矩阵式键盘的识别和显示( 1) 矩 阵 式 键 盘 的 结 构 与 工 作 原 理在键盘中按键数量较多时,为了减少 I/O 口的占用,通常将按键排列成矩阵形式,在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如 P1 口)就可以构成 4*4=16 个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成 20 键的键盘,而直接用端口线则只能多出一键(9 键)。由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。矩阵式结构的键盘显然比直接法要复杂一些,识别也要复杂一些,列线通过电阻接正电源,并将行线所接的单片机的 I/O 口作为输出端,而列线所接的I/O 口则作为输入。这样,当按键没有按下时,所有的输出端都是高电平,代表无键按下。行线输出是低电平,一旦有键按下,则输入线就会被拉低,这样,通过读入输入线的状态就可得知是否有键按下了。(2)的按键识别方法 行扫描法行扫描法又称为逐行(或列)扫描查询法,是一种最常用的按键识别方法.判断键盘中有无键按下将全部行线 Y0-Y3 置低电平,然后检测列线的状态。只要有一列的电平为低,则表示

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论