多功能公交车报站器的设计与实现.doc_第1页
多功能公交车报站器的设计与实现.doc_第2页
多功能公交车报站器的设计与实现.doc_第3页
多功能公交车报站器的设计与实现.doc_第4页
多功能公交车报站器的设计与实现.doc_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

毕业设计(产品说明书)课题名称多功能公交报站器的设计与实现学生姓名肖赟学 号201300335115专业名称机电一体化技术指导教师曾小宝完成日期 2016年 5 月 13 日目 录摘 要iiiabstractiv第1章 任务与要求11.1课题概述11.2 设计内容与要求11.3 研究背景2第2章 方案论证与设计32.1 总体设计分析32.2 方案的选择与设计32.2.1 显示模块选择方案32.2.2 按键方案的选择32.2.3 芯片选择方案32.3原理图4第3章 硬件电路设计63.1概述63.2主控模块63.2.1stc89c52芯片的简介63.2.2主控模块电路原理图93.3语音芯片模块103.3.1isd4004芯片简介103.3.2 lm386芯片简介123.3.3 语音芯片模块电路原理图133.4 lcd液晶显示模块143.4.1 组成结构143.4.2 引脚功能14第4章 系统软件设计164.1 录音模块设计174.2 放音模块设计184.3 显示模块设计194.4 键盘扫描模块设计20第5章 系统分析与调试22第6章 心得体会25参考文献26致谢27摘 要本设计介绍了基于单片机的公交车语音报站系统的设计,对系统软件设计和硬件实现进行了详细的描述,系统包括微控制器模块,语音录放电路,站数、站名显示模组,键盘接口电路,复位电路及电源等。系统使用stc89c52单片机来控制语音合成芯片和液晶显示模组。配合液晶屏显示,就使得该报站系统更加实用。主要内容是用stc89c52单片机为核心控制元件,isd4004语音芯片为录音模块,以液晶屏为显示模块,以独立按键k1、k2为输入设备,扬声器为语音输出设备,设计一个带语音报站和液晶显示功能的公交车报站系统。先将语音内容通过录音键录入语音芯片中,当按下放音键时,语音模块进行放音同时通过液晶屏显示对应的文字信息。 本设计主要解决如何方便、准确地指示乘客到站的问题,具有模拟人声进行报站和预报站,对所报站数和站名进行文字显示和站名语音信息录放及站名选择控制等功能。本系统运行稳定,硬件电路简单,软件功能完善,控制系统可靠,具有一定的实用和参考价值。关键字:单片机,语音提示,文字显示,公交报站abstractthe design mainly solve the problem of how to easily and accurately indicate that passengers arriving.the system includes micro-controller module, voice recording and playback circuitry, station number, station name display modules, interface circuit of the keyboard, reset circuit and power supply. the system uses stc89c52 single-chip microcomputer to control speech synthesis chip and liquid crystal display module. besides, lcd makes the reporting system more practical. this paper introduces the automatic stop announcer based on stc89c52 and aims to explicitly describe the software and hardware applied in the system. the main features of the system are that stc89c52 is used for core controlling components, isd4004 pronunciation chip for recording, lcd12864 screen for video displays, independent key k1 and k2 for input device, loudspeaker for output device. this is designed for a stop announcement and display system for buses. the voice message is recorded in the pronunciation chip in advance. when the “play” key is pressed, the voice of station announcement simultaneously appears with the information on the screen. it has the function of analog voice reporting and forecasting station on the text display ,reporting number and station name ,and voice information recording and station name selection control.this system enjoys the advantage of stability, simplicity and reliability. the full-featured system is an ideal model and is easily put into use.key words:single-chip microcomputer、audio prompt、character display、bus-stop auto-announce张家界航空工业职业技术学院毕业设计说明书第1章 任务与要求1.1课题概述本文主要是对c语言和单片机的一些基本知识、概念的应用学习和研究,以及stc89c52芯片模块、isd4004语音模块和lcd12864液晶屏的开发设计,该设计的目的是设计一实现单片机与语音控制芯片系统互联,通过按键,系统可播报相应的车站信息或者公益提醒,也可以实现录音和放音功能。本设计的主要工作有以下几个方面:1、方案的选择要符合芯片功能的要求,既要保证操作简单适合公交司机操作,又要体现出本产品的特点,本文研究设计的带录音功能的公交车语音报站系统是采用stc89c52单片机和isd4004语音芯片,用来实现公交车站信息的播放以及录音和放音功能,用lcd12864带中文字库的液晶显示屏实现公交站名的显示。 2、程序流程图及软件设计一个程序要想实现其功能,不能没有次序而盲目下手,必须对其有一个全面的了解后画出流程框图,然后逐个模块的实现其功能,最终把模块之间合理的连接起来,构成完整程序。本设计的软件设计主要包括系统的初始化设计、延时子程序的设计、录音子程序的设计、放音子程序的设计、液晶屏的显示设计、中断程序设计、以及主程序设计等。整个系统程序采用模块化结构设计程序相对比较优化易修改和调试,系统软件的开发是用c语言设计的。3、系统原理图及硬件调试本设计在进行硬件原理分析后,需要连接实物进行实际操作,检验自己的设计是否可以行得通。需要在protel99se环境下画出硬件原理图并进行电气测试,检测无异议后进行硬件系统的调试,为了保证系统的可靠性分析查找,硬件的调试分模块分别进行了模拟。1.2 设计内容与要求 1、通过stc89c52芯片实现对按键的读取并将所对应的信息送至扬声器同时将到站信息通过液晶屏显示; 2、语音芯片isd4004完成语音模块,实现公交站信息的录入及到站时的放音功能; 3、采用两个独立按键,作为录音和放音的控制键; 4、采用lcd12864液晶屏,显示相对应的站的信息;1.3 研究背景 随着社会经济的发展,城市化进程越来越快,城市人口急剧增加从而使城市交通压力不断增大,在倡导绿色低碳环保的今天,公交车作为城市公共交通的重要方式,是城市居民出行的重要工具。因为公交车具有方便、快捷、经济实惠等优点。公共汽车为外出的人们提供了方便快捷的服务,而公共汽车的报站直接影响到服务的质量。 传统由乘务人员人工报站的方式工作强度大且效果差,并需要大量的人力资源。而通过单片机和语音芯片的结合,使得公交车到站信息及提示信息以语音和显示的方式告知乘客,为市民提供更人性化,完善的服务,并且节省了大量的人力资源。 公交车语音报站系统还可以结合每条线路的特点和实际情况自主设定不同的报站方式和站点设置,在为乘客提供方便的同时也便于公交车的运营和司乘人员的操作。第2章 方案论证与设计2.1 总体设计分析电路总体上分为主芯片控制部分、语音芯片和液晶显示部分。以stc89c52单片机最小系统作为核心控制电路,控制独立按键对录音放音的选择,具体显示内容及方式由软件来完成。语音部分由isd4004芯片来实现,它是一个多功能的语音芯片,可以多次重复录放,本设计正是运用此特点,完成录音和放音功能的。具体步骤是:先录入两站的信息,存储到芯片内部,建立语音库,并且具体锁定到对应的地址中,通过按键的次序播放不同的信息。2.2 方案的选择与设计2.2.1 显示模块选择方案采用带字库的lcd12864芯片,可直接调用字库,使用比较方便。鉴于上述对比与分析。2.2.2 按键方案的选择采用独立键盘,其独立键盘有k1和k2个按键,按键数量符合录音和放音两个按键的需要。用k1和k2两个独立按键,k1为放音键,按第一下时,对应播放第一站信息,同时调用显示子程序,在液晶屏上显示对应信息。按第二下时,对应播放第二站信息,并在液晶屏上显示信息。k2为录音键,按下时,录制第一段语音信息并存放在对应的地址中,按下第二下时,录制第二段语音信息并存放于第二段语音对应的地址中,以方便调用。2.2.3 芯片选择方案 采用stc89c52单片机 1、stc89c52可以用usb转串口下载。2、 stc单片机执行指令的速度很快,大约是at的3-30倍,所以在at上好使的程序在stc上不一定好用,最典型的例子就是那些对时序有严格要求的模块,比如iic,ds18b20、ds1302等的时序。再者,由于执行速度的加快,非定时器控制的精确延时也会受到一定影响。 3、单片机对工作环境的要求比较低,电压低于5伏时仍然正常工作,甚至3伏到4伏之间都还可以工作,所以当一个系统用stc单片机好用。 4、由于在学校期间学过数字电路、单片机原理、c语言程序设计,综合考虑单片机的各部分资源和作为学生能够获得的资源,经过对比此次设计要求,我选择用stc系列芯片完成。而且学校也提供了相应的硬件操作平台,实际操作起来比较方便。2.3原理图 按照系统功能的具体要求,在保证实现其功能的然础上,尽可能降低系统成本。总体设计方案围绕上述思想,初步确定系统的方案如图2-1所示:单片机p2.2-p2.7p3.4-p3.7p3.2-p3.3lcd12864液晶显示屏isd4004语音模块独立按键图2-1系统初步方案从图中可以看出,系统有微处理器模块、液晶屏显示模块、独立按键模块和语音模块组成。在方案设计中,遵循简洁至上的原则,因此所有的外围模块采用串行方式与微处理器模块接口。该设计以stc89c52系列单片机为控制核心,实现公交车语音报站基本功能。在设计系统时,为了更好地采用模块化设计法,分步的设计各个单元功能模块,系统的硬件部分可以分为键盘设定、单片机控制、lcd显示和语音控制四大部分。最终实现基于单片机的公交车语音报站系统的设计,对系统软件设计和硬件实现进行了详细的描述,主要内容是用stc89c52单片机为核心控制元件,isd4004语音芯片为录音模块,以液晶屏为显示模块,以独立按键k1、k2为输入设备,扬声器为语音输出设备,设计一个带语音报站和液晶显示功能的公交车报站系统。先将语音内容通过录音键录入语音芯片中,当按下放音键时,语音模块进行放音同时通过液晶屏显示对应的文字信息。第3章 硬件电路设计3.1概述 此次的毕业设计主要由4个大的模块构成,分别是主控模块、语音芯片模块、lcd液晶显示模块、键盘控制模块,其中主控模块是此次毕业设计的核心模块,主要是指stc89c52芯片,它控制整个系统的运行,利用其各个口分别控制其他模块,使其他模块能够成为一个整体,实现功能的需要;语音模块主要指isd4004芯片和lm386芯片,用isd4004来实现录音功能,lm386实现功率放大;而lcd液晶显示模块是整个系统的辅助模块,用来显示到站信息;按键控制模块则是用按键来控制实现的是哪个功能,对应录音、放音。3.2控制模块 3.2.1stc89c52芯片的简介 功能特性:stc89c52是一种低功耗、高性能cmos8位微控制器,具有8k在系统可编程flash存储器。与工业80c51产品指令和引脚完全兼容。片上flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位cpu和在系统可编程flash,使得stc89c52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案,如图3-1所示。stc89c52具有以下标准功能: 8k字节flash,256字节ram,32 位i/o口线,看门狗定时器,2 个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,at89s52 可降至0hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,cpu 停止工作,允许ram、定时器/计数器、串口、中断继续工作。掉电保护方式下,ram内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。主要性能:与mcs-51单片机产品兼容、8k字节在系统可编程flash存储器、1000次擦写周期、全静态操作:0hz33hz、三级加密程序存储器、32个可编程i/o口线、三个16位定时器/计数器八个中断源、全双工uart串行通道、低功耗空闲和掉电模式、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符1。如图 3-1 图 3-1 stc89c52管脚说明: p0口:p0口为一个8位漏级开路双向i/o口,每脚可吸收8ttl门电流。当p1口的管脚第一次写1时,被定义为高阻输入。p0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在fiash编程时,p0 口作为原码输入口,当fiash进行校验时,p0输出原码,此时p0外部必须被拉高。 p1口:p1口是一个内部提供上拉电阻的8位双向i/o口,p1口缓冲器能接收输出4ttl门电流。p1口管脚写入1后,被内部上拉为高,可用作输入,p1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在flash编程和校验时,p1口作为低八位地址接收。 p2口:p2口为一个内部上拉电阻的8位双向i/o口,p2口缓冲器可接收,输出4个ttl门电流,当p2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,p2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。p2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,p2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,p2口输出其特殊功能寄存器的内容。 p2口在flash编程和校验时接收高八位地址信号和控制信号。 p3口:p3口管脚是8个带内部上拉电阻的双向i/o口,可接收输出4个ttl门电流。当p3口写入“1”后,它们被内部上拉为高电平,并用作输入。由于外部下拉为低电平,p3口将输出电流(ill)这是由于上拉的缘故。p3口也可作为stc89c52的一些特殊功能口,如表3-1 表3-1p3口的第二功能接口第二功能p3.0rxd(串行输入口)p3.1txd(串行输出口)p3.2int0(外部中断0)p3.3int1(外部中断1)p3.4t0(记时器0外部输入)p3.5t1(记时器1外部输入)p3.6wr(外部数据存储器写选通)p3.7rd(外部数据存储器读选通) p3口同时为闪烁编程和编程校验接收一些控制信号。 rst:复位输入。当振荡器复位器件时,要保持rst脚两个机器周期的高电平时间。 ale/prog:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在flash编程期间,此引脚用于输入编程脉冲。在平时,ale端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ale脉冲。如想禁止ale的输出可在sfr8eh地址上置0。此时, ale只有在执行movx,movc指令是ale才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ale禁止,置位无效。 psen:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次psen有效。但在访问外部数据存储器时,这两次有效的psen信号将不出现。 ea/vpp:当ea保持低电平时,则在此期间外部程序存储器(0000h-ffffh),不管是否有内部程序存储器。注意加密方式1时,ea将内部锁定为reset;当ea端保持高电平时,此间内部程序存储器。在flash编程期间,此引脚也用于施加12v编程电源(vpp)。 xtal1:反相振荡放大器的输入及内部时钟工作电路的输入。 xtal2:来自反相振荡器的输出。xtal1和xtal2分别为反相放大器的输入和输出。该反相放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,xtal2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。3.2.2主控模块电路原理图 单片机主控模块由stc89c52芯片和晶振复位组成。复位和晶振电路通过接口与单片机个引脚相连,复位电路接到rst口,晶振接到xtal1口和xtal2口上。如图3-2,3-3所示:图3-2stc89c52芯片 图3-3晶振复位3.3语音芯片模块3.3.1isd4004芯片简介 isd4004语音系列芯片是美国isd公司推出的产品,与普通的录音/重放芯片相比,isd4004具有如下特点:首先是记录声音没有段长度限制,并且声音记录不需要a/d转换和压缩。其次,快速闪存作为存储介质,无需电源可保存数据长达100年,重复记录10000次以上。此外,isd4004具有记录时间长(可达16分钟,本文采用的为8分钟的isd4004语音芯片)的优点。最后,isd4004开发应用具有所需外围电路简单的优点,这一点从本文介绍的其在实际应用中可以体会到。isd4004芯片如图3-4所示:图3-4isd4004芯片 指令码 如表3-2所示:指令控制码操作powerup00100xxx上电:等待tpud后可以工作setplay11100xxx从指定地址开始放音play11110xxx从当前地址开始放音setrec10100xxx从指定地址开始录音rec10110xxx从当前地址开始录音setmc11101xxx从当前地址开始快进mc11111xxx执行快进,直到eomstop0x110xxx停止当前操作stopwrdn0x01xxxx停止当前操作并掉电rint0x110xxx读状态ovf和eomspi端口的控制位 如图3-5:mosimisoooc3c4xc0c2ovfeomp0p15000000c1xxa15a0快进模式操作是否使用指令地址电源控制录/放模式允许/禁止操作图3-5 isd4004的spi控制位spi控制寄存器 spi控制寄存器控制器件的每个功能,如录音、放音、信息检索上电/掉电、开始/停止操作、忽略地址指针等,如表3-3: 表3-3 isd4004的spi控制寄存器控制位值功能控制位值功能run10允许/禁止操作开始停止pu10电源控制上电掉电p/r10录/放模式放音录音iab10是否使用指令地址忽略输入地址寄存器内容使用输入地址寄存器内容mc10快进模式允许禁止p15-p0行指针寄存器输出a15-a0输入地址寄存器3.3.2 lm386芯片简介lm386是美国国家半导体公司生产的音频功率放大器,主要应用于低电压消费类产品。为使外围元件最少,电压增益内置为20。但在1脚和8脚之间增加一只外接电阻和电容,便可将电压增益调为任意值,直至 200。输入端以地为参考同时输出端被自动偏置到电源电压的一半,在6 v电源电压下,它的静态功耗仅为24mw,使得lm386特别适用于电池供电的场合。lm386是一种音频集成功放,具有自身功耗低、电压增益可调整、电源电压范围大、外接元件少和总谐波失真小等优点,广泛应用于录音机和收音机之中6。lm386芯片如图3-8所示:特性(features):1、静态功耗低,约为4ma,可用于电池供电; 2、工作电压范围宽,4-12 v or 5-18 v; 3、外围元件少; 4、电压增益可调,20-200; 5、低失真度图3-8 lm386芯片引脚说明:1和8为增益引脚,2为负端输入,3为正端输入,vss为接地,5为输出,vdd为电源,7为旁路。lm386内部电路原理图与通用型集成运放相类似,它是一个三级放大电路.第一级为差分放大电路, t1和t3、t2和t4分别构成复合管,作为差分放大电路的放大管;t5和t6组成镜像电流源作为t1和t2的有源负载;t3和t4信号从管的基极输入,从t2管的集电极输出,为双端输入单端输出差分电路。使用镜像电流源作为差分放大电路有源负载,可使单端输出电路的增益近似等于双端输出电容的增益。第二级为共射放大电路,t7为放大管,恒流源作有源负载,以增大放大倍数。第三级中的t8和t9管复合成pnp型管,与npn型管t10构成准互补输出级。二极管d1和d2为输出级提供合适的偏置电压,可以消除交越失真。引脚2为反相输入端,引脚3为同相输入端。电路由单电源供电,故为otl电路。输出端(引脚5)应外接输出电容后再接负载。电阻r7从输出端连接到t2的发射极,形成反馈通路,并与r5和r6构成反馈网络,从而引入了深度电压串联负反馈,使整个电路具有稳定的电压增益。3.3.3 语音芯片模块电路原理图stc89c52和isd4004之间的连接较少,其中p3.7接isd4004的片选引脚/ss,控制isd4004的选通与否。p3.6接isd4004的串行输入引脚mosi,从该引脚读入放音的地址。p3.4接isd4004的串行时钟引脚sclk,对于isd4004芯片所需要的连接还有音频信号输出引脚audout,该引脚通过一个滤波电容与扬声器连接,amcap为自动静音端,使用时通过一个电容接地。此外由于isd4004的工作电压为3伏,而单片机所需供电电压为5伏,因此需要采用变压电路得到3伏电压供isd4004使用。由于单片机驱动能力不够,在处理音符信号时,需加功率放大装置,因lm386芯片具有低功耗、高增益的特点,这合适单片机低功耗输出,所以加装lm386音频信号放大器对信号进行放大。语音芯片模块电路原理图如图3-9所示: 图3-9 语音芯片模块电路原理图3.4 lcd液晶显示模块液晶显示器lcd(liquid crystal display)广泛应用于微型计算机系统中,与led相比,具有功率低,抗干扰能力强,体积小,价格低廉等优点。另外,lcd在大小和形状上更加灵活,接口简单,不但可以显示数字、字符,而且可以显示文字和图形。字符和数字的简单显示,不能满足图形曲线和文字显示的要求。点阵式lcd不仅可以显示字符、数字,还可以显示各种图形、曲线及文字,并且可以实现屏幕上下左右滚动、动画、分区开窗口、反转、闪烁等功能,用途十分广泛。现在,随着液晶技术的突破,液晶显示器的质量有了很大的提高,品种也在不断推陈出新,不但有各种规模的黑白液晶显示器,还有绚丽多彩的彩色液晶显示器。在点阵式液晶显示器中,把控制驱动电路与液晶点阵集成在一起,组成一个显示模组,可与八位微处理器接口直接连接,不但使用方便,而且价格也比较便宜。th12864液晶显示模组是12864点阵的文字图形型液晶显示模组,内置国标gb2312码简体中文字库(1616点阵)、ascii码字符集(816点阵)和64256点阵显示ram(gdram绘图区域);可与cpu直接接口,提供两种界面来连接微处理机(八位并行及串行连接方式);具有光标显示、画面移位等多种功能。3.4.1 组成结构 th12864使用st7920作为行驱动器,同时使用st7921作为列驱动器。液晶显示中应尽量避免一个字符一半在左半屏显示,另一半在右半屏显示的情况。由于th12864液晶显示器是一种带有输出驱动的完整的液晶显示器,八位微处理器可直接与其相连,对液晶屏进行行、列驱动。3.4.2 引脚功能th12864液晶显示器有20个管脚,分电源线、数据线和控制线。其详细功能如下:1、电源部分vdd 电源正极,通常接+5v。vss 电源负极,接-5v。为了简化电路,可直接接地。v0 电源控制端,用来调节显示屏灰度。调节该端的电压,可以改变显示屏字符、图形的颜色深浅。2、数据线db0db7 数据总线,双向。3、控制信号psb 并口/串口选择信号,接高电平时选择并口,接低电平时选择串口。模块上一般都有跳线方式将其接高或接低。rs(cs) 寄存器选择信号,高电平时为数据操作,低电平时为写指令或读状态(串行方式下为片选信号,低电平有效)。r/w(sid) 读/写选择信号,高电平为读选通,低电平为写选通(串行方式下作数据线使用)。e(sclk) 读/写使能信号,在e的下降沿,数据被锁存(写)入st7921;在e为高电平期间,数据被读出(串行方式下作时钟输入)。rst 复位信号,低电平有效。当其有效时,关闭液晶显示,使显示起始行为0。可与单片机相连,由单片机控制;也可直接接vdd,使之不起作用。bla 背光源正极(led+5v)blk 背光源负极(led0v)。电路原理图如图3-10:图3-10 液晶显示模块电路原理图第4章 系统软件设计在对所要设计的课题有了整体的了解之后,需要先建立程序框架的流程图,对整个设计划分模块,逐个模块实现其功能,最终把各个子模块合理的连接起来,构成总的程序。主程序首先要对整个系统进行初始化,然后将指令传给芯片,设置按键功能,按下按键,看其对应的按键,完成预期的功能。系统的主流程图如图4-1所示:系统初始化k1是否被按下?y调用按键子程序nk2是否按下?调用录音子程序y调用语音模块放音子程序调用液晶显示子程序判断按键次数开始结束图 4-1 主程序流程图4.1 录音模块设计首先是对ss、mosi、sclk、miso设定为低电平有效,且串行时钟指令sclk为下降沿触发。然后将上电指令发送给主控芯片,当主控芯片存储了本条指令,而系统再次调用它的时候,即可实现对isd4004语音芯片通电。往芯片内烧录语音信息(录音地址0xa0,当前录音地址0xb0)。如图4-2所示:系统初始化是否按下k2键?开始录制第一段语音再次按下k2键开始录制第二段语音y将isd4004芯片指令传送给stc89c52设置按键功能开始返回图4-2 录音模块程序流程图4.2 放音模块设计以上已对ss、mosi、miso、sclk进行了设定,故我们需要将上电指令发送给主控芯片,当主控芯片存储了本条指令,而系统再次调用它的时候,即可实现对isd4004语音芯片通电。然后我们将从指定地址开始的放音指令0xe0和从当前地址开始放音指令0xf0传送给主控芯片,当芯片调用该指令的时候,语音执行相应的操作。执行过程如图4-3所示: 系统初始化判断k1是否被按下?y判断a是否为奇数?播放第一段录音播放第二段录音ynn无操作将isd4004芯片指令传送给stc89c52设置按键功能开始返回y 图4-3 放音模块流程图4.3 显示模块设计显示模块采用带中文字库的lcd12864液晶屏,首先设定汉字地址表,再根据需显示的汉字地址或坐标显示对应的汉字。在主函数调用第一站信息时,显示对应内容,当调用第二站信息时显示第二站对应内容。如图4-4: 系统初始化判断k1是否被按下?y判断a是否为奇数?显示:本站:张家界学院 下车请当心下站:吉首大学显示:本站:火车站 下车请当心下站:新航院ynn无操作开始返回 图4-4 显示模块流程图4.4 键盘扫描模块设计键盘扫描采用的是独立按键,确定有无按键按下并判断是哪一个按键。当检测到有键按下后,需要去除键抖动,延时一段时间再做下一步的检测判断,识别出是哪一个键闭合。扫描过程如图4-5所示: 返回系统初始化是否有键按下?判断键值y执行对应操作n无操作开始 图4-5 键盘扫描流程图第5章 系统分析与调试本设计是在keil c环境下开发的,keil c软件支持c语言的编程及调试,运用方便,是做c语言毕业设计者的首选。设计的首要任务是安装和学习使用这个软件,在简单的学习和了解keil c后,我们便可在此环境下开始了对带录音功能的电子琴的设计工作。在编译完keil c后,再运用stc_isp_v480软件烧录到开发板上,实现实物与程序的连接。在烧录前要对stc_isp_v480进行一些必要的设置。第一步:设置mcu type为stc89c52rc;第二步:打开编写好并编译的程序文件,它是以.hex为后缀的文件;第三步:选择对应的com端口,(可在我的电脑的设备管理处查看com选项);第四步:点击download/下载,等提示请给mcu上电时,打开开发板上的开关,它就自行烧录了。keil c程序运行如图5-1所示: 图5-1 keil c运行图图5-2 程序烧录运行图在完成对程序的调试及烧录之后,还需要对其进行演示,把开发板与电脑连上,设置好对应的接口,完成供电及下载。按下按键,判断是否为抖动,若不为抖动,则执行按键按下的功能,再判断是为何种按

温馨提示

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

评论

0/150

提交评论