毕业设计基于单片机的公交车自动报站系统.docx
- 文档编号:1666133
- 上传时间:2023-05-01
- 格式:DOCX
- 页数:65
- 大小:773.77KB
毕业设计基于单片机的公交车自动报站系统.docx
《毕业设计基于单片机的公交车自动报站系统.docx》由会员分享,可在线阅读,更多相关《毕业设计基于单片机的公交车自动报站系统.docx(65页珍藏版)》请在冰点文库上搜索。
毕业设计基于单片机的公交车自动报站系统
毕业设计
基于单片机的公交车自动报站系统
第一章绪论
1.1本课题的研究意义
近些年来,随着城市人口的不断增加,人们生活节奏的不断加快,公交车在大城市以及中小城市已经普及,并且有了日新月异的发展,在人民生活中起着重要作用,因此,公交车的正常运行与人们的正常生活息息相关。
传统公交车报站大多是由乘务人员来人工报站,但是因为方言的差异或者人多时语音嘈杂,这种方式不利于人民生活的和谐。
所以根据这种需要市面上产生流行了多种公交车报站器也方便人们的生活。
目前虽然现在在一些大城市的公交车上已经采用GPS定位系统自动报站,但其造价昂贵,难以在一些中小城市实现普及。
另外,现在也有一些城市正在使用的一种半自动语音报站系统,这种系统需要由司机在车子进出站的时候人工操作,由于这两个时间点往往是路面情况最复杂的时刻,因此也给行驶中的车辆带来了安全隐患。
所以本设计针对目前常见公交车报站系统的主要缺陷,研究介绍了一种基于单片机控制的公交车自动报站系统,实现在到站时的自动语音报站和LCD液晶显示,而且该系统造价廉价,可以在中小城市中普及。
1.2目前几种公交车报站器详细比较
公交车对社会影响巨大,对城市发展起着最基本的推动作用。
随着公交车的不断普及市面上也出现各种各样的公交车报站器,现在市面上流行的几种报站器主要有下列几种类型:
1.2.1GPS公交车自动报站器
利用GPS全球卫星定位系统的公交车报站系统,在司机座位后面隔板上,安装了一台15英寸的液晶电视和GPS信号接收器,安装了这套设备后,公交车在语音报站的同时,通过液晶电视还可以显示到站站名的字幕,这样如果没听清报站的话,通过显示屏,乘客也可以一目了然。
当出现紧急情况时,调度中心将会给公交车发出相应的信息,以短信的形式传送到显示屏上,同时车载台会发出相应的提示音;驾驶员也可以通过相应的工具进行回复。
目前在美国部分城市GPS卫星定位系统已经投入使用,国内也有此类产品的研制开发,其功能强大,系统稳定,但其投资昂贵,尤其是一些中小城市无法承受。
1.2.2手动式公交车自动报站器
手动式公交车自动报站器通过主机上的汉字显示器,显示当前车站名称,即将达到站名指示功能;通过主机屏幕的显示,可直观的观察到进站和下一站信息;通过按键,可播放进站,出站,服务用语等语音。
但是该种报站器需要由司机在车子进出站的时候人工操作,由于这两个时间点往往是路面情况最复杂的时刻,因此也给行驶中的车辆带来了安全隐患,不利于公交车的安全行驶。
1.2.3基于单片机的公交车自动报站系统
基于单片机的公交车自动报站系统,而这种系统又大致分为两种技术支持。
其中一种的技术关键是对车轮转轴的转角的脉冲进行计数,将计数值与预置值对比,即可确定报站时刻,达到准确自动的目的。
该方式应用单片机的高速计数器端口进行脉冲计数,以距离来控制报站时刻,首次实现了模糊控制,改变现有设备的不足。
做到简单实用自动化程度高。
传感器在公交车上的应用极大的提高了设备功能。
另外一种基于单片机的公交车自动报站系统就是利用编码解码芯片PT2262/PT2272进行解码编码,利用无线数传模块F05V/J05V和天线进行发射和接收来实现的。
在每个站牌上设置一个编码发送装置PT2262和无线数传模块F05V,通过公交车上设置的接收装置J05V和译码装置PT2272进行译码并传输到单片机。
发送装置按照延时3到5秒不断发送信号,公交车在距离站牌10到20米的时候就能接收到信号,然后根据程序来实现语音报站,LCD液晶显示。
这种报站系统软件编写比较简单,也容易修改,并且芯片价格低廉,大批生产能够获得比GPS系统达到更高的性价比,是公交车自动报站系统的较佳选择。
综合上述各种公交车自动报站系统,本设计选择了基于单片机的公交车自动报站系统,并利用无线数传模块来实现公交车的自动报站。
第二章系统方案的确定
2.1系统主要要实现的功能
该系统应实现无线信号收发确认,到站时的公交车站名的液晶显示以及自动语音提示。
系统的硬件设计中应充分考虑了性价比,用最少的器件设计出满足要求的硬件电路。
本次设计主要是完成实现基本的仿真,该系统仿真电路的总体结构以52单片机为核心,由模拟接收电路、LCD(LiquidCrystalDisplay,液晶显示屏)显示电路等组成。
2.2无线传输模块的选择
PT2262/PT2272集成芯片。
方案采用低功耗、低价位、通用编解码电路,发送用高β的达林顿管,所以在灵敏度和抗干扰性方面有保障。
无线数传模块F05V/J05V(典型遥控应用电路):
F05V采用的SMT工艺,优点是低电压微功率、体积小、低功耗发射模块,适合单片机数据传输以及短距离无线遥控报警。
J05V作为接收模块优点是低电压、体积小,两者连接在PT2262/2272配合使用
2.3控制模块的选择
所学专业课中学习过51单片机,并且单片机体积小,重量轻,具有很强的灵活性而且价格便宜,所以控制模块选用单片机。
2.4液晶显示模块及语音模块的选择
随着科学技术的日益发展和进步,微型计算机已经在很多领域得到广泛应用。
LCD与微机技术结合,比传统的LED显示效果更佳。
所以结合公交车报站的使用特点和运营环境,设计一种由单片机控制、LCD显示的公交车报站显示系统。
公交车报站显示系统的设计应用单片机,LCD显示,使到站信息及提示信息以显示的方式告知市民,为市民提供人形化、完美的服务。
所以本次设计中重点使用了LCD1602液晶显示模块
鉴于使用Proteus仿真,在仿真中使用蜂鸣器代替语音模块,使用蜂鸣器的连续间断发声作为提示。
为了以后实际需要,在文章中介绍了常用的语音模块ISD4004。
2.5系统整体硬件电路的确定
根据系统要实现的功能,以及各个模块的选择,确定了整个报站系统主要组成部分分为两个模块。
发射模块即电子站牌部分主要由AT89C51单片机,PT2262编码装置,无线传输模块F05V和天线组成。
接收控制模块即车载部分是主要部分,选择AT89C51为核心的控制器,PT2272译码装置和无线数传模块J05V以及天线作为接收信号装置,语音录放芯片ISD4004组成的语音播放电路以及LCD1602液晶显示屏构成液晶显示模块。
系统各部分框图如下图所示。
图2-1公交车站牌发射部分方框图
图2-2公交车车载接收部分方框图
公交车自动报站系统就是利用编码解码芯片PT2262/PT2272进行解码编码,利用无线数传模块F05V/J05V和天线进行发射和接收来实现的。
在每个站牌上设置一个编码发送装置PT2262和无线数传模块F05V,通过公交车上设置的接收装置J05V和译码装置PT2272进行译码并传输到单片机。
发送装置按照延时3到5秒不断发送信号,公交车在距离站牌10到20米的时候就能接收到信号,然后根据程序来实现语音报站,LCD液晶显示。
发射部分通过编码芯片PT2262,无线数传模块F05V和天线不停发射周期信号,发射的一个周期的内容包括本站点的地址、站名等信息的编码信息。
当公交车行驶进人该信号范围内,车载部分的通过天线,经无线数传模块J05V和PT2272译码就会接收到这个编码信息,单片机将编码信息处理后,向显示模块和语音模块发送对应的信息,就能实现液晶显示屏显示对应的站名和语音报站,完成自动报站。
第三章系统功能模块详细介绍
3.1单片机AT89C51
随着计算机技术的发展,单片机技术已成为计算机技术中的一个独特的分支,单片机的应用领域也越来越广泛,特别是在工业控制和仪器仪表智能化中扮演着极其重要的角色。
纵观单片机发展的30多年来,单片机正往多功能、高性能、高速度、低电压、低价格、低噪声、低功耗、小体积、大容量、专用化和外围电路内装化的方向发展。
单片机的出现使的过去经常采用模拟电路、数字电路实现的电路系统,转变成现在用单片机予以实现,并且传统的电路设计方法演变成硬件和软件相结合的设计方法,并且许多电路设计问题将转化为纯粹的程序设计问题。
诚然,单片机的应用意义远不限于它的应用范畴或由此带来的经济效益,更重要的是它已从根本上改变了传统的控制方法和设计思想,是控制技术的一次革命,是一座重要的里程碑
微控制器通常将主要的组成部分集成在一个芯片上,就是把中央处理器(CPU)、随机存储器(RAM)、只读存储器(ROM)、中断系统、定时器/计数器以及I/O接口电路等主要部件集成在一个芯片上。
AT89C51俗称单片机,可擦除只读存储器可以反复擦除1000次。
主要特性:
1、一个CPU,一个片内振荡器以及时钟电路,
2、4K(RAM)程序存储器,
3、128B(ROM)数据存储器
4、21个特殊功能寄存器
5、数据能够保存的时间:
10年
6、与MCS-51指令相兼容
7、32个可编程I/O线(4个8位并行I/O端口)
8、16位定时器/计数器有两个
9、5个中断源,两个优先级嵌套结构
10、一个可编程全双工串行接口
11、低功耗的闲置和掉电模式
12、片内振荡器和时钟电路
尽管目前单片机种类多,各类单片机的指令系统各不相同,功能各有所长,但市场占有率最高的是51系列单片机。
单片机体积小,重量轻,具有很强的灵活性而且价格便宜,得到越来越广泛的运用。
例如工业控制领域、家电产品,智能化仪器仪表,计算机外部设备,特别是机电一体化产品中都有重要的用途,其中的51单片机系列发展规模最大。
51单片的运用广泛,并且具有优异的性能价格比,集成度高,体积小,有很高的可靠性,并且控制功能强。
所以是核心控制期间的最佳选择。
图3-1AT89C51单片机引脚图
3.1.1管脚说明
下面对设计中用到的一些管脚进行简要的介绍:
VCC:
供电电压,一般接+5V电源正端。
GND:
接地,一般接+5V电源地端。
P0口(39~32脚):
输入输出线P0.0~P0.7统称为P0口。
可以用作准双向输入/输出口使用,但由于内部无上拉电阻,一般外加上拉电阻:
在进行片外存储器扩展或I/O扩展时,P0口作为分时服用的低8位地址总线和双向数据总线。
P1口(1~8脚):
P1口作为准双向I/O口使用。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
P2口(21~28脚):
P2口也可作为准双向I/O口,当进行片外村春气扩展或I/O口扩展时,P2口用作高8位地址总线。
P3口(10~17脚):
P3口作为准双向I/O口使用外,每一个端口还具有第二功能。
P3口也可作为AT89C51的一些特殊功能口,如下表所示:
口管脚备选功能
P3.0RXD(串行口输入端)
P3.1TXD(串行口输出端)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(定时器/计时器0计数脉冲输入)
P3.5T1(定时器/计时器1计数脉冲输入)
P3.6/WR(外部数据存储器写选通信号输出)
P3.7/RD(外部数据存储器读选通信号输出)
RST(9脚):
复位输入。
当振荡器复位器件时,要保持10ms高电平时间才能保证有效的复位。
ALE/PROG(30脚):
地址锁存允许/编程线。
采用了地址/数据总线复用技术。
/PSEN(29脚):
片外程序存储器读选通信号输出端,低电平有效。
/EA/VPP(31脚):
片外程序存储器选用端,低电平有效。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
外接晶体振荡器一端。
XTAL2:
外接晶体振荡器另一端。
3.1.2外部晶振的选择
AT89C51的内部有一个用于构成振荡器的高增益反相放大器。
通过XTAL1,ATAL2外部接上一片作为反馈元件的晶体,与C1和C2构成了并联谐振电路,使其构成自激振荡器。
电容的值通常30PF。
具体的接线电路如图3—2外部晶振电路:
AT89C51单片机外接的是12MHZ的晶振,则机器周期为1us。
图3-2外部晶振电路
3.1.3复位电路
复位的作用是使程序自动从0000H开始执行,因此我们只要在AT89C51单片机的RST端加上一个高电平信号,并持续10ms以上即可,RST端接有一个上电复位电路,它是由一个小的电容和一个接地的电阻组成的。
按键复位电路另外采用一个按钮来给RST端加上高电平信号。
本设计采用放电型的进行人工复位的电路,如图按键复位电路,上电时C3通过R2充电,维持宽度大于10ms的正脉冲,就可以完成复位操作。
当C3结束充电后,RST端出现低电平,这是CPU将正常的工作。
在本次设计中如果需要按键进行复位,就按下按钮BUTTON3,C3通过BUTTON3和R2放电,RST端电位将会上升到高电平,从而实现人工复位,BUTTON3松开后C3重新充电,当结束充电后,CPU将会重新工作。
下图中,R2是限流电阻,阻值不可以过大,否则不能起到复位作用。
图3-3按键复位电路
3.1.4按键电路设计
对于此设计来说要准确的显示设计所要对应的信息,每按下一次按键要显示所要显示的信息。
这按键是主要用来模拟无线信号的收发而设计的,即PT2262/PT2272的无线信号收发。
功能的实现主要是通过程序来实现,BUTTON1控制顺向报站,当报站系统启动后,按下BUTTON1开始按预先设置好的站名进行顺向报站,本设计设置的是从站名“AAAAAAA”到“EEEEEEE”依次报站,每次按键按下时实现LED提示灯亮,蜂鸣器连续鸣叫7次。
BUTTON2按键是实现公交车逆向返回时的报站,即从站名“EEEEEEE”到“AAAAAAA”的依次报站,也满足每次按键按下时实现LED提示灯亮,蜂鸣器连续鸣叫7次。
图3-4按键设置
如果使用过程中出现错误时,可以使用按键复位,重现选择正向或者逆向报站。
同时,为了防止一次按键产生站名的漏报,在软件设计中使用了延时函数,防止站名的漏报。
3.2无线收发模块PT2262/PT2272
PT2262/PT2272是一种CMOS工艺制造的低功耗低价位通用编解码电路,PT2262/PT2272最多可有12位(A0—A11)三态地址端管脚(悬空,接高电平,接低电平),任意组合可提供53144l(212)地址码,PT2262可有6位(D0~D5)的数据端的管脚,设计可以设定地址码以及数据码在第17脚进行串行输出,以便于应用于无线的遥控发射的电路。
。
3.2.1PT2262/PT2272引脚图
在PT2262/2272这种器件的使用,根据资料一般将会使用8位的地址码和4位的数据码。
PT2262编码电路引脚的选择是:
第l~8脚作为地址的设定脚,他可以选择三种状态:
悬空、接正电源、接地。
3的8次方为6561,即地址编码的不重复度是6561组。
PT2262/2272的配对使用是要求发射端PT2262和接收端PT2272的地址编码需要完全相同,用户如果想改变地址编码,只要将PT2262和PT2272设置相同即可,两者的地址的编码相同时,PT2272输出端将会输出大约4V左右的互锁的高电平的控制信号。
图3-5PT2262/PT2272引脚图
PT2262/PT2272引脚基本类似,作为无线收发译码解码器,两者配对使用引脚连接必须一致。
下面接收PT2262/PT2272的引脚说明图
表3-1PT2262引脚说明
名称
管脚
说明
A0~A11
1-8
10-13
地址管脚,用于进行地址编码,可置为“0”,“1”,“f”(悬空)
D0~D5
7-8
10-13
数据输入端,有一个为“1”即有编码发出,内部下拉
VCC
18
电源正端(+)
VSS
9
电源负端(-)
TE
14
编码启动端,用于多数据的编码发射,低电平有效
OSC1
16
振荡电阻输入端,与OSC2所接电阻决定振荡频率
OSC2
15
振荡电阻振荡器输出端
Dout
17
编码输出端(正常时为低电平)
参数名称
符号
工作条件
最小值
典型值
最大值
单位
工作电压
VD0
—
3
—
V
工作电流
ID0
VD0=12V停振
—
0.02
0.03
uA
A0-A11开路
输出
驱动电流
IOH
VD0=5V,VOH=3V
3
—
—
mA
VD0=8V,VOH=4V
6
VD0=12V,VOH=6V
10
输入
驱动电流
IOL
VD0=5V,VOH=3V
2
—
—
mA
VD0=8V,VOH=4V
5
VD0=12V,VOH=6V
9
—
—
表3-2PT2272引脚说明图
名称
管脚
说明
A0~A11
1-8
10-13
地址管脚,用于进行地址编码,可置为“0”,“1”,“f”(悬空),必须与2262一致,不然不解码
D0~D5
7-8
10-13
地址或数据管脚,当做为数据管脚时,只有在地址码与2262一致,数据管脚才能输出与2262数据端对应的高电平,否则输出为低电平
VCC
18
电源正端(+)
VSS
9
电源负端(-)
DIN
14
数据信号输入端,来自接收模块输出端
OSC1
16
振荡电阻输入端,与OSC2所接电阻决定振荡频率
OSC2
15
振荡电阻振荡器输出端
VT
17
解码有效确认输出端(常低)解码有效变成高电平(瞬态)
表3-3PT2262/PT2272工作参数
3.2.2PT2262/2272接线图以及工作原理
发射电路主要由AT89C51、编码模块PT2262、无线数传模块F05V和一片74LS04(六输入非门,实际上就是六个非门集成在一块74LS04里面了)构成,发射部分电路如图3-6所示。
接收电路主要由AT89C51、译码模块PT2272、无线数传模块J05V和一片74LS04构成,接收部分模拟电路如图3-7所示
图3-6PT2262发射部分模拟接线图
图3-7PT2272接收部分模拟接线图
发射部分主要产生一个周期的编码信号。
编码信号的内容包括起始标志、数据编码和结束标志,由于无线收发模块是四路的,即每次收发半个字节的数据所以一帧数据至少是16位的,其信息格式如表3-4所示。
表3-416位编码数据格式
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
D0
D1
D2
D3
D0
D1
D2
D3
D0
D1
D2
D3
D0
D1
D2
D3
4位起始标志
8位编码数据
4位起始标志
由上图可以看出每一帧数据需要四次才能发送完毕。
在实际应用中不需要编码信号不间断的发送,三秒钟或者五秒钟发送一次即可,因此程序里还需要有一段三秒或五秒的延时。
在公交车上设置的接收装置J05V和译码装置PT2272进行译码并传输到单片机,通过单片机判断车辆到达的站点信息,根据这个站点的信息进行语音播报以及液晶显示提示。
射频触发信号是以中断的的方式送入单片机的,硬件电路将这个控制信号与单片机的INT0口相连接,所以本段程序是一个外部中断0的子程序。
当射频信号到来时PT2272D的VT引脚端由低变高,经非门送到单片机INT0,使单片机跳到外部中断O子程序。
3.2.3无线数传模块F05V/J05V
无线数传模块F05V/J05V(典型遥控应用电路):
F05V采用的SMT工艺,优点是低电压微功率、体积小、低功耗发射模块,适合单片机数据传输以及短距离无线遥控报警。
J05V作为接收模块优点是低电压、体积小,两者连接在PT2262/2272配合使用
F05V引脚定义:
1=正电源3V;2=接地;3=数据信号输入;Y=外接天线。
J05V引脚定义:
1=正电源3V;2=接地;3=数据信号输出;Y=外接天线。
图3-8f05V/J05V引脚接线图
3.3显示模块LCD1602
我们知道的用来显示的器件很多。
比如数码管、LCD、点阵式LED。
数码管只能显示数字,LCD可以显示汉字、符号、数字和图形,为了报站器的人性化
LCD1602能够同时显示16列2行的字符,可以显示数字、字母、以及各种符号。
这种液晶模块由若干个5X7或者5X11等点阵字符位组成,这种点阵字符显示字符并且自带间隔,也就是有自然的间距和行间距,也是因为这个特性不能很好地显示图形(用自定义CGRAM,显示效果也不好)。
市面上字符液晶大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型的液晶。
3.3.1排阻Respack-8
Respack-8接在51单片机的P0口,因为P0口内部没有上拉电阻,不能输出高电平,所以要接上拉电阻,1端为公共端接VCC。
3.3.2LCD1602的引脚定义
字符型LCD一般是16条引脚线14条引脚线,多出来的两条线是背光电源线VCC(15脚)和地线GND(16脚),与14脚LCD的控制原理基本完全一样,定义如下表所示:
表3-5LCD1602引脚定义
引脚号
引脚名
电平
输入/输出
作用
1
VSS
电源地
2
VCC
电源(+5V)
3
VEE
进行对比的调整电压
4
RS
0/1
输入
0进行输入I指令
1进行输入O数据
5
R/W
0/1
输入
0=向LCD写入指令以及数据
1=从LCD中来读取信息
6
E
1,1—0
输入
使能信号,1是进行读取信息
1—0下降沿执行指令
7
DB0
0/1
I/O
数据总线line0(最低位)
8
DB1
0/1
I/O
数据总线line0
9
DB2
0/1
I/O
数据总线line0
10
DB3
0/1
I/O
数据总线line0
11
DB4
0/1
I/O
数据总线line0
12
DB5
0/1
I/O
数据总线line0
13
DB6
0/1
I/O
数据总线line0
14
DB7
0/1
I/O
数据总线line0
15
A
+VCC
LCD背光灯电源正极
16
K
接地
LCD背光灯电源负极
图3-9LCD1602引脚接线图
在LCD模块上固化了字模存储器,这就是CGROM和CGRAM,HD44780内置了192个常用字符的字模,存于字符产生器CGROM中,另外还有8个允许用户自定义的字符产生RAM,成为CGRAM。
下图3-10说明了CGROM和CGRAM与字符的对应关系。
读的时候,先读左边那列,再读上面那行,如:
感叹号!
的ASCII为0x21,字母B的ASCII为0x42(前面加0x表示十六进制)
图3-10CGROM和CGRAM中字符代码与字符图形对应关系
3.3.3液晶LCD1602常用的11条指令
表3-6液晶LCD1602常用指令
指令功能
RS
R/W
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
执行时间
清屏
0
0
0
0
0
0
0
0
0
1
1.64ms
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 基于 单片机 公交车 自动 报站 系统