毕业设计-基于at89c52单片机的红外线遥控公交车自动报站系统设计_第1页
毕业设计-基于at89c52单片机的红外线遥控公交车自动报站系统设计_第2页
毕业设计-基于at89c52单片机的红外线遥控公交车自动报站系统设计_第3页
毕业设计-基于at89c52单片机的红外线遥控公交车自动报站系统设计_第4页
毕业设计-基于at89c52单片机的红外线遥控公交车自动报站系统设计_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

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

文档简介

摘要本设计介绍了一种利用红外线遥控技术,模拟公交车自动报站的系统。以AT89C52为主芯片。公交车上的接收电路收到站台信息后解码,解码后把信号传送给AT89C52单片机,启动LCD12864显示站名。同时,应用语音模块播报站名,还可以实现手动报站功能。系统由红外线的发射模块、接收模块、LCD12864显示模块及ISD4004语音播报模块组成。语音芯片ISD4004,采用模拟数据半导体存储器直接存储的专利技术,即将模拟语音数据直接写入单个存储单元,不需经过A/D、D/A转换,因此能够较好地真实再现语音的自然效果,避免了一般固体语音电路因为量化和压缩造成的量化噪声和失真现象,配合LCD12864屏显示,就使得该报站系统更加实用。关键词AT89C52;红外线编码技术;LCD12864;ISD4004ABSTRACTTHISDESIGNINTRODUCESAUSEOFINFRAREDREMOTECONTROLTECHNOLOGY,SIMULATIONBUSSTOPAUTOMATEDSYSTEMTOTHEMAINCHIPAT89C52RECEIVERCIRCUITBUSSTATIONINFORMATIONRECEIVEDAFTERTHEDECODING,AFTERDECODINGTHESIGNALTRANSMITTEDTOTHEAT89C52MICROCONTROLLER,DISPLAYSTATIONNAMESSTARTLCD12864ATTHESAMETIME,THEAPPLICATIONOFVOICEBROADCASTSTATIONMODULECANALSOMANUALLYSTOPFUNCTIONSTOPTIMESYSTEMMODULEFROMTHEINFRAREDTRANSMITTERMODULE,RECEIVERMODULE,LCD12864DISPLAYMODULEANDTHEISD4004VOICEBROADCASTMODULESPEECHSYNTHESISCHIPISD4004ADOPTSTHEPATENTEDTECHNOLOGYFORSEMICONDUCTORMEMORYDIRECTLYSIMULATEDDATASTORAGEOFANALOGVOICE,THATANALOGVOICEDATAISWRITTENDIRECTLYTOTHEINDIVIDUALSTORAGEUNITS,NOTTHROUGHA/DANDD/ACONVERSION,SOWECANRECEIVETHENATURALEMERGENCEOFBETTERVOICEEFFECTSANDAVOIDTHEQUANTIZATIONOFNOISEANDDISTORTIONCAUSEDBYTHEQUANTIZATIONANDCOMPRESSIONINTHEGENERALLYSOLIDVOICECIRCUITBESIDES,LCD12864MAKESTHEREPORTINGSYSTEMMOREPRACTICALKEYWORDSAT89C52;INFRAREDCODINGTECHNOLOGY;LCD12864;ISD4004目录摘要IABSTRACTII目录III1绪论111课题研究的背景及意义112报站器的动态发展趋势113设计的主要目标任务22方案的设计与分析321方案的设计322方案的分析3221无线收发模块的分析与论证3222控制模块的分析与论证33系统硬件设计531系统硬件设计5311系统总体方框图532单元电路的设计与分析5321AT89C52单片机介绍5322晶振电路6323复位电路7324遥控收发电路7325AT89C52控制的LCD12864电路10326ISD4004语音录放电路14327本设计总原理图214系统软件设计2241系统流程图22411LCD12864流程图22412定时器中断0服务子程序流程图23413遥控接收程序流程图23414定时中断1子程序流程图24415外部中断1子程序流程图24416ISD4004放音程序25417ISD4004录音程序265系统测试2751调试软件KEILC51简介2752软件程序测试2753系统电路功能仿真2854KEIL与PROTEUS对系统联调28参考文献32结束语33致谢34附录一系统总原理图35附录二LCD12864显示模块参考程序36附录三ISD4004语音播报程序521绪论随着科学技术的日益发展和进步,无人售票公交车在街头多起来了,语音报站器也被广泛使用,这在相当大的程度上免除了乘务人员沿途报站的麻烦,给许多不熟悉公交线路的乘客带来了方便。11课题研究的背景及意义公共汽车为外出的人们提供了方便快捷的服务,而公共汽车的报站直接影响服务的质量。传统由乘务人员人工报站,该方式因其效果太差和工作强度太大,在很多大城市已经被淘汰。近年来,随着科学技术的日益发展和进步,微型计算机技术已经在许多领域得到了广泛的应用。在声学领域,微机技术与各种语音芯片相结合,即可完成语音的合成技术,使得汽车报站器的实现成为可能,从而为市民提供了更加人性化的服务。鉴于传统公交车报站系统的不足之处,结合公交车辆的使用特点及实际营运环境,设计了一种由单片机控制的公交车自动报站系统。公交车自动报站器的设计主要是为了弥补改变传统语音报站器必须有司机操控才能工作的落后方式,进站、出站自动播报站名及服务用语,为市民提供更人性化,更完善的服务。12报站器的动态发展趋势公共汽车行驶在现代文明程度高的市区,它是一道流动的风景线,因而对整车外形乃至色彩都有更高的要求。作为公共汽车还要求有醒目和减少乘务人员劳动强度的电子报站器,电子显示路牌,无人售票装置,前后电视监视系统等新技术的采用也将越来越普及。公交车报站器在公交事业中占有举足轻重的地位,它直接影响到公交车的服务质量。目前公交车报站有三种方式,一种是利用GPS全球卫星定位系统的公交车报站系统,在司机座位后面隔板上,安装了一台15英寸的液晶电视和GPS信号接收器,安装了这套设备后,公交车在语音报站的同时,通过液晶电视还可以显示到站站名的字幕,这样如果没听清报站的话,通过显示屏,乘客也可以一目了然。当出现紧急情况时,调度中心将会给公交车发出相应的信息,以短信的形式传送到显示屏上,同时车载台会发出相应的提示音;驾驶员也可以通过相应的工具进行回复。目前在美国部分城市GPS卫星定位系统已经投入使用,国内也有此类产品的研制开发,其功能强大,系统稳定,但其投资昂贵,尤其是一些中小城市无法承受。另外两种是手动电子报站和人工报站的方式,而它们都离不开司务人员,加大司乘人员的工作强度。手动电子报站一般有司机或者乘务员控制,经常出现错报,误报的情况。城市公共交通是市民出行的主要交通工具之一。提供舒适,安全、便捷的乘车环境,对于公交企业来说,不仅是应尽的责任,亦是不断追求的目标。13设计的主要目标任务本课题要求设计一公交车自动报站系统1,以实现公交车的语音自动报站,即公交车快要进站、出站时候通过红外接收模块的LED发亮接着按下按键本系统就可以自动播报语音提示信息及服务用语,同时利用LCD12864电路进行汉字显示。本设计要求利用AT89C52作为主控芯片完成主控电路的设计,辅助电路要求包括语音电路、LCD12864显示电路等。2方案的设计与分析21方案的设计用AT89C52单片机来设计一个公交车自动报站系统2。要求用遥控模拟实现当公交车靠近站点时可以用文字来显示站名,语音播报站名。22方案的分析221无线收发模块的分析与论证方案一无线AP。由无线AP构成,通信的效果好,数据传送量大,但是其成本比较高,由于采用IEEE80211B和IEEE80211G的通信协议,因此它比较适合用于移动上网。方案二无线数传模块。采用专用收发集成电路的无线数传模块构成,所以性能相对较好,而且容易实现,并且在功耗,抗干扰性等方面都比较优越,但是由于基于此芯片的无线传输模块价格和无线AP模块差不多,所以成本相对偏高。方案三PT2262/PT2272L4集成芯片。方案采用低功耗、低价位、通用编解码电路,发送用高的达林顿管,所以在灵敏度和抗干扰性方面有保障。方案四红外遥控。可以用现有的遥控装置,我们只要了解其编解码原理,就可以采用现成的简易装置来模拟应用。以上四种都是可供参考的方案,在考虑了诸多因素之后,决定采用方案四。虽然在软件解码方面比较复杂,但其工作稳定,可靠性高。222控制模块的分析与论证方案一采用GPRS作为系统的控制器GPRS即“通用分组无线业务”GENERALPACKETRADIOSERVICE的英文简称是在现有GSM网络上开通的一种新型的分组数据传输技术相对于原来GSM以拨号接入的电路交换数据传送方式GPRS是分组交换技术具有“永远在线”、“自如切换”、“高速传输”等优点。GPRS可作为实现各种复杂的逻辑功能,规模大,但其成本非常高。方案二采用嵌入式ARM的32位单片机LPC2138。LPC2138功能庞大,内部资源丰富,易于数据的采集,不但具有一般单片机的所有功能,还内置了PWM,具有很强的串行通信功能,引脚非常丰富,功耗低,稳定性好,易于功能扩展,其在线仿真技术,软硬件调试方便,但ARM板成本较高。方案三采用AT89C52单片机控制,它简单易用、成本低廉,软件编程自由度大,可用编程实现各种控制算法和逻辑控制,采用AT89C52单片机为控制核心,系统功能强大,资源配置灵活,运行可靠稳定,是一套相对完善工业低压控制系统,采用板式结构、安装牢靠,操作简洁。综上所说ARM虽功能强但成本高,且用单片机也能很好的控制,所以该系统的设计选用单片机编程即可,我们所以选择方案三。3系统硬件设计31系统硬件设计本设计采用红外遥控来实现无线数据的收发,采用AT89C52单片机3为控制核心,实现公交车的自动报站功能。311系统总体方框图AT89C52单片机晶振电路遥控收发电路复位电路液晶显示电路语音录放电路按键电路5V电源3V电源图31系统总体方框图32单元电路的设计与分析321AT89C52单片机介绍随着计算机技术的发展,单片机技术已成为计算机技术中的一个独特的分支,单片机的应用领域也越来越广泛,特别是在工业控制和仪器仪表智能化中扮演着极其重要的角色。实际上,单片机几乎在人类生活的各个领域都表现出强大的生命力,使计算机的应用范围达到了前所未有的广度和深度。单片机的出现尤其对电路工作者产生了观念上的冲击。过去经常采用模拟电路、数字电路实现的电路系统,现在相当大一部分可以用单片机予以实现,传统的电路设计方法已演变成软件和硬件相结合的设计方法,而且许多电路设计问题将转化为纯粹的程序设计问题。诚然,单片机的应用意义远不限于它的应用范畴或由此带来的经济效益,更重要的是它已从根本上改变了传统的控制方法和设计思想。是控制技术的一次革命,是一座重要的里程碑。AT89C52是ATMEL公司生产的51系列单片机的一个型号,是一个低电压,高性能CMOS8位单片机,片内含8KBYTES的可反复擦写的FLASH只读程序存储器和256BYTES的随机存取数据存储器RAM,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS51指令系统,片内置通用8位中央处理器和FLASH存储单元,功能强大。AT89C52有40个引脚,32个外部双向输入/输出I/O端口,同时内含2个外部中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和FLASH存储器结合在一起,特别是可反复擦写的FLASH存储器可有效地降低成本。AT89C52有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。主要功能特性兼容MCS51指令系统,8K可反复擦写1000次FLASHROM,32个双向I/O口,2568BIT内部RAM,3个16位可编程定时/计数中断,时钟频率024MHZ,2个串行中断,可编程UART串行通道,2个外部中断,共6个中断源,2个读写中断口线,3级加密位,低功耗空闲和掉电模式,软件设置睡眠和唤醒功能。322晶振电路AT89C52的内部有一个用于构成振荡器的高增益反相放大器。通过XTAL1,ATAL2外部接上一片作为反馈元件的晶体,与C1和C2构成了并联谐振电路4,使其构成自激振荡器。电容的值具有微调的作用,我们取30PF。具体的接法如图32外部晶振电路图32外部晶振电路AT89C52的工作频率范围在024MHZ。我们选用的是12MHZ的晶振,机器周期为1US,所以这个晶振可以满足这个系统的要求。并且晶振不能离单片机太远,不然使用外部晶振进行软件调试时就会发现找不到信号。323复位电路复位有硬件和软件两种,复位的作用是使程序自动从0000H开始执行,因此我们只要在AT89C52单片机的RESET端加上一个高电平信号,并持续10MS以上即可,RESET端接有一个上电复位电路,它是由一个小的电解电容和一个接地的电阻组成的。人工复位电路另外采用一个按钮来给RESET端加上高电平信号。图33人工复位电路我们采用放电型人工复位电路,如图33人工复位电路,上电时C通过R充电,维持宽度大于10MS的正脉冲,完成上电复位功能。C充电结束后,RESET端出现低电平CPU正常工作。在此我们取了典型值R11K,R610K,C10UF。上电复位实现的时间TRC10K10UF100MS10MS需要人工复位时,按下按钮K,C通过K和R1放电,RESET端电位上升到高电平,实现人工复位,K松开后C重新充电,充电结束后,CPU重新工作,R1是限流电阻,阻值不可以过大,否则不能起到复位作用。324遥控收发电路红外线遥控是目前使用最广泛的一种通信和遥控手段。由于红外线遥控5装置具有体积小、功耗低、功能强、成本低等特点,因而,继彩电、录像机之后,在录音机、音响设备、空凋机以及玩具等其它小型电器装置上也纷纷采用红外线遥控。工业设备中,在高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不仅完全可靠而且能有效地隔离电气干扰。通用红外遥控系统由发射和接收两大部分组成,应用编/解码专用集成电路芯片来进行控制操作,如图34所示。发射部分包括键盘矩阵、编码调制、LED红外发送器;接收部分包括光、电转换放大器、解调、解码电路。键盘编码调制LED光电放大解调解码图34红外遥控系统框图遥控发射器专用芯片很多,根据编码格式可以分成两大类,这里我们以运用比较广泛,解码比较容易的一类来加以说明,现以日本NEC的UPD6121G组成发射电路为例说明编码原理。当发射器按键按下后,即有遥控码发出,所按的键不同遥控编码也不同。这种遥控码具有以下特征采用脉宽调制的串行码,以脉宽为0565MS、间隔056MS、周期为1125MS的组合表示二进制的“0”;以脉宽为0565MS、间隔1685MS、周期为225MS的组合表示二进制的“1”,其波形如图35所示。BIT”0“BIT”1“056MS1125MS056MS225MS图35遥控码的“0”和“1”上述“0”和“1”组成的32位二进制码经38KHZ的载频进行二次调制以提高发射效率,达到降低电源功耗的目的。然后再通过红外发射二极管产生红外线向空间发射,如图36所示。D0D1D4D7D6D5D4D3D2D1D0C6C7C0C1C2C3C4C5C7C6C5C4C3C2C1用户识别码用户识别码(反码)操作码操作码(反码)D3D2C045MS9MS引导码D5D6D7图36遥控信号编码波形图UPD6121G产生的遥控编码6是连续的32位二进制码组,其中前16位为用户识别码,能区别不同的电器设备,防止不同机种遥控码互相干扰。该芯片的用户识别码固定为十六进制01H;后16位为8位操作码功能码及其反码。UPD6121G最多有128种不同组合的编码。遥控器在按键按下后,周期性地发出同一种32位二进制码,周期约为108MS。一组码本身的持续时间随它包含的二进制“0”和“1”的个数不同而不同,大约在4563MS之间。当一个键按下超过36MS,振荡器使芯片激活,将发射一组108MS的编码脉冲,这108MS发射代码由一个起始码9MS,一个结果码45MS,低8位地址码9MS18MS,高8位地址码9MS18MS,8位数据码9MS18MS和这8位数据的反码9MS18MS组成。如果键按下超过108MS仍未松开,接下来发射的代码连发代码将仅由起始码9MS和结束码25MS组成。图37红外接收电路解码的关键是如何识别“0”和“1”,从位的定义我们可以发现“0”、“1”均以056MS的低电平开始,不同的是高电平的宽度不同,“0”为056MS,“1”为168MS,所以必须根据高电平的宽度区别“0”和“1”。如果从056MS低电平过后,开始延时,056MS以后,若读到的电平为低,说明该位为“0”,反之则为“1”,为了可靠起见,延时必须比056MS长些,但又不能超过112MS,否则如果该位为“0”,读到的已是下一位的高电平,因此取112MS056MS/2084MS最为可靠,一般取084MS左右均可。接收电路如图37所示。PC3388是红外接收头,1脚是信号端,2脚是接地端,3脚是电源端。当电路正常工作时,发光二极管发亮。测试时可以观察D6的状态来判断是否有接收到信号。325AT89C52控制的LCD12864电路LCD12864介绍LCD128647在市面上主要分为两种,一种是采用ST7920控制器的,它一般带有中文字库字模,价格略高一点。另一种是采用KS0108控制器,它只是点阵模式,不带字库。我的这块就是KS0108控制器不带汉字库的。LCD12864模块的20个引脚定义如下1VSS逻辑电源地2VDD逻辑电源正极3VOLCD驱动电压4RS数据/指令选择高电平为数据,低电平为指令5R/W读/写选择高电平为读数据,低电平为写数据6E读写使能,高电平有效,下降沿锁定数据7DB0数据输入输出引脚8DB1数据输入输出引脚9DB2数据输入输出引脚10DB3数据输入输出引脚11DB4数据输入输出引脚12DB5数据输入输出引脚13DB6数据输入输出引脚14DB7数据输入输出引脚15CS1片选择号,低电平时选择前64列16CS2片选择号,低电平时选择后64列17RET复位信号,低电平有效。18VOUT输出10V电源给VO提供驱动电源19A背光电源LED正极20K背光电源LED负极LCD12864的内部控制结构如图38所示IC3IC2IC1LCDPANEL12864DOTS6464643DB0DB7RETRSR/WECS2CS158图38LCD12864的内部控制结构图由上图可以看出12864屏是分为左、右两块控制的。所有对屏幕的操作要受片选CS1、CS2来控制。表31是屏幕操作数据与屏幕点阵的排布关系图。表31屏幕操作数据与屏幕点阵的排布关系图CS21CS11Y016263016263行号X0DB0DB7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB707DB0DB7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB7855X7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB75663从上表可以看出数据按字节在屏幕上是竖向排列的。上方为低位,下方为高位。因此在横向上也就是Y就一共是128列数据。分为CS1和CS2两个64列来写入。在竖方向上也就是X一字节数据显示8个点,竖向64个点分为8个字节,称做8页X07。了解这些后我们就知道要满屏显示一张图就要从Y0127、X07一共写12881024个字节的数据。同样在AT89C52中存一张图就要1024个字节的空间。指令表如表32所示。表32指令表指令码指令R/WRSD7D6D5D4D3D2D1D0功能显示ON/OFF0000111111/0控制显示器的开关不影响DDRAM中数据和内部状态显示起始行0011显示起始行063指定显示屏从DDRAM中哪一行开始显示数据设置X地址0010111X07设置DDRAM中的页地址X地址设置Y地址0001Y地址063设置地址Y地址读状态10BUSY0ON/OFFRST0000读取状态RST1复位0正常ON/OFF1显示开0显示关BUSY0READY1INOPERATION写显示数据01显示数据将数据线上的数据DB7DB0写入DDRAM读显示数据11显示数据将DDRAM上的数据读入数据线DB7DB01)显示开关控制DISPLAYON/OFF代码形式R/WRSDB7DB6DB5DB4DB3DB2DB1DB0000011111DD1开显示DISPLAYON意即显示器可以进行各种显示操作D0关显示DISPLAYOFF意即不能对显示器进行各种显示操作2)设置显示起始行DISPLAYSTARTLINE代码形式R/WRSDB7DB6DB5DB4DB3DB2DB1DB00011A5A4A3A2A1A0A5A06位地址自动送入Z地址计数器,起始行的地址可以是063的任意一行。例如选择A5A0是62,则起始行与DDRAM行的对应关系如下DDRAM行626301232829屏幕显示行12345631323)设置页地址SETPAGE“XADDRESS”代码形式R/WRSDB7DB6DB5DB4DB3DB2DB1DB00010111A2A1A0所谓页地址就是DDRAM的行地址,8行为一页,模块共64行即8页,A2A0表示07页。读写数据对地址没有影响,页地址由本指令或RST信号改变复位后页地址为0。页地址与DDRAM的对应关系见DDRAM地址表。4)设置Y地址SETYADDRESS代码形式R/WRSDB7DB6DB5DB4DB3DB2DB1DB00001A5A4A3A2A1A0此指令的作用是将A5A0送入Y地址计数器,作为DDRAM的Y地址指针。在对DDRAM进行读写操作后,Y地址指针自动加1,指向下一个DDRAM单元。5)读状态STATUSREAD代码形式R/WRSDB7DB6DB5DB4DB3DB2DB1DB001BUSY0ON/OFFRST0000当R/W1,RS0时,在E信号为“H”的作用下,状态分别输出到数据总线DB7DB0的相应位。BUSY为1内部忙,不能对液晶进行操作。0工作正常。ON/OFF1显示关闭;0显示打开RSTRST1表示内部正在初始化,此时组件不接受任何指令和数据。6)写显示数据WRITEDISPLAYDATE代码形式R/WRSDB7DB6DB5DB4DB3DB2DB1DB001D7D6D5D4D3D2D1D0D7D0为显示数据,指令把D7D0写入相应的DDRAM单元,Y地址指针自动加1。7)读显示数据READDISPLAYDATE代码形式R/WRSDB7DB6DB5DB4DB3DB2DB1DB011D7D6D5D4D3D2D1D0此指令把DDRAM的内容D7D0读到数据总线DB7DB0,Y地址指针自动加1。AT89C52控制的LCD12864显示电路如图39所示。图39AT89C52控制的LCD12864显示电路326ISD4004语音录放电路ISD40048系列语音芯片工作电压为3V,单片录放时间8到16分钟,音质好,适用于移动电话及其他便携式电子产品中。芯片采用CMOS技术,内含振荡器、防混淆滤波器、平滑滤波器、音频放大器、自动静噪及高密度多电平闪烁存储陈列。芯片设计是基于所有操作必须由微控制器控制,操作命令可通过串行通信接口SPI或MICROWIRE送入。芯片采用多电平直接模拟量存储技术,每个采样值直接存储在片内闪烁存储器中,因此能够非常真实、自然地再现语音、音乐、音调和效果声,避免了一般固体录音电路因量化和压缩造成的量化噪声和金属声。采样频率可以是40,53,64或80KHZ,频率越低,录放时间越长,而音质则有所下降,片内信息存于闪烁存储器中,可在断电情况下保存一百年典型值,可反复录音十万次。1内部结构图310ISD4004的内部结构2引脚描述1电源VCCD,VCCA芯片内部数字电路电源正极引脚和模拟电路电源正极引脚。为使噪声最小,芯片的数字电路和模拟电路使用不同的电源供电,并且分别引到外封装的不同管脚上,数字和模拟电源端最好分别走线,尽可能在靠近供电端处相连,而去耦电容应尽量靠近器件。图311ISD4004芯片引脚2地线VSSD,VSSA芯片内部数字电路电源地线和模拟电路电源地线引脚。芯片的数字电路和模拟电路也要使用不同的地线。3同相模拟输入ANAIN录音信号的同相输入端。输入放大器可用单端或差分驱动。单端输入时,信号由耦合电容输入,最大幅度为峰峰值32MV,耦合电容和本端的3K电阻输入阻抗决定了芯片频带的低端截止频率。差分驱动时,信号最大幅度为峰峰值16MV。4反相模拟输入ANAIN差分驱动时,这是录音信号的反相输入端。信号通过耦合电容输入,最大幅度为峰峰值16MV。5音频输出AUDOUT提供音频输出,可驱动5K的负载。6片选此端为低电平,即向ISD4004芯片发送指令,两条指令之间为高S电平。7串行输入MOSI此端为串行输入端,主控制器应在串行时钟上升沿之前半个周期将数据放到本端,以供输入。8串行输出MISO此端为串行输出端,芯片未被选中时,本端呈高阻态。9串行时钟SCLKSD的时钟输入端,由主控制器产生,用于同步MOSI和MISO的数据传输。数据在SCLK上升沿锁存到芯片,在下降沿移出芯片。10中断本端为漏极开路输出。芯片在任何操作包括快进中检测到INTEOM或OVF时,本端变低并保持。中断状态在下一个SPI周期开始时清除。中断状态也可用RINT指令读取OVF标志指示芯片的录/放操作已到达存储器的末尾;EOM标志只在放音中检测到内部的EOM标志时,此状态位才置1。11行地址时钟RAC漏极开路输出。每个RAC周期表示芯片存储器的操作进行了一行ISD4004系列中的存储器共2400行。该信号保持高电平175MS,低电平25MS。快进模式下,RAC的21875S是高电平,3125S为低电平。该端可用于存储管理技术。12外部时钟XCLK本端内部有下拉元件。芯片内部的采样时钟在出厂前已调校,误差1以内。商业级芯片在整个温度和电压范围内,频率变化在225以内。工业级芯片在整个温度和电压范围内,频率变化在4以内,此时建议使用稳压电源。若要求更高精度,可从本端输入外部时钟。由于内部的防混淆及平滑滤波器已设定,故上述推荐的时钟频率不应改变。输入时钟的占空比无关紧要,因内部首先进行了分频。在不外接时钟时,此端必须接地。13自动静噪AMCAP当录音信号电平下降到内部设定的某一阈值以下时,自动静噪功能使信号衰弱,这样有助于滤除无信号静音时的噪声。通常本端对地接1F的电容,构成内部信号电平峰值检测电路的一部分。检出的峰值电平与内部设定的阈值作比较,决定自动静噪功能的翻转点。大信号时,自动静噪电路不衰减,静音时衰减6DB。1F的电容也影响自动静噪电路对信号幅度的响应速度。本端接VCCA则禁止自动静噪。3操作规则1串行外设接口ISD4000系列语音芯片工作于SPI串行接口。SPI协议是一个同步串行数据传输协议,设定微控制器的SPI移位寄存器在SCLK的下降沿将数据送至MISO引脚。以ISD4004为例,协议的具体内容如下所有串行数据传输开始于下降沿。在传输期间必须保持低电平,在两条指令之间则保持高电平。数据在时钟上升沿移入,在下降沿移出。变低,输入指令和地址后,ISD4004才能开始录/放操作。S指令格式是八位控制码加十六位地址码。ISD4004的任何操作如果遇到EOM或OVF,则产生一个中断,该中断状态在下一个SPI周期开始时被清除。使用“读”指令使中断状态位移出ISD4004的MISO引脚时,控制及地址数据也应同步从MOSI端移入。因此,要注意移入的数据是否与器件当前进行的操作兼容。当然,也允许在一个SPI周期里,同时执行读状态和开始新的操作即新移入的数据与器件当前的操作可以不兼容。所有操作在运行位RUN置1时开始,置0时结束。所有指令都在端上升沿开始执行。S2信息快进用户不必知道信息的确切地址就能快进跳过一条信息。信息快进只用于放音模式,放音速度是正常的1600倍,遇到EOM后停止,然后内部地址计数器加1,指向下一条信息的开始处。3上电顺序器件延时TPUD8KHZ采样时,约为25MS后才能开始操作。因此,用户发完上电指令后,必须等待TPUD,才能发出下一条操作指令。例如,从00处放音,应遵循如下时序发POWERUP命令;等待TPUD上电延时;发地址值为00的SETPLAY命令;发PLAY命令。器件会从00地址开始放音,当出现EOM时,立即中断,停止放音。如果从00处录音,则按以下时序发POWERUP指令等待TPUD上电延时;发POWERUP命令;等待2倍TPUD发地址值为00的SETREC命令;发REC命令。器件便从00地址开始录音,一直到出现OVF存储器末尾时,录音停止。4指令码表33ISD4004的指令表指令控制码操作POWERUP00100XXX上电等待TPUD后可以工作SETPLAY11100XXX从指定地址开始放音PLAY11110XXX从当前地址开始放音SETREC10100XXX从指定地址开始录音REC10110XXX从当前地址开始录音SETMC11101XXX从当前地址开始快进MC11111XXX执行快进,直到EOMSTOP0X110XXX停止当前操作STOPWRDN0X01XXXX停止当前操作并掉电RINT0X110XXX读状态OVF和EOM注快进只能在放音操作开始时选择。5SPI端口的控制位0000MISO00P0P15EOMOVFMOSIC4C3C2C1C0XXXA15A0快进模式电源控制录/放模式允许/禁止操作操作是否使用指令地址图312ISD4004的SPI控制位6SPI控制寄存器SPI控制寄存器控制器件的每个功能,如录音、放音、信息检索快进、上电/掉电、开始/停止操作、忽略地址指针等。表34ISD4004的SPI控制寄存器控制位功能控制位功能RUN允许/禁止操作1开始0停止PU电源控制1上电0掉电P/R录/放模式1放音0录音IAB操作是否使用指令地址1忽略输入地址寄存器内容0使用输入地址寄存器内容P15P0行指针寄存器输出MC快进模式1允许0禁止A15A0输入地址寄存器注IAB置0时,录/放操作从A9A0地址开始。为了能连贯地录/放到后续的存储空间,在操作到达该行末之前,应发出第二个SPI指令将IAB置1,否则器件会在同一地址上反复循环。这个特点对语音提示功能很有用。RAC引脚和IAB位可用于信息管理。SPI端口简单框图313所示。输入移位寄存器XXXMOSIC4C0选择逻辑字节OVFEOM输出移位寄存器MISO行计数器A15A0当IAB0时加载到行计数器P15P0图313SPI端口简单框图4ISD4004与外围设备的连接图315ISD4004与外围设备的连接语音芯片ISD4004主要与三部分外围设备连接9,即单片机控制电路、语音录入电路和语音播放电路。P10引脚接片选端,控制ISD4004选通与否;P12引脚接串行输入MOSI,经此读入放音地址;P13引脚接串行输出MISO;P11引脚接串行时钟SCLK;P33引脚接中断;两芯片中断口相连,以收发中断信号。同INT相模拟输入ANAIN和反相模拟输入ANAIN与录音电路相连,通过话筒录制各站信息存储于芯片内部以供播放时应用。音频功率放大器LM386驱动音箱组成放音电路,与音频输出端AUDOUT相连。另外,发光二极管接于电源通路,可以显示语音芯片工作情况。327本设计总原理图通过以上单元电路的分析我们已经对各单元电路的硬件都有了一定的了解。下面对其总体实现情况作一个简单的说明。红外接收电路接收遥控信息并解码,解码后把信息通过外部中断1与单片机通信。单片机处理后,启动LCD12864及ISD4004模块显示播报站名。PC3388的信号端连到AT89C52的外部中断1。本设计总原理图如附图11所示。4系统软件设计41系统流程图411LCD12864流程图开始LCD初始化定时器0的中断设置WHILE1键SB1按下键SB2按下键SB3按下键SB4按下判断是第几次按下判断是第几次按下执行相应站名显示执行相应站名显示清屏欢迎语或者广告YNYNYNYN图41LCD12864流程图412定时器中断0服务子程序流程图定时器中断0退出键盘处理SWITCHCASE1CASE2CASE3CASE4图42定时器中断0服务子程序流程图413遥控接收程序流程图开始串行口初始化接收数据数据是否接收完接收到的数据正确不处理,退出进入外部中断1NYNY图43遥控接收程序流程图414定时中断1子程序流程图解码判断解出的是什么码显示相应站名,语音播报定时器中断退出图44定时中断1子程序流程图415外部中断1子程序流程图定时中断1处理外部中断1退出图45外部中断1子程序流程图416ISD4004放音程序执行上电操作命令(POWEWRUP)延迟等待(25MS)直到上电结束段间延迟执行PLAY命令执行SETPLAY命令设置播放地址执行STOPWRDN命令继续播放下一段上电延迟时间到INT有效开始结束NYNYYN图46放音程序流程图417ISD4004录音程序执行上电操作命令(POWERUP)延迟等待(25MS)直到上电结束开始上电延迟时间到再执行上电操作命令(POWERUP)延迟2倍上电时间上电时间到执行REC指令执行STOPWRDN命令执行SETREC命设置录音地址INT有效或录音时到结束NYNYNY图47录音程序流程图5系统测试51调试软件KEILC51简介KEILC51软件是众多单片机应用开发的优秀软件之一,它集编辑、编译、仿真于一体,支持汇编语言、PLM语言和C语言的程序设计10,界面友好,易学易用。1KEIL的VISION3可以进行纯粹的软件仿真仿真软件程序,不接硬件电路;也可以利用硬件仿真器,搭接上单片机硬件系统,在仿真器中载入项目程序后进行实时仿真;还可以使用VISION3的内嵌模块KEILMONITOR51,在不需要额外的硬件仿真器的条件下,搭接单片机硬件系统对项目程序进行实时仿真。2UVISION3调试器具备所有常规源极调试,符号调试特性以及历史跟踪,代码覆盖,复杂断点等功能。DDE界面和SHIFT语言支持自动程序测试。52软件程序测试1工程设置根据系统电路中晶振参数对工程中AT89C52进行设置,将XTALMHZ项中参数改为120,与晶振频率相同。2程序调试图51程序调试图对程序中参数进行调整需进入调试模式,按按钮进入调试模式,由于该模式下可单步执行程序且左边框图同步显示运行时间值,所以可以随意对参数进行设置,直到得到所要求的功能。程序调试图如图51所示。53系统电路功能仿真利用PROTEUS11绘制仿真图。整个仿真图的绘制过程主要有以下几部组成首先新建一个PROTEUS的工程,在元件库里面搜索所需要的元器件,在元器件上单击右键选中,再单击左键对其进行命名和赋值,接着在编辑器左边的一栏中,找出绘制各种需要的线条和其他一些相关的线条和器件,进行节点出是否连接好进行检查,为下一步的系统仿真作准备。画出的仿真电路图如图52所示图52仿真电路图54KEIL与PROTEUS对系统联调PROTEUS与KEIL两个软件可以进行联调12,这一强大功能是其他软件无法办到的,仿真时通过KEILC51和PROTEUS结合实现的。首先,要将KEILC51中调试成功的程序生成HEX文本并保存,在PROTEUS中的主芯片AT89C52中导入此文本,即可在PROTEUS环境中实现系统的仿真。1KEIL与PROTEUS联调,如图53所示。图53联调图2无故障正常时,即正常,LCD12864正确显示,测试图如图54,55所示。利用仿真软件对所编写的程序进行调试,联机前先断电,把将调试成功的程序下载到AT89C52芯片中,检查一下电路之间的电源、接地是否良好,若一切正常,即可打开电源。在系统的调试过程中不是希望中的顺利,在调试中出现了问题,一点点的解决,软件调试出预期的结果。红外接收系统的测试可以通过观察发光二极管D6的状态来辨别该系统是否正常工作,如果接收到遥控信息,发光二极管点亮。还可以用电压表来测试信号端的电压来判断接收系统是否正常工作,如果电压表上显示的电压小幅度摆动,说明接收正常。图54工作时仿真电路图一图55工作时仿真电路图二按下遥控上的任意键,接收电路上的发光二极管D6发光,说明接收电路正常工作。但是,译码不够准确,所以不能很好的按预定的顺序来显示报站。预定的报站顺序是第1次按下,LCD12864显示宁夏理工;第2次按下,LCD12864显示市博物馆;第3次按下,LCD12864显示东湖宾馆;第4次按下,LCD12864显示永康花园;第5次按下,LCD12864显示百花市场。SB1按下如果是第1次按下,LCD12864显示宁夏理工;再按下,依次显示市博物馆、东湖宾馆、永康花园、百花市场。SB2按下,如果是第1次按下,LCD12864显示百花市场;再按下,依次显示永康花园、东湖宾馆、市博物馆、宁夏理工。测试基本达到设计要求,由于PROTEUS库里面没有ISD4004模块,所以ISD4004语音芯片尚未调试。参考文献1刘国尧,王娟公交自动报站系统的设计自动化技术与应用J黑龙江科技学院电气与信息工程学院,2010,15874762朱奕丹,黄志明,吴彬单片机公交车到站语音播报与液晶显示控制系统的研制J现代电子技术,2006润景,徐宏伟,丁莉单片机电路设计分析与制作M北京机械工业出版社,201055604钟富昭8051单片机典型模块设计与应用M北京人民邮电出版,200790955张爱全红外遥控的基本原理和应用范围J山西电子技术,2003,21640416王俊峰,薛鸿德现代遥控技术及应用M北京人民邮电出版社,2005961007李维諟,郭强液晶显示应用技术M北京电子工业出版社,200577808WINBONDISD4004SERIESSINGLECHIPVOICERECORD/PLAYBACKDEVICESMCALIFORNIAINFORMATIONSTORAGEDEVICES,200070739梁子伊ISD4004系列语音芯片的单片机控制技术J江苏省常州信息职业技术学院,2002,202616310赖麒文C语言程序彻底应用M北京科学出版社,2002657011蒋辉平基于PROTEUS的单片机系统设计与仿真实例M北京机械工业出版社,2009778112刘映群PROTEUS与KEIL整合构建单片机虚拟实验室J中国现代教育装备,2005,1082124结束语本文所设计的公交车报站器最主要是通过LCD12864显示站名来报站的,报站是通过按键控制站名显示的,还可以进行插入广告。本设计只对显示模块进行调试以及仿真,由于语音芯片在PROTEUS库里没有,所以未对语音模块进行调试仿真。仿真结果可以达到设计要求。通过本次设计让我加深对单片机的知识,让我重温了以前学的C语言知识与单片机的连续,也让我对PROTEL以及PROTEUS画图仿真软件更熟练。本文的设计缺陷就是遥控解码不是很正确,显示屏LCD12864不能显示温度以及日期,语音芯片未能调试。致谢走的最快的总是时间,来不及感叹,大学生活已近尾声,四年多的努力与付出,随着本次论文的完成,将要划下完美的句号。从课题选择到具体的写作过程,无不凝聚着老师的心血和汗水。老师要指导很多同学的论文,加上本来就有的教学任务,工作量之大可想而知,她还在百忙之中抽出大量时间指导我们。她循循善诱的教导和不拘一格的思路给予我无尽的启迪,她渊博的专业知识,精益求精的工作作风,严以律己,宽以待人的崇高风范,将一直是我工作,学习中的榜样。在我的毕业论文写作期间,老师为我提供了种种专业知识上的指导和一些赋予创造性的建议,没有这样的帮助和关怀,我不会这么顺利的完成毕业论文。在此向冯月春老师表示深深的感谢和崇高的敬意。其次,论文的顺利完成,离不开其他各位老师,同学和朋友的关心和帮助。在整个论文的写作中,各位老师,同学和朋友积极地帮助我查资料和有利于论文写作的建议和意见,在这里我衷心的谢谢你们在这段日子力给予我生活和精神上的支持,在你们的帮助下,论文才得以不断地完善,最终帮助我完整的写完了整个论文。在这里,我要对你们说声谢谢,真的很感谢你们。最后,也是重要的,我要感谢我的父母,因为没有他们,就没有现在站在这里的我,是他们给以我生命,给以我上大学的机会,是他们造就了今天的我,对于你们,我充满无限的感激。附录一系统总原理图123456ABCD654321DCBATITLENUMBERREVISIONSIZEBDATE19MAY2012SHEETOFFILECDOCUMENTSANDSETINGSADMINISTRATOR业业业业业业业业MYDESIGNDDBDRAWNBYR610KY112MHZC130PFC230PFP10P11P12P13P14P15P16P17RSTP30P31P32P33P34P35P36P37XTAL2XTAL1VSSP20P21P22P23P24P25P26PSENP27ALE/PROGEAP00P07P06P05P04P03P02P01VCCU1AT89C52S2SWPBVCCR11KC310UFVOUT18VO5VCC4RS6R/W7E8DB09DB110DB211DB312DB413DB514DB615DB716GND3RST17CS22CS11LCD12864VCCVCCRR12KP32P31P30P36P37P36P37P30P31P32SB4SWPBSB3SWPBSB2SWPBSB1SWPBVCCVCC123PC388D6LEDR710KD8C410UFVCCINT1INT1RW010KQ0NPNQ1PNPC1810UFC1122UFC922UFC1947UFSPEAKERMICROPHONE2R1447KC1701UFC1201UFC1601UFC810NFC1001UFC1801UFR1347KR1210KR1510KR111KR1747KIN3IN2V6GND4OUT5LM386VCCP12P11INT1D9LEDVCCP14C1347NFR1610KC151UFC14220UF3V12345678161514131211109RP0VCCP10P11P12P13P14P15P16P17P13P10VCCSTOPSWPBSTARTSWPBD8LEDR221KP17MOSI2MISO3SCLK28SS1INT25ANAIN16ANAIN17AMCAP14VSSA12VSSA11VSSA23VSSD4XCLK26VCCD27VCCA18RAC24AUDOUT13ISD404附图11系统总原理图附录二LCD12864显示模块参考程序INCLUDE/预定义/DEFINEUCHARUNSIGNEDCHARDEFINEUINTUNSIGNEDINTUNSIGNEDCHARKEY_TEMP,KEY_BAK,YCHI,KEYVALUE0X0FUNSIGNEDCHARONE_CNT0,TWO_CNT0UCHARKEY0X0FU

温馨提示

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

最新文档

评论

0/150

提交评论