或硬件复位为止。最高运作频率35MHz,6T/12T可选。图为STC89C52的管脚图。
2. LM386
LM386是美国国家半导体公司生产的音频功率放大 器,主要应用于低电压消费类产品。为使外围元件最少,电压增益内置为20。但在1脚和8脚之间增加一只外接电阻和电容,便可将电压增益调为任意值,直至 200。输入端以地位参考,同时输出端被自动偏置到电源电压的一半,在6V电源电压下,它的静态功耗仅为24mW,使得LM386特别适用于电池供电的场合。LM386是一种音频集成功放,具有自身功耗低、电压增益可调整、电源电压范围大、外接元件少和总谐波失真小等优点,广泛应用于录音机和收音机之中。图为LM386的芯片管脚图。
三、 软件设计
1.音调发生
了解音乐的一些基本知识后可知,产生不同频率的音频脉冲即能产生音乐,对于单片机而言,产生不同频率有脉冲非常方便,可以利用它的定时/计数器来产生这样的方波频率信号,因此,需要弄清楚音乐中的音符和对应的频率,以及单片机定时计数的关系。
在本实验中,单片机工作于12MHZ时钟频率,使用其定时/计数器T0,工作模式为1,改变计数值TH0和TL0可以产生不同频率的脉冲信号,在此情况下,C调的各音符频率与计数值T的对照如下表:
通过该表,就可以通过编程实现按键发声的功能。
2. 4×4矩阵键盘识别处理
键盘只简单地提供按键开关的行列矩阵。有关按键的识别、键码的确定与输入、去抖等功能均由软件完成。
每个按键都有它的行值和列值,行值和列值的组合就是识别这个按键的编码。矩阵的行线和列线通过P3口和单片机相连。键盘处理程序的任务是:确定有无键按下,判断哪一个键按下,键的功能是什么,还要消除按键在闭合或断开时的抖动。通过行线输出扫描码,使按键逐行动态接地,列线输入按键状态,无键按下,列线输入1,有键按下,列线输入0,由行扫描值和列线的回馈信号共同形成键编码而识别按键,通过软件查表,查出该键功能。
3. 程序流程图
(a) 主程序流程图(b) T0中断服务程序流程图
图-5 主程序和T0中断服务程序流程图
四、 硬件连接图
系统硬件连接如下图所示,单片机P1.0的输出作为音频放大电路的输入,P3口分别作为4×4矩阵键盘的行和列。