| | 网站首页 | 技术文章 | 专业论文 | PLC可编程 | 单片机 | 变频器 | 传感器 | 嵌入式系统 | 电源技术 | 运动与伺服 | | 校园招聘 | 留言板 | |
|
![]() |
|
| 您现在的位置: 自动化学习网 >> 技术文章 >> 单片机 >> 文章正文 |
|
|||||
| 用单片机设计微型电子琴 | |||||
作者:佚名 文章来源:不详 点击数: 更新时间:2007-5-11 ![]() |
|||||
|
关键词:单片机,电子琴,程序 单片机因其体积小、功能强、价格低廉而得到广泛应用。本文介绍用AT89C51单片机设计微型电子琴的方法,仅需AT89C51最小系统,扩展一组小键盘(这里以4×4键盘为例,可按需要扩展),再加一片LM386做音频小功放,输出到扬声器。电源可由三节5号电池提供。 1设计原理 乐音实际上是有固定周期的信号。我们可以用AT89C51的一个定时器(如T1)控制,在P3.4脚上输出方波周期信号,产生乐音。根据不同的按键,调节T1的溢出时间,可输出不同频率的乐音,这样就做出了一台微型电子琴。 每个乐音的音高(频率)是固定的,表1列出了一个8度以及其上下共16个音的音名、频率及定时器T1初值对照(设晶体频率为6MHz),供参考。 ![]() 微型电子琴的电原理图见图1,其中键盘可使用小按键,排成钢琴键盘状(键多时可分为几排),图中还增加了一只按键指示灯(D1)。 3软件设计 软件由初始化程序、主程序、定时器1中断服务程序、键盘扫描程序和延时程序组成。 (1)初始化程序如下: ![]() ![]() 主程序框图见图2。 (2)主程序: ![]() ![]() PLAYKEY;判断有无键按下 CLR TR1 ;无键按下关闭T1 SETBP3.2 ;无键按下熄灭指示灯 SJMPSTART ;跳回开始位置 PLAYKEY:CJNE R4,#20H,K0;有键按下由键值给TIMER1L和TIMER1H赋值 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() (3)定时器1中断服务程序框图见图3。 ![]() 定时器1中断服务程序: ![]() (4)键盘扫描程序框图如图4所示。 ![]() ![]() ![]() ![]() ![]() ![]() 4结束语 本文介绍了用单片机设计微型电子琴的方法,只要依次将本文中各段程序连写,就是完整的16键微型电子琴程序,有兴趣的读者可以设计键数更多的微型电子琴,甚至可以给微型电子琴添加演奏示范曲的功能〔1〕。如果读者有更高的编程技巧,可以通过编程检测并记录按键的时间,做出具有录音功能的微型电子琴。 参 考 文 献 |
|||||
| 文章录入:admin 责任编辑:admin | |||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | |||||
| 最新热点 | 最新推荐 | 相关文章 | ||
| 基于PIC的无线数据传输发射机… 基于PSD3XX与ADMC401接口设计… 基于ST72单片机的快速充电系… 基于单片机的MicroDrive接口… 基于单片机的喷墨打印机控制… 利用ASSP实现成本节约,加速… 如何仿真单片机的外围设备 非接触式e5551读写器的开发 基于80C166单片机PEC服务的P… 基于8位微控制器控制硬盘进行… |
网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 文章索引 | 网站地图 | |
| 声明:本网站资源均来源于网络,如涉及版权问题,请通知我们,我们将尽快删除! QQ:279619038 备案序号:吉ICP备06005743号 自动化学习网版权所有 站长:guxing |
|