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

发布者:脑电风暴最新更新时间:2012-07-10 来源: 21ic 关键字:单片机  微型电子琴  固定周期 手机看文章 扫描二维码
随时随地手机看文章
  单片机因其体积小、功能强、价格低廉而得到广泛应用。本文介绍用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赋值 

[page]

 








   (3)定时器1中断服务程序框图见图3。
[page]

  定时器1中断服务程序:


   (4)键盘扫描程序框图如图4所示。

 


 

  键盘扫描程序:





4结束语
  本文介绍了用单片机设计微型电子琴的方法,只要依次将本文中各段程序连写,就是完整的16键微型电子琴程序,有兴趣的读者可以设计键数更多的微型电子琴,甚至可以给微型电子琴添加演奏示范曲的功能〔1〕。如果读者有更高的编程技巧,可以通过编程检测并记录按键的时间,做出具有录音功能的微型电子琴。

关键字:单片机  微型电子琴  固定周期 引用地址:基于单片机的微型电子琴设计

上一篇:单片机定时器/计数器的方式控制字
下一篇:单片机的LED汉字条屏显示技术的工作原理综述

推荐阅读最新更新时间:2024-03-16 13:03

STM8S单片机外部中断唤醒
一、 STM8S 外部中断进行唤醒 先了解一下STM8S的中断资源 再看看STM8S的中断管理。STM8S采用软件优先级和硬件优先级来控制一个中断的响应,先比较软件优先级只有当软件优先级一致时才会比较硬件优先级,由于硬件优先级具有唯一性,这样便保证了某一时刻定会只有一个中断被处理。 要使用外部中断,只需简单的配置一下EXTI_CR1寄存器,并将主程序main的软件优先级置为0即可。默认情况下自复位开始,主程序的软件优先级被设置为3,处于最高软件优先级,仅有TRAP,TLI,RESET中断能够打断,其余的中断都是不会被响应的。 为了防止中断过程中被别的优先级高的中断所打断,可以将当前优先级置为最高3级。 代码如下:
[单片机]
STM8S<font color='red'>单片机</font>外部中断唤醒
基于单片机的秒,分,时可调时钟的设计
  今天主要做我喜欢的单片机,这个学期才接触到了单片机,算是个微处理机,是把计算机的部分功能集成化了的。在生活中随处可见:想厨房用的电磁炉内就集成了单片机的控制,客厅挂的数字万年历也是用单片机实现的!经过了解后,我对此产生了极大的兴趣。下面简单展示一个我做的基于单片机的实验,望在这方面有研究的一起分享学习哈!   这个是用Proteus做的硬件设计,对单片机有兴趣大概都用过吧!另外还有软件程序,如果把这个硬件比作人的外观和手脚(是的还可以控制步进电机伺服系统再用电机去控制一些操作的话就更像机器人了)。那么软件程序就好比是人的大脑。下面我也把自己编的程序展示一下吧!望高手指点:是用C语言编的。   本程序要实现秒,分,时的精确
[单片机]
基于<font color='red'>单片机</font>的秒,分,时可调时钟的设计
【51单片机STC89C52】定时器(中断)控制LED
一、定时器/计数器T0 1、定时器/计数器的相关寄存器 2、定时器/计数器控制寄存器TCON TCON格式如下: 3、定时器/计数器工作模式寄存器TMOD 模式选择: 二、配置相关寄存器 1、使用STC-ISP工具 2、配置寄存器 设置定时器模式(16位定时器) 配寄存器推荐使用按位操作: 需要清零的位与等于0,不清零的位与等于1 需要置1的位或等于1,不需要置一的位或等于0 TMOD &= 0xF0; //清零低四位、高四位不变 TMOD |= 0x01; //低四位的bit0置1 设置定时器初值 TL0=0x00; //低八位、需要计算 TH0=0xDC
[单片机]
【51<font color='red'>单片机</font>STC89C52】定时器(中断)控制LED
英飞凌推出TRAVEO T2G-C系列图形MCU,以MCU的成本为汽车图形应用提供堪比MPU的性能
【 2023 年 1 2 月 8 日, 德国慕尼黑 讯】 英飞凌科技股份公司近日推出搭载新型图形引擎的全新TRAVEO™ T2G-C系列车用微控制器(MCU)。该引擎采用全新的智能渲染技术,可为汽车图形应用带来出众的性能。这款全新MCU占用空间小,可简化主机厂的集成并降低BOM(材料清单)成本,适用于汽车、摩托车、非公路移动出行交通工具的高级智能移动仪表盘和平视显示系统以及注重质量和安全的工业和医疗应用。 全新TRAVEO™ T2G-C系列车用微控制器 英飞凌科技微控制器产品线智能移动出行副总裁 Ralf Koedel 表示:“TRAVEO T2G-C系列微控制器配有专用的图形加速器,能够以MCU的成本,助力打
[汽车电子]
英飞凌推出TRAVEO T2G-C系列图形<font color='red'>MCU</font>,以<font color='red'>MCU</font>的成本为汽车图形应用提供堪比MPU的性能
52单片机有几个定时器?52单片机定时器1和52单片机定时器2程序对比
  52单片机有几个定时器?   STC89C52RC是有三个定时器的单片机,STC89C52RC共有3个定时器,分别是T0、T1、T2。   而51单片机只有T0,T1 两个定时器。   52单片机的默认(此时的IP寄存器不做设置)中断优先级为:   外部中断0 定时/计数器0 外部中断1 定时/计数器1 定时/计数器2 串行中断;   而在做定时则用一般采用16位模式,也就是TMOD=0x11(10或01单独一个定时器的话),初值的计算是这样的:   假设时间是X毫秒,晶振为YMhz,那么:   THn=(65536-1000*X*Y/12)/256   TLn=(65536-1000*X*Y/12)%256  
[单片机]
【51单片机】 火焰传感器用法及代码
这里用的是4线,3线的原理也是一样的。 IO口在程序中自定义,下面用的是P3^0 #include regx51.h void main() { while(1) { P2=0xff; //初始化led if(P3_0==0) //传感器检测到火焰信号 P2=0x00; //led全亮 } } 接线: AO:模拟输出信号 DO:数字输出信号 本文只用数字输出信号DO–接P3^0口,Vcc、Gnd分别是电源和接地
[单片机]
【51<font color='red'>单片机</font>】 火焰传感器用法及代码
51单片机-液晶屏代码讲解
关于指针和1602液晶屏的知识讲解我们就不赘述了,《手把手教你学51单片机》文档第12,13章有很详细的讲解,我们也不用再自己搞些与众不同的驱动代码,没必要再“重新发明轮子”,只需直接移植使用宋老师为我们写好的代码就好。那么宋老师的液晶屏代码原理他也在文档详细讲解了,大家只需反复细读都会掌握的了的,这里笔者只对部分代码做出一些解释。打开宋老师的代码lesson12_4。 1.显示字符的执行操作 如果我们需要在液晶屏上显示下图的内容 那么在代码上需要一步步地操作来完成。 首先设置好液晶屏的使用指标,比如需要“16*2显示,5*7点阵”、“显示器开,光标关闭”、“文字不动,地址自动+1”,这些叫做液晶屏的初始化,表明液晶屏
[单片机]
51<font color='red'>单片机</font>-液晶屏代码讲解
HC705单片机的LED驱动技术
    本文介绍了使用MC68HC705J1A大电流引脚,不使用外部晶体管放大电路,直接驱动LED的的方法。文中所提出的计算公式对不同的单片机(MCU)(低电平电流IOL 不同)都适用。只是公式中的最大低电平电流要改变。     正常的HCOMS I/O引脚具有足够的电流来驱动HCMOS或TTL电路的输入。这些引脚通常在输出低电平0.4V时能够吸入1.6mA的电流。但是在许多应用场合,当1个CMOS输出引脚用于驱动较大电流的设备时,就显得力不从心了。例如LED(发光二极管)、前级运算放大器等,大约需要10mA电流。通常的做法是再加驱动电路,如:用三极管的放大电路驱动或用其他如75452等驱动能力大的集成电路来驱动。   
[工业控制]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved