简易语音计算器系统毕业设计.docx
- 文档编号:525990
- 上传时间:2023-04-29
- 格式:DOCX
- 页数:56
- 大小:464.17KB
简易语音计算器系统毕业设计.docx
《简易语音计算器系统毕业设计.docx》由会员分享,可在线阅读,更多相关《简易语音计算器系统毕业设计.docx(56页珍藏版)》请在冰点文库上搜索。
摘要
近年来随着科技的飞速发展,单片机的应用正在不断深入。
在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用。
但仅单片机方面的知识是不够的,还应根据具体的硬件扩展和软件设计,来加以完善单片机的功能。
计算器是人们的日常生活中比较常用的电子产品之一。
语音技术的进展给这种应用需要提供了一种有力的技术支持,逐渐被广大用户所接受,并广泛应用于各种需要语音响应的场合。
本次设计的简易计算器系统,以MCS-51系列中的AT89C51单片机为核心,通过键盘输入,能够实现简单的加减乘除四则运算,并将结果于LCD1602液晶显示器显示。
另外此系统扩展了语音的录放功能,能够根据用户喜好进行短时录音和放音。
硬件电路部分主要包括AT89C51单片机控制器模块、LCD1602液晶显示器模块、4*4矩阵式控制按键模块和语音播放模块等。
然后通过Proteus对系统进行仿真,最后进行实物焊接与调试。
仿真和调试结果表明该系统能够准确计算,响应时间较短,工作较稳定。
关键词:
AT89C51;LCD1602;ISD2560;4*4矩阵式控制按键
II
ABSTRACT
Inrecentyears,withtherapiddevelopmentofscienceandtechnology,SCMapplicationsaredeepening.Inreal-timedetectionandautomaticcontrolofmicrocomputerapplicationsystem,thesinglechipmicrocomputeroftenasacorecomponenttouse.ButonlySCMknowledgeisnotenough,stillshouldaccordingtothespecifichardwareextension,andthesoftwaredesign,toimprovethefunctionofthemicrocontroller.CalculatorismorecommoninPeople'sDailylifeofoneoftheelectronicproducts.Speechtechnologyprogressforthisapplicationneedstoprovideapowerfultechnicalsupport,isgraduallyacceptedbythemassesofusers,andarewidelyappliedtovariousneedsvoiceresponse.Thissimplecalculatorsystem,basedontheAT89C51MCS-51seriesmicrocontrollerasthecore,throughkeyboardinput,thearithmetictoimplementasimpleaddition,subtraction,multiplication,anddivision,andwillresultintheLCD1602LCDdisplay.Inadditionthissystemextendsthevoicerecordingfunction,canaccordingtouser'spreferencesforshorttimerecordingandplayback.
HardwarecircuitpartmainlyconsistsofAT89C51controllermodule,LCD1602LCDmodule,4*4matrixmoduleandvoicebroadcast modulecontrolbuttons,etc.ThenthesystemaresimulatedbyProteus,andfinallycarriesontherealweldinganddebugging.Thesimulationanddebuggingresultsshowthatthesystemcanaccuratelycalculate,shorterresponsetime,workmorestable.
Keywords:
AT89C51;LCD1602;ISD2560;4*4matrixcontrolbuttons
目录
1绪论 1
1.1系统开发背景 1
1.2系统开发意义 1
1.3设计主要内容 1
2系统方案总体设计 3
2.1简易计算器的功能介绍 3
2.1.1基本功能 3
2.1.2扩展功能 3
2.2方案论证与比较 3
2.2.1控制器部分设计方案论证与选择 3
2.2.2显示电路部分设计方案论证与选择 4
2.2.3键盘设计方案与选择 5
2.3系统组成 6
3硬件电路设计 8
3.1主控芯片选型及分析 8
3.2复位电路 10
3.3时钟电路 11
3.4显示电路 11
3.5语音电路 12
3.6按键电路 17
4软件设计 19
4.1AT89C51单片机中断允许控制 19
4.2LCD1602控制 19
4.2.1LCD1602字符发生存储器(CGROM) 20
4.2.2LCD1602显示数据寄存器(DDRAM) 21
4.3计算器软件设计 22
4.3.1系统总流程图 23
4.3.2算术运算程序设计 23
4.3.3按键程序设计 24
4.3.4显示程序设计 24
ii
4.3.5错误处理及提示程序设计 25
4.4语音播报软件设计 25
4.4.1分段录放音 26
4.4.2程序流程图 26
4.5软件仿真与实物调试 29
4.5.1KEILuVision调试 29
4.5.2四则运算、除数为0和数值溢出仿真演示:
33
4.5.3实物调试 34
5结论与展望 35
致谢 36
参考文献 37
附录 38
电路整体原理图 38
计算器源程序 39
语音播报源程序 50
1绪论
1.1系统开发背景
随着社会的发展,科学的进步,人们的生活水平在逐步的提高,尤其是微电子技的术的发展,犹如雨后春笋的变化。
计算器在人们的日常中视比较常见的电子产品之一,如何将常见的计算器技术更加成熟,充分利用已有的软件和硬件条件,设计出更加出色的计算器,使其更好的为各行业服务,成了如今电子领域重要的研究课题。
1.2系统开发意义
人们的日常生活中已经离不开计算器了,社会的各个角落几乎都充斥着它的身影,比如各类商店,超市和办公场所等等。
因此设计一款方便实用的计算器有很大的实际意义。
我们常见的计算器一般只有计算功能,和简单的语音跟踪,并不能根据用户自身喜好进行录音。
本设计正是出于此种创意,制作的计算器不仅能完成基本计算功能,而且还融入了语音系统于其中。
即是说此计算器除能够完成一般计算功能和语音跟踪之外,还可以根据用户喜好自定义一段录音,然后播放出来。
这种根据自己喜好录放音的计算器将会受到大家的喜欢。
1.3设计主要内容
随着嵌入式系统(以应用为中心,以计算机技术为基础,且软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统)的快速发展,单片机本着它简单,功能强大,易于设计等优点被设计者广泛使用。
本设计使用单片机作为中央控制器件,另附计算系统与语音系统为扩展完成。
第一章为设计的背景、意义介绍,简明扼要的阐述设计的目的和成果。
第二章为系统方案设计,主要从设计的功能,方案的确定及选择原因和系统组成来介绍。
第三章为主要芯片介绍,详细阐述了芯片的内部结构和引脚分布。
第四章为设计的核心,即硬件电路设计。
此章将硬件电路分为若干模块,分别介绍了各模块的硬件设计电路。
第五章为软件设计,主要介绍了语言的选择,控制字的确定,流程图和最后的仿真与调试。
通过这几章的介绍,完成简易计算器的设计。
52
2系统方案总体设计
2.1简易计算器的功能介绍
2.1.1基本功能
根据所学知识,自行设计一个计算器,要求该计算器能够实现加减乘除四则混合运算,能够实现连续计算。
2.1.2扩展功能
(1)该计算器可显示负数。
(2)该计算器带有语音播报系统,可自定义录、放音。
(3)该计算器能够进行错误提示和数据溢出提示。
2.2方案论证与比较
2.2.1控制器部分设计方案论证与选择
根据设计要求,控制器主要用于数据的接收和发送、数据的运算和控制液晶屏显示等。
针对这些,对于控制器的选择有以下三种方案。
方案一:
采用计算器专用芯片实现。
用计算器专用芯片进行设计并编程实现。
这种设计方案计算效率高、速度快、而且成本也相对较低,是厂家做计算器的最佳方案。
但是计算器专用芯片的使用最主要是规范和专业,适用于复杂领域计算。
现设计的计算器只需完成基本计算功能和语音模块扩展,并且由于专用芯片的使用繁琐复杂,价格昂贵,所以这个方案不可取。
方案二:
采用FPGA(现场可编程门阵列)作为系统的控制器。
FPGA将所有器件集成到一块芯片上,体积小,节省空间,直接面向用户,使用方便,硬件测试和实现方便快捷,开发效率高,工作可靠性好。
可实现各种复杂的逻辑功能,规模大,密度高,采用并行的输入输出方式,系统处理速度高,适合作为大规模实时系统的控制核心。
由于本设计对数据处理速度的要求不是很高,FPGA的高速处理的优
势得不到充分体现。
又由于其集成度高,成本偏高。
而且其芯片的引脚较多,实物电路板布线复杂,加重了电路的实际焊接的工作。
这样一来FPGA的性价比太低,所以这个方案不考虑。
方案三:
用单片机实现。
由于单片机集成了运算器电路、控制电路、存储器、中断系统、定时器/计数器以及输入/输出口电路等,所以用单片机设计控制电路省去了很多分立元器件。
而且单片机是可编程芯片,可以运用C语言编写,对于一些复杂的计算功能,它可以调用C语言库函数,使编程工作变得非常简单。
所以该课题用单片机实现,不仅功能易于实现,而且精确度高,稳定性好,抗干扰能力强。
并且由于其成本低、体积小、技术成熟和功耗小,技术比较成熟,性价比也相当高。
更重要的是本人经过四年的学习,对单片机已有深刻的理解,使用起来更加方便灵活。
综上所述,通过各个方面综合比较,为达到最佳效果,我们采用方案三用单片机来设计此控制器。
2.2.2显示电路部分设计方案论证与选择
方案一:
数码管显示方案。
使用两个四位一体动态数码管显示,具有程序简单,对外界环境要求低,易于维护,精确可靠,操作简单,显示直观的特点。
但由于数码管只能显示数字和代码,不能显示汉字及常用符号等,所以此方案不考虑。
方案二:
采用LCD1602型液晶显示。
(一)基本显示特性
1、+5V电压,对比可调度;
2、内含复位电路;
3、提供各种控制命令,如:
清屏、字符闪烁、光标闪烁、显示移位等多种功能;
4、有80字节显示数据存储器DDRAM;
5、内建有160个5X7点阵的字型的字符发生器CGROM;
6、8个可由用户自定义的5X7的字符发生器CGRAM。
(二)接口定义
LCD1602接口定义如表2-1所示
表2-1接口定义图
引脚号 引脚名 电平 输入/输出 作用
1
Vss
电源地
2
Vcc
电源(+5V)
3
Vee
对比可调电压
4
RS
0/1
输入
0=输入指令
1=输入数据
5
R/W
0/1
输入
0=向LCD写入指令或数据
1=从LCD读取数据
6
E
1,1→0
输入
使能信号,1时读取信息,
1→0(下降沿)执行指令
7
DB0
0/1
输入/输出
数据总线line0(最低位)
8
DB1
0/1
输入/输出
数据总线line1
9
DB2
0/1
输入/输出
数据总线line2
10
DB3
0/1
输入/输出
数据总线line3
11
DB4
0/1
输入/输出
数据总线line4
12
DB5
0/1
输入/输出
数据总线line5
13
DB6
0/1
输入/输出
数据总线line6
14
DB7
0/1
输入/输出
数据总线line7(最高位)
15
A
+Vcc
LCD背光电源正极
16
K
接地
LCD背光电源负极
综上所叙,AT1602的显示效果好、功能齐全,所以我们选用AT1602液晶显示。
该液晶有16个引脚,它能显示32个字符,并且硬件电路设计简单,显示美观。
2.2.3键盘设计方案与选择
方案一:
独立键盘。
独立键盘为一端接地,另一端接I/O口,并且要接上拉电阻。
这种键盘的硬件很容易实现,但由于每一个按键就要占用一个I/O口,浪费单片机的I/O口资源,不适合本次设计,此方案不考虑。
方案二:
4*4矩阵式键盘。
这种键盘的硬件简单,使用的I/O口比独立键盘减少一半,并且这种键盘的编程方法很常见,相对来说比较熟。
所以本次设计采用4*4矩阵式键盘。
2.3系统组成
本设计采用MCS-51系列单片机AT89C51来设计计算器。
通过扩展必要的外围接口电路,实现对计算器的设计。
由键盘输入数值,再通过80C51单片机输入到系统,并由
I/O口输出,最后由LCD1602显示输入数值和输出结果,同时通过语音模块达到实时语音播报,通过语音扩展模块实现录放音的功能效果。
其中,本设计以单片机为核心,包
括按键模块、扩展模块、基本运算模块、语音模块和显示模块。
系统框图如图2-1所示:
显示模块
运算模块
AT89C51控
制器
语音模块
扩展模块
按键模块
图2-1系统框图
硬件电路是采用结构化系统设计方法,该方法保证设计电路的标准化、模块化。
硬件电路设计最重要的选择是确定用于控制的单片机,并确定与之配套的外围芯片,使所设计的系统实用性强、操作简单。
软件设计的方法与开发环境的选取有着直接的关系,本系统由于是采用CMS-51系列单片机,因此使用KeilC语言进行开发,Proteus仿真软件进行仿真。
此编程工具相比汇编语言具有结构化、适用范围大、可移植性好等特点。
本系统软件设计采用模块化系统设计方法,先编写各个功能模块子程序,然后进行组合与调整,经过KeilC调试后,达到设计功能要求,并在Proteus中仿真。
在设计中采用AT89C51单片机作为微处理器,低电压、高性能CMOS8位单片机,片内含4Kbytes的可反复擦写的Flash只读程序存储器和128bytes的随机存取数据存储器(RAM),兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元。
硬件方面需完成包括键盘控制,LCD屏显示控制,基本运算控制、语音控制等设计。
除外,还有各部件之间的连接、引脚间的连接等工作。
软件方面则需完成各功能模块的程序编写,及调试和仿真工作。
3硬件电路设计
硬件电路主要包括单片机为核心的复位电路、时钟电路,显示电路、语音电路和按键电路。
通过各电路,详细的介绍了电路组成。
3.1主控芯片选型及分析
随着集成电路工艺的发展,出现了单片机、DSP、ARM等多种单片机。
DSP:
有16位的到32位之分,16位DSP适合中高级工控到简单语音/图片处理,32位DSP适合复杂语音/图片/视频等处理。
ARM:
是32位单片机,适合做中高级工控或简单语音/图片(不含视频)的处理。
而AT89C51是一种带有4K字节闪烁可编程可擦除只读存储的低电压、高性能CMOS8位微处理器,与工业标准的MCS-51指令集和输出管脚均相兼容。
MCS-51单片机虽然和DSP,ARM相比处理速度和运算速度上都比较慢,但它体积小、质量轻、价格便宜,速度也可以满足本次实验的要求,所以我们采用AT89C51这款单片机作为本设计的主控芯片。
AT89C51内部原理图如图3-1所示:
P0.0~P0.7P2.0~P2.7
VCC
P0驱动器 P2驱动器
VSS
RAM
地址寄存器
RAM128B
P0锁存器
P2锁存器
4KBROM
程序地址
寄存器
B寄存器 暂存器1
暂存器2
ACC
SP
缓冲器
ALU
PC增1
PSW
PC
PSENALE
EARST
定指指时令令控译寄制码存
器器
中断、串行口及定时器
DPTR
P1锁存器
P3锁存器
OSC
P1驱动器
P3驱动器
XTAL1
XTAL2
P1.0~P1.7
P3.0~P3.7
图3-1AT89C51单片机内部原理图
引脚图如图3-2所示:
图3-2AT89C51单片机引脚图
AT89C51的主要特性:
(1)与MCS-51兼容
(2)4K字节可编程闪烁存储器
(3)数据保留时间:
10年
(4)全静态工作:
0Hz-24Hz
(5)128*8位内部RAM
(6)32可编程I/O线
(7)两个16位定时器/计数器
(8)5个中断源
(9)可编程串行通道
(10)片内振荡器和时钟电路中央处理器:
中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。
数据存储器(RAM):
C51内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数
据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。
程序存储器(ROM):
C51共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。
定时/计数器:
C51有两个16位的可编程定时/计数器,以实现定时或计数产生中断,用于控制程序转向。
并行输入输出(I/O)口:
C51共有4组8位I/O口(P0、P1、P2和P3),用于对外部数据的传输。
全双工串行口:
C51内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。
中断系统:
C51具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。
时钟电路:
C51内置最高频率达12MHz的时钟电路,用于产生整个单片机运行的脉冲时序,但
C51单片机需外置振荡电容。
3.2复位电路
AT89C51单片机在启动时都需要复位,使CPU及系统各部件处于确定的初始状态,并从初态开始工作。
89系列单片机的复位信号是从RST引脚输入到芯片内部的斯密特触发器中的。
当系统处于正常工作状态时,且振荡器稳定后,如RST引脚上有一个高电平并维持2个机器周期(24个振荡周期),则CPU就可以响应并将系统复位。
如图
3-3所示,其为手动复位电路,通过接通一按钮开关,使单片机进入复位状态。
图3-3复位电路
3.3时钟电路
AT89C51芯片内部有一个高增益反相放大器,用于构成振荡器,反相放大器的输入端为XTAL1,输出端为XTAL2,两端跨接石英晶体及两个电容就可以构成稳定的自激振荡器。
电容器C1和C2通常取22pf左右,可稳定频率并对振荡频率有微调作用。
振荡脉冲频率范围为0~24MHz。
时钟接口电路如图3-4所示:
图3-4时钟电路
3.4显示电路
本设计采用LCD1602液晶显示器来显示输出数据。
本设计通过D0-D7引脚向LCD写指令字或写数据以使LCD实现不同的功能或显示相应的数据。
其接口电路如图3-5所示。
图3-5显示电路LCD部分
3.5语音电路
3.51ISD2560选型及分析
目前市场流行的语音芯片有很多,从性价比的角度来考虑,美国ISD公司的ISD系列语音芯片可谓是一只独秀。
ISD系列语音芯片具有以下优点:
(1)采用模拟量数据存储在半导体存储器直接存储的专利技术,即将模拟量数据直接写入单个存储单元,不需要经过A/D,D/A转换。
(2)内部集成了大容量的的EEPROM,不再需要扩展存储器。
(3)控制简单,控制引脚与TTL电平兼容。
(4)集成度高,使用方便。
(5)能较好的真时再现语音的自然效果,避免了一搬固体语音电路的因为量化和压缩所造成的量化噪声和失真现象。
因此本例选用ISD公司的语音芯片ISD2560。
ISD2560是ISD公司生产的语音录入和重放芯片ISD2500系列之一,ISD2500系列芯片包括ISD2560,ISD2575,ISD2590和ISD25120四种,他们的主要区别在于存储语音的时间长度,ISD2560的录音时间为
60秒,ISD2575的录音时间为75秒,ISD2590的录音时间为90秒,而ISD25120的录音时间为120秒。
ISD2560采用多电平直接模拟量存储专利技术,每个采样值可直接存储在片内单个
EEPROM单元中,因此能够非常真实,自然得再现语音,音乐,音调和效果声,从而避免了一般固体录音电路因量化和压缩造成的量化噪声和“金属声”。
ISD2560的采样频率为8kHZ,同一系列的产品采样频率越低,录音/放音时间越长,但同频带和音质会有所降。
ISD2560可重复录放10万多次,它是一种永久记忆型语音录音/放音电路,它具有音质自然,使用方便,单片存放,反复录音,功耗低,抗断电等许多优点,因此在许多领域获得了广泛的应用。
ISD2560省去了A/D和D/A转换器,集成度较高,内部包括前置放大器,内部时钟,定时器,采样时钟,滤波器,自动增益控制,逻辑控制,模拟收发器,解码器和480k字节的EEPROM。
ISD2560内部的EEPROM存储单元均匀分为600行,有600个地址单元,每个地址单元指向其中一行,每一个地址单元的地址分辨
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 简易语音计算器系统 毕业设计 简易 语音 计算器 系统