用单片机设计微型电子琴

介绍了用单片机设计微型电子琴的方法。给出了电路、程序框图及程序。
关键词:单片机,电子琴,程序
单片机因其体积小、功能强、价格低廉而得到广泛应用。本文介绍用at89c51单片机设计微型电子琴的方法,仅需at89c51最小系统,扩展一组小键盘(这里以4×4键盘为例,可按需要扩展),再加一片lm386做音频小功放,输出到扬声器。电源可由三节5号电池提供。
1设计原理
乐音实际上是有固定周期的信号。我们可以用at89c51的一个定时器(如t1)控制,在p3.4脚上输出方波周期信号,产生乐音。根据不同的按键,调节t1的溢出时间,可输出不同频率的乐音,这样就做出了一台微型电子琴。
每个乐音的音高(频率)是固定的,表1列出了一个8度以及其上下共16个音的音名、频率及定时器t1初值对照(设晶体频率为6mhz),供参考。
2硬件电路设计
微型电子琴的电原理图见图1,其中键盘可使用小按键,排成钢琴键盘状(键多时可分为几排),图中还增加了一只按键指示灯(d1)。
3软件设计
软件由初始化程序、主程序、定时器1中断服务程序、键盘扫描程序和延时程序组成。
(1)初始化程序如下:
主程序框图见图2。
(2)主程序:
 cjne r4,#00h,
playkey;判断有无键按下
clr tr1 ;无键按下关闭t1
setbp3.2 ;无键按下熄灭指示灯
sjmpstart;跳回开始位置
playkey:cjne r4,#20h,k0;有键按下由键值给timer1l和timer1h赋值
(3)定时器1中断服务程序框图见图3。
定时器1中断服务程序:
(4)键盘扫描程序框图如图4所示。
键盘扫描程序:
4结束语
本文介绍了用单片机设计微型电子琴的方法,只要依次将本文中各段程序连写,就是完整的16键微型电子琴程序,有兴趣的读者可以设计键数更多的微型电子琴,甚至可以给微型电子琴添加演奏示范曲的功能〔1〕。如果读者有更高的编程技巧,可以通过编程检测并记录按键的时间,做出具有录音功能的微型电子琴。
参 考 文 献
1 王 兵.单片机演奏乐曲.电脑,1991,6
oppo智能手表故宫新禧版方寸之间包罗世间万象
集成电路引脚的识别方法 (集成块)
应对存储器芯片封装技术挑战的长电解决方案
为什么开源可能是IBM公司未来在云计算中成功的关键
华为Mate20X5G证件照公布 业界首款SA/NSA5G双模手机
用单片机设计微型电子琴
上海三大运营商将为 80 万户上网困难家庭免费升级百兆宽带
DIGITIMES走进西航港经济开发区,近距离了解开发区的“不老神话”
旷视科技人脸识别系列产品成功落地全国 用AI视觉升级城市智慧综合体
iOS 11概念设计曝光 这才是iOS应该有的样子!
Flipkart向印度城市投放分拣机器人
喇叭120磁跟100磁的区别
小米MIUI9、华为EMUI5.1对比评测:最快MIUI9与不卡顿EMUI5.1,你觉得哪个好用?
针对不同目标应用和环境要求的数字电视接收技术
晶体三极管放大原理 详解晶体三极管放大电路
三星将为旗下智能电视安卓TikTok应用
宝能集团入主后的观致汽车有了哪些改变?
人工智能要开始反攻?
汽车线束的加工工艺及检查
李彦宏/周鸿祎/丁磊纷纷表态,大佬们密集关注区块链,谨慎之下的萌动