欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    基于单片机的简易电子琴电路设计说明.docx

    • 资源ID:25205254       资源大小:17.41KB        全文页数:13页
    • 资源格式: DOCX        下载积分:30金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要30金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于单片机的简易电子琴电路设计说明.docx

    基于单片机的简易电子琴电路设计说明 单片机课程设计任务书 题目: 基于单片机的简易电子琴电路设计 初始条件: 简易电子琴一般具有弹奏一个自然大调7声音阶的功能。本课程设计,要求用AT89C51等系列芯片实现控制功能,利用按键实现音符和音调的输入;两位的数码管进行被操作的按键显示;用LM386放大电路实现低音频功率放大;最后用蜂鸣器进行播放“送别”。 要求完成的主要任务: 1.设计任务 根据已知条件,设计并制作一个简易电子琴。 2.设计要求 (1)基本要求: 具备7个按键,能够分别较准确地弹奏出17八个音符。 选择电路方案,完成对确定方案电路的设计。计算电路元件参数与元件选择、并画出总体电路原理图,阐述基本原理。用EWB或MULTISIM软件完成仿真,之后制作出相应实物,并按规定格式写出课程设计报告书。 (2)扩展要求:(在完成基本要求的前提下,学有余力的同学可完成) 能够弹奏出至少21个音符(三个音阶)。 能够较便捷地完成音阶的升降。(用另外三个按键开关实现正常、升8度和降8度的切换)。 时间安排: 指导教师签名:年月日 基于单片机的简易电子琴控制系统设计 摘要 目的: 本设计主要研究基于AT89C52单片机的简易电子琴设计。 方法: 它是以单片机作为主控核心,设置键盘、蜂鸣器等外围器件;另外还用到一些简单 器件如:两位数码管,和NPN型三极管及电阻等。利用按键实现音符和音调的输入;两 位的数码管进行被操作的按键显示;用NPN型三极管8550实现低音频功率放大;最后用 蜂鸣器进行播放“送别”。 结果: 本设计硬件部分主要由最小系统,按键系统模块、数码管显示模块和蜂鸣器模块组成。其软件部分主要有主程序模块、定时中断程序、定时计数程序、显示程序。 (1)最小系统:它是单片机应用系统的设计基础。它包括单片机的选择、时钟系统设计、复位电路设计、简单的I/O口扩展、掉电保护等。 (2)按键系统模块:本设计采用10个按键,其中7个按键用来显示7个音调,其它3个按键可以进行高低中音的切换,并自动播放已存歌曲。 (3)数码管显示模块:SM420562段选端接在单片机的P0口,两个位选端分别接在P20和P21。 (4)蜂鸣器模块:此电子琴发音电路是通过三极管驱动蜂鸣器发音,经过上拉电阻提高驱动能力。 结论: 本次设计首先对单片机设计简易电子琴仔细分析,接着制作硬件电路和编写软件的程序,最后进行软硬件的调试运行。并且从原理图,主要芯片,各模块的原理和各个模块的程序调试来阐述。利用单片机产生不同频率来获得我们要求的音阶,实现高、中、低共21个音符的发音和显示和音乐播放时的控制显示,并且能自动播放程序中编排的音乐。系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比高等,具有一定的使用和参考价值。 关键词:单片机定时中断蜂鸣器数码管 c语言编程 1 系统设计 本项目所制作的电子琴控制系统是以51单片机为核心的系统,它主要包括模拟信号 主控芯片89C52、发音单元、显示模块、按键模块组成。具体方案如图1-1所示: 图1-1 系统模块 采用AT89C52单片机作为主控芯片,设置键盘、蜂鸣器等外围器件,另外还用到一些简单器件如:两位数码管,和NPN 型三极管及电阻等。利用按键实现音符和音调的输入;两位的数码管进行被操作的按键显示;用 NPN 型三极管8550实现低音频功率放大;最后用蜂鸣器 发音。 2 硬件电路设计 2.1 显示部分设计 ( 1)数码显示方式 数码显示有静态显示方式与动态显示方式两种。工作在静态显示方式时,数码管的位线与电源一直相连,数码管中的二极管均处于通电状态,即在静态工作方式下,显示电路中数码管的位选线是同时选通,而数码管的段选线是独立输入。 工作在动态显示方式时,数码管的位线在扫描控制电路的控制下按设定顺序导通,即电路中的数码管是逐个接通电源,数码管的段选线以并联方式与译码电路联接,即在动态工作方式下,数码管不是同时导通显示而是按照设定顺序分时导通显示。 (2)八位数码管的结构 本次课程设计的显示电路采用两位数码管进行显示,由于此设计采用的是共阴极的,使用时不加限流电阻为了显示字符,要为 LED 显示器段码,除了组成8字形的字符的 7段,另加上1个小数点位,共计8段, 因此提供给 LED 显示器的显示段码为1个字节。 图2-1 数码管电路 2.2按键部分设计 (1)操作键设计 常用的按键有三种:机械触点式按键、导电橡胶式和柔性按键(又称触摸式键盘)。 机械触点式按键是利用机械弹性使键复位,手感明显,连线清晰,工艺简单,适合单件制造。但是触点处易侵入灰尘而导致接触不良,体积相对较大。 导电橡胶按键是利用橡胶的弹性来复位,通过压制的方法把面板上所有的按键制成一块,体积小,装配方便,适合批量生产。但是时间长了,橡胶老化而使弹力下降,同时易侵入灰尘。 柔性按键是近年来迅速发展的一种新型按键,可以分为凸球型和平面型两种。柔性按键最大特点是防尘、防潮、耐蚀,外形美观,装嵌方便。而且外形和面板的布局、色彩、键距可按照整机的要求来设计。 但是由于客观条件与经济能力有限,本系统采用机械触点式按键。 (2)键盘设计 键盘在单片机应用系统中是一个关键的部件,它能实现向计算机输入数据,传送命令等功能,是人工干预计算机的主要手段。 键盘可以分为2类:独立连接式键盘和矩阵式键盘。 矩阵式键盘: 单片机系统中,若按键较多时,通常采用矩阵式(也称行列式)键盘。矩阵式键盘由行线和列线组成,按键位于行、列线的交叉点上。显然,在按键数量较多时,矩阵式键盘较之独立式按键键盘要节省很多I/O口。 矩阵式键盘中,行、列线分别连接到按键开关的两端,行线通过上拉电阻接到+5V上当无键按下时,行线处于高电平状态;当有键按下时,行、列线将导通,此时,行线电平将由与此行线相连的列线电平决定。这是识别按键是否按下的关键。 独立连接式键盘: 独立式按键是直接用I/O口线构成的单个按键电路,其特点是每个按键单独占用一根I/O 口线,每个按键的工作不会影响其它I/O口线的状态。独立式按键电路配置灵活,软件结构 简单,但每个按键必须占用一根I/O口线,然而,在按键较多时,I/O口线浪费较大,不宜采用。 独立式按键软件常采用查询式结构。先逐位查询每根I/O口线的输入状态,如某一根I/O 口线输入为低电平,则可确认该I/O口线所对应的按键已按下,然后,再转向该键的功能处理程序。由于本程序较为简单,为了使用方便及节省资源,选择独立式键盘。下图为独立式键盘电路图: 图2-2 独立式键盘电路图 (3)去抖动 键盘编程中主要考虑去抖动的问题。 当测试表明有键被按下之后,紧接着就进行去抖动处理。因为键是机械开关结构,由于机械触点的弹性及电压突跳等原因,在触点闭合或断开的瞬间会出现电压抖动。为保证键识别的准确,在电压信号抖动的情况下不能进行行状态输入。为此需进行去抖动处理。去抖动有硬件和软件两种方法。硬件方法就是加去抖动电路,从根本上避免抖动的产生。软件消抖,在第一次检测到有键按下时,执行一段延时程序之后,再检测此按键,如果第二次检测结果仍为按下状态,CPU便确认此按键己按下,消除了抖动。 2.3发音部分设计 如下图所示,发音电路是由蜂鸣器、三极管、上拉电阻构成。由三极管来驱动扬声器发音的,同时加上拉电阻增强驱动电流,提高驱动能力。 图2-3 独立式键盘电路图 3 软件程序设计 3.1 系统分析 (1)系统软件的组成 键盘扫描程序:检测是否有按键按下,有按键按下则记录按下键的键值,并跳转至功能转移程序;无按键按下,则返回键盘扫描程序继续检测。 功能转移程序:对检测到的按键值进行判断,是琴键则跳转至琴键处理程序,是功能键则跳转至相应的功能程序,我们设计的功能程序有两种,即音色调节功能和自动播放乐曲的功能。 琴键处理程序:根据检测到的按键值,查询音调表,给计时器赋值,使发出相应频率的声音。 自动播放歌曲程序:检测到按键按下的是自动播放歌曲功能键后执行该程序,电子琴会自动播放事先已经存放的歌曲,歌曲播放完毕之后自动返回至键盘扫描程序,继续等待是否有按键按。 3.2 参数计算 (1)发音原理 若要产生音频脉冲,只要算出某一音频的周期(1/频率),再将此周期除以2,即为半周期的时间。利用定时器计时半周期时间,每当计时终止后就将P1.0反相,然后重复计时再反相。就可在P1.0引脚上得到此频率的脉冲。利用AT89C51的部定时器使其工作计数器模式(MODE1)下,改变计数值TH0及TL0以产生不同频率的方法产生不同音阶。 (2)计算举例 例如,频率为523Hz,其周期T1/5231912s,因此只要令计数器计时956s/1s 956,每计数956次时将I/O反相,就可得到中音DO(523Hz)。计数脉冲值与频率的关系式是:Nfi÷2÷fr,式中,N是计数值;fi是机器频率(晶体振荡器为12MHz时,其频率为1MHz);fr是想要产生的频率。其计数初值T的求法如下:T65536N65536fi÷2÷fr 例如:设K65536,fi1MHz,求中音DO(261Hz)。T65536N65536fi÷2÷fr 655361000000÷2÷fr65536500000/fr,中音DO的T65536500000/52364580。 (3)计算结果 (1)单片机12MHZ晶振,中音符与计数T0相关的计数值如表所示: 音符频率 (HZ) 计数值(T 值) 音符频率 (HZ) 计数值 (T值) 低1DO 262 63628 #4FA# 740 64860 #1DO# 277 63737 中5SO 784 64898 低2RE 294 63835 #5SO# 831 94934 #2RE# 311 63928 中6LA 880 64968 低3MI 330 64021 #6LA# 932 64994 低4FA 349 64103 中7SI 968 65030 #4FA# 370 64185 低1DO 1046 65058 低SO 392 64260 #1DO# 1109 65085 #5SO# 415 64331 高2RE 1175 65110 低6LA 440 64400 #2RE# 1245 65134 #6LA# 466 64463 高3MI 1318 65157 低7SI 494 64524 高4FA 1397 65178 中1DO 523 64580 #4FA# 1490 65198 #1DO# 554 64633 高5SO 1568 65217 中2RE 587 64633 #5SO# 1661 65235 #2RE# 622 64884 高6LA 1760 65252 中3MI 659 64732 #6LA# 1865 65268 中4FA 698 64820 高7SI 1967 65283 采用查表程序进行查表时,可以为这个音符建立一个表格,有助于单片机通过查表的方式来获得相应的数据:低音019之间,中音在2039之间,高音在4059之间。用单片机播放音乐,或者弹奏电子琴,实际上是按照特定的频率,输出一连串的方波。为了输出合适的方波,首先应该知道音符与频率的关系。 (2)音调数据表 曲调值DELAY 曲调值DELAY 调4/4 125ms 调4/4 62ms 调3/4 187ms 调3/4 94ms 调2/4 250ms 调2/4 125ms 上表中的频率数值,有些过多,去掉不常用的黑键频率,只是把白键对应的数据存放在单片机中,即可满足绝大部分的应用需求。 定义音调数据表的程序如下: DW 63628,63835,64021,64103,64260,64400,64524 64580,低音区:1 2 3 4 5 6 7 DW 64580,64671,64777,64820,64898,64968,65030 65058中音区:1 2 3 4 5 6 7 DW 65058,65110,65157,65178,65217,65252,65283 65312高音区:1 2 3 4 5 6 7 把这个数据表,放在程序中,需要播音的时候,就从表中取出一个数据送到定时器,当定时器溢出中断的时候,再对输出引脚取反,那么,在扬声器中,即可听到上表中频率的声音。 3.3程序设计 (1)判断音阶(高中低音)子程序 在软件设计中采用yinjie代表音阶,如下所示 音阶Yinjie值 高 2 中 1 低0 初始化状态为中音(yinjie=1),电路中设计高、低两个音阶键。上电后,若无按键按下,则为中音模式。若音阶键被按下,则如下流程图所示,初始化后进行按键扫描,在高音键按

    注意事项

    本文(基于单片机的简易电子琴电路设计说明.docx)为本站会员(h****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开