基于单片机的简谱记录仪.docx

上传人:b****3 文档编号:26461824 上传时间:2023-06-19 格式:DOCX 页数:95 大小:1.19MB
下载 相关 举报
基于单片机的简谱记录仪.docx_第1页
第1页 / 共95页
基于单片机的简谱记录仪.docx_第2页
第2页 / 共95页
基于单片机的简谱记录仪.docx_第3页
第3页 / 共95页
基于单片机的简谱记录仪.docx_第4页
第4页 / 共95页
基于单片机的简谱记录仪.docx_第5页
第5页 / 共95页
点击查看更多>>
下载资源
资源描述

基于单片机的简谱记录仪.docx

《基于单片机的简谱记录仪.docx》由会员分享,可在线阅读,更多相关《基于单片机的简谱记录仪.docx(95页珍藏版)》请在冰豆网上搜索。

基于单片机的简谱记录仪.docx

基于单片机的简谱记录仪

电子系统设计报告

——基于单片机的简谱记录仪

 

2014/5/5Monday

基于单片机的简谱记录仪

摘要

当今单片机的应用无处不在,由于51单片机及少数外部电路控制音乐播放记录,具有成本低、设计简单、方便实用的优点,适合于播放音质要求不高的场合。

基于单片机开发的简谱记录仪使用简单,通过使用单片机配合简单的蜂鸣器和键盘便控制可产生需要的音乐效果。

众所周知,由于一首音乐是由许多不同的音阶组合而成,而每个音阶对应着不同频率,因此我们可以利用不同的频率来进行音阶的组合,即可产生音乐效果。

本设计系统可实现当前音调的显示、设置记录歌唱的声音与深度、可通过串行方式传送给上位机以及通过接收特定格式的数据文件在本系统上播放。

本系统主要有以下几大部分,以SST89E516RD单片机为核心辅以音频、键盘输入设备和音频、RS232串行输出设备。

单片机是整个系统的核心,负责管理I/0设备,并通过定时计数功能产生特定的频率。

输入设备包括控制键、3x8矩阵键盘和音频输入。

输出设备包括8个共阴极数码管,LM386音频功率放大器。

单片机以7289作为中间桥梁控制数码管以及监视键盘。

芯片从总线上接受数据,解码后驱动8位数码管显示工作状态。

而通过RS232接口可实现对上位机的数据传送与接收功能。

本文将介绍基于单片机的简谱记录仪的硬件原理及相关说明,以及相应的软件设计流程。

最后给出系统主程序以及相关测试程序。

关键词:

单片机简谱记录仪串行通讯数据采集

目录

第一章设计任务及基本要求1

1.1目的及任务1

1.2具体任务要求1

1.2.1技术要求1

1.2.2工作要求2

第二章方案设计与论证2

2.1发音原理概述2

2.1.1音调2

2.1.2节拍3

2.1.3单片机发音原理3

2.2总体方案5

第三章硬件原理及说明8

3.1主要元器件简介8

3.1.1SST89E516RD单片机8

3.1.262256数据存储器10

3.1.374HC573锁存器11

3.1.4LM386音频功率放大器12

3.1.5LM358双运算放大器13

3.1.6ADC083214

3.1.7MAX20217

3.1.87289芯片18

3.2硬件电路设计23

3.2.1外部数据存储扩展模块23

3.2.2键盘扫描模块24

3.2.3数码管显示模块25

3.2.4音频输出模块25

3.2.5信号采样转换模块26

3.2.6串口通讯模块26

3.2.7复位和供电模块27

第四章软件设计及说明28

4.1主程序流程图28

4.1.1系统功能分解28

4.1.2总体流程图29

4.2音乐播放子程序流程图31

4.3信号采集转换子程序流程图32

4.4串行通讯子程序流程图33

第五章系统功能简介34

5.1简谱记录仪按键功能简介34

5.2音乐播放功能简介34

5.3信号采集功能简介35

5.4串行通讯功能简介35

第六章设计报告总结36

第七章附件38

附件一:

简谱记录仪原理图38

附件二:

PCB板图39

附件三:

源程序40

第一章设计任务及基本要求

1.1目的及任务

(1)通过查阅相关资料,了解音阶与频率的对应关系;

(2)学习数字信号处理及采样原理

(3)复习“MCS-51单片机原理及C语言程序设计”,掌握其接口扩展包括:

显示、键盘等;

(4)设计基于单片机的简谱记录仪原理图,构建硬件平台;

(5)采用C语言编写应用程序并调试通过;

(6)制作出样机并测试达到功能和技术指标要求;

(7)写出设计报告和答辩PPT。

1.2具体任务要求

1.2.1技术要求

1.能够显示当前音调;

2.八个数码管显示电子琴工作状态;

3.可设置记录深度(取决于存储器容量);

4.可记录歌唱人的声音(以简谱形式记录);

5.可传送给上位机(串行方式);

6.可接收特定格式的数据文件在本设备上播放。

1.2.2工作要求

2.组建基于单片机的简谱记录仪总体结构框图;

3.通过理论分析和计算选择电路参数;

4.根据操作功能要求,确定键盘控制功能;

5.按设计要求确定显示位数、指示类型等;

6.采用C语言编写应用程序并调试通过;

7.对系统进行测试和结果分析;

8.撰写设计报告和答辩PPT.

第二章方案设计与论证

2.1发音原理概述

2.1.1音调

乐音听起来有的高,有的低,这就叫音高,音高是由发音物体振动频率的高低决定的,频率高声音就高,频率低声音就低,不同音商的乐音是用C、D、E、F、G、A、B表示的,这7个字母就是乐音的音名,它们一般依次唱成DO、RE、MI、FA、SO、LA、SI,这是唱曲时乐音的发音,所以叫唱名。

音调即是表示一个音符唱多高的频率,在音乐中通常把中央C上方的A音定位标准音高,其频率f=440Hz。

其余音均通过和其比较获得。

音乐中规定,在一个八度音内共有12个半音。

以1-i八音区为例,这12个半音分别是1-#1、#1-2、2-#2、#2-3、3-#3、#3-4、4-#4、#4-5、5-#5、#5-6、6-#6、#6-7、7-i。

由于人耳的听觉效果是非线性的,因此这12个音阶的分度基本上是以对数关系来划分的。

2.1.2节拍

节拍表示一个音符唱多长的时间,在一张完整乐谱的开头,都有如1=C4/4、1=G3/4……等的标识。

这里的4/4、3/4用来表示节拍,而1=C、1=G表示一个乐谱的曲调。

对于音符的节拍以3/4为例进行说明。

它表示乐谱中以四分音符为节拍,每一小节有三拍。

从发音的时长角度来说,1、2的时长为四分音符的一半,即为八分音符长;3、4的时长为八分音符的一半,即为十六分音符长;5的时长为四分音符的一半,即为八分音符长;6的时长为四分音符长。

一般来说对于一拍的发音时间大约为400~450ms。

如果规定一拍时长为400ms,那么四分音符为节拍时,四分音符的时长为400ms,八分音符的时长为200ms,十六分音符的时长为100ms。

2.1.3单片机发音原理

对于单片机来说产生不同的频率非常方便,通常我们采用的方法就是通过定时器产生中断,将单片机上对应蜂鸣器的I/O口来回取反,让蜂鸣器发出声音,若要产生不同的频率的声音只需改变定时器的计数初值即可。

定时器初值的确定以准高音高A为例进行说明。

A的频率f=440Hz,

其对应的周期为

,那么单片机上对于蜂鸣器的I/O口取反时间应为

这个时间t就是单片机上定时器应有的中断触发时间。

我们设定单片机定时计数器工作于方式1,即16位计数器状态,它以振荡器的十二分之一频率信号为计数脉冲。

设振荡器的频率为

,则定时器的初值由下式确定

式中

THL为定时器的计数初值。

因此定时器的高低计数器的初值为

代入即可求出标准音高A在单片机晶振频率

、定时器在工作方式1下的初值

根据上面的求解方法即可求出其他音调相应的计数器的初值。

通过上面对音符音调的确定方法即可实现在单片机上发音来。

只需将乐谱中每个音符的音调及节拍变换成相应的音调和节拍参数,将它们做成数据表格存放在存储器中,通过程序取出一个音符的相关参数,播放该音符,该音符唱完后紧接着取出下一个音符的相关参数直至播放至最后一个音符,根据需要也可循环不停的播放整首乐曲。

另外,对于乐曲中的休止符一般将其音调参数设为FFH。

而在单片机上控制一个音符唱多长可采用循环延时的方法来实现。

首先,确定一个基本时长的延时程序,比如以十六分音符的时长为基本延时时间,那么对于一个音符,如果它为十六分音符则只需一次延时程序,如果它为八分音符则需调用两次延时程序,如果它为四分音符则需调用四次延时程序,依次类推。

表2-1给出了不同音符频率在单片机晶振频率

、定时器在工作方式1时与计数初值的对应关系。

表2-1音调对应的计数器预置值

音符

频率(HZ)

计数初值TH/TL

音符

频率(HZ)

计数初值TH/TL

低1DO

262

F88BH

#4FA#

739

FD5BH

#1DO#

277

F8F2H

中5SO

783

FD81H

低2RE

293

F95BH

#5SO#

830

FDA5H

#2RE#

311

F9B7H

中6LA

879

FDC7H

低3MI

329

FA14H

#6LA#

931

FDE7H

低4FA

349

FA66H

中7SI

987

FE05H

#4FA#

370

FAB9H

低1DO

1045

FB21H

低SO

392

FB03H

#1DO#

1106

FE3CH

#5SO#

415

FB4AH

高2RE

1171

FE55H

低6LA

440

FB8FH

#2RE#

1241

FE6DH

#6LA#

466

FBCFH

高3MI

1316

FE84H

低7SI

494

FC0BH

高4FA

1393

FE99H

中1DO

523

FC43H

#4FA#

1476

FEADH

#1DO#

553

FC78H

高5SO

1563

FEC0H

中2RE

586

FCABH

#5SO#

1658

FE02H

#2RE#

621

FCDBH

高6LA

1755

FEEE3H

中3MI

658

FD08H

#6LA#

1860

FEF3H

中4FA

697

FD33H

高7SI

1971

FF02H

2.2总体方案

根据发声原理便可通过单片机产生音乐了,但是本系统设计不止要实现演奏功能,还需通过数码管显示电子琴的工作状态、设置记录深度、实现串行数据传送功能。

所以还需对单片机进行相应的扩展。

对于工作状态的显示可利用8个数码管显示,通过3x8矩阵键盘实现控制。

由于单片机不能直接驱动键盘和数码管,我们可利用7289芯片进行驱动控制。

对于音频的输出则采用LM386音频功率放大器进行输出。

同时我们还需具有采样功能,即可通过相关采样转换记录歌唱人的声音至数据存储器中,对此我们可采用LM358双运算放大器对采样信号进行放大输出至ADC0832将模拟信号转换为数字信号经单片机将采样数据存放在数据存储器62256中。

对于数据存储器的扩展需利用到74HC573锁存器方可实现地址数据的分时输入。

最后我们需要实现串行通讯功能,即可将采集到的数据传送给上位机或者接收特定格式的数据文件至本设备上,因此我们需要利用到RS232串行接口,利用单片机的串行通讯功能进行数据传输。

综合以上设计方案得原理方案框图如图2-2-1所示。

图2-2-1系统原理方案图

 

第三章硬件原理及说明

3.1主要元器件简介

3.1.1SST89E516RD单片机

SST89E516RD是SST公司出产的一款基于8051内核的8位单片机。

SST89E516RD最大的特点是具有在线调试和在线下载功能,为工程开发中的调试提供了最大的方便。

该芯片中含有1k的RAM禾64k+8k的内置可擦除程序存储器ROM。

其程序存储器达到了51内裤结构单片机寻址的最大范围,能够满足大容量程序存储的要求。

采用40脚封装。

SST89E516RD是8位集成存储器的51系列兼容单片机,和51系列单片机软件兼容、开发工具兼容、管脚也兼容。

SST89E5l6RD片内有两块SuperFlashEEPROM,分为64K主块(BLOCk0)和8K次块(Blockl)。

主要特性:

◆兼容80C51系列,内置超级FLASH存储器的单片机;

◆SST89E5XXRD工作电压VDD=4.5~5.5V5伏工作电压时0~40MHz的频率范围;

◆SST89V5XXRD工作电压VDD=2.7~3.6V在3伏工作电压下,原厂保证0~25MHz的工作频率,实际最高可达40MHz;

◆与现行的80C52列单片机硬件PIN-TO-PIN完全兼容,软件、开发工具也完全兼容;

◆1K*8的内部RAM(256Bytes+768Bytes,可放心使用C语言编程);

◆两块超FLASHEEPROM—SST89E516RD/SST89V516RD:

64K*8的基本存储块和8K*8的二级存储块(扇区大小为128字节);

◆—SST89E58RD/SST89V58RD:

32K*8的基本存储块和8K*8的二级存储块(扇区大小为128字节),(二级存储块可用于存放掉电后要保存的数据,放在内部具有极强的抗干扰性);

◆—独立的块加密—IAP下的并行操作—块地址重映射;

◆最大片外程序/数据地址空间为64K*8(当然也可以通过I/O口进行块切换,实现超64K扩展);

◆三个高电流驱动引脚(每个16mA,可直接驱动LED);

◆三个16位定时器/计数器;

◆全双工增强型UART—帧错误检测—自动地址识别;

◆9个中断源,四个中断优先级;

◆看门狗定时器(WatchdogTimer,缺省情况下不打开,用户不需要时可不使用);

◆可编程计数阵列(PCA)标准为每个机器周期12个时钟,器件可选择在每个机器周期6个时钟基础上加倍掉电检测(Brow-out缺省为产生复位,也可设置为产生中断);

◆降低EMI模式(通过AUXRSFR不允许ALE输出时钟)以上三项确保了SST单片机的高抗干扰性,可直接取代ATMEL公司的单片机;

◆四个8位I/O口(32根输入输出线);

封装引脚图如图3-1所示。

图3-1SST89E516RD封装引脚图

3.1.262256数据存储器

62256分别是32K×8的高集成度的随机存取存储器,有28个引脚,采用双列直插式结构,62256的引脚分布如图3-2所示。

它们的内部结构与6264类似,也是由存储器阵列、行/列地址译码器以及数据输入输出控制逻辑组成。

引脚功能和外部特性与6264基本相同,区别仅在于由于容量大,第26引脚为A13第1引脚为A14。

其封装引脚图如图3-2所示。

图3-262256封装引脚图

3.1.374HC573锁存器

74HC573是一款高速CMOS器件,74HC573引脚兼容低功耗肖特基TTL(LSTTL)系列。

其引脚封装如图3-3所示。

图3-374HC573引脚封装图

74HC573包含八路D型透明锁存器,每个锁存器具有独立的D型输入,以及适用于面向总线的应用的三态输出。

所有锁存器共用一个锁存使能(LE)端和一个输出使能(OE)端。

当LE为高时,数据从Dn输入到锁存器,在此条件下,锁存器进入透明模式,也就是说,锁存器的输出状态将会随着对应的D输入每次的变化而改变。

当LE为低时,锁存器将存储D输入上的信息一段就绪时间,直到LE的下降沿来临。

  当OE为低时,8个锁存器的内容可被正常输出;当OE为高时,输出进入高阻态。

OE端的操作不会影响锁存器的状态。

3.1.4LM386音频功率放大器

LM386是美国国家半导体公司生产的音频功率放大器,主要应用于低电压消费类产品。

为使外围元件最少,电压增益内置为20。

但在1脚和8脚之间增加一只外接电阻和电容,便可将电压增益调为任意值,直至200。

输入端以地位参考,同时输出端被自动偏置到电源电压的一半,在6V电源电压下,它的静态功耗仅为24mW,使得LM386特别适用于电池供电的场合。

LM386是一种音频集成功放,具有自身功耗低、电压增益可调整、电源电压范围大、外接元件少和总谐波失真小等优点,广泛应用于录音机和收音机之中。

LM386的封装形式有塑封8引线双列直插式和贴片式。

如图3-4所示。

图3-4LM386封装引脚图

引脚2为反相输入端,3为同相输入端;引脚5为输出端;引脚6和4分别为电源和地;引脚1和8为电压增益设定端;使用时在引脚7和地之间接旁路电容。

3.1.5LM358双运算放大器

LM358内部包括有两个独立的、高增益、内部频率补偿的双运算放大器,适合于电源电压范围很宽的单电源使用,也适用于双电源工作模式,在推荐的工作条件下,电源电流与电源电压无关。

它的使用范围包括传感放大器、直流增益模块和其他所有可用单电源供电的使用运算放大器的场合。

LM358的封装形式有塑封8引线双列直插式、贴片式和圆形金

壳封装等。

其封装引脚图如图3-5所示。

图3-5LM358封装引脚图

特点:

◆内部频率补偿;

◆直流电压增益高(约100dB);

◆单位增益频带宽(约1MHz);

◆电源电压范围宽:

单电源(3—30V);

◆双电源(±1.5一±15V);

◆低功耗电流,适合于电池供电,低输入偏流;

◆低输入失调电压和失调电流;

◆共模输入电压范围宽,包括接地;

◆差模输入电压范围宽,等于电源电压范围;

◆输出电压摆幅大(0至Vcc-1.5V);

3.1.6ADC0832

ADC0832是美国国家半导体公司生产的一种8位分辨率、双通道A/D转换芯片。

由于它体积小,兼容性,性价比高而深受单片机爱好者及企业欢迎,其目前已经有很高的普及率。

ADC0832为8位分辨率A/D转换芯片,其最高分辨可达256级,可以适应一般的模拟量转换要求。

其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在0~5V之间。

芯片转换时间仅为32μS,据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。

独立的芯片使能输入,使多器件挂接和处理器控制变的更加方便。

通过DI数据输入端,可以轻易的实现通道功能的选择。

特点:

◆8位分辨率;

◆逐次逼近式A/D转换器;

◆双通道A/D转换;

◆输入输出电平与TTL/CMOS相兼容;

◆5V电源供电时输入电压在0~5V之间;

◆工作频率为250KHZ,转换时间为32μS;

◆一般功耗仅为15mW;

◆8P、14P—DIP(双列直插)、PICC多种封装;

◆商用级芯片温宽为0°Cto+70°C,工业级芯片温宽为?

40°Cto+85°C;

其封装引脚如图3-6所示。

图3-6ADC0832引脚封装图

芯片接口说明:

◆CS_片选使能,低电平芯片使能;

◆CH0模拟输入通道0,或作为IN+/-使用;

◆CH1模拟输入通道1,或作为IN+/-使用;

◆GND芯片参考0电位(地);

◆DI数据信号输入,选择通道控制;

◆DO数据信号输出,转换数据输出;

◆CLK芯片时钟输入;

◆Vcc/REF电源输入及参考电压输入(复用);

单片机对ADC0832的控制原理:

正常情况下ADC0832与单片机的接口应为4条数据线,分别是CS、CLK、DO、DI。

当ADC0832未工作时其CS输入端应为高电平,此时芯片禁用,CLK和DO/DI的电平可任意。

当要进行A/D转换时,须先将CS使能端置于低电平并且保持低电平直到转换完全结束。

此时芯片开始转换工作,同时由处理器向芯片时钟输入端CLK输入时钟脉冲,DO/DI端则使用DI端输入通道功能选择的数据信号。

在第1个时钟脉冲的下沉之前DI端必须是高电平,表示启始信号。

在第2、3个脉冲下沉之前DI端应输入2位数据用于选择通道功能。

当此2位数据为“1”、“0”时,只对CH0进行单通道转换。

当2位数据为“1”、“1”时,只对CH1进行单通道转换。

当2位数据为“0”、“0”时,将CH0作为正输入端IN+,CH1作为负输入端IN-进行输入。

当2位数据为“0”、“1”时,将CH0作为负输入端IN-,CH1作为正输入端IN+进行输入。

到第3个脉冲的下沉之后DI端的输入电平就失去输入作用,此后DO/DI端则开始利用数据输出DO进行转换数据的读取。

从第4个脉冲下沉开始由DO端输出转换数据最高位DATA7,随后每一个脉冲下沉DO端输出下一位数据。

直到第11个脉冲时发出最低位数据DATA0,一个字节的数据输出完成。

也正是从此位开始输出下一个相反字节的数据,即从第11个字节的下沉输出DATA0。

随后输出8位数据,到第19个脉冲时数据输出完成,也标志着一次A/D转换的结束。

最后将CS置高电平禁用芯片,直接将转换后的数据进行处理就可以了。

作为单通道模拟信号输入时ADC0832的输入电压是0~5V且8位分辨率时的电压精度为19.53mV。

如果作为由IN+与IN-输入的输入时,可以将电压值设定在某一个较大范围之内,从而提高转换的宽度。

但值得注意的是,在进行IN+与IN-的输入时,如果IN-的电压大于IN+的电压则转换后的数据结果始终为00H。

3.1.7MAX202

 MAX202器件是为±12V供压无法实现时RS-232和V.28通信接口设计的收发器。

MAX202板载的电荷泵将+5V的输入电压转换为RS-232协议所要求的±10V输出电平。

  MAX202发送器和接收器的数据传输速率达120kbps,完全符合EIA/TIA-232E和CCITT V.28的规格。

只要根据EIA/TIA-232E的规格接入负载,当数据传输速率超过120kbps时,MAX202驱动器仍将保持±5V的EIA/TIA-232E输出信号电平。

特点:

◆0.1μF~10μF的额外电容;

◆数据速率120kbits/s;

◆关断模式下有2个接收器;

◆小型28-PINSSOP封装,比SOIC节省60%空间;

◆低功耗关断电流:

1μA;

◆RS-232和V.28应用;

◆三态TTL/CMOS接收器输出;

其引脚封装图如图3-7所示。

图3-6MAX202引脚封装图

3.1.87289芯片

7289A是一片具有SPI串行接口的可同时驱动8位共阴式数码管或64只独立LED的智能显示驱动芯片该芯片同时还可连接多达64键的键盘矩阵单片即可完成LED显示﹑键盘接口的全部功能。

7289A内部含有译码器可直接接受BCD码或16进制码并同时具有2种译码方式,此外,还具有多种控制指令,如消隐﹑闪烁﹑左移﹑右移﹑段寻址等。

7289A具有片选信号可方便地实现多于8位的显示或多于64键的键盘接口。

其引脚如图3-8所示。

图3-87289引脚图

芯片接口说明:

◆VCC

(2):

+5V电源;

◆NC(5):

悬空;

◆GND(4):

接地;

:

片选输入端,此引脚为低电平时可向芯片发送指令及读取键盘数据;

◆CLK(7):

同步时钟输入端,向芯片发送数据及读取键盘数据时此引脚电平上升沿表示数据有效;

◆DATA(8):

串行数据输入/输出端,当芯片接收指令时此引脚为输入端,当读取键盘数据时此引脚在读指令最后一个时钟的下降沿变为输出端;

:

按键有效输出端平时为高电平当检测到有效按键时此引脚变为低电平;

◆SG-SA(10-16):

段g-段a驱动输出;

◆DP(17):

小数点驱动输出;

◆DIG0-DIG7(18-25):

共阴极数码管的驱动输出;

◆OSC2(26):

振荡器输出端;

◆OSC1(27):

振荡器输入端;

:

复位端;

控制指令:

7289A的控制指令分为两大类:

纯指令和带有

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 育儿理论经验

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1