电子琴论文 - 图文(3)

2019-06-05 09:34

的电平为低,就表示键盘中有键被按下,而且闭合的键位于低电平线与4根行线相交叉的4个按键之中。再判断闭合键所在的位置,依次将行线置为低电平时,再逐行检测各列线的电平状态,若某列为低电平,则该列线与置为低电平的行线交叉处的按键为闭合。若所有的列线均为高电平,则无按键按下。

键盘接口必须具有的4个基本功能

(1)去抖动:每个按键在按下或松开时,都会产生短时间的抖动。抖动的持续时间与键的质量相关。所谓抖动是指在识别被按键是必顺避开抖动状态,只有处在稳定接通或稳定断开的状态才能保证识别正确无误。去抖问题可通过软件延时或硬件电路解决。

(2)防串键:防串键是为了解决多个键同时按下或者前一按键没有释放又有新的按键按下时产生的问题。常用的方法有双键锁定和N键轮回两种方法。双键锁定,是当有两个或两个以上的按键按下时,只把最后释放的键当作有效键并产生相应的键码。N键轮回,是当检测到有多个键被按下时,能根据发现它们的顺序依次产生相应键的键码。

(3)被按键识别:如何识别被按键是接口解决的主要问题,一般可能过软硬结合的方法完成。常用的方法有行扫描法和线反转法两种。行扫描法的基本回想是,由程序对键盘逐行扫描,通过检测到的列输出状态来确定闭全键,为此,需要设置入口、输出口一个,该方法在微机系统中被广泛使用。线反转法的基本思想是通过行列颠倒两次扫描来识别闭合键,为些需要提供两个可编程的双向输入/输出端口。

(4)键码产生:为了从键的行列坐标编码得到反映键功能的键码,一般在内在区中建立一个键盘编码表,通过查表获得被按键的键码。

3.2.2 数码管模块

共阴极数码管在应用时将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮,这样来显示字符。

LED显示模块如图3-4所示,利用AT89S52单片机的P2端口的P2.0-P2.6连接到一个七段数码管上,数码管的公共端接地。

矩阵扫描显示当前按键模块如下:

图3-4 数码管模块图

3.2.3 扬声器模块

音乐播放和弹奏是在P3.7引脚上输出方波周期信号,产生音乐。 矩阵扫描扬声器发出对应音符模块如下:

图3-5 扬声器模块图

第四章 软件设计

4.1 整体程序处理流程图

图4-1 程序流程图

在电子琴开始工作时,系统默认电子琴处于弹奏状态,歌曲选择功能键的目的是赋予矩阵键盘第

二功能,即对系统内置的歌曲进行选择,在放歌时能通过弹奏/停止键来结束放歌,选歌时必顺先按下歌曲选择功能键,在通过矩阵键盘来选择和切换曲目。

4.2 LED数码管的显示

把主芯片中P2.0/A8-P2.7/A15 端口用8芯排线连接到一位数码管的a-h端口上。

表1 字形码表 0 1 2 3 4 5 6 7 0x71 0x3f 0x06 0x5b 0x4f 0x66 0x6d 0x7d 8 9 A B C D E F 0x07 0x7f 0x6f 0x77 0x7c 0x39 0x5e 0x79 4.3 音乐播放设计

一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样就可以利用不同的频率的组合来构成想要的音乐。我们可以利用单片机的定时/计数器T0来产生这样的方波频率信号。

若要产生音频脉冲,只要算出某一音频的周期(1/频率),再将此周期除以2,即为半周期的时间。利用定时器计时半周期时间,每当计时终止后就将P3.7反相,然后重复计时再反相。就可在P3.7引脚上得到此频率的脉冲。

利用AT89S52的内部定时器使其工作计数模式(MODE1)下,改变计数值TH0及TL0以产生不同频率的方法产生不同音阶,例如,频率为523HZ,其周期T=1/523=1912US,因此只要令计数器计时956US/1US=956,每计数956次时将I/O反相,就可得到中音DO(523HZ)。

计数脉冲值与频率的关系式是:N=FI/2/FR

式中,N是计数值:FI是机器频率(晶体振荡器为12MHZ时,其频率为1MHZ);FR是想要产生的频率。

其计数初值T的求法如下:

T=65536-N=65536-FI/2/FR

例如:设K=65536,fi=1MHz,求低音DO(261HZ)、中音DO(523HZ)、高音DO(1046HZ)的计数值。

T=65536-N=65536-FI/2/Fr=65536-1000000/2/FR=65536-500000/Fr 低音DO的T=65536-500000/262=63628 中单DO的T=65536-500000/523=64580 高音DO的T=65536-500000/1046=65058

表2 音符频率表 音频 休止 低音1 低音2 低音3 低音4 低音5 低音6 低音7 中音1 中音2 中音3

对于不同的曲调我们要用单片机的另外一个定时/计数器来完成。在这个程序中用到了两个定时/计数器来完成的。其中T0用来产生音符频率,T1用来产生音拍。

频率(HZ) 0 262 294 330 349 393 440 494 523 587 659 简谱码(T值) 0 63628 63835 64021 64103 64260 64400 64524 64580 64684 64777 音频 中音4 中音5 中音6 中音7 高音1 高音2 高音3 高音4 高音5 高音6 高音7 频率(HZ) 698 784 880 988 1046 1175 1318 1397 1568 1760 1967 简谱码(T值) 64820 64898 64968 65030 65058 65110 65157 65178 65217 65252 65283


电子琴论文 - 图文(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:挖掘装载机

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: