公交车自动报站系统文档格式.docx
- 文档编号:19438740
- 上传时间:2023-01-06
- 格式:DOCX
- 页数:43
- 大小:592.03KB
公交车自动报站系统文档格式.docx
《公交车自动报站系统文档格式.docx》由会员分享,可在线阅读,更多相关《公交车自动报站系统文档格式.docx(43页珍藏版)》请在冰豆网上搜索。
附录…………………………………………………………………………………………(16)
1引言
1.1本课题研究的意义
现今社会,人口多、流动大,公交事业关乎到大多数城市居民的出行,但公交车上的报站系统依然无法满足大家对其的要求。
由于公交车上普遍使用的人工按键报站会出现报站不准确。
并且每次报站时都需要由驾驶员对报站器进行手动操作,但是在车辆起动与进站时,往往是路面情况最复杂的时候,驾驶员不仅对行驶中的汽车进行起动或制动等操作,而且还要兼顾报站系统的操作,给行驶中的车辆带来很大的安全隐患。
所以要求我们要设计出智能的公交报站系统来解决上述问题。
尽管现在已经有些大城市的某些公交车上已经采用GPS定位系统自动报站,但由于其成本比较高,普通中小城市难以负担,难以推广普及。
近年来微控制器控制技术迅猛发展,广泛应用于诸多领域。
由于微控制器具有可编程性及优良的存储扩展性等许多优点,因此产生了用微控制器中的单片机来设计实现公交车辆的自动报站系统的想法。
为了实现智能城市公交车的自动报站系统的设计,本次论文设计研究了一套低廉、高性能的、智能的基于51系列单片机的智能城市公交车自动报站系统。
1.2AT89C52单片机介绍
随着电子信息技术的日益发展,微控制技术已成为计算机技术中的一个独特的分支,微控制器单片机的应用领域也越来越广泛,特别是在工业智能化中扮演着重要的角色。
实际上,微控制器单片机几乎在人们生活的各个领域都表现出强大的生命力,使微控制器单片机的应用范围达到了前所未有的广度和深度。
单片机的出现尤其对电路工作者产生了观念上的冲击。
过去经常采用模拟电路、数字电路实现的电路系统,现在相当大一部分可以用单片机予以实现,传统的电路设计方法已演变成软件和硬件相结合的设计方法,而且许多电路设计问题将转化为纯粹的程序设计问题。
诚然,单片机的应用意义远不限于它的应用范畴或由此带来的经济效益,更重要的是它已从根本上改变了传统的控制方法和设计思想。
是控制技术的一次革命,是一座重要的里程碑。
单片机种类繁多,8位单片机有IntelMCS-51系列、PIC系列等,16位单片机有IntelMCS-96系列等。
在本系统中,8位单片机就能满足系统的设计需要。
目前的8位单片机中,以IntelMCS-51系列单片机的品种最多,接口芯片以及应用软件也非常丰富。
ATMEL公司推出的AT89C51单片机是一种以80C51为内核的低功耗、高性能的8位COMS单片机。
它内部集成了4KB闪烁可编程可擦除只读存储器(EPEROM),这种存储器可以反复擦除1000次之多,使程序的调试非常方便。
同时AT89C51具有128B内部RAM,32位可编程I/O线,2个16位定时器/计数器,5个中断源,具有低功耗闲置和掉电两种省电模式。
选用AT89C51单片机作为公交车自动报站系统的中央处理器,完全能够满足系统的需要。
而且这种单片机对开发设备的要求很低,开发时间也大大缩短。
2设计要求
用AT89C52单片机来设计一个公交车自动报站系统。
要求用遥控模拟实现当公交车靠近站点时可以用文字来显示站名,同时相应显示灯亮、有报警等功能。
3方案分析与论证
3.1无线收发模块的分析与论证
方案一:
无线接入点。
由无线AP构成,通信的效果好,数据传送量大,但是其成本比较高,主要用于宽带家庭、大楼内部、校园内部、园区内部以及仓库、工厂等需要无线监控的地方
方案二:
GSM小型系统
第二种方案是运用GSM小型系统,这套系统主要是通过GSM模块,利用短信的形式将各种数据信息按规定的协议编码发送至GSM网络,通过GSM网络进行数据的传送,这套系统对我们这次试验来说有一个最大的问题,就是它的成本,GSM模块的价格很高,在查证之后才知道一个模块就要300~500元,不符合这次低成本的要求,并且其通信协议部分比较复杂,将增大设计的工作量。
方案三:
PT2262/PT2272-L4集成芯片。
该芯片是一对带地址、数据编码功能的红外遥控发射/接收芯片。
其中发射芯片PT2262-IR将载波振荡器、编码器和发射单元集成于一身,使发射电路变得非常简洁。
该方案采用低功耗、低价位、通用编解码电路,发送用高β的达林顿管,所以在灵敏度和抗干扰性方面有保障。
方案四:
红外遥控。
可以用现有的简单的遥控装置,我们只要了解其编解码原理,就可以采用现成的简易装置来模拟应用。
以上四种都是可供参考的方案,在考虑了诸多因素之后,决定采用方案四。
虽然在软件解码方面比较复杂,但其工作稳定,可靠性高。
3.2控制模块的分析与论证
采用GPRS作为本次系统的控制器。
GPRS即“通用分组无线业务”(GeneralPacketRadioService的英文简称)是在现有GSM网络上开通的一种新型的分组数据传输技术.相对于原来GSM以拨号接入的电路交换数据传送方式GPRS是分组交换技术具有“永远在线”、“自如切换”、“高速传输”等优点。
GPRS可作为实现各种复杂的逻辑功能,规模大,但是使用繁杂,并且该模块成本非常高。
采用嵌入式ARM的32位单片机LPC2138。
LPC2138芯片速度快、功能强大,芯片内部资源丰富,易于数据的采集,不但具有一般单片机的所有功能,还内置了PWM,且具有很强的串行通信功能,引脚非常丰富,功耗低,稳定性好,易于功能扩展,其在线仿真技术,软硬件调试方便,但ARM板成本较高,不适合本次设计的经济性。
方案三:
采用AT89C52单片机控制,它简单易用、成本低廉,使用广泛,相关资料丰富,软件编程自由度大,可用编程实现各种控制算法和逻辑控制,采用AT89C52单片机为控制核心,系统功能强大,资源配置灵活,运行可靠稳定,是一套相对完善工业低压控制系统,采用该芯片完全可以实现我们的设计要求。
综上所说ARM芯片虽然速度快、功能强但成本高,且用51单片机也能很好的控制,所以该系统的设计选用单片机编程即可,我们所以选择方案三。
4系统硬件设计
4.1系统硬件设计
本设计采用红外遥控模块来实现公交车相关无线数据的收发,采用AT89C52单片机为控制核心,实现智能公交车的自动报站、显示、语音提醒等功能。
4.1.1系统总体方框图
图4.1系统总体方框图
4.2单元电路的设计、分析
4.2.1遥控收发电路
远程遥控技术又称为遥控技术,是指实现对被控目标的遥远控制,在工业控制、航空航天、家电领域应用广泛。
红外遥控是一种无线、非接触控制技术,具有抗干扰能力强,信息传输可靠,功耗低,成本低,易实现等显著优点,被诸多电子设备特别是家用电器广泛采用,并越来越多的应用到各个领域。
红外遥控的发射电路是采用红外发光二极管来发出经过调制的红外光波;
红外接收电路由红外接收二极管、三极管或硅光电池组成,它们将红外发射器发射的红外光转换为相应的电信号,再送后置放大器。
发射机一般由指令键(或操作杆)、指令编码系统、调制电路、驱动电路、发射电路等几部分组成。
当按下指令键或推动操作杆时,指令编码电路产生所需的指令编码信号,指令编码信号对载波进行调制,再由驱动电路进行功率放大后由发射电路向外发射经调制定的指令编码信号。
接收电路一般由接收电路、放大电路、调制电路、指令译码电路、驱动电路、执行电路(机构)等几部分组成。
接收电路将发射器发出的已调制的编码指令信号接收下来,并进行放大后送解调电路,解调电路将已调制的指令编码信号解调出来,即还原为编码信号。
指令译码器将编码指令信号进行译码,最后由驱动电路来驱动执行电路实现各种指令的操作控制(机构)。
如图4.2所示。
发射部分包括键盘矩阵、编码调制、LED红外发送器;
接收部分包括光、电转换放大器、解调、解码电路。
图4.2红外遥控系统框图
遥控发射器专用芯片很多,根据编码格式可以分成两大类,这里我们以运用比较广泛,解码比较容易的一类来加以说明,现以日本NEC的uPD6121G组成发射电路为例说明编码原理。
当发射器按键按下后,即有遥控码发出,所按的键不同遥控编码也不同。
这种遥控码具有以下特征:
采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制的“0”;
以脉宽为0.565ms、间隔1.685ms、周期为2.25ms的组合表示二进制的“1”,其波形如图4.3所示。
图4.3遥控码的“0”和“1”
上述“0”和“1”组成的32位二进制码经38kHz的载频进行二次调制以提高发射效率,达到降低电源功耗的目的。
然后再通过红外发射二极管产生红外线向空间发射,如图4.4所示。
图4.4遥控信号编码波形图
UPD6121G产生的遥控编码是连续的32位二进制码组,其中前16位为用户识别码,能区别不同的电器设备,防止不同机种遥控码互相干扰。
该芯片的用户识别码固定为十六进制01H;
后16位为8位操作码(功能码)及其反码。
UPD6121G最多额128种不同组合的编码。
遥控器在按键按下后,周期性地发出同一种32位二进制码,周期约为108ms。
一组码本身的持续时间随它包含的二进制“0”和“1”的个数不同而不同,大约在45~63ms之间。
当一个键按下超过36ms,振荡器使芯片激活,将发射一组108ms的编码脉冲,这108ms发射代码由一个起始码(9ms),一个结果码(4.5ms),低8位地址码(9ms~18ms),高8位地址码(9ms~18ms),8位数据码(9ms~18ms)和这8位数据的反码(9ms~18ms)组成。
如果键按下超过108ms仍未松开,接下来发射的代码(连发代码)将仅由起始码(9ms)和结束码(2.5ms)组成。
解码的关键是如何识别“0”和“1”,从位的定义我们可以发现“0”、“1”均以0.56ms的低电平开始,不同的是高电平的宽度不同,“0”为0.56ms,“1”为1.68ms,所以必须根据高电平的宽度区别“0”和“1”。
如果从0.56ms低电平过后,开始延时,0.56ms以后,若读到的电平为低,说明该位为“0”,反之则为“1”,为了可靠起见,延时必须比0.56ms长些,但又不能超过1.12ms,否则如果该位为“0”,读到的已是下一位的高电平,因此取(1.12ms+0.56ms)/2=0.84ms最为可靠,一般取0.84ms左右均可。
接收电路如图4.5所示。
PC3388是红外接收头,1脚是信号端,2脚是地端,3脚是电源端。
当电路正常工作时,发光二极管发亮。
测试时可以观察D1的状态来判断是否有接收到信号。
图4.5红外接收电路
4.2.2AT89C52控制的LCD12864电路
LCD12864介绍
LCD12864在市面上主要分为两种,一种是采用st7920控制器的,它一般带有中文字库字模,价格略高一点。
另一种是采用KS0108控制器,它只是点阵模式,不带字库。
我的这块就是KS0108控制器不带汉字库的。
LCD12864模块的20个引脚定义如下:
1.Vss
逻辑电源地
2.VDD 逻辑电源正 5v
3.V0 LCD驱动电压
4.RS 数据/指令选择:
高电平为数据,低电平为指令
5.R/W 读/写选择:
高电平为读数据,低电平为写数据
6.E 读写使能,高电平有效,下降沿锁定数据
7.DB0 数据输入输出引脚
8.DB1 数据输入输出引脚
9.DB2 数据输入输出引脚
10.DB3 数据输入输出引脚
11.DB4 数据输入输出引脚
12.DB5 数据输入输出引脚
13.DB6 数据输入输出引脚
14.DB7 数据输入输出引脚
15.CS1 片选择号,低电平时选择前64列
16.CS2 片选择号,低电平时选择后64列
17.RET 复位信号,低电平有效。
18.VEE 输出-15v电源给V0提供驱动电源
19.A 背光电源LED正极
20.K 背光电源LED负极
图4.6是LCD12864的内部控制结构:
图4.6LCD12864的内部控制结构图
由上图可以看出12864屏是分为左、右两块控制的。
所有对屏幕的操作要受片选CS1、CS2来控制。
表4-1是屏幕操作数据与屏幕点阵的排布关系图。
表4-1屏幕操作数据与屏幕点阵的排布关系图
从上表可以看出数据按字节在屏幕上是竖向排列的。
上方为低位,下方为高位。
因此在横向上(也就是Y)就一共是128列数据。
分为CS1和CS2两个64列来写入。
在竖方向上(也就是X)一字节数据显示8个点,竖向64个点分为8个字节,称做8页(X=0-7)。
了解这些后我们就知道要满屏显示一张图就要从y=0…127、X=0…7一共写128×
8=1024个字节的数据。
同样在AT89S51中存一张图就要1024个字节的空间。
表4-2为其指令表。
表4-2指令表
显示开关控制(DISPLAYON/OFF)
D=1:
开显示(DISPLAYON)
意即显示器可以进行各种显示操作
D=0:
关显示(DISPLAYOFF)意即不能对显示器进行各种显示操作
设置显示起始行(DISPLAYSTARTLINE)
A5~A0
6位地址自动送入Z地址计数器,起始行的地址可以是0~63的任意一行。
例如:
选择A5~A0是62,则起始行与DDRAM行的对应关系如下:
DDRAM行:
6263
0
1
2
3·
·
2829
屏幕显示行:
3
4
5
6·
3132
设置页地址(SETPAGE“XADDRESS”)
所谓页地址就是DDRAM的行地址,8行为一页,模块共64行即8页,A2~A0表示0~7页。
读写数据对地址没有影响,页地址由本指令或RST信号改变复位后页地址为0。
页地址与DDRAM的对应关系见DDRAM地址表。
设置Y地址(SETYADDRESS)
此指令的作用是将A5~A0送入Y地址计数器,作为DDRAM的Y地址指针。
在对DDRAM进行读写操作后,Y地址指针自动加1,指向下一个DDRAM单元。
读状态(STATUSREAD)
当R/W=1
D/I=0时,在E信号为“H”的作用下,状态分别输出到数据总线(DB7~DB0)的相应位。
BF:
前面已叙述过(见BF标志位一节)。
ON/OFF:
表示DFF触发器的状态(见DFF触发器一节)。
RST:
RST=1表示内部正在初始化,此时组件不接受任何指令和数据。
写显示数据(WRITEDISPLAYDATE)
D7~D0为显示数据,此指令把D7~D0写入相应的DDRAM单元,Y地址指针自动加1。
读显示数据(READDISPLAYDATE)
此指令把DDRAM的内容D7~D0读到数据总线DB7~DB0,Y地址指针自动加1。
下图4.7为AT89C52控制的LCD12864显示电路。
图4.789C52控制的LCD12864显示电路
4.2.3ISD4004语音录放电路
ISD4004芯片无须A/D转换和压缩就可以直接储存,没有A/D转换误差,具有可多次重复录放、存储时间长,使用时不需扩充存储器、所需外围电路简单。
利用AT89C51控制ISD4004芯片的过程。
外接输入和输出端口。
通过系统功能模块各部分的连接及软硬件设计可以实现数字化语音的存储和回放。
ISD4004语音芯片采用CMOS技术,内含晶体振荡器、防混叠滤波器、平滑滤波器、自动静噪、音频功率放大器及高密度多电平闪烁存储阵列等。
因此只需要很少的外围器件就可构成一个完整的声音录放系统。
芯片设计是基于所以操作由微控制器控制。
操作命令通过串行通信接口(SPI或Microwire)送入。
采样频率可谓4.0HZ、5.3HZ、6.4HZ、8.0HZ,频率越低,录放时间越长。
而音质有所下降。
片内信息存于内存储器中,可在断电情况下保存100年,反复录音10万次。
器件工作电压为3V,工作电流为25~30mA。
单片机录放语音时间8~16min。
图4.8为ISD4004内部框图、图4.9为ISD4004的引脚排列。
图4.8ISD4004内部框图
图4.9ISD4004的引脚排列
引脚12、27为电源线;
4、11为地线;
17为同相模拟输入端,输入放大器可用单端或差分驱动;
16为反相模拟输入端。
音频输出(引脚13)提供音频输出,可驱动5K的负载;
引脚1为片选,此端为低,即向ISD4004芯片发送指令,两条指令之间为高电平。
MOSI为串行输入端口,MISO为串行输出端口,串行时钟SCLK由主控制器产生,用于同步MOSI和MISO的数据传输,数据在SCLK上升沿锁存到ISD,在下降沿移出ISD。
中断(INT)为漏极开路输出端口,ISD在任何操作(包括快进)中检测到EOM或IVF时,本端变低并保持。
中断状态在下一个SPI周期开始时清除。
中断状态也可用RINT指令读取。
每个RAC周期表示ISD存储器的操作进行了一行。
该信号保持高电平的时间为175ms,低电平时间为25ms。
在快进模式,RAC可保持高电平218.75微秒,低电平为31.25微秒。
ISD4004工作于SPI串行接口。
SPI协议是一个同步串行数据传输协议,协议假定微控制器的SPI以为寄存器在SCLD的下降沿动作,因此,对ISD4004而言,在时钟上升沿锁存MOSI引脚数据,在下降沿将数据送至MISO引脚。
如图4.11,在语音芯片的外围只需接一个EMC输入电路和一个功率放大器的输出电路,就构成了一个语音录放系统。
ISD4004的27脚接的是由+5V电源改装成的+3V电源。
图4.11ISD4004语音录放电路
4.2.4本设计总原理图
通过以上单元电路的分析我们已经对各单元电路的硬件都有了一定的了解。
下面对其总体实现情况作一个简单的说明。
红外接收电路接收遥控信息并解码,解码后把信息通过外部中断1与单片机通信。
单片机处理后,启动LCD12864及ISD4004模块显示播报站名。
P2.0~P2.4接LED1~LED5等5个指示灯,P2.5控制蜂鸣器。
PC3388的信号端连到AT89C52的外部中断1。
图4.12本设计总原理图
5系统软件设计
5.1系统流程图
5.1.1主程序流程图
功能:
通过按键来实现公交车的手动报站。
键1实现公交车站名的正顺序显示,键2实现公交车站名的逆显示,键3实现清屏,键4可以用来插入广告等。
图5.1主程序流程图
5.1.2定时器中断0服务子程序流程图
功能:
按键处理。
图5.2定时器中断0服务子程序流程图
5.1.3遥控接收程序流程图
判断接收到的数据是否正确。
图5.3遥控接收程序流程图
5.1.4定时中断1子程序流程图
解码来控制播报站点相应信息。
图5.4定时中断1子程序流程图
5.1.5外部中断1子程序流程图
通过外部中断1来实现红外的控制。
图5.5外部中断1子程序流程图
5.2程序设计
源程序见附录三
6系统测试
红外接收系统的测试可以通过观察发光二极管D1的状态来辨别该系统是否正常工作,如果接收到遥控信息,发光二极管点亮。
还可以用电压表来测试信号端的电压来判断接收系统是否正常工作,如果电压表上显示的电压小幅度摆动,说明接收正常。
按下遥控上的任意键,接收电路上的发光二极管D1发光,说明接收电路正常工作。
但是,译码不够准确,所以不能很好的按预定的顺序来显示报站。
预定的报站顺序是:
键1按下,LCD12864显示龙岩学院,LED1点亮;
键2按下,LCD12864显示曹溪金鹏,LED2点亮;
键3按下,LCD12864显示交警大队,LED3点亮;
键4按下,LCD12864显示人民医院,LED4点亮;
键5按下,LCD12864显示罗桥西站,LED5点亮。
报站的同时,蜂鸣器蜂鸣一声报警。
SB1按下:
如果是第1次按下,LCD12864显示龙岩学院,LED1点亮;
再按下,依次显示曹溪金鹏、交警大队、人民医院、罗桥西站。
SB2按下,如果是第1次按下,LCD12864显示罗桥西站LED5点亮;
再按下,依次显示人民医院、交警大队、曹溪金鹏、龙岩学院。
报站时,相应的指示灯点亮,蜂鸣器蜂鸣一声报警。
SB3按下,LCD12864清屏;
SB4按下,可以在LCD12864插入广告等。
测试基本达到设计要求,ISD4004语音芯片的调试尚未成功。
附录
附录一原理图
附录二PCB图
图189C52控制的LCD12864显示电路
图2ISD4004语音录放电路
附录三源程序
#include<
reg52.h>
/*****************************预定义**************************************/
#defineucharunsi
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 公交车 自动 报站 系统