一种基于STC89C5l单片机的电子琴的电路设计方法

发布者:TechVoyager最新更新时间:2013-02-07 来源: 21ic关键字:STC89C51  单片机  电子琴 手机看文章 扫描二维码
随时随地手机看文章

    引言

  声音的频谱范围约在几十到几千赫兹,若能利用程序来控制单片机某个口线不断的输出“高”“低”电平,则在该口线上就能产生一定频率的方波,将该方波接上喇叭就能发出一定频率的声音,若再利用程序控制“高”“低”电平的持续时间,就能改变输出波形的频率,从而改变音调。乐曲中,每一音符对应着确定的频率。如果单片机某个口线输出“高”“低”电平的频率和某个音符的频率一样,那么将此口线接上喇叭就可以发出此音符的声音。

    随着计算机在社会各领域的渗透,单片机的应用正在不断地走向深入,同时带动着工业、农业、商业、家电以及玩具的日新月异更新,极大地提高了电子电路及系统设计质量和效率。本设计是以主控芯片STC89C5l为中心器件,辅以小键盘、LCD显示和功放电路及扬声器等来设计电子琴系统。同时详细论述了该系统的设计过程及关键技术。

    1 系统硬件组成

    电子琴的控制电路分为单片机STC89C51、工作指示LED、LCD显示器、按键输入、喇叭接口等几部分。其硬件电路结构框图如图1所示。

9a.JPG


    1.1 单片机STC89C51简介

    STC单片机是一款增强型5l单片机,完全兼容MCS-51。STC89C51可以代替AT89C51,而且功能更强,速度更快,寿命更长,价格更低。该单片机具有40个引脚,采用双列直插DIP-40封装。STC89C51可以完成ISP在线编程功能,而AT89C51则不能。因此,将AT89C51中的程序直接烧录到STC89C51中后,STC89C5l就可以代替AT89C51直接工作。STC推出的系列51单片机芯片全面兼容其它51单片机。STC89C51内部有E2PROM,可以在程序中修改,而且断电不丢失数据。此外,还增加了两级中断优先级等等,STC89系列单片机的基本特性如图2所示。

9b.JPG

    通常电子琴所输入的音阶值都先存入变量数组中,演奏时才逐一取出来播放单音。程序中的变量使用的是内部存储器RAM,范围为空间30H~7FH,因此,其程序内存规划是:RAM地址30H~70H存放音阶值,最大内存空间为64字节;RAM地址71H~7FH存放程序其他变量。程序执行后,工作指示LED闪动,表示程序开始执行。当按下键盘组中的相对按键时,压电喇叭会发出相对音阶单音,全系统共有2个8度音阶,DO~SI,HI DO~HI SI,14个音阶,所输入的单音会存入89C5l内,至多可以输入64个单音,并可以一起演奏出来,同时还有清除存储功能,可将原数据清除后再重新输入。

    1.2 LCD硬件接口

    本设计所用LCD的引脚如图3所示,其中,DO~D7为双向数据总线,LCD数据读写方式可以分为8位及4位两种。若以8位数据进行读写,则DO~D7皆有效,若以4位方式进行读写,则只用到D7~D4。RS为寄存器选择控制线,当RS为O且做写入操作时,可以写指令寄存器;若RS为l,则用于读写数据寄存器。P/W为LCD读写控制线,R/W为0,LCD执行写作,R/W为1时,则做读操作。VO为亮度调整电压输入控制引脚,输入0V时,字符显示最亮。

9c.JPG


    LCD可以实时显示目前演奏的单音码,可以实时显示所存储的单音计数。按键9是清除键,可将存储的单音计数清0;按键8是放音键,可将内存中的单音逐一演奏出来,演奏中可以按K4键来中断。本设计使用一般的LCD显示器来显示音乐演奏的消息及单音码。按下键盘组按键,喇叭就会发出相对音阶。将这些音阶存储起来然后放音,就可成为自动演奏电子琴。

    1.3 键盘扫描

  键盘上的每一个键都有两个唯一的数值进行标志。为什么要用两个数值而不是一个数值呢?这是因为一个键可以被按下,也可以被释放。当一个键按下时,它们产生一个唯一的数值,当一个键被释放时,它也会产生一个唯一的数值,我们把这些数值都保存在一张表里面,到时候通过查表就可以知道是哪一个键被敲击,并且可以知道是它是被按下还是被释放了。[page]

    整个4x4键盘按键的分配及配置原理图如图4所示。图4中为16键的控制电路,使用AT89S51端口2的8条I/O线做16个按键的键盘扫描,并由P2.0~P2.3送出扫描信号,而由P2.4~P2.7读取按键数据返回码。表l所列是4x4按键与音阶的对应表。

9d.JPG

9e.JPG

  2 电子琴硬件类参数

  键盘(琴键):电子琴的键盘分为标准力度键盘、半配重键盘、全配重键盘、逐级配重式键盘(也叫渐层式锤感键盘)。

  标准力度键盘:拉簧结构键盘,这是从低端琴到中高端琴都有使用的,其优点是回键速度快(也就是按下琴键后,弹回来的速度),缺点是对于力度过渡和定位不精确。

  半配重键盘:一样是采用拉簧结构的键盘,只是比普通的拉簧键盘下多了配重铅 块,这种构造的键盘以前一直是中高端合成器才用的,现在有不少普及琴也有了该配置。相对于标准力度键盘的优点是力度定位更加精确。

  全配重键盘:这种键盘的构造是模仿钢琴的,模拟击弦机结构,每个琴键下方都有固定重量的配重铅块,所以称为全配重键盘。可让弹奏者有种“在弹钢琴的感觉”。优点是比较适合初期替代钢琴来学习演奏,对于各种演奏力度均有良好表现,缺点是不适合弹一些要求演奏速度快的曲子(回弹慢)。

  逐级配重键盘:和全配重键盘一样,也是模拟击弦机结构的,所不同之处就在于逐级配重键盘的琴键在低音区比较重,高音区就比较轻了,这是模仿大三角钢琴的手感。

    3 系统软件设计

    由于本系统可以产生各种频率的声音,所以可由喇叭发出“DO”、“RE”、“ME”……的音阶。系统中的定时器O工作于模式0,计时时长可根据所发音的频率而定,表2所列是各个音符所对应的频率值。而由频率值推得的定时器计数初值。则可由以下关系式求得:

9f.JPG

式中,f为频率值;t为方波的宽度,以μs表示;co为定时器所计数的次数,lo为计数初值的低字节,hi为计数初值的高字节。图5所示为主程序的工作流程。

    4 结束语

    本文中所设计的具有存储功能的单片机电子琴是由STC89C51单片机、小键盘、LCD以及音频功放电路和扬声器组成的。利用该电子琴电路,用户可以自由地输入音符,利用单片机产生不同频率来获得我们要求的音阶,使扬声器发出悦耳的音乐,最终可随意弹奏想要表达的音乐。此外,通过改变按键式电子琴的控制程序,也可以设计不同类型的电子琴。还可以通过扩展RAM的方法增加内存容量,从而更大地发挥电子琴的存储功能。

关键字:STC89C51  单片机  电子琴 引用地址:一种基于STC89C5l单片机的电子琴的电路设计方法

上一篇:红外遥控技术中单片机的应用
下一篇:基于单片机的超声波测距系统设计及实现

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

如何使用8051微控制器和蓝牙模块构建一个Android手机控制的机器人
在这个项目中,我们将使用8051微控制器和蓝牙模块构建一个Android手机控制的机器人。该机器人是使用直流电机设计的,直流电机的方向将由从安卓应用程序收到的命令控制。机器人的状态被发送回安卓应用程序。该项目还将帮助HC-05蓝牙模块与8051微控制器的接口. 所需组件: 8051 微控制器 (AT89S52) HC-05 蓝牙模块 L293D 电机驱动器 机器人底盘 直流电机 (2) 轮子 (2) 脚轮 跳线 蓝牙终端安卓应用 电路图: 8051 微控制器: 8051微控制器是一种8位微控制器,具有128字节的片上RAM,4K字节的片上ROM,两个定时器,一个串行端口和四个8位端口。8052微控制器是8051微控制
[单片机]
如何使用8051<font color='red'>微控制器</font>和蓝牙模块构建一个Android手机控制的机器人
学51单片机-定时中断与LED闪烁
这次说定时与中断,有人说,掌握了定时与中断,就掌握了一个单片机80%的功能;也有人说,中断是一个单片机的灵魂。这两句话无一不在强调中断的重要性,就让我们认识一下,中断到底是什么。 根据百度百科的定义:指当出现需要时,CPU暂时停止当前程序的执行转而执行处理新情况的程序和执行过程。即在程序运行过程中,系统出现了一个必须由CPU立即处理的情况,此时,CPU暂时中止程序的执行转而处理这个新的情况的过程就叫做中断。 举个例子,我正在吃饭呢,忽然老婆大人发话了,说在网上看上一个包,挺好的,让我帮着付款,于是我停下吃饭说好,去帮着付款,付完款,继续吃饭。 这个过程中,我是CPU;吃饭是主程序;老婆大人说话,触发了中断;我说好,安慰
[单片机]
单片机PIC16C7X在低功耗识别抄表的应用
目前,许多行业的抄表系统,一般都停留在手工抄写然后人工汇总的水平上。随着经济改革的深入发展,人们要求信息及时、准确、全面;显然,手工抄写不能满足经济生活的要求。本文介绍了一种用单片机控制的抄表系统,可以记录多项信息,具有低功耗、低成本、便于携带、易于操作等特点,非常适合电厂、化工厂等相关行业的抄表系统。 1 系统的总体结构及工作原理 该系统由信息讯、识读器、通信座、计算机组成。将一个包含特定标识信息的“信息钮”安放在某个固定位置上,该位置可能是一台设备或一个部位,设备上安装有许多表显示设备运行状况。工作人员定时或不定时记录表上数据,用携带的“识读器”先读信息钮,提取信息钮中的信息并储存在“识读器”内,信息钮中的信息标识该设
[单片机]
<font color='red'>单片机</font>PIC16C7X在低功耗识别抄表的应用
74HC595与AT89C2051单片机接口的显示电路
74HC595与AT89C2051单片机接口设计的显示面板电路。P1 口的P115 、P116 、P117 用来控制LED 的显示,分别接到SLCK、SCLK和SDA 脚。三个数码管用来显示电压值的大小。在电路板上, LED3 在最左边,LED1 在最右边, 送数据时, 先送LED3 的显示码,最后送LED1 的显示码。LED 的亮度用PR1~ PR3 的阻值来控制。
[单片机]
74HC595与AT89C2051<font color='red'>单片机</font>接口的显示电路
单片机如何提高编程效率优化程序
在进行8051单片机应用系统程序设计时,编程都往往少不了要直接操作系统的各个存储器地址空间。 C51程序经过编译之后产生的目标代码具有浮动地址,其绝对地址必须经过BL51连接定位后才能确定。 为了能够在C51程序中直接对任意指定的存储器地址进行操作,可以采用扩展关键字“at”、指针、预定义以及连接定位控制命令。 在这些方法中,本人认为最简单而有效的方法是用“ _at_ ”关键字来对指定变量存储器空间绝对地址来指定。一般格式如下: 数据类型 标识符 _at_ 地址常数 其中: (1).存储器类型: idata、data、xdata等C51能够识别的所有类型,最好不要省略。 (2).数据类型: 可以用int、long、flo
[单片机]
富士通半导体推出适合汽车应用的新型微控制器
富士通半导体(上海)有限公司今日宣布,推出适合汽车应用的新型32位微控制器-MB91F552,该芯片最适合用于混合动力汽车(HEV)的电池的电源系统及电力传输电路。已于2013年5月13日起提供新产品样片。      图1. MB91F552   除在单一微控制器芯片上集成了控制数字电源系统(如200MHz PWM模块)的优化功能,MB91F552还支持峰值电流模式控制,大大促进了电源的稳定性并降低系统成本。   近年来随着混合动力汽车及其它电动汽车的普及,已经需要将行驶过程中产生的电力存储在车载电池中。通过这种方式储存的电力,除了对车载辅助电池进行充电,还可以向汽车上的电机、音响系统、灯光和其它板上电气元件供电。这就需要
[模拟电子]
富士通半导体推出适合汽车应用的新型<font color='red'>微控制器</font>
DSP与普通MCU的区别
DSP与普通MCU的区别   考虑一个数字信号处理的实例,比如有限冲击响应滤波器(FIR)。用数学语言来说,FIR滤波器是做一系列的点积。取一个输入量和一个序数向量,在系数和输入样本的滑动窗口间作乘法,然后将所有的乘积加起来,形成一个输出样本。   类似的运算在数字信号处理过程中大量地重复发生,使得为此设计的器件必须提供专门的支持,促成了了DSP器件与通用处理器(GPP)的分流:   1 对密集的乘法运算的支持   GPP不是设计来做密集乘法任务的,即使是一些现代的GPP,也要求多个指令周期来做一次乘法。而DSP处理器使用专门的硬件来实现单周期乘法。DSP处理器还增加了累加器寄存器来处理多个乘积的和。累加器寄存器通常比其他寄存器
[单片机]
C8051单片机实现多目标超声波测距的设计
超声波测距传感器以其测量精度高、响应快和价格低廉而广泛应用在工业现场测距、移动机器人导航和定位等场合。超声波测距传感器常用的方式是1 个发射头对应1 个接收头,也有多个发射头对应1 个接收头。 它们共同之处是:每个接收头只测量一个位置,这个位置就是除盲区内因发射的超声波旁瓣引起的接收信号超声波包络峰值外,第1个接收信号超声波包络峰值对应的距离。 在机器人自主导航避障时,机器人只关心最近障碍物的距离,是能够完成自主避障的。 但是在机器人定位时,尤其在动态环境下,1 个接收头同时测量多个距离,能够更多地描述环境信息,这对机器人用超声波定位具有重要意义。 1 超声波 1. 1 超声波测距原理 超声波测距原理比较简单,一般是采用时差法
[单片机]
C8051<font color='red'>单片机</font>实现多目标超声波测距的设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
热门活动
换一批
更多
设计资源 培训 开发板 精华推荐

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

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

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