电梯语音播报系统的设计-毕业设计_第1页
电梯语音播报系统的设计-毕业设计_第2页
电梯语音播报系统的设计-毕业设计_第3页
电梯语音播报系统的设计-毕业设计_第4页
电梯语音播报系统的设计-毕业设计_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

电梯语音播报系统的设计摘要本设计主要是运用单片机及按键、LCD1602液晶显示等常见外围电路知识,结合实际生活中电梯的运作,实现对三层电梯控制模型的设计。硬件部分主要由单片机最小系统模块、电梯内外电路按键矩阵模拟检测模块、电梯外请求发光管显示模块、楼层显示LCD1602液晶显示模块、电梯上下行显示模块等5部分组成。该系统采用单片机(AT89S51)作为控制核心,使用按键按下与否而引起的电平的改变,作为用户请求信息发送到单片机,单片机控制电动机转动,单片机根据楼层检测结果控制电机停在目标楼层。软件部分使用C语言,利用查询方式来检测用户请求的按键信息,根据电梯运行到相应楼层时,模拟按键引起电平变化,送到单片机计数来确定楼层数,并送到LCD1602液晶显示器进行显示。关键词:AT89S51、模拟电梯、LCD1602液晶显示、语音播报

DesignOfElevatorSpeechBroadcastSystem ABSTRACTThisdesignimpressonSCMandkeys,LCD1602liquidcrystaldisplayandothercommonperipheralcircuitknowledge,combinedwiththeactuallifeoftheoperationoftheelevator,torealizethecontrolmodelofthreeelevators.HardwareiscomposedofMCUminimumsystemmodule,elevatorandkeystrokematrixsimulationdetectionmodule,elevatorrequestLEDdisplaymodule,floordisplayLCD1602liquidcrystaldisplaymodule,elevatorupanddownthelinedisplaymodule5parts.ThesystemusesSCM(AT89S51)asthecontrolcore,andusesthebuttonwhetherpressedornotarisingfromthelevelofchange,asusersrequestinformationsenttothemicrocontroller.SCMcontrolmotorrotation,microcontrollercontrolsthemotoraccordingtotestresultsfloorsstoppedatthetargetfloor.SoftwarecomponentsuseClanguage,utilizethequerymethodtodetectthekeyinformationofuserqueries,accordingtotheoperationoftheelevatortotheappropriatefloor,analogbuttonscausedlevelchange,senttotheMCUcountertodeterminethenumberoffloors,andsenttotheLCD1602LCDdisplay.Keywords:AT89S51、simulatedelevator、LCD1602liquidcrystaldisplay、keyboardcontrol

目录第一章引言 第一章引言1.1研究的背景和意义随着城市文明化和现代化建设步伐的加快,建筑物中电梯的使用也相当普遍,而对服务要求也越来越高,人们越来越追求智能化、人性化的乘梯环境。传统的电梯只有显示部分,如果人流量大,在人群中可能看不到显示的楼层,从而错过到达的楼层。在电梯语音服务方面,通过语音播报提醒乘客所要到达的楼层以及其他相关的服务信息为客户提供更多的便利。现代化智能大厦不仅要求电梯能够安全平稳的将乘客送达目的地,而且也能预报层站及进行特定层站说明、特定情况提示、电梯的运行状态等,就此设计一款基于单片机和语音芯片为核心的一个系统来实现语音提醒。本设计就以LCD1602显示器和ISD1730语音芯片来实现楼层信号及播报。1.2基于单片机的语音系统简介及设计要求系统简介本电梯语音系统主要由电源模块、LCD显示模块、语音播报模块及矩阵键盘模块。LCD模块主要显示楼层的上下行状态、所到达楼层;语音播报模块主要播报楼层;矩阵键盘模块主要实现模拟楼层。系统正常运行方式,当键入触发命令后,系统会安装欲设程序运行执行,完成对应功能。矩阵键盘上键入按钮,就是楼层信号,经过AT89S51单片机的处理后向语音芯片发送当前语音段地址,检测后调用语音播报子程序进行相应的楼层信号播报,同时调用LCD的显示子程序,显示相应的楼层信号。1.2.2设计要求(1)矩阵键盘模拟电梯的楼层信号;(2)LCD显示模块显示楼层状态,上、下行状态;(3)语音播报模块主要作用是播报楼层。(4)采用AT89S51单片机处理信号向ISD1700语音芯片发送当前语音段地址,采用ISD1700的SPI串行接口进行串行通信,利用软件部分找出楼层的信号和状态在适当的时候进行放音。本论文主要写该设计的相关硬件系统(独立键盘、晶振电路、复位电路、LCD显示电路、语音播报电)、软件系统和调试等。第二章系统整体框图2.1系统构成框图图2-SEQ图2-\*ARABIC1系统结构功能图结构功能图说明:通过接通电源后,进行重置复位;采用矩阵键盘键入输入信号到AT89S51单片机,单片机通过信号采集,进行信号处理对LCD模块和语音模块同时分别输出信号,达到实现功能。本系统采用单片机AT89S51作为本设计的核心元件,利用ISD1730语音芯片的录放和LCD的显示来模拟智能电梯的语音播报。设计一种电梯语音播报系统,实现电梯语音播报的智能化和自动化,以适应各种对服务要求比较高的电梯中。2.2系统方案论证单片微型处理器具有集成度高、体积小、成本低、控制功能强、可靠性高、结构灵活、抗干扰能力强等显著的特点,同时在结构、指令设置上均有独特之处,易于产品化;华邦ISD1700语音芯片®®系列是一个高质量的,完全集成,单片多消息语音记录和重放装置,适用于各种电子系统。该消息的时间是用户在选择范围从26秒到120秒,取决于特定的装置。目前世界上单片机产品多达50个系列,300多种型号。有八位的Intel公司的MSC—51系列,PIC系列等等,16位单片机有Intel公司的MCS—96系列等等。各类单片的指令系统各不相同,功能各有所长。在本设计中,8位单片机就能满足系统的设计需求。目前的八位单片机中,以IntelMCS—51系列的单片机种类最多,接口芯片以及应用软件也非常的丰富。在选择MCS—51系列单片机芯时,在成本允许的情况下,尽可能的选择集成度高的微处理器。AT89S51是美国ATMEL公司生产的低电压、高性能的CMOS8位单片机,片内含4KB的反复擦写的程序和128B的随机存取数据存储器(RAM),器件采用Atmel公司的高密度、非易失性存储技术生产,兼容标准MCS—51指令系统,片内配置通用8位中央处理器(CPU)和Flash存储单元,将使程序调试非常的方便。同时AT89S51具有128字节内部的RAM,32位输出/输入口线,2个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路,具有休眠和掉电两种节电模式[1]。从系统的各个方面考虑,选择AT89S51单片机作为遥控接收系统的中央处理器,它应该完全满足系统的需要。由于本系统的软件主要是实现一些控制操作和过程提示,没有大的数字计算职能,所以本系统采用C语言编程,单片机AT89S51具有8K的程序存储区间,能够满足软件存储空间需要。现在虽然单片机的品种繁多,各具特色,但以80C51为核心的单片机仍占主流,与51系列兼容的产品有Philips公司、Atmel公司和中国台湾Winbond公司生产的系列单片机。以80C51为核心的单片机占据了半壁江山,而Microchi公司的PIC单片机也有着较强的发展趋势,中国台湾的Holtek公司单片机以其低价质优的特点占据了一定的市场份额。此外,还有Motorola公司的产品、日本几大公司的专用单片机产品等。在一定时期内,单片机产品走的是一条依存互补、相辅相成、共同发展的道路。

第三章控制系统硬件结构设计3.1硬件系统设计硬件的设计主要围绕系统的功能完全实现,并且要保证整个系统在运行过程中的稳定性、安全性及生产的经济性。系统硬件组成包括操作部分(独立键盘、晶振电路与复位电路);执行部分(LCD显示电路、语音播报电路)组成。1.显示电路:主要显示所要到得楼层信号和上、下行信号,用来模拟电梯运行情况;2.键盘部分:键盘部分模拟的是信号的采集和对系统的总体操作;3.语音播报:用来负责播报所到达的楼层号4.复位电路:分为上电自动复位和按键手动复位两种方式。硬件总电路图:详见附录13.2系统硬件构成系统硬件组成包括操作部分(独立键盘、晶振电路与复位电路);执行部分(LCD显示电路、语音播报电路)组成。显示电路模块图3-1LCD显示电路主要显示的是所要到得楼层信号和上、下行信号,用来模拟电梯运行情况。液晶显示器各种图形的显示原理(线段的显示):点阵图形式液晶由M×N个显示单元组成,假设LCD显示屏有64行,每行有128列,每8列对应1字节的8位,即每行由16字节,共16×8=128个点组成,屏上64×16个显示单元与显示RAM区1024字节相对应,每一字节的内容和显示屏上相应位置的亮暗对应。例如屏的第一行的亮暗由RAM区的000H——00FH的16字节的内容决定,当(000H)=FFH时,则屏幕的左上角显示一条短亮线,长度为8个点;当(3FFH)=FFH时,则屏幕的右下角显示一条短亮线;当(000H)=FFH,(001H)=00H,(002H)=00H,(00EH)=00H,(00FH)=00H时,则在屏幕的顶部显示一条由8段亮线和8条暗线组成的虚线。这就是LCD显示的基本原理[8]。字符的显示:用LCD显示一个字符时比较复杂,因为一个字符由6×8或8×8点阵组成,既要找到和显示屏幕上某几个位置对应的显示RAM区的8字节,还要使每字节的不同位为“1”,其它的为“0”,为“1”的点亮,为“0”的不亮。这样一来就组成某个字符。但由于内带字符发生器的控制器来说,显示字符就比较简单了,可以让控制器工作在文本方式,根据在LCD上开始显示的行列号及每行的列数找出显示RAM对应的地址,设立光标,在此送上该字符对应的代码即可。字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,目前常用16*1,16*2,20*2和40*2行等的模块。图3-SEQ图3-\*ARABIC21602与单片机连接图 表3-SEQ表3-\*ARABIC11602接口信号说明编号符号引脚说明编号符号引脚说明1VSS电源地9D2DataI/O2VDD电源正极10D3DataI/O3VL液晶显示偏压信号11D4DataI/O4RS数据/命令选择端(H/L)12D5DataI/O5R/W读/写选择端(H/L)13D6DataI/O6E使能信号14D7DataI/O7D0DataI/O15BLA背光源正极8D1DataI/O16BLK背光源负极LCD1602特性及应用特性:(1)3.3V或5V工作电压,对比度可调(2)内含复位电路(3)提供各种控制命令,如:清屏、字符闪烁、光标闪烁、显示移位等多种功能(4)有80字节显示数据存储器DDRAM(5)内建有192个5X7点阵的字型的字符发生器CGROM(6)8个可由用户自定义的5X7的字符发生器CGRAM应用:微功耗、体积小、显示内容丰富、超薄轻巧,常用在袖珍式仪表和低功耗应用系统中。使用Proteus仿真1602--即LM016L--依照数据手册说明使用可能遇到困难,可以尝试采用以下方案解决:1.数据手册中可能介绍1602内部D0~D7已有上拉,可以使用P0口直接驱动。在Proteus中LM016L内部可能没有,应该人为加上拉电阻。建议不要使用排阻,使用普通电阻一个一个上拉,应该可以解决问题;2.可能遇到不能检测到忙信号的问题,尝试使用延时把信号拖过去单片机连接模块图3-SEQ图3-\*ARABIC3单片机引脚连接图STC系列单片机是美国STC公司最新推出的一种新型51内核的单片机。片内含有Flash程序存储器、SRAM、UART、SPI、A/D、PWM等模块。该器件的基本功能与普通的51单片机完全兼容。主要功能及性能参数:(1)内置标准51内核,机器周期:增强型为6时钟,普通型为12时钟;(2)工作频率范围:0~40MHZ,相当于普通8051的0~80MHZ;(3)Flash空间:4KB;(4)内部存储器(RAM):512B;(5)定时器/计数器:2个16位;(6)通用异步通信口(UART):1个;(7)中断源:8个;(8)有ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器/仿真器;(9)通用I/O口:32/36个;(10)工作电压:3.8~5.5V;(11)外形封装:40脚PDIP、44脚PLCC和PQFP等。引脚功能说明(1)VCC:电源电压。(2)VSS:公共连接,通常指电路公共接地端。(3)P0口:在不接片外存储器与不扩展I/O口是,可作为准双向I/O口使用。否则,分时复用为低8位地址总线和数据总线[1]。(4)P1口:P1是一个带内部上拉电阻的8位双向I/O口,与AT89C51不同之处是,52系列的P1.0和P1.1还可分别作为定时/计数器2的外部计数输入(P1.0/T2)和输入(P1.1/T2EX),参见表3-2。表3-SEQ表3-\*ARABIC2P1.0和P1.1的第二功能引脚号功能特性P1.0T2(定时/计数器2外部计数脉冲输入),时钟输出P1.1T2EX(定时/计数2捕获/重装载触发和方向控制)图3-SEQ图3-\*ARABIC4STC89C51引脚图(5)P2口:一般可作为准双向I/O口使用;在接有片外存储器或扩展I/O口且寻址范围超过256字节时,P2口用作高8位地址总线。(6)P3口:P3口是一组带有内部上拉电阻的8位双向I/O口。P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,如表3-3所示。表3-SEQ表3-\*ARABIC3P3口的第二功能端口第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2(外中断0)P3.3(外中断1)P3.4T0(定时/计数0)P3.5T1(定时/计数1)P3.6(外部数据存储器写选通)P3.7(外部数据存储器读选通)(7)RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。(8)/VPP:外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH)。端必须保持低电平(接地)。如端为高电平(接VCC端),CPU则执行内部程序存储器中的指令。(9)XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。(10)XTAL2:振荡器反相放大器的输出端。(11)数据存储器:89C51有128个字节的内部RAM,80H-FFH高128个字节与特殊功能寄存器(SFR)地址是连续不重叠的,52系列是高128字节的RAM和特殊功能寄存器的地址是相同的,但在物理上它们是分开的。当一条指令访问7FH以上的内部地址单元时,指令中使用的寻址方式是不同的,也即寻址方式决定是访问高128字节RAM还是访问特殊功能寄存器。如果指令是直接寻址方式则为访问特殊功能寄存器[12]。(12)中断:89C51共有5个中断向量:两个外中断(INT0和INT1),3个定时器中断(定时器0,1)和串行口中断。复位及晶振电路模块无论用户使用哪种类型的单片机,总要涉及到单片机复位电路的设计。而单片机复位电路设计的好坏,直接影响到整个系统工作的可靠性。许多用户在设计完单片机系统,并在实验室调试成功后,在现场却出现了“死机”、“程序走飞”等现象,这主要是单片机的复位电路设计不可靠引起的[10]。单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。89系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,则CPU就可以响应并将系统复位。单片机系统的复位方式有:手动按钮复位和上电复位。本次设计中采用手动按钮复位的方式。89C51中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器,振荡电路如图3(a)所示。外接石英晶体(或陶瓷谐振器)及电容C1、C2接在放大器的反馈回路中构成并联振荡电路,对外接电容C1、C2虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程度及温度稳定性。如果使用石英晶体,推荐电容使用30pF±10pF,而如果使用陶瓷谐振器,建议选择40pF±l0pF。用户也可以采用外部时钟。采用外部时钟的电路如图3(b)图所示。这种情况下,外部时钟脉冲接到XTAL1端,即内部时钟发生器的输入端,XTAL2则悬空。由于外部时钟信号是通过一个二分频触发器后作为内部时钟信号的,所以对外部时钟信号的占空比没有特殊要求,但最小高电平持续时间和最大的低电平持续时间应符合产品技术条件的要求。在本次设计中,晶体振荡器采用12Mhz,此时机器频率为1Mhz。振荡电路中两个电容均为30pf。复位及晶振电路如图3-5所示。(a)内部振荡电路(b)外部振荡电路图3-SEQ图3-\*ARABIC589C51振荡电路图3-SEQ图3-\*ARABIC6复位及晶振电路语音播报模块图3-SEQ图3-\*ARABIC7语音播报电路原理图这部分是用来负责播报所到达的楼层号。ISD1700的特点:1、综合信息管理系统的单片机,按键的应用记录:记录电平触发玩:循环播放顺序的个人信息或电平触发边沿触发擦除:擦除边缘触发的第一个或最后一个消息或电平触发删除所有消息标题:边缘触发前进到下一个消息或信息快速播放过程中扫描体积:8级输出音量控制就绪/忙状态指示:准备或int复位:返回到默认状态每个运行周期后自动断电2、可选采样频率由一个外部振荡器电阻控制3、可选的消息的时间广泛的选择从30秒到240秒在8kHz的采样频率4、消息和操作指标四个可定制的声音效果(SES)为可听指示可选vAlert(voiceAlert)显示新邮件的存在领导:在录音期间,闪烁在播放过程中,向前和擦除操作5、双操作模式独立模式:(1)集成的信息管理技术(2)每个运行周期后自动断电SPI模式:完全由用户选择和通过可控APC寄存器和各种SPI命令选项6、两个输入通道Mic+/麦克风:差分麦克风输入AGC(自动增益控制)更新:单端模拟输入通过辅助记录或饲料7、双输出通道差动PWMD类扬声器输出直接驱动一个8Ω扬声器或一个典型的蜂鸣器可配置的澳元(电流)或辅助(电压)单端输出驱动外部音频放大器8、ChipCorder标准的特点高质量的,自然的声音和音频再现工作电压为2.4V至5.5V9、包装类型:可在模具,PDIP,SOIC和TSOP电特性:(1)工作电压:2.4V-5.5V最高不能超过6V;(2)静态电流:0.5-1μA;(3)工作电流:20mA;用户可利用震荡电阻来自定芯片的采样频率,从而决定芯片的录放时间。管脚功能说明:表3-SEQ表3-\*ARABIC4管脚功能说明管脚

名称PDIP/SOIC

管脚TSOP

管脚

引脚说明VCCD122数字电路电源/LED223LED指示信号输出/RESET324芯片复位MISO425SPI接口的串行输出。ISD1700在SCLK下降沿之前的半个周期将数据放置在MISO端。数据在SCLK的下降沿时移出MOSI526SPI接口的数据输入端口。主控制芯片在SCLK上升沿之前的半个周期将数据放置在MOSI端。数据在SCLK上升沿被锁存在芯片内。此管脚在空闲时,应该被拉高SCLK627SPI接口的时钟。由主控制芯片产生,并且被用来同步芯片MOSI和MISO端各自的数据输入和输出。此管脚空闲时,必须拉高。/SS728为低时,选择该芯片成为当前被控制设备并且开启SPI接口。空闲时,需要拉高VSSA81模拟地AnaIn

92芯片录音或直通时,辅助的模拟输入。需要一个交流耦合电容(典型值为0.1uF),并且输入信号的幅值不能超出1.0Vpp。APC寄存器的D3可以决定Analn信号被立刻录制到存储器中,与Mic信号混合被录制到存储器中,或者被缓存到喇叭端并经由直通线路从AUD/AUX输出。MIC+103麦克风输入+MIC-114麦克风输入-VSSP2125负极PWM喇叭驱动器地SP-136喇叭输出-VCCP147PWM喇叭驱动器电源SP+158喇叭输出+VSSP1169正极PWM喇叭驱动器地AUD/AUX1710辅助输出,决定于APC寄存器的D7,用来输出一个AUD或AUX输出。AUD是一个单端电流输出,而AuxOut是一个单端电压输出。他们能够被用来驱动一个外部扬声器。出厂默认设置为AUD。APC寄存器的D9可以使其掉电。AGC1811自动增益控制/VOL1912音量控制ROSC2013振荡电阻,ROSC用一个电阻连接到地,决定芯片的采样频率VCCA2114模拟电路电源/FT2215在独立芯片模式下,当FT一直为低,Analn直通线路被激活。Analn信号被立刻从Analn经由音量控制线路发射到喇叭以及AUD/AUX输出。不过,当在SPI模式下,SPI无视这个输入,而且直通线路被APC寄存器的D0所控制。该管脚有一个内部上拉设备和一个内部防抖动电路,允许使用按键开关来控制开始和结束。/PLAY2316播放控制端/REC2417录音控制端/ERASE2518擦除控制端/FWD2619快进控制端RDY/INT2720一个开路输出。

Ready(独立模式)

该管脚在录音,放音,擦除和指向操作时保持为低,保持为高时进入掉电状态。

Interrupt(SPI模式)

在完成SPI命令后,会产生一个低信号的中断。一旦中断消除,该脚变回为高。VSSD2821数字地ISD1700的SPI模式:主控单片机主要通过四线(SCLK,MOSI,MISO,/SS)SPI协议对ISD1700进行串行通信。ISD1700作为从机,几乎所有的操作都可以通过这个SPI协议来完成。为了兼容独按键模式,一些SPI命令:PLAY,REC,ERASE,FWD,RESET和GLOBAL_ERASE的运行类似于相应的独立按键模式的操作。另外,SET_PLAY,SET_REC,SET_ERASE命令允许用户指定录音、放音和擦除的开始和结束。此外,还有一些命令可以访问APC寄存器,用来设置芯片模拟输入的方式。ISD1700系列的SPI串行接口操作遵照以下协议:(1)一个SPI处理开始于/SS管脚的下降沿;(2)在一个完整的SPI指令传输周期,/SS管脚必须保持低电平;(3)数据在SCLK的上升沿锁存在芯片的MOSI管脚,在SCLK的下降沿从MISO管脚输出,并且首先移出低位;(4)SPI指令操作码包括命令字节,数据字节和字节,这决定于1700的指令类;(5)当命令字及数据输入到MOSI管脚时,同时状态寄存器和当前行信息从MISO管脚移出;(6)一个SPI处理在/SS变高后启动;(7)在完成一个SPI命令的操作后,会启动一个中断信息,并且持续保持为低,直到芯片收到CLR_INT命令或者芯片复位。SPI协议格式图3-SEQ图3-\*ARABIC8SPI时序图在SPI命令输入到ISD1700前,SPI端口的状态应该保持如下状态:(1)/SS=HIGH(2)SCLK=HIGH(3)MOSI=LOWISD1700的存储结构:内存阵列提供了四个特殊的声音效果存储(SES)以及语音数据。存储阵列寻址的行。一行是最小的存储分辨率,内存可以解决的。内存分配是在独立模式内部信息管理系统自动处理。在SPI模式下,一个对整个内存的访问通过十一位地址。四的声音效果(SE)占据四排每硒存储器阵列的前十六行。这意味着从地址0x000解决0x00f。其余的记忆是专门为语音数据存储。因此,语音信息存储的地址将从0x010到存储器阵列的一端开始在独立按键模式下,芯片内有一套环形存储结构管理系统来管理录音段的存放。当芯片读写存储器时会检查是否合法的存储结构,若不是则LED会闪7下,然后芯片将不接受任何指令除了复位和全部擦除指令[7]。遇到这种情况需先将芯片成功全部擦除才能复原,这样原来的内容将全部丢失除了提示音。环形存储结构管理系统管理的是0x10到末,0x00至0x0f为SE的。当指针指到末后,会自动跳到0x10。在此管理系统下录音段之间是连续存放的,但首与末之间至少有一个空间隔来让系统区分首末。3.2.5键盘控制模块图3-SEQ图3-\*ARABIC9键盘操作电路图在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式,如图3-9所示。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如P1口)就可以构成4×4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。由此可见,在需要的键数比较多时,采用矩阵法来设计键盘是合理的。矩阵式结构的键盘显然比直接法要复杂一些,识别也要复杂一些。在本设计中,列线直接连接P1口高4位并通过软件置高;行线连接P1口低4位,通过软件拉至低电平。将行线所接的单片机的I/O口作为输出端,而列线所接的I/O口则作为输入。这样,当按键没有按下时,所有的输入端都是高电平,代表无键按下。行线输出是低电平,一旦有键按下,则输入线就会被拉低,这样,通过读入输入线的状态就可得知是否有键按下了。3.3本章小结本章详细叙述了基于单片机的电梯语音系统硬件电路的结构及原理,每个硬件模块电路的器件说明。在设计硬件电路的同时,充分考虑将软件和硬件结合起来,发挥单片机的优势,简化硬件电路设计。

第四章系统的软件设计软件是整个控制系统设计的核心,它具有充分的灵活性,可以根据系统的要求而变化。在硬件结构一定的情况下,只要改变软件就能实现一些不同的功能。单片机所具有的智能功能要由软件来实现。对于51系列单片机,现有四种语言支持,即汇编、PL/M、C和BASIC。C语言是现有程序设计语言中规模最小的语言之一,而小的语言体系往往能设计出较好的程序。C语言的关键字很少,ANSIC标准一共只有32个关键字,9种控制语句,压缩了一切不必要的成份。C语言的书写形式比较自由,表达方法简洁,使用一些简单的方法就可以构造出相当复杂的数据类型和程序结构[10]。同时C语言可移植性好、表达能力强、表达方式灵活、可进行结构化程序设计、可以直接操作计算机硬件、生成的目标代码质量高。因此本设计就采用C语言来编写相关的程序。4.1应用软件的设计原则应用系统中的软件是根据系统功能要求设计的,应可靠实现系统的各种功能。在本系统中,软件设计要力求做到一下几点:1.软件结构清晰,简捷,流程合理。2.各功能程序实现模块化,子程序化。这样便于调试,连接,又便于移植,修改。3.程序存储区,数据存储区要合理规划,既能节约内存容量,又使操作方便。4.经过调试修改后的程序应进行规范化,除去修改的痕迹,以便于交流和借鉴,也为以后的软件模块化、标准化打下基础。5.实现全面软件抗干扰设计。软件抗干扰是单片机应用系统提高可靠性的有利措施。系统软件设计主要分为主程序(包含电梯模拟程序)、键盘扫描子程序、LCD1602液晶显示程序以及中断服务子程序几部分。主程序负责工作模式之间的转换以及对矩阵键盘按键值的处理并根据该值控制T0工作。键盘扫描程序负责对矩阵键盘按键的识别,并以软件的方式输入高低电平来控制单片机输出语音。LCD1602液晶显示程序负责显示所到楼层及上、下行状态。中断服务子程序负责T0初值的重装以及P2.1取反。4.2系统主程序图4-SEQ图4-\*ARABIC1主程序流程图主程序流程图如图4-1所示:系统通电后,默认进入电梯模拟模式。根据矩阵键盘的返回数据,查找扫描并确定信号,然后调用选音播放子程序,保存放音楼层为当前楼层,播报出所到楼层,LCD1602液晶显示模块显示当前楼层数,并根据当前状态,确定上、下状态,并显示。4.3选音播报子程序图4-SEQ图4-\*ARABIC2选音播放子程序流程图选音播放子程序流程图如图4-2所示:主要功能就是获取有矩阵键盘控制高低电平输出的信号,来获取当前需要放音楼层,然后查询当前楼层语音地址,发送到对应楼层语音地址到语音芯片,进行播报,然后返回初始值。4.4本章小结本章叙述了系统的软件结构。软件是整个控制器的重要组成部分,设计的优劣关系到系统的性能。在控制器的软件设计中,调试是最关键的一步,只有通过不断调试才能慢慢接近系统的性能要求,本设计中采用汇编语言设计程序,编程、调试较难。

第五章系统仿真与调试在本设计中我们使用PROTEUS与KEIL联调的方式实现设计的仿真,再将硬件与软件联机调试。由于PROTEUS中没有ISD系列芯片,所以无法完成语音播报部分的仿真,只可以进行LCD显示部分和键盘部分的仿真,仿真图如下:图5-SEQ图5-\*ARABIC1LCD显示部分仿真图5-SEQ图5-\*ARABIC2键盘部分仿真5.1系统调试将系统程序烧录进单片机中,连接好硬件电路,进行系统调试。经过调试后,硬件部分的功能基本能实现。图5-SEQ图5-\*ARABIC3语音部分程序编译图5-SEQ图5-\*ARABIC4显示部分程序编译图5-SEQ图5-\*ARABIC5硬件实物图5.2硬件调试方法与调试结果调试方法:(1)接通电源,有指示灯显示(即LCD灯正常显示);(2)通过矩阵键盘键入相应信号(即楼层数或者电梯状态);(3)观察LCD1602液晶显示器上面显示的数据和输入信号是否一致或者是否正常显示数据,通过听扬声器播报出的数据来最终确定调试结果数据的正确。调试结果:当通过键盘键入楼层1信号时,LCD显示loucheng:1fangxiang:up;扬声器播报:您好1楼到了。当通过键盘键入楼层6信号时,LCD显示loucheng:6fangxiang:up;扬声器播报:您好6楼到了。当通过键盘键入楼层5信号时,LCD显示loucheng:5fangxiang:down;扬声器播报:您好5楼到了。当通过键盘键入警告信号1时,LCD显示前一次输入楼层数;扬声器播报:对不起,电梯超重,请减轻重量。当通过键盘键入警告信号2时,LCD显示前一次输入楼层数;扬声器播报:电梯发生故障,请勿惊慌,在电梯内等待救。

第六章总结通过此次电梯语音系统的设计,我收获颇丰。设计的核心内容就是利用单片机TA89S52的编程来实现控制外围各电路的运行。通过本次设计,我熟练掌握了程控系统设计的一般步骤,掌握了相关软件的用法,并对编程能力起到了一定的提高作用。这次毕业设计,我不仅把知识融会贯通,而且丰富了大脑,同时在查找资料的过程中也了解了许多课外知识,开拓了视野,认识了将来电子的发展方向,使自己在专业知识方面和动手能力方面有了质的飞跃。毕业设计是我作为一名学生即将完成学业的最后一次作业,他既是对学校所学知识的全面总结和综合应用,又为今后走向社会的实际操作应用铸就了一个良好开端,毕业设计是我对所学知识理论的检验与总结,能够培养和提高设计者独立分析和解决问题的能力。这次毕业设计要求设计的是电梯语音播报系统的设计,尽管题目难度并不是很大,但是我仍然希望通过自己的努力来完成设计并能得到较好的结果。在做毕业设计之前,觉得毕业设计只是对这几年来所学知识的单纯总结。但是通过这次毕业设计,发现毕业设计不仅仅是对以前所学专业知识的一种检验,同时也是对自己能力的一种提高。本次设计过程中,从课题分析开始,再到总体设计、详细设计,最后到系统实现,每一步都让我将理论学习的知识应用到实践中去。在课题分析阶段,由于本次是设计一个单片机控制系统,所以对其中的单片机的工作分析尤为重要。从查阅资料,提出问题,到解决问题,老师给了我很大的帮助。在总体设计阶段,由于课题分析做的比较全面,很快就对系统的功能,控制机制有了充分的认识。在详细设计阶段,首先要考虑各电路模块的主要功能及软件的设计,分别进行安装调试。其次,将写好的程序进行上机调试。最后,将已完成的程序和硬件系统结合,统一进行调试。通过这次毕业设计明白自己要学习的东西还太多。知识必须通过应用才能实现其价值!有些东西以为学会了,但真正到用的时候才发现是两回事,所以我认为只有到真正会用的时候才是真的学会了。

致谢在王昱洁老师的指导和同学的帮助之下,我得以如期的完成好毕业设计。毕业设计帮助我们总结大学四年收获、认清自我。同时,还帮助我们改变一些处理事情时懒散的习惯。从最开始时的搜集资料,整理资料,到方案比选,确定方案,再到着手开始进行设计,每一步都是环环相扣,衔接紧密,其中任何一个步骤产生遗漏或者疏忽,就会对以后的设计带来很多的不便。我们的动手能力和资料搜集能力在设计中也得到提升。毕业设计中需要用到辅助设计软件的地方,也需要我们耐心的学习。掌握其使用的要领,运用到设计当中去。毕业设计结束了,通过设计,学生深刻领会到基础的重要性,毕业设计不仅仅能帮助学生检验大学四年的学习成果,更多的是毕业设计可以帮助我们更加清楚的认识自我,磨练我们的意志与耐性,这会为学生日后的工作和生活带来很大的帮助。最后,感谢电子系的所有老师。本设计能顺利的完成也归功于各位老师的认真负责,使我们能够很好的掌握和运用专业知识,并在设计中应用。再次向计算机学院电子系的全体老师表示由衷的谢意,感谢他们四年对我的辛勤栽培。2013年6月2日

参考文献[1]胡学海.单片机原理及应用系统设计[M].西安:电子工业出版社,2005.[2]马明建.数据采集与处理技术[M].西安:西安交通大学出版社,2005.[3]ISD/WINBOND.ISD4004SERIESProducts[J].Datasheets,2000,8(3):33-48.[4]王琼.单片机原理及应用[M].合肥:合肥工业大学出版社2008.4[5]高红亮.一种智能电梯语音系统的设计[J].可编程控制器与工厂自动化,2005,10(5):23-28.[6]阮焱林,高红亮.单片机语音处理技术应用[J].可编程控制器与工厂自动化,2011,11(04):38-46.[7]沈旭日.电子系统设计实践[M].武汉:华中科技大学出版社,2004.[8]吴金戌.8051单片机实践与应用[M].北京:清华大学出版社,2001.[9]胡汉才.单片机原理及其接口技术[M].北京:清华大学出版社,1996.[10]李建忠.单片机原理及应用[M].西安:西安电子科技大学出版,2002.

附录1:系统总电路图

附录2:相关程序代码//头文件#include<AT89X51.h>#include<intrins.h>#include<ISD1700.h>#include<lcd1602.h>#defineucharunsignedchar#defineuintunsignedintunsignedintn,mb;uintData;uchary;ucharflag;intnum;sbitbeep=P2^1;ucharbai,shi,ge;ucharTB[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//显示段码voiddelay1(uchara)//数码管显示部分延时函数{unsignedinti;while(--a!=0){ for(i=0;i<100;i++);//一个;表示空语句,CPU空转。} //i从0加到125,CPU大概就耗时1毫秒 }voidxianshi(inttt)//数码管显示函数,能够显示任意4位十进制数{P0=TB[tt]; //01110001F停止}sbitKEY0=P1^6;sbitKEY1=P1^7;sbitLED1=P1^5;sbitKEY2=P3^0;sbitLED2=P1^4;sbitKEY3=P3^1;sbitLED3=P1^3;sbitKEY4=P3^2;sbitLED4=P1^2;sbitKEY5=P3^3;sbitLED5=P1^1;sbitKEY6=P2^0;sbitLED6=P1^0;sbitKEY7=P2^2;ucharloucheng=1;ucharcount1;ucharflag;//定时标志位ucharflag1;//上、下标志=1上=2下ucharnum1,num2,num3,num4,num5,num6;voiddelay(intnum){//延时函数 while(num--) {xianshi(loucheng);}}voidBeep(void){//BELL-扬声器--整点报时 unsignedchara;//定义变量用于发声的长度设置 for(a=60;a>0;a--){//第一个声音的长度 beep=~beep;//取反扬声器驱动口,以产生音频 delay(100);//音调设置延时 } for(a=100;a>0;a--){//同上 beep=~beep; delay(50);// } for(a=100;a>0;a--){//同上 beep=~beep; delay(100);// } beep=1;//音乐结束后扬声器拉高关闭}voidT0_Init(void) //定时器T1定时中断50毫秒/每次,晶振频率为12.000MHz{ TMOD=0x01; //设置定时器模式 TL0=(65536-50000)/256; //设置定时初值 TH0=(65536-50000)%256; //设置定时初值 ET0=1;//开定时器1中断// TR0=1; //定时器1开始计时 EA=1; }voidtimer0()interrupt1//中断服务程序{ TL0=(65536-50000)/256; //重新设置定时初值 TH0=(65536-50000)%256; //重新设置定时初值 count1++; if(count1==80) { cou

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论