stc89c51单片机音乐盒系统设计_基于STC89C51单片机的电子琴设计
0 引言
随着计算机在社会各领域的渗透,单片机的应用正在不断地走向深入,同时带动着工业、农业、商业、家电以及玩具的日新月异更新,极大地提高了电子电路及系统设计质量和效率。本设计是以主控芯片
1 系统硬件组成
电子琴的控制电路分为单片机STC89C51、工作指示LED、LCD显示器、按键输入、喇叭接口等几部分。其硬件电路结构框图如图1所示。
1.1 单片机STC89C51简介
通常电子琴所输入的音阶值都先存入变量数组中,演奏时才逐一取出来播放单音。程序中的变量使用的是内部存储器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时,字符显示最亮。
LCD可以实时显示目前演奏的单音码,可以实时显示所存储的单音计数。按键9是清除键,可将存储的单音计数清0;按键8是放音键,可将内存中的单音逐一演奏出来,演奏中可以按K4键来中断。本设计使用一般的LCD显示器来显示音乐演奏的消息及单音码。按下键盘组按键,喇叭就会发出相对音阶。将这些音阶存储起来然后放音,就可成为自动演奏电子琴。
1.3 键盘扫描
整个4x4键盘按键的分配及配置原理图如图4所示。图4中为16键的控制电路,使用AT89S51端口2的8条I/O线做16个按键的键盘扫描,并由 P2.0~P2.3送出扫描信号,而由P2.4~P2.7读取按键数据返回码。表l所列是4x4按键与音阶的对应表。
2 系统软件设计
由于本系统可以产生各种频率的声音,所以可由喇叭发出“DO”、“RE”、“ME”……的音阶。系统中的定时器O工作于模式0,计时时长可根据所发音的频率而定,表2所列是各个音符所对应的频率值。而由频率值推得的定时器计数初值。则可由以下关系式求得:
式中,f为频率值;t为方波的宽度,以μs表示;co为定时器所计数的次数,lo为计数初值的低字节,hi为计数初值的高字节。图5所示为主程序的工作流程。
3 结束语
本文中所设计的具有存储功能的电子琴是由STC89C51单片机、小键盘、LCD以及音频功放电路和扬声器组成的。利用该电子琴电路。用户可以自由地输入音符,从而使扬声器发出悦耳的音乐。此外,通过改变按键式电子琴的控制程序,也可以设计不同类型的电子琴。还可以通过扩展RAM的方法增加内存容量,从而更大地发挥电子琴的存储功能。
stc89c51单片机音乐盒系统设计_基于STC89C51单片机的电子琴设计相关推荐
- stc89c51单片机音乐盒系统设计_基于STC89C52单片机的七彩迷你音乐盒
基于STC89C52单片机的七彩迷你音乐盒.在单片机最小系统的基础上,对其他两个I/O口连接硬件电路.P1.0接一个七彩快闪LED灯.P1.5口接一个NPN型三极管的放大电路,再连接一个无源蜂鸣器(用 ...
- stc89c51单片机音乐盒系统设计_基于51单片机音乐盒课程设计1.doc
基于51单片机音乐盒课程设计1 课程名称: 微机原理课程设计 题 目: 基于单片机的音乐盒设计 摘要 随着人类社会的发展,人们对视觉.听觉方面的享受提出了越来越高的要求.小小的音乐盒可以给人们带来美好 ...
- stc89c51单片机音乐盒系统设计_基于单片机数字音乐盒的设计与实现(附PCB,电路图,程序)...
基于单片机数字音乐盒的设计与实现(附PCB,电路图,程序)(开题报告,中期检查表,毕业论文18000字) 摘要 传统的音乐盒多是机械音乐盒,其工作原理是通过齿轮带动一个带有铁钉的铁桶转动,铁桶上的铁钉 ...
- stc89c51单片机音乐盒系统设计_基于单片机STC89C52的数字音乐盒设计
基于单片机STC89C52的数字音乐盒设计 1基于单片机 STC89C52 的数字音乐盒设计一. 引言1.1 设计的目的通过课程设计,让学生熟悉单片机微机应用系统开发.研制的过程,软硬件设计的工作方法 ...
- stc89c51单片机音乐盒系统设计_基于单片机的火控系统语音报读设计
在现代大多控制系统中,通常使用发光二极管LED.数码管.液晶显示器.蜂鸣器等进行状态 / 结果显示和故障报警,如果在显示报警仪表上采用数字语言技术,使适合用听觉传送的信息用语言传送,就可以发挥听觉的优 ...
- stc89c51单片机音乐盒系统设计_基于单片机的音乐盒设计资料 含PCB与原理图,源程序和报告...
1 选题的背景 本次课设是应用单片机原理和控制理论设计音乐演奏控制器的硬件电路,并利用C语言进行程序设计.通过控制单片机内部的定时器来产生不同频率的方波,驱动喇叭发出不同的音调的音乐,在利用延迟来控制 ...
- 51单片机 外部时钟_基于51单片机的LCD12864显示模拟时钟
今天要分享的仿真和程序是基于51单片机的LCD12864显示模拟时钟.公众号之前也分享过数字时钟,但是那些时钟都是采用数字显示的形式来显示时间,而今天分享一个采用LCD12864显示的模拟指针式时钟. ...
- 单片机应用系统设计技术——基于51单片机篮球计时计分器的设计
基于51单片机篮球计时计分器的设计 一.实验目的 二.实验内容 三.实验步骤 四.C代码如下 五.实验结果
- 单片机ch2o程序_基于51单片机的室内甲醛测试系统
1.2 5G14433A/D转换器 5G14433A/D转换器是国产的广为流行的最典型的双积分3位半A/D转换器它具有抗干扰性能好,转换精度高(相当于11位二进制数),自动校零,自动极性输出,自动量程 ...
最新文章
- Java存储过程调用CallableStatement
- python自动抢红包软件_快过年啦,还怕手速慢,我用Python自动抢红包!
- Java数组与容器类分析资料--数组、List和Set、Map等
- php和js操作数据库的区别,PHP基础与JS操作的区别
- Oracle创建表空间、创建用户以及授权
- data layui table 排序_使用pandas的pivot_table方法统计2019年各省份GDP最大最小值及其对应的所在城市...
- HTTP与HTTPS协议
- 记录——《C Primer Plus (第五版)》第十章编程练习第二题
- linux 邮件服务器pop3,linux下用pop3收web电子邮箱_邮件服务器
- pyspark 逻辑回归程序
- Silverligth API for ArcGIS应用程序IIS发布
- 我赔了10万元,因为PPT中用了这些字体-百格活动
- 读书笔记:《牛奶可乐经济学》
- 使用MapReduce实现k-means算法
- BatchFormer: Learning to Explore Sample Relationships for Robust Representation Learning
- Vulkan Pipeline
- win10显示器亮度无法调节
- 3.2 Processing实用调色教程:HSB模式与颜色插值
- BIOS 和 UEFI
- 训练日记2019.11.13 冬至日
热门文章
- Nucleus PLUS简单介绍
- 350.Intersection of Two Arrays II
- 出售价值,创造盈利——ERP从业者共勉 读高德拉特《仍然不足够》
- 利用HOOKAPI拦截文件操作
- 基于localStorge开发登录模块的记住密码与自动登录
- 企业即时通讯软件,如何让沟通协作更加安全高效?
- 关于Excel VBA中莫名关不掉的“工程”如何关闭
- shell bash
- 王者荣耀背后的腾讯自研数据库TcaplusDB实践
- 转贴:网友windy.杜^ 影音之实现中英文字幕之我的解决方案