课程设计论文-基于单片机控制的电子琴设计内容摘要:

定为 RESET;当 /EA基于单片机控制的 电子琴 设计 9 端保持高电平时,此间内部程序存储器。 在 FLASH 编程期间,此引脚也用于施加12V 编程电源( VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 振荡器特性 : XTAL1和 XTAL2分别为反向放大器的输入和 输出。 该反向放大器可以配置为片内振荡器。 石晶振荡和陶瓷振荡均可采用。 如采用外部时钟源驱动器件, XTAL2应不接。 有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。 芯片擦除 整个 PEROM 阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE 管脚处于低电平 10ms 来完成。 在芯片擦操作中,代码阵列全被写“ 1”且在任何非空存储字节被重复编程以前,该操作必须被执行。 此外, AT89C51设有稳态逻辑,可以在低到零频率的条 件下静态逻辑,支持两种软件可选的掉电模式。 在闲置模式下, CPU 停止工作。 但 RAM,定时器,计数器,串口和中断系统仍在工作。 在掉电模式下,保存 RAM 的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。 图 22 AT89c51单片机最小系统 矩阵式键盘的识别 . 矩阵式键盘的结构与工作原理 在键盘中按键数量较多时,为了减少 I/O 口的占用,通常将按键排列成矩阵形式。 在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。 这样,一个端口(如 P1口)就 可以构成 4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成 20键的键盘,而直接用端口线则只能多出一键( 9键)。 由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。 矩阵式结构的键盘显然比直接法要复杂一些,识别也要复杂一些,上图中,基于单片机控制的 电子琴 设计 10 列线通过电阻接正电源,并将行线所接的单片机的 I/O 口作为输出端,而列线所接的 I/O 口则作为输入。 这样,当按键没有按下时,所有的输出端都是高电平,代表无键按下。 行线输出是低电平,一旦有键按下,则输入线就会被拉低,这 样,通过读入输入线的状态就可得知是否有键按下了。 具体的识别及编程方法如下所述。 . 矩阵式键盘的按键识别方法 确定矩阵式键盘上何键被按下介绍一种“行扫描法”。 行扫描法 行扫描法又称为逐行(或列)扫描查询法,是一种最常用的按键识别方法,如上图所示键盘,介绍过程如下。 判断键盘中有无键按下 将全部行线 Y0Y3置低电平,然后检测列线的状态。 只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与 4根行线相交叉的 4个按键之中。 若所有列线均为高电平,则键盘中无键按下。 判断闭合键所在的位置 在确认有键按下后,即可进入确定具体闭合键的过程。 其方法是:依次将行线置为低电平,即在置某根行线为低电平时,其它线为高电平。 在确定某根行线位置为低电平后,再逐行检测各列线的电平状态。 若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。 . 键盘接口必须具有的 4 个基本功能。 ( 1)去抖动 :每个按键在按下或松开时,都会产生短时间的抖动。 抖动的持续时间与键的质量相关,一般为 5— 20mm。 所谓抖动是指在识别被按键是必须避开抖动状态,只有处在稳定接通或稳定断开状态才能保 证识别正确无误。 去抖问题可通过软件延时或硬件电路解决。 ( 2)防串键:防串键是为了解决多个键同时按下或者前一按键没有释放又有新的按键按下时产生的问题。 常用的方法有双键锁定和 N 键轮回两种方法。 双键锁定,是当有两个或两个以上的按键按下时,只把最后释放的键当作有效键并产生相应的键码。 N键轮回,是当检测到有多个键被按下时,能根据发现它们的顺序依次产生相应键的键码。 ( 3)被按键识别:如何识别被按键是接口解决的主要问题,一般可通过软硬结合的方法完成。 常用的方法有行扫描法和线反转法两种。 行扫描法的基本思想是,由程序 对键盘逐行扫描,通过检测到的列输出状态来确定闭合键,为此,需要设置入口、输出口一个,该方法在微机系统中被广泛使用。 线反转法的基本思想是通过行列颠倒两次扫描来识别闭合键,为此需要提供两个可编程的双向输入 /输出端口。 ( 4)键码产生:为了从键的行列坐标编码得到反映键功能的键码,一般在内存区中建立一个键盘编码表,通过查表获得被按键的键码。 用 AT89C51的并行口 P0接 4 4矩阵键盘,以 - ,以 - 线;在数码管上显示每个按键的“ 0- F”序号。 基于单片机控制的 电子琴 设计 11 图 23 4 4键盘电路图 LM386 音频放大电路 LM386 音频放大电路原理 LM386 是一种音频集成功放,具有自身功耗低、电压增益可调整、电源电压范围大、外接元件少和总谐波失真小等优点,广泛应用于录音机和收音机之中。 LM386 内部电路原理图如下图所示。 与通用型集成运放相类似,它是一个三级放大电路。 第一级为差分放大电路, T1和 T T2和 T4分别构成 复合管 ,作为差分放大电路的放大管; T5和 T6组成镜像电流源作为 T1和 T2的 有源负载 ; T3和 T4信号从管的基极输入,从 T2管的集电极输出,为双端输入单端输出差分电路。 使用镜像电流源作为 差分放大电路有源负载,可使单端输出电路的增益近似等于双端输出电容的增益。 第二级为共射放大电路, T7为放大管,恒流源作有源负载,以增 大放大倍数。 第三级中的 T8和 T9管复合成 PNP 型管,与 NPN 型管 T10构成准互补输出级。 二极管 D1和 D2为输出级提供合适的偏置电压,可以消除交越失真。 基于单片机控制的 电子琴 设计 12 引脚 2 为反相输入端,引脚 3 为同相输入端。 电路由单电源供电,故为 OTL(省去输出 变压器 的功率放大电路通常称为 OTL 电路。 其中, OTL 为 Output TransformerLess 的缩写)电路。 输出端(引脚 5)应外接输出电容后再 接负载。 电阻 R7从输出端连接到 T2的发射极,形成反馈通路,并与 R5 和 R6构成反馈网络,从而引入了深度电压串联 负反馈 ,使整个电路具有稳定的电压增益。 LM386 引脚图 LM386 的外形和引脚的排列如下图所示。 引脚 2 为反相输入端, 3为同相输入端;引脚 5为输出端;引脚 6和 4分别为电源和地;引脚 1和 8为电压增益设定端;使用时在引脚 7 和地之间接旁路电容,通常取 10μF。 查 LM386 的 datasheet,电源电压 412V 或 518V(LM386N4);静态消耗电流为 4mA;电压增益为 20200dB;在 8脚开路时,带宽为 300KHz;输入阻抗为 50K;音频功率。 尽管 LM386 的应用非常简单,但稍不注意,特别是器件上电、断电瞬间,甚至工作稳定后,一些操作(如插拔音频插头、旋音量调节钮)都会带来的瞬态冲击,在输出 喇叭上会产生非常讨厌的噪声。 通过接在 1 脚、 8 脚间的电容( 1 脚接电容 +极)来改变增益,断开时增益为 20dB。 因此用不到大的增益,电容就不要接了,不光省了成本,还会带来好处 噪音减少,何乐而不为。 PCB 设计时,所有外围元件尽可能靠近 LM386;地线尽可能粗一些;输入音频信号通路尽可能平行走线,输出亦如此。 这是死理,不用多说了吧。 选好调节音量的电位器。 质量太差的不要,否则受害的是耳朵;阻值不要太大, 10K 最合适,太大也会影响音质,转那么多圈圈,不烦那。 尽可能采用双音频输入 /输出。 好处是: “ + ” 、 “ - ” 输出端可以很好地抵消共模信号,故能有效抑制共模噪声。 第 7脚( BYPASS)的旁路电容不可少。 实际应用时, BYPASS 端必须外接一个电解电容到地,起滤除噪声的作用。 工作稳定后,该管脚电压值约等于电源电压的一半。 增大这个电容的容值,减缓直流基准电压的上升、下降速度,有效基于单片机控制的 电子琴 设计 13 抑制噪声。 在器件上电、掉电时的噪声就是由该偏置电压的瞬间跳变所致,这个电容可千万别省啊。 减少输出耦合电容。 此电容的作用有二:隔直 + 耦合。 隔断直流电压,直流电压过大有可能会损坏喇 叭线圈;耦合音频的交流信号。 它与扬声器负载构成了一阶高通滤波器。 减小该电容值,可使噪声能量冲击的幅度变小、宽度变窄;太低还会使截止频率( fc= 1/(2π*R L*Cout))提高。 分别测试,发现 10uF/最为合适,这是我的经验值。 电源的处理,也很关键。 如果系统中有多组电源,太好了。 由于电压不同、负载不同以及并联的去耦电容不同,每组电源的上升、下降时间必有差异。 非常可行的方法:将上电、掉电时间短的电源放到 +12V 处,选择上升相对较慢的电源作为 LM386 的 Vs,但不要低于 4V,效果确实不错。 LM386 应用电路 电压增益为 20 的放大电路 基于单片机控制的 电子琴 设计 14 电压增益为 50 的放大电路 电压增益为 200 的放大电路 基于单片机控制的 电子琴 设计 15 在 85Hz 具有 6db 增益的放大电路 收音机中的 LM386: 基于单片机控制的 电子琴 设计 16 用 LM386 设计的音频放大电路 图 24 LM386设计的音频放大电路 基于单片机控制的 电子琴 设计 17 第 三 章 软件设计 音乐弹奏设计 一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时 /计数器 T0 来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。 现在以单片机 12MHZ 晶振为例,例出高中低音符与单片机计数 T0 相关的计数值如下表所示 音符 频率( HZ) 简谱码( T 值) 音符 频率( HZ) 简谱码( T 值) 低 1 DO 262 63628 4 FA 740 64860 1 DO 277 63731 中 5 SO 784 64898 低 2 RE 294 63835 5 SO 831 64934 2 RE 311 6。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。