首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

基于单片机的微型电子琴设计1

基于单片机的微型电子琴设计1

介绍了用单片机设计微型电子琴的方法。给出了电路、程序框图及程序。
     关键词:单片机,电子琴,程序
 
  单片机因其体积小、功能强、价格低廉而得到广泛应用。本文介绍用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赋值 

                              


[url=]1/3[/url]   1 2 3 下一页 尾页
返回列表