基于单片机的电子琴设计
第二章 系统方案设计及主控芯片介绍
2.1 系统基本设计思路
此设计是用扬声器播放弹奏的曲子。电路包括:键盘、单片机以及单片机周边最小系统和晶振电路。
2.1.1 各部分说明
(1)键盘用于弹奏音乐,八个按键8种音符。
(2)单片机通过输出各种电脉冲信号驱动控制各部分正常工作。
2.1.1系统工作过程
单片机要产生音频脉冲,主要处理过程是在CPU中完成的,CPU会随时对音符输入信号进行读取数据的操作。在读取了相应的寄存器的值后,CPU将读取的值进行处理,再通过I/O口把音乐通过扬声器播放出来。
根据设计要求,本系统主要由控制器模块和输入模块构成。为较好的实现各模块的功能,我们分别设计了以下几种方案并分别进行了论证。
凌阳系列单片机可以实现各种复杂的逻辑功能,模块大,密度高,它将所有器件集成在一块芯片上,减少了体积,提高了稳定性。凌阳系列单片机提高了系统的处理速度,适合作为大规模实时系统的控制核心。
单片机算术运算功能强,软件编程灵活、自由度大,可用软件编程实现各种算法和逻辑控制。由于其功耗低、体积较小、技术成熟和成本低等优点,在各个领域应用广泛。而且抗干扰性能好。
因51单片机价格比凌阳系列低得多,且本设计不需要很高的处理速度,从经济和方便使用角度考虑,本设计选择了方案2。
汇编语言指令是用一些具有相应含义的助忆符来表达的,所以,它要比机器语言容易掌握和运用,但另一方面,它要直接使用CPU的资源,相对高级程序设计语言来说,它又显得难掌握。
因为我在大学期间对汇编语言没有深入的了解,而且在编程时一直用C语言,所以我选择了方案2。
单片机是美国STC公司最新推出的一种新型51内核的单片机。片内含有Flash程序存储器、SRAM、UART、SPI、PWM等模块。
(1)内置标准51内核,机器周期:增强型为6时钟,普通型为12时钟;
(2)工作频率范围:0~40MHZ,相当于普通8051的0~80MHZ;
(8)有ISP(在系统可编程)\IAP(在应用可编程),无需专用编程器\仿真器;
(11)外形封装:40脚PDIP、44脚PLCC和PQFP等。
RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
图1 系统总体框图
3.2 最小系统设计
最小系统包括单片机及其所需的必要的电源、时钟、复位等部件,能使单片机始终处于正常的运行状态。电源、时钟等电路是使单片机能运行的必备条件,可以将最小系统作为应用系统的核心部分,通过对其进行存储器扩展、A/D扩展等,使单片机完成较复杂的功能。
当在89C51单片机的RST引脚引入高电平并保持2个机器周期时,单片机内部就执行复位操作(若该引脚持续保持高电平,单片机就处于循环复位状态)。
最简单的上电自动复位电路中上电自动复位是通过外部复位电路的电容充放电来实现的。只要Vcc的上升时间不超过1ms,就可以实现自动上电复位。
播放模块是由2个三极管构成,三级管将信号放大,然后传输到喇叭,喇叭它几乎不存在噪声,音响效果较好。
三极管是电流放大器件,有三个极,分别叫做集电极C,基极B,发射极E。分成NPN和PNP两种。我们仅以NPN三极管的共发射极放大电路为例来说明一下三极管放大电路的基本原理。
/*
8个按键发出8个基本音。 系统会记录下弹奏的乐曲,并可以回放,
当没有弹奏时能播放内置音乐
*/
uchar xdata save[220]; //保存音符的数组
uchar idata save_beat[220]; //保存节拍的数组
需要完整的资料可在我的资源里下载,也可以加入我的纷传圈子,里面有资源压缩包的百度网盘下载地址及提取码。
基于单片机的电子琴设计相关推荐
- 单片机多功能电子琴课设_基于单片机的电子琴设计(最终版)最新版
<基于单片机的电子琴设计.doc>由会员分享,可免费在线阅读全文,更多与<基于单片机的电子琴设计(最终版)>相关文档资源请在帮帮文库(www.woc88.com)数亿文档库存里 ...
- 基于单片机的信号发生器设计
基于单片机的信号发生器设计 摘 要 在电子产品调试和测量领域,常常需要有信号种类多.精度高且频率.幅度等信号参数方便可调的信号源.尤其随着电子.通信.网络行业的发展,频段的分布日趋密集,更要求有高精度 ...
- c语言压力变送器程序设计,基于单片机的压力变送器设计
基于单片机的压力变送器设计(任务书,开题报告,外文翻译,论文15000字,代码) 摘要 随着工业化水平的不断提高,新型智能仪表在工业生产过程中运用也越来越广泛,同时对输出数据的准确检测和处理也变得至关 ...
- 基于单片机的血压计设计
设计简介: 本设计家用便携式血压计的设计以血压为研究对象, 根据血压检测控制模块将检测的模拟量输入ADC0832控制模块中, ADC0832将模拟量输入转化成数字量, 最终以STC89C52单片机为主 ...
- 【毕业设计】基于单片机的MP3设计与实现 - stm32
文章目录 1 简介 2 主要器件 3 实现效果 4 设计原理 核心算法:音频解码流程 5 部分实现代码 6 最后 1 简介 Hi,大家好,这里是丹成学长,今天向大家介绍一个学长做的单片机项目 基于单片 ...
- 基于单片机的倒车雷达系统设计c语言,基于单片机的倒车雷达设计.doc
基于单片机的倒车雷达设计 毕业设计(论文) 题 目: 基于单片机的倒车雷达设计 系(院): 工业与信息化学院 专业: 电气自动化技术 姓 名: 学号: 校内指导教师: 职称: 讲 师 摘 要 随着社会 ...
- 【毕设】基于单片机的开关电源设计(源码+电路图+全套资料+说明文档)
主要内容 本内容是基于单片机的开关电源设计 包含: 1 设计源码 2 电路图 3 配套程序 4 全套说明资料 (私聊获取资料) 方案分析 选用STM32F407单片机作为控制芯片,前段整流部分使用直流 ...
- android 计步器毕设论文,基于单片机的计步器设计及实现毕业设计论文
<基于单片机的计步器设计及实现毕业设计论文.doc>由会员分享,可免费在线阅读全文,更多与<基于单片机的计步器设计及实现毕业设计论文>相关文档资源请在帮帮文库(www.woc8 ...
- 基于单片机的数字电压表设计c语言,基于单片机的数字电压表设计(.doc
基于单片机的数字电压表设计( 成绩 西南科技大学城市学院 City College of Southwest University Of Science and Technology 基于单片机的数字 ...
最新文章
- 机器学习笔记:线性回归
- 逆向入门--第一次的HelloWorld
- 类加载的双亲委派机制
- linux+4.4+android,Ubuntu 14.04 x64配置Android 4.4 kitkat编译环境的方法
- java实现坐标图进行拖拉拽放_js实现限定区域范围拖拉拽效果
- 你的数据也可以-三篇NAR的数据库
- HTML 使用jQuery选中复选框 简易版
- Kelvin’s Ship-Wave Pattern
- 余承东回应“卸任”传闻:服务还未拼尽全力,岂敢先溜
- el-table click事件多次触发_JavaScript从零开始——DOM事件编程(1)
- 解决Ubuntu18.04下VLC打不开的问题
- JavaScript项目中锁定npm依赖包版本
- 京东一面:如何用 Nginx 禁止国外 IP 访问网站,直接凉凉!
- RecyclerView实现京东分类联动效果
- C# 中的浅拷贝和深拷贝
- 快速获取网站媒体资源方法
- word中如何插入参考文献
- oracle认证考试_通过获得Oracle助理认证来提升您的职业-PrepAway进行的1Z0-052考试复习
- 【S0002】插画大师Laura欧美儿童插画临摹图集363张
- 使用自定义RRT*全局规划器建图导航
热门文章
- Win7:如何部署定制的Quicklaunch图标
- sql—labs通关
- XP系统添加网络打印机步骤
- Mybatisplus lambda写法随笔
- Pycharm新建文件模板配置
- 论文 | 图理论 | 2020年明尼苏达大学博士论文《学习强大的深度图神经网络和嵌入》
- 浏览器自动转到外国服务器,通过HSTS实现浏览器自动跳转https(非服务器响应跳转)...
- 设定所有版本的谷歌浏览器支持flash
- emif接口速率问题_各种总线传输速率总结
- 【渝粤题库】陕西师范大学202221保险学Ⅱ 作业(高起本、专升本)