您当前的位置:五五电子网电子知识单元电路娱乐-游戏电路基于MCS-51单片机电子琴的设计与制作 正文
基于MCS-51单片机电子琴的设计与制作

基于MCS-51单片机电子琴的设计与制作

点击数:7825 次   录入时间:03-04 11:35:11   整理:http://www.55dianzi.com   娱乐-游戏电路

  采用目前较为流行的MCS-51单片机设计一款简易电子琴,制作方法如下。
  
  一、系统原理
  
  用电子琴可以演奏出各种美妙的音乐,而音乐是由音符组成。不同的音符是由相应频率的振动产生。由8051模拟产生音符,只需算出音频周期T=1/f,利用音频的变化产生不同电平驱动蜂鸣器,在同一周期内将输出脉冲反向,并利用8051内部自带定时器计时半周期时间,就可得到相应频率的脉冲,达到发声目的。
  
  设8051中单片机晶振为12MHz。
  
  例:频率为349Hz的音符FA.其T=2(18)-10(8)/2×349=64103

  本系统采用的16个音符的频率和相应时间常数值如下表:

  二、硬件电路设计
  
  系统以8051单片机为核心,加上外围按键电路、蜂鸣器电路组成。
  
  Intel公司的生产的8051单片机内部除CPU外,还包括128字节RAM.21个SFR,4个8位并行I/O口,1个全双工串行口,2个16位定时/计数器,片内集成4K字节ROM,具有低功耗,速度快等优点,完全满足本系统设计需要。系统电路下图所示:
  
  1.键盘电路
  
  本系统采用4×4矩阵式键盘,按键检查使用行列扫描方式,行设置低电平,同时读入列状态,如果列状态并非全为1.则此列与行为0相交的键就是按下的键。在本系统中,PO.3~PO.O接行线,P0.7~P0.4接列线。初始时先送P0.3~PO.O=1110,然后检测PO.7~P0.4,若有一位为零,则有键按下。
  
  假设读到PO.7~PO.4≈1011.则PO.O和P0.6相交的键就是按下的键。若第一行没有检测到,继续检测第二行,这时PO.3~PO.O=1101.依次类推。
  
  2.蜂鸣器电路

  蜂鸣器电路用来发声。8051内部的P1.7引脚可以输出连续变化的矩形波驱动晶体管V1作为开关,使蜂鸣器输入相应频率的矩形波,发出不同的音符。当P1.7输出为低电平.V1饱和导通,蜂鸣器通电,反之V1截止,蜂鸣器掉电。
  
  编程用事先存储的数字代替乐谱,让P1,7输出频率变化的矩形波,蜂鸣器就可以奏出相应的音符。

电子琴硬件电路


  
  三、软件设计
  
  本系统用MCS-51汇编语言编程。系统初始化后,通过调用按键子程序判断是否有键按下,通过按键来触发TO中断,查询相应的按键音符时间常数,以达到发声目的。音符相对应的定时时间常数存放在程序存储区。程序流程见下图。

程序流程




本文关键字:单片机  设计与制作  电子琴  娱乐-游戏电路单元电路 - 娱乐-游戏电路