毕业设计(论文)基于单片机的公交车自动报站设计.doc
《毕业设计(论文)基于单片机的公交车自动报站设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于单片机的公交车自动报站设计.doc(33页珍藏版)》请在三一办公上搜索。
1、目 录目 录I第1章 绪论11.2 原理21.3框图21.4简介2第2章 硬件设计42.1 微控制器42.1.1 复位42.1.2 晶振42.1.3 存储器5第3章 语音系统与文字设计73.1语音系统73.1.2 内部结构73.1.3引脚描述83.1.4 操作规则93.1.4 ISD4004与外围设备的连接123.2 文字显示153.2.1 组成结构153.2.2引脚功能163.2.3 液晶模组与单片机的连接17第4章 键盘接口与电源174.1键盘接口174.1.1 按键的确认174.1.2 重键与连击的处理184.1.3按键防抖动技术184.2电源214.2.1芯片介绍224.2.2 稳压电
2、路23第5章 软件设计255.1 语音提示应用实现255.1.1 放音程序255.1.2 录音程序265.2 文字显示应用实现275.3 键盘接口应用实现28结束语29致 谢30参考文献31附录一 系统原理图32第1章 绪论随着国民经济的持续发展和各级政府对县域经济的高度关注,乡镇的城市化正在全国如火如荼地展开,基础设施得到了突飞猛进的发展。在这个过程中,乘坐公交车逐步取代了以前落后的出行方式,成为广大城乡人民短途出行的首选。近年来城市公交事业迅速发展,以前靠售票员报站的方式已经不能满足实际需要,很多大中城市都在推广实行无人售票。在广大乡镇,公交车如何实现自动报站还缺乏人们的重视。目前,公交车
3、自动报站主要有以下几种方式:一种是通过全球定位系统(GPS)的用户终端接收工作卫星的导航信息,从而解算出车辆的经纬度信息,进而计算出实时坐标,将其与站点坐标相比较,当车辆驶入站点一定距离范围内时,不用人工干预,系统自动报站;另一种是利用无线射频识别(Radio Frequency Identification)技术,在每一个公交站台设置一个具有唯一ID的射频发射器,采用间歇工作方式发射信号,当公交车即将到达车站时,车载系统接收到站信号并解码出站台的ID号,由单片机控制自动播放对应站台编号的报站语音;还有一种是对车轮轴的转角脉冲进行计数,将计数值和预置值对比,即可确定报站时刻,达到准确报站的目的
4、。然而,这三种方式都不太适合乡镇的发展现状。第一种设备造价过高,定位精度也难以达到要求;第二种站台建设投入较大,站点一旦变更,射频发射装置即须移动,较为麻烦;第三种需要公交线路严格固定,稍有改变,报站就难以准确。为此,本文试图设计一种既方便易行又经济实惠的公交车自动报站系统。本设计采用人工按键的操作方式,实现公交车对站名的语音提示和文字显示功能。当公交车到达某一站时,司机或乘务人员只需按动按键,就可以使单片机控制语音模块对站名进行语音提示,并控制显示模组在液晶屏上显示站数和站名。系统由一片八位单片机,一个语音模块,一个液晶模组,一块稳压芯片,若干电阻电容和与非门等组成。经过本课题的研究,我们得
5、到了一种公交车自动报站的低成本解决方案。1.2 原理本系统使用八位单片机作为控制器件。当系统进行语音再生时,单片机控制语音合成电路中的语音芯片来读取其外接的存储器内部的语音信息,并合成语音信号,再通过语音输出电路,进行语音报站和提示。同时,单片机通过程序读取文字信息,送入液晶显示模组来进行站数和站名的显示。当汽车到达某站时,司机或乘务人员通过键盘来控制系统进行工作。而且,系统具有根据公交车的行驶方向确定报站顺序的功能(司机或乘务人员可以通过按键来控制)。当系统进行语音录制时,语音信号通过语音录入电路送给语音合成电路中的语音芯片,由语音芯片进行数据处理,并将生成的数字语音信息存储到语音存储芯片中
6、,从而建立语音库。1.3框图语音提示模块文字显示模组键盘接口电路电源单片机晶振复位存储器图1.1 系统组成结构1.4简介为了降低控制仪器成本并减小体积,系统采用了Intel生产的8031单片机作为主控芯片。8031内部没有程序存储器,需要外部扩展存储器,选用一片8KB UVEPROM存储器芯片2764就可以满足应用要求。同时,8031还需要外接晶振和复位电路。语音提示模块选用ISD4004系列语音芯片,外接话筒和音箱组成语音录制和播放电路。其中,音箱由音频功率放大器LM386驱动。电源单片机话筒语音芯片音频功率放大器音箱录音控制放音驱动图1.2 语音提示模块组成结构文字显示模组采用12864液
7、晶屏作为显示单元,其驱动芯片为带有中文字库的ST7920控制器系列。模组使用ST7920作为控制器和行驱动器,同时使用ST7921作为列驱动器。与单片机的连接,我们采用并行间接访问方式。键盘接口电路采用独立按键设计,通过触发器来消除按键抖动。电源采用LM2576作为稳压器件,将公交车上的+24V直流电压转变为+5V直流电压。LM2576是NS生产的3A电流输出降压开关型稳压集成芯片,能够较好地解决LM7805因输入电压过高而发热量较大的问题。第2章 硬件设计2.1 微控制器1980年,Intel推出了MCS-51系列高性能八位单片机。与MCS-48系列相比,51单片机无论在CPU功能还是存储容
8、量以及特殊功能部件性能上都要高出一筹。典型产品为8031,其内部资源分配和性能如下:八位CPU、寻址能力为64K,128字节RAM、无ROM,四个八位I/O接口电路,一个串行全双工异步接口,五个中断源和两个中断优先级。2.1.1 复位复位电源线(RST)可以使8031处于复位(即初始化)工作状态。通常,8031的复位有自动上电复位和人工按钮复位两种。在单片机应用系统中,除单片机本身需要复位以外,外部扩展I/O接口电路等也需要复位。因此,我们需要一个包括上电和按钮复位在内的系统同步复位电路。2.1.2 晶振片内晶振电路输入线(XTAL1和XTAL2)用来外接石英晶振和微调电容,即用来连接8031
9、片内OSC的定时反馈回路。石英晶振起振后,能在XYAL2线上输入一个3V左右的正弦波,使得8031片内的OSC电路按与石英晶振相同的频率自激振荡。为了使8031和外部存储器同步从而可靠工作,8031的访存时间必须大于所用外部存储器的最大存取时间。Intel 2764的读出时间为200450ns,然而,从8031向外部存储器发出地址码和读写信号到从P0口选通读出数据或保存写入数据所需要的时间,至少需要两个时钟周期以上。所以,我们选取振荡器频率为4MHz。图2.1 单片机晶振和复位电路2.1.3 存储器 8031片内无程序存储器,需要外接片外存储器。Intel 2764是一种+5V的8KB紫外线可
10、擦除只读存储器,采用HMOS工艺制成,标准存取时间为250ns。现分四个方面介绍如下:(1)内部结构 2764采用双译码编程方式,A12A0上的地址信号经X和Y译码后,在X选择线和Y选择线上产生选择信号,选中存储阵列中相应地址的存储单元工作,并在控制电路的控制下对所选中的存储单元进行读操作(或编程写操作),从存储单元读出的八位二进制信息经输出缓冲器输出到数据线O7O0上。在编程方式下,O7O0上的编程信息在控制电路的控制下写入存储阵列的相应存储单元。(2)引脚功能 2764是28引脚的UVEPROM,其引脚功能分述如下: 地址输入线A12A0 2764的存储容量为8KB,故按照地址线条数和存储
11、容量的关系,共13条地址线,编号为A12A0。2764的地址线应和8031的P2和P0口相接,用于传送单片机送来的地址编码信号,其中A12为最高位。数据线O7O0 双向数据总线,O7为最高位。在正常工作时,O7O0用于传送从2764中读出的数据或程序代码;在编程方式时用于传送需要写入的编程代码(即程序的机器码)。控制线 片选输入线用于控制本芯片是否工作,若给上加一个高电平,则本片不工作;若给上加一个低电平,则选中本片工作。编程输入线用于控制2764处于正常工作状态还是编程/校验状态,若给输入一个TTL高电平,则2764处于正常工作状态;若给输入一个50ms宽的负脉冲,则2764配合VPP引脚上
12、的21V高电压可以处于编程状态。允许输入线也是一条由用户控制的输入线,若给线上输入一个TTL高电平,则数据线O7O0处于高祖状态;若给线上输入一个TTL低电平,则O7O0处于读出状态。其他引脚线 VCC为+5V电源输入线;GND为直流地线;VPP为编程电源输入线,当他接+5V时,2764处于正常工作状态,当VPP接21V电压是,2764处于编程/校验状态。(3)擦除特性 2764存储阵列中的信息可以采用紫外光擦除,擦除后存储的代码为全“1”。(4)工作方式和编程 正常工作方式是指2764在应用系统中的工作方式,常分为读出和维持两种工作状态;编程方式是指给2764写入程序时的工作方式,又可分为编
13、程、禁止编程和校验三种工作状态。图2.2 程序存储器的扩展第3章 语音系统与文字设计3.1语音系统ISD4004系列语音芯片工作电压为+3V,单片录放时间8到16分钟,音质好,适用于移动电话及其他便携式电子产品中。芯片采用CMOS 技术,内含振荡器、防混淆滤波器、平滑滤波器、音频放大器、自动静噪及高密度多电平闪烁存储陈列。芯片设计是基于所有操作必须由微控制器控制,操作命令可通过串行通信接口(SPI或Microwire)送入。芯片采用多电平直接模拟量存储技术, 每个采样值直接存储在片内闪烁存储器中,因此能够非常真实、自然地再现语音、音乐、音调和效果声,避免了一般固体录音电路因量化和压缩造成的量化
14、噪声和金属声。采样频率可以是4.0,5.3,6.4或8.0kHz,频率越低,录放时间越长,而音质则有所下降,片内信息存于闪烁存储器中,可在断电情况下保存一百年(典型值),可反复录音十万次。3.1.2 内部结构图3.1 ISD4004的内部结构3.1.3引脚描述(1)电源(VCCD,VCCA) 芯片内部数字电路电源正极引脚和模拟电路电源正极引脚。为使噪声最小,芯片的数字电路和模拟电路使用不同的电源供电,并且分别引到外封装的不同管脚上,数字和模拟电源端最好分别走线,尽可能在靠近供电端处相连,而去耦电容应尽量靠近器件。(2)地线(VSSD,VSSA) 芯片内部数字电路电源地线和模拟电路电源地线引脚。
15、芯片的数字电路和模拟电路也要使用不同的地线。图3.2 ISD4004芯片引脚(3)同相模拟输入(ANA IN+) 录音信号的同相输入端。输入放大器可用单端或差分驱动。单端输入时,信号由耦合电容输入,最大幅度为峰-峰值32mV,耦合电容和本端的3K电阻输入阻抗决定了芯片频带的低端截止频率。差分驱动时,信号最大幅度为峰-峰值16mV。(4)反相模拟输入(ANA IN-) 差分驱动时,这是录音信号的反相输入端。信号通过耦合电容输入,最大幅度为峰-峰值16mV。 (5)音频输出(AUD OUT) 提供音频输出,可驱动5K的负载。 (6)片选() 此端为低,即向ISD4004芯片发送指令,两条指令之间为
16、高电平。 (7)串行输入(MOSI) 此端为串行输入端,主控制器应在串行时钟上升沿之前半个周期将数据放到本端,以供输入。 (8)串行输出(MISO) 此端为串行输出端,芯片未被选中时,本端呈高阻态。(9)串行时钟(SCLK) 时钟输入端,由主控制器产生,用于同步MOSI 和MISO的数据传输。数据在SCLK上升沿锁存到芯片,在下降沿移出芯片。 (10)中断() 本端为漏极开路输出。芯片在任何操作(包括快进)中检测到EOM或OVF时,本端变低并保持。中断状态在下一个SPI周期开始时清除。中断状态也可用RINT指令读取(OVF标志指示芯片的录/放操作已到达存储器的末尾;EOM标志只在放音中检测到内
17、部的EOM标志时,此状态位才置1)。 (11)行地址时钟(RAC) 漏极开路输出。每个RAC周期表示芯片存储器的操作进行了一行(ISD4004系列中的存储器共2400行)。该信号保持高电平175ms,低电平25ms。快进模式下,RAC 218.75s是高电平,31.25s为低电平。该端可用于存储管理技术。 (12)外部时钟(XCLK) 本端内部有下拉元件。芯片内部的采样时钟在出厂前已调校,误差在1%以内。商业级芯片在整个温度和电压范围内, 频率变化在2.25%以内。工业级芯片在整个温度和电压范围内,频率变化在4%以内,此时建议使用稳压电源。若要求更高精度,可从本端输入外部时钟。由于内部的防混淆
18、及平滑滤波器已设定,故上述推荐的时钟频率不应改变。输入时钟的占空比无关紧要,因内部首先进行了分频。在不外接时钟时,此端必须接地。(13)自动静噪(AM CAP) 当录音信号电平下降到内部设定的某一阈值以下时,自动静噪功能使信号衰弱,这样有助于滤除无信号(静音)时的噪声。通常本端对地接1F的电容,构成内部信号电平峰值检测电路的一部分。检出的峰值电平与内部设定的阈值作比较,决定自动静噪功能的翻转点。大信号时,自动静噪电路不衰减,静音时衰减6dB。1F 的电容也影响自动静噪电路对信号幅度的响应速度。本端接VCCA则禁止自动静噪。3.1.4 操作规则(1)串行外设接口 ISD4000系列语音芯片工作于
19、SPI串行接口。SPI协议是一个同步串行数据传输协议,设定微控制器的SPI移位寄存器在SCLK的下降沿将数据送至MISO引脚。以ISD4004为例,协议的具体内容如下:所有串行数据传输开始于下降沿。在传输期间必须保持低电平,在两条指令之间则保持高电平。数据在时钟上升沿移入,在下降沿移出。变低,输入指令和地址后,ISD4004才能开始录/放操作。指令格式是(八位控制码)加(十六位地址码)。ISD4004的任何操作如果遇到EOM或OVF,则产生一个中断,该中断状态在下一个SPI周期开始时被清除。使用“读”指令使中断状态位移出ISD4004的MISO引脚时,控制及地址数据也应同步从MOSI端移入。因
20、此,要注意移入的数据是否与器件当前进行的操作兼容。当然,也允许在一个SPI周期里,同时执行读状态和开始新的操作(即新移入的数据与器件当前的操作可以不兼容)。所有操作在运行位(RUN)置1时开始,置0时结束。所有指令都在端上升沿开始执行。(2)信息快进 用户不必知道信息的确切地址就能快进跳过一条信息。信息快进只用于放音模式,放音速度是正常的1600倍,遇到EOM后停止,然后内部地址计数器1,指向下一条信息的开始处。(3)上电顺序 器件延时TPUD(8KHz采样时,约为25ms)后才能开始操作。因此,用户发完上电指令后,必须等待TPUD,才能发出下一条操作指令。例如,从00处放音,应遵循如下时序:
21、发POWER UP命令;等待TPUD(上电延时);发地址值为00的SET PLAY命令;发PLAY命令。器件会从00地址开始放音,当出现EOM时,立即中断,停止放音。如果从00处录音,则按以下时序:发POWER UP指令;等待TPUD(上电延时);发POWER UP命令;等待2倍TPUD;发地址值为00的 SET REC命令;发REC命令。器件便从00地址开始录音,一直到出现OVF(存储器末尾)时,录音停止。(4)指令码表3.1 ISD4004的指令码指令控制码操作POWERUP00100xxx上电:等待TPUD后可以工作SETPLAY11100xxx从指定地址开始放音PLAY11110xxx
22、从当前地址开始放音SETREC10100xxx从指定地址开始录音REC10110xxx从当前地址开始录音SETMC11101xxx从当前地址开始快进MC11111xxx执行快进,直到EOMSTOP0x110xxx停止当前操作STOPWRDN0x01xxxx停止当前操作并掉电RINT0x110xxx读状态OVF和EOM注:快进只能在放音操作开始时选择。(5)SPI端口的控制位MOSIMISOOOC3C4XC0C2OVFEOMP0P15000000C1XXA15A0快进模式操作是否使用指令地址电源控制录/放模式允许/禁止操作图3.3 ISD4004的SPI控制位(6)SPI控制寄存器 SPI控制寄
23、存器控制器件的每个功能,如录音、放音、信息检索(快进)、上电/掉电、开始/停止操作、忽略地址指针等。表3.2 ISD4004的SPI控制寄存器控制位值功能控制位值功能RUN10允许/禁止操作开始停止PU10电源控制上电掉电P/10录/放模式放音录音IAB10是否使用指令地址忽略输入地址寄存器内容使用输入地址寄存器内容MC10快进模式允许禁止P15-P0行指针寄存器输出A15-A0输入地址寄存器注:IAB置0时,录/放操作从A9A0地址开始。为了能连贯地录/放到后续的存储空间,在操作到达该行末之前,应发出第二个SPI指令将IAB置1,否则器件会在同一地址上反复循环。这个特点对语音提示功能很有用。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 论文 基于 单片机 公交车 自动 报站 设计
链接地址:https://www.31ppt.com/p-3980463.html