1、XX学院毕业论文(设计)题目基于单片机的公交车自动报站器的设计院系信息工程专业电子信息工程学生姓名学号指导教师职称二一二年六月三日1目录1绪论111课题研究的背景及意义112报站器的动态发展趋势213设计的主要目标任务22总体方案的设计221本设计的原理222硬件方案的选择2221语音芯片的选泽3222显示模块的选择3223时钟芯片的选泽33硬件制方案的介绍与分析331单片机的选择与外围电路的设计3311关于STC89C51单片机4312复位电路9313外部晶振的选用932语音提示电路10321ISD1730的简介10322ISD1730内部结构12323ISD1730与单片机的连接图1433
2、时钟模块14331DS1302的简介152332内外部结构15333工作原理及原理图1634液晶显示电路17341LCD1602的简介17342LCD1602与单片机的接线图2135键盘接口22351按键电路的选择22352判键及其接口电路设计224系统软件的设计2341主流程图的设计2342液晶显示程序的设计2443DS1302时钟程序的设计2544语音播报程序的设计265结论276致谢27参考文献28附录错误未定义书签。1基于单片机的公交车自动报站器的设计摘要根据STC89C51单片机的特点和公交车报站器的特点,本文提供了一种用单片机控制语音芯片和显示芯片进行公交车语音和显示自动报站的方法
3、,同时给出了软硬件设计的方法,设计过程中包括硬件电路设计和软件程序编写两个方面,解释了单片机在应用过程中的方法和可能出现的问题。本文介绍硬件电路设计和程序编写两部分。利用STC89C51和ISD4002语音芯片建立语音信息库,形成变化多样的语音信息,利用其功放播放语音信息以及提示语音,同时运用LCD1602型号的液晶模块进行到站显示。当公交车到达某站点,用键盘控制本系统工作,通过语音电路播报语音信息和提示,同时站名信息在LCD1602液晶模块上进行显示。整个系统硬件设计包括单片机最小系统、独立按键、复位电路、电源模块、液晶显示电路、语音播报模块、时钟模块。关键词单片机STC89C51;LCD1
4、602液晶显示;ISD4002语音电路;DS1302时钟;按键1绪论随着科学技术的日益发展和进步,无人售票的公交车的应用电路也多起来了,语音报站器更是被广泛的使用起来,这在相当大的程度上免除了乘务人员沿途报站的麻烦,给许多不熟悉公交线路的乘客带来了方便。11课题研究的背景及意义公共汽车是现代文明城市的一道流动的风景线,因此对整车的硬性条件和人性服务都有了较高的要求。为了使免除乘务人员的麻烦也使乘客方便清楚的知道所到的站名以及实时时间,公共汽车配备的一些列的电子装置,其中最为普遍就是无人报站器、电子显示路牌、无人售票装置、前后电视监视系统等新技术的采用。公交车自动报站器的设计主要是为了弥补传统人
5、工语音报站的落后方式,让进站、出站信息自动播报站名及提示用语,为民众提供更人性化,更完善的服务。公交车自动报站器在公交事业中具有非常重要的地位,它将直接影响到公共汽车的服务质量。目前,各个城市的公交车自动报站的方式主要有三种,其中一种是利用无线发送及接收芯片PT2262/和PT2272的公交车报站系统,在公交站的每个站牌处安装发射芯片PT2262用来发射该站点事先编好的编码信号,当公交车到达一定范围内时,其公交车上的接收芯片PT2272将对信号进行接收与解码,然后再将解码后的信息通过液晶显示模块显示,而语音芯片将同时进行播报。另一种是功能很强大且系统非常稳定的GPS卫星定位报站系统,但由于这种
6、方式的投资很昂贵,尤其是对于一些中小城市来说是无法承受的,国内虽也有此类产品的研制开发,但就目前的情况来看其投入的不是很广,但是在一些发达国家的部分城市已经投入使用GPS卫星定位系统。第三种是手动电子报站方式,此方式价格低廉,操作简单,满足中小型城市的需求,成为中小城市公交车首选的语音报站与显示方式。212报站器的动态发展趋势当今社会,公交车是大多数城市居民出行的重要工具之一,但就公交车目前的报站系统来看很难满足大家的要求。现在公交车使用普遍的还是人工按键报站系统。目前我国的大部分城市公交自动报站的方式主要有三种(1)人工进行报站一般是由当地的乘务人员用方言来进行报站,这样会给外地乘客带来很大
7、的不便,但这种方式已经被淘汰。(2)半自动报站这种报站方式是现在运用普遍的,这种报站系统需要驾驶员来控制,由于驾驶员的熟路,避免了报错站情况的出现。(3)自动报站系此报站方式已智能化,即无需驾驶员得参与,系统将自动识别站点,虽然比较准确,但也容易出现问题且价格昂贵,所以这种方式运用的不是很普遍。虽然国能外都在研究公交自动报站系统,但采用的技术手段不一样,如采用GPS定位系统自动报站等等。这些开发成本较高,且难以实现普及,特别是一些中小城市难以负担,故开发一种综合性强的、且价格较低、易于实现普及的系统是公交事业迫切需要的。13设计的主要目标任务本课题要求设计公交车自动报站系统,以实现公交车的语音
8、自动报站,即在进站、出站时候自动播报语音提示信息及服务用语,同时利用LCD液晶电路进行汉字显示。本设计要求利STC89C51作为主控芯片完成主控电路的设计,辅助电路要求包括语音电路、汉字点阵显示电路、电源电路等。2总体方案的设计21本设计的原理本系统使用八位单片机作为控制器件。当系统进行语音再生时,单片机控制电路中的语音芯片来读取其外接的存储器内部的语音信息,并合成语音信号,再通过语音输出电路,进行语音报站和提示。同时,图21系统组成结构单片机通过程序读取文字信息,送入液晶显示模块来进行站名的显示。当公交车到达某站时,司机或乘务人员通过键盘来控制系统进行工作。当系统进行语音录制时,语音信号通过
9、语音录入电路送给语音合成电路中的语音芯片,LCD显示信息由程序写入,从而建立语音库。本设计的硬件系统框架如图21所示。单片机STC89C51晶振复位语音播报电路文字显示电路独立按键DS1302时钟322硬件方案的选择221语音芯片的选泽方案一基于ISD2560语音芯片的录放电路设计ISD2560系列语音芯片可通过SPI协议方便地与CPU接口。用ISD2560芯片构成的单片机通用开发板采用国内最常用的MCS51语言单片机89C51来与ISD2560系列语音芯片相结合,可供用户开发各种新型智能型数码语音产品。方案二;基于ISD4002语音芯片的录放电路ISD1730是华邦公司新推出ISD1700系
10、列芯片的单片优质语音录放电路,该芯片能提供多项新功能,包括内置专利的多信息管理系统,新信息提示,双运作模式(独立说明0000000000100000光标归位,即将光标撤回液晶显示屏的左上方将地址计数器AC的值设为0。表3光标归位指令指令功能指令编码执行时间/NSRSR/WDB7DB6DB5DB4DB3DB2DB2DB1DB0光标归位0000000001X164功能把光标撤回到显示器的左上方把地址计数器AC的值设置为0保持DDRAM的内容不变表4输入模式设置指令指令功能指令编码执行时间/USRSR/WDB7DB6DB5DB4DB3DB2DB2DB1DB0进入模式设置000000001I/DS40
11、功能设定每次写入1位数据后光标的移位方向,并且设定每次写入的一个字符是否移动。参数设定的情况如下所示I/D0写入新数据后光标左移1写入新数据后光标右移S0写入新数据后显示屏不移动1写入新数据后显示屏整体右移1个字表5显示开关控制指令指令功能指令编码执行时间/USRSR/WDB7DB6DB5DB4DB3DB2DB2DB1DB0显示开关控制00000001DCB40功能控制显示器开/关、光标显示/关闭以及光标是否闪烁。参数设定的情况如下D0显示功能关1显示功能开C0无光标1有光标B0光标不闪烁1光标闪烁表6设定显示屏或光标移动方向指令指令功能指令编码执行时间/US20RSR/WDB7DB6DB5D
12、B4DB3DB2DB2DB1DB0设置显示屏或光标移动方向00000001DCB40功能使光标移位或使整个显示屏幕移位。参数设定的情况如下S/CR/L设定情况00光标左移1格,且AC值减101光标右移1格,且AC值加110显示器上字符全部左移一格,但光标不动11显示器上字符全部右移一格,但光标不动表7功能设定指令指令功能指令编码执行时间/USRSR/WDB7DB6DB5DB4DB3DB2DB2DB1DB0功能设置000001DLNFXX40功能设定数据总线位数、显示的行数及字型。参数设定的情况如下DL0数据总线为4位1数据总线为8位N0显示1行1显示2行F057点阵/每字符1510点阵/每字符
13、表8设定CGRAM地址指令指令功能指令编码执行时间/USRSR/WDB7DB6DB5DB4DB3DB2DB2DB1DB0设置CGRAM地址0001CGRAM地址(6位)40功能设定下一个要存入数据的CGRAM的地址。表9设定DDRAM地址指令指令功能指令编码执行时间/USRSR/WDB7DB6DB5DB4DB3DB2DB2DB1DB0设置DDRAM地址001CGRAM地址(6位)40功能设定下一个要存入数据的CGRAM的地址。注意这里我们送地址的时候应该0X80ADDRESS,这也是前面说到写地址命令的时候要加上0X80的原因。表10读取忙信号或AC地址指令指令功能指令编码执行时间/US21R
14、SR/WDB7DB6DB5DB4DB3DB2DB2DB1DB0设置DDRAM地址001CGRAM地址(7位)40功能读取忙碌信号BF的内容,BF1表示液晶显示器忙,暂时无法接收单片机送来的数据或指令当BF0时,液晶显示器可以接收单片机送来的数据或指令表11数据写入DDRAM或CGRAM指令指令功能指令编码执行时间/USRSR/WDB7DB6DB5DB4DB3DB2DB2DB1DB0数据写入DDRAM或CGRAM指令10要写入的数据D7D040功能将字符码写入DDRAM,以使液晶显示屏显示出相对应的字符将用户自己设计的图形存入CGRAM。表12从CGRAM或DDRAM读出数据的指令指令功能指令编
15、码执行时间/USRSR/WDB7DB6DB5DB4DB3DB2DB2DB1DB0从CGRAM或DDRAM读出数据11要读出的数据D7D040功能读取DDRAM或CGRAM中的内容。342LCD1602与单片机的接线图LCD1602液晶显示模块可以和单片机STC89C52直接接口,DB0DB7与单片机的P00P07连接以便数据的传送与接收,4管脚、5管脚、6管脚分别与STC89C51单片机的P20口、P21口、P22口连接,电路如图313所示22图313与单片机的连接图35键盘接口键盘是一组按键的组合,是单片机应用系统中不可缺少的输入设备。根据键盘的识别方法分类,有编码键盘和非编码键盘两种。通过
16、硬件识别的键盘称为编码键盘;通过软件识别的键盘称为非编码键盘。全编码键盘能够由硬件逻辑自动提供与键对应的编码,此外,一般还具有去抖和多键、窜键保护电路。这种键盘使用方便,但需要较多的硬件,价格较贵,一般的单片机应用系统较少采用6。非编码键盘只简单地提供行和列的矩阵,其他工作均由软件完成。由于其经济实用,广泛应用于单片机的系统中。351按键电路的选择在由单片机组成的测控系统及智能化仪器中,用得最多的是独立式键盘。独立式按键是指直接用I/O口线构成的单个按键电路。每个独立式按键单独占有一根I/O口线,每个I/O口线的工作状态不会影响其他I/O口线的工作状态。独立式按键电路如图314所示,当按键的数
17、量较多时,I/O口线浪费较大,故只在按键数量不多时才采用这种按键电路。根据实际经验,当按键数量为4到8个,并且I/O资源较为富余时,采用独立式按键比较合适。由于本设计中的按键只有三个,考虑系统可靠性和键盘设计的简单所以采用独立式按键。对于此设计来说我们要准确的显示我们所要对应的信息,每按下一次按键要显示所要显示的信息14。这按键是主要用来报站的而设计的。这样比键盘操作方便,也比较实惠。按键电路采用中断模式。当有按键按下时,系统产生中断,CPU响应中断后,开始计数,即查询键号,通过软件来实现该键号所对应键的功能键盘的大体设置为第一个键为报站控制键S1用来控制站台“”例如第一站为滨江站,按下S1时
18、显示第二站中苑站,其余的站台工作原理也一样。S2用来控制站台的“”,第二站为中苑站,在按下S2时这样就显示中苑站。保持不变图314独立式按键硬件结构352判键及其接口电路设计键的闭合与否反应在电压上就是呈现出高电平或低电平,如果高电平表示断开,那么低电平则表示闭合,通过电平的高低状态的检测可确认键按下与否。为了确保CPU对一次按键动作只确认一次,并且防止干扰信号的影响,必需加入消除电平抖动的措施,下图315为按键抖动示意。消除抖动通常有硬、软两种方法,硬件消除抖动可采取双稳态电路或滤波消抖电路;软件消抖是在第一次检测到有键按下时,执行一段延时程序再确认该键是否仍闭合,如果还是闭23合状态则确认
19、该键按下,从而消除抖动和干扰影响。当按键较多时,我们多采用硬件件消抖法。图315按键闭合及断开前后的电压按键接口设计有两种方法,独立式按键和矩阵式键盘。独立式按键各键相独立,每个按键各接入一根输入线,只要检测输入线的电平就可以识别按键状态。这种方法电路配置灵活,软件结构简单,但每个按键需占用一根输入口。由于该设计方案IO资源浪费大。故此方法只适用于按键少或其他控制功能很简单的场合。矩阵键盘适用于按键数量较多的场合,它把键盘输入线分为行线和列线,按键位于列的交叉点上。按键的识别需要软件分别扫描行线和列线,根据扫描的结果判具体按下的按键14。4系统软件的设计41主流程图的设计开机时LCD1602液
20、晶显示屏显示“实时时间、实时日历”等信息。调用系统初始化程序,调用键盘子程序,调用读时间芯片时间子程序,调用时钟芯片初始化/改写程序,调用显示时间日期子程序。程序开始执行,首先系统初始化LCD初始化,DS1302初始化。然后进入死循环一直显示时间、当日日期,扫描按键,当按键2按下时,LCD显示此站及下一站,语音播报此站及下一站;当按键3按下时,LCD显示此站及上一站,语音播报此站及上一站。(为什么要报上站)开始Y键1按下NY键2()按下系统初始化WHILE(1)显示时间液晶显示清屏液晶显示此站及下一站语音播报此站及下一站24NY键3()按下N图41主程序流程图42液晶显示程序的设计LCD液晶显
21、示是通过调用初始化程序,写数据子程序,写指令子程序,地址转换子程序,读忙状态子程序以及延时子程序组合。程序流程图如图42和43所示。图43写数据子程序流程图图42写指令子程序流程图LCD液晶显示是通过调用初始化程序,写数据子程序,写指令子程序,地址转换子程序,读忙状态子程序以及延时子程序组合。首先调用延时子程序,然后调用LCD写指令子程序、清屏、LCD写指令子程序、调用延时子程序、设定方向及位移、LCD写指令子程序、调用延时子程序、调用忙子程序、启动写数据、读写线置0、启动使能控制线、传输数据、调用延时子程序、返回。LCD1602的初始化与显示的部分程序如下16VOIDINIT/初始化LCD1
22、602WRITE_COMMAND0X01/清除屏幕WRITE_COMMAND0X38/功能设定(8位,2行,57点矩阵)WRITE_COMMAND0X0C/显示器ON,光标OFF,闪烁OFF液晶显示此站及上一站语音播报此站及上一站调用延时子程序LCD写指令子程序返回清屏LCD写指令子程序设定方向及位移调用延时子程序LCD写指令子程序调用延时子程序调用延时子程序传输数据启动使能控制线启动使能控制线读写线置0启动写数据调用忙子程序返回25WRITE_COMMAND0X06/加1VOIDDISPLAY1602/LCD1602显示程序UCHARIWRITE_COMMAND0X80/LCD第一行地址FO
23、RI0I4DISPLAY0LOOKDISMONTHDAYREAD13020X87/读出日寄存器开始初始化DS1302返回设置三端口状态读/写8位数据RETURN(0)26DISPLAY4LOOKDISDAY/日分离,并找相应的ASCALL码值DAYDAY4DISPLAY3LOOKDISDAYHOURREAD13020X85/读出小时寄存器DISPLAY9LOOKDISHOUR/小时分离,并找相应的ASCALL码值HOURHOUR4DISPLAY8LOOKDISHOURMINTUEREAD13020X83/读出分寄存器DISPLAY12LOOKDISMINTUE/分钟分离,并找相应的ASCALL
24、码值MINTUEMINTUE4DISPLAY11LOOKDISMINTUESECONDREAD13020X81/读出秒寄存器DISPLAY15LOOKDISSECOND/秒分离,并找相应的ASCALL码值SECONDSECOND4DISPLAY14LOOKDISSECONDDISPLAY160244语音播报程序的设计要语音芯片实现相应的功能,要提前对芯片进行录音,分时录音后再将其保存至芯片中以待放音时方便调用,录音电路与放音电路各有对应的程序,各自的程序流程图如图45所示。判断对应键是否按下(B)放音电路(A)录音电路图45语音程序流程图开始送录音地址送录音控制字开始录音返回开始送放音地址送放
25、音控制字自动录音返回275结论本次的毕业设计是基于单片机的公交车自动报站器的设计,该设计应用了单片机STC89C51,语音芯片ISD1730,时钟芯片DS1302以及液晶显示击打部分,本系统功能强,成本低,系统稳定,无需人工介入,语音音质好,能够很好的实现了车辆报站的自动化,具有很强的实用性。并且语音电路还满足了分段录音、组合回放等要求,且语音信号抗干扰能力强,存储方便,调试简单,最终以LCD1602液晶显示屏进行站台名和实时的时间、日前的显示。本系统很大程度上提高公交车报站的准确性,可靠性。提高了公交系统的服务质量。促进城市经济发展和交通变化的和谐发展。在科技高速发展的今天,公交车在城市交通
26、事业中占有举足轻重的地位,它给人们外出提供了方便快捷的服务,而报站器直接影响到公交车的服务质量,因此,不久之后,自动报站器将完全取代传统的人工报站,普遍使用于各大、中、小城市。6致谢本设计在老师的悉心指导和严格要求下完成,从课题选择、方案论证到具体设计和调试,无不凝聚着老师的关心和指导,在此向老师表示深深的感谢和崇高的敬意。在此过程中,使学生学到了很多专业上的知识,尤其是使学生对过去书本上不太理解熟悉的理论知识有进一步的掌握,也使学生感受到做论文是要真真正正用心去做的一件事情,是真正的自己学习的过程和研究的过程以及与学会和他人共同进步的过程,没有学习就不可能有研究的能力,没有自己用心的研究,就
27、不会有所突破,那也就不叫论文了。这次的经历会帮助我在以后学习中不断的激励自己继续进步。老师在论文上给于学生的帮助,令学生受益良多;毛老师渊博的学识、严谨的治学态度、开阔的思维以及为人师表的作风,将使学生毕生难忘,并将对学生今后的学习、工作和生活产生重要的影响。老师对本课题的研究以及论文的撰写倾注了极大的心血,区区数语,难表谢意我还要感谢我的家人,我的家人为使我能顺利完成四年的本科学业,在经济上和精神上给予了我极大的支持,做出了不少的牺牲,在此,我对他们表示由衷地感激同时,还要向学习期间所有曾给我帮助的老师、同学和朋友表示衷心地感谢,有了大家的热心帮助,我才能一步一步地解决学习和生活中的各种问题
28、。在此向大家表达我诚挚的谢意最后衷心感谢在百忙之中评阅论文和参加答辩的各位老师、专家、教授28参考文献1马林,陈怡,程利民单片机实践应用与技术M,北京,清华大学出版社,20082周美娟,肖来胜单片机技术及系统设计M,北京,清华大学出版社,20073童诗白,华成英模拟电子技术基础M,北京,高等教育出版社,20014晁阳单片机MCS51原理及应用开发教程M,北京,清华大学出版社,20075求是科技单片机典型外围器件及应用实例M,北京,人民邮电出版社20066黄仁欣,张琴单片机原理与应用技术(第二版)M,北京,清华大学出版社20107求是科技8051系列单片机C程序设计完全手册M,北京,人民邮电出版
29、社20068张颖超,叶彦斐微机原理与接口电路M,北京,电子工业出版社20119阎石数字电子技术基本教程M,北京,清华大学出版社200710王松武,赵旦峰等常用电路模块分析与设计指导M,北京,清华大学出版社200711方大千,鲍俏伟实用电子控制电路M,北京,国防工业出版社200312楼然苗,李光飞单片机课程设计指导M,北京,北京航空航天大学出版社200713周晓霞数字电子技术实验教程M,北京,化学工业出版社200714张宪,何宇斌电子电路制作指导M,北京,化学工业出版社200615王秋爽单片机开发基础与经典设计实例M,北京,机械工业出版社200616张大明单片机控制实训指导及综合应用实例M,北京
30、,机械工业出版社200717将辉平,周国雄基于PROTEUS的单片机系统设计与仿真实例M,北京,机械工业出版社200729ANALYSISOFPOWERFACTORCORRECTIONOFBOOSTCONVERTERBASEDONANALOGMULTIPLIERCONTROLHEXIAORONGMAJOROFELECTRICALENGINEERINGANDAUTOMATIONOFCOLLEGEOFBINJIANGOFNANJINGUNIVERSITYOFIMFORMATIONLCD1602LIQUIDCRYSTALDISPLAYISD1730VOICECHIPDS1302CLOCKBUTTON
31、30附录1总体电路图P101P112P123P134P145P156P167P178RST/VPD9RXD/P3010TXD/P3111INT0/P3212INT1/P3313T0/P3414T1/P3515WR/P3616RD/P3717XTAL218XTAL119VSS20P20/AD821P21/AD922P22/AD1023P23/AD1124P24/AD1225P25/AD1326P26/AD1427P27/AD1528PSEN29ALE/PROG30EA/VPP31P07/AD732P06/AD633P05/AD534P04/AD435P03/AD336P02/AD237P01/A
32、D138P00/AD039VCC40STC89C5180K100KMIC10UF10UF47UF47UF10UF12M32768HZ01UF01UF01UF01UF33PF33PF01UFVSS1VCC2VD3RS4R/W5E6DB07DB18DB29DB310DB411DB512DB613DB714BLA15BLK16LCD1602VCC21X12X23GND4RST5I/O6SCLK7VCC18DS132VCCD1/LED2/REST3MISO4MOSI5SCLK6/SS7VSSB8ANAIN9MIC10MIC11VSSP212SP13VCCP14SP15VSSP116AUD/AUX17AGC18/VOL19ROSC20VCCA21/FT22/PLAY23/REC24/ERASE25/FWD26/IND/RDY27VSSD28ISD172010KVCCVCC10KVCCVCCVCCVCC01UFVCC10K4K74K74K701UF01UFVCC47UF47UFVCC31附录2语音及液晶显示的仿真图32附录3实物图33