手机版

程煜钧 通信1001 基于stc89c52单片机的16音阶电子琴(3)

发布时间:2021-06-07   来源:未知    
字号:

或硬件复位为止。最高运作频率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矩阵键盘的行和列。

程煜钧 通信1001 基于stc89c52单片机的16音阶电子琴(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
×
二维码
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)