单片机地铁或公交自动报站器设计Word文档下载推荐.docx
《单片机地铁或公交自动报站器设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《单片机地铁或公交自动报站器设计Word文档下载推荐.docx(29页珍藏版)》请在冰豆网上搜索。
另外,现在也有一些城市正在使用的一种半自动语音报站系统,这种系统需要由司机在车子进出站的时候人工操作,由于这两个时间点往往是路面情况最复杂的时刻,因此也给行驶中的车辆带来了安全隐患。
所以本设计针对目前常见公交车报站系统的主要缺陷,研究介绍了一种基于单片机控制的公交车自动报站系统,实现在到站时的自动语音报站和LCD液晶显示,而且该系统造价廉价,可以在中小城市中
普及。
公交车对社会影响巨大,随着公交车的不断普及市面上也出现各种各样的公交车报站器,现在市面上流行的几种报站器主要有下列几种类型:
1.2.1GPS公交车自动报站器
利用GPS全球卫星定位系统的公交车报站系统,在司机座位后面隔板上,安装了一台
15英寸的液晶电视和GPS信号接收器,安装了这套设备后,公交车在语音报站的同时,
通过液晶电视还可以显示到站站名的字幕,这样如果没听清报站的话,通过显示屏,乘客也可以一目了然。
当出现紧急情况时,调度中心将会给公交车发出相应的信息,以短信的
形式传送到显示屏上,同时车载台会发出相应的提示音;
目前在美国部分城市GPS卫星定
位系统已经投入使用,国内也有此类产品的研制开发,其功能强大,系统稳定,但其投资昂贵,尤其是一些中小城市无法承受。
1.2.2手动式公交车自动报站器
手动式公交车自动报站器通过主机上的汉字显示器,显示当前车站名称,即将达到站名指示功能;
通过主机屏幕的显示,可直观的观察到进站和下一站信息;
通过按键,可播放进站,出站,服务用语等语音。
但是该种报站器需要由司机在车子进出站的时候人工操作,由于这两个时间点往往是路面情况最复杂的时刻,因此也给行驶中的车辆带来了安全隐患,不利于公交车的安全行驶。
基于单片机的公交车自动报站系统就是利用编码解码芯片PT2262/PT2272进行解码编
码,利用无线数传模块F05V/J05V和天线进行发射和接收来实现的。
在每个站牌上设置一个编码发送装置PT2262和无线数传模块F05V,通过公交车上设置的接收装置J05V和译码
装置PT2272进行译码并传输到单片机。
发送装置按照延时3到5秒不断发送信号,公交
车在距离站牌10到20米的时候就能接收到信号,然后根据程序来实现语音报站,LCD液
晶显示。
这种报站系统软件编写比较简单,也容易修改,并且芯片价格低廉,大批生产能够获得比GPS系统达到更高的性价比,是公交车自动报站系统的较佳选择。
系统各部分框图如下图所示
晶振,外部中断复位电路按键控制
图2公交车车载接收部分方框图
2.1单片机AT89C51
随着计算机技术的发展,单片机技术已成为计算机技术中的一个独特的分支,单片机的应用领域也越来越广泛,特别是在工业控制和仪器仪表智能化中扮演着极其重要的角色。
纵观单片机发展的30多年来,单片机正往多功能、高性能、高速度、低电压、低价格、低噪声、低功耗、小体积、大容量、专用化和外围电路内装化的方向发展。
单片机的出现使的过去经常采用模拟电路、数字电路实现的电路系统,转变成现在用单片机予以实现,并且传统的电路设计方法演变成硬件和软件相结合的设计方法,并且许多电路设计问题将转化为纯粹的程序设计问题。
主要特性:
1、一个CPU一个片内振荡器以及时钟电路,
2、4K(RAM程序存储器,
3、128B(ROM数据存储器
4、21个特殊功能寄存器
5、数据能够保存的时间:
10年
6、与MCS-5指令相兼容
7、32个可编程I/O线(4个8位并行I/O端口)
8、16位定时器/计数器有两个
9、5个中断源,两个优先级嵌套结构
10、一个可编程全双工串行接口
11、低功耗的闲置和掉电模式
12、片内振荡器和时钟电路
尽管目前单片机种类多,各类单片机的指令系统各不相同,功能各有所长,但市场占有率最高的是51系列单片机。
单片机体积小,重量轻,具有很强的灵活性而且价格便宜,得到越来越广泛的运用。
例如工业控制领域、家电产品,智能化仪器仪表,计算机外部设备,特别是机电一体化产品中都有重要的用途,其中的51单片机系列发展规模最大。
51单片的运用广泛,并且具有优异的性能价格比,集成度高,体积小,有很高的可靠
性,并且控制功能强。
所以是核心控制期间的最佳选择。
图3-1AT89C51单片机引脚图
F面对设计中用到的一些管脚进行简要的介绍:
VCC供电电压,一般接+5V电源正端。
GND接地,一般接+5V电源地端。
I/O扩展
P0口(39~32脚):
输入输出线P0.0~P0.7统称为P0口。
可以用作准双向输入/输出口使用,但由于内部无上拉电阻,一般外加上拉电阻:
在进行片外存储器扩展或时,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口也可作为AT89C5啲一些特殊功能口,如下表所示:
口管脚备选功能
RST(9脚):
复位输入。
当振荡器复位器件时,要保持10ms高电平时间才能保证有效
的复位。
ALE/PROQ30脚):
地址锁存允许/编程线。
采用了地址/数据总线复用技术。
/PSEN(29脚):
片外程序存储器读选通信号输出端,低电平有效。
/EA/VPP(31脚):
片外程序存储器选用端,低电平有效。
注意加密方式1时,/EA将
此引脚也用于施加12V编程电源(VPP。
XTAL1外接晶体振荡器一端。
XTAL2外接晶体振荡器另一端。
2.1.2夕卜部晶振的选择
电容的值通常30PF。
具体的接线电路如图3—2外部晶振电路:
-■
AT89C51单片机外接的是12MHZ勺晶振,贝U机器周期为1us。
图3-2外部晶振电路
复位的作用是使程序自动从0000H开始执行,因此我们只要在AT89C51单片机的RST
端加上一个高电平信号,并持续10ms以上即可,RST端接有一个上电复位电路,它是由一
个小的电容和一个接地的电阻组成的。
按键复位电路另外采用一个按钮来给RST端加上高
电平信号。
本设计采用放电型的进行人工复位的电路,如图按键复位电路,上电时C3通过R2充
电,维持宽度大于10ms的正脉冲,就可以完成复位操作。
当C3结束充电后,RST端出现
低电平,这是CPU将正常的工作。
在本次设计中如果需要按键进行复位,就按下按钮BUTTON3C3通过BUTTON和R2
放电,RST端电位将会上升到高电平,从而实现人工复位,BUTTON松开后C3重新充电,
当结束充电后,CPU将会重新工作。
下图中,R2是限流电阻,阻值不可以过大,否则不能起到复位作用。
图3-3按键复位电路
2.1.4按键电路设计
对于此设计来说要准确的显示设计所要对应的信息,每按下一次按键要显示所要显示
的信息。
这按键是主要用来模拟无线信号的收发而设计的,即PT2262/PT2272的无线信号
收发。
aaaaaA”
功能的实现主要是通过程序来实现,BUTTON控制顺向报站,当报站系统启动后,按下BUTTON开始按预先设置好的站名进行顺向报站,本设计设置的是从站名“到“EEEEEE”依次报站,每次按键按下时实现LED提示灯亮,蜂鸣器连续鸣叫7次。
BUTTON按键是实现公交车逆向返回时的报站,即从站名“EEEEEE”到“AAAAAAA
的依次报站,也满足每次按键按下时实现LED提示灯亮,蜂鸣器连续鸣叫7次。
图3-4按键设置
如果使用过程中出现错误时,可以使用按键复位,重现选择正向或者逆向报站。
同时,
为了防止一次按键产生站名的漏报,在软件设计中使用了延时函数,防止站名的漏报。
2.2.PT2262/PT2272引脚图
在PT2262/2272这种器件的使用,根据资料一般将会使用8位的地址码和4位的数据
码。
PT2262编码电路引脚的选择是:
第1~8脚作为地址的设定脚,他可以选择三种状态:
悬空接正电源接地。
3的8次方为6561,即地址编码的不重复度是6561组。
PT2262/2272的配对使用是要求发射端PT2262和接收端PT2272的地址编码需要完全
相同,用户如果想改变地址编码,只要将PT2262和PT2272设置相同即可,两者的地址的
编码相同时,PT2272输出端将会输出大约4V左右的互锁的高电平的控制信号。
图3-5PT2262/PT2272引脚图
2.2.1PT2262/2272接线图以及工作原理
发射电路主要由AT89C51编码模块PT2262无线数传模块
F05V和一片74LS04(六输
入非门,实际上就是六个非门集成在一块74LS04里面了)构成,
发射部分电路如图3-6所
示。
接收电路主要由AT89C51译码模块PT2272无线数传模块
J05V和一片74LS04构成,
接收部分模拟电路如图3-7所示
图3-6PT2262发射部分模拟接线图
图3-7PT2272接收部分模拟接线图
发射的部分主要用于形成一个周期的编码信号。
编码信号的内容包括三个部分,分别
是起始标志数据编码和结束标志,而无线收发模块是四路的,即因为每次收发半个字节
的数据,所以一帧数据至少是16位的,其编码数据格式如表3-4所示。
表3-416位编码数据格式
01234
567891011
12131415
D0D1D2D3D0
D1D2D3D0D1D2D3
D0D1D2D3
4位起始标志
8位编码数据
222无线数传模块F05V/J05V
无线数传模块F05V/J05V(典型遥控应用电路):
F05V采用的SMT工艺,优点是低电压微功率、体积小、低功耗发射模块,适合单片机数据传输以及短距离无线遥控报警。
J05V
作为接收模块优点是低电压、体积小,两者连接在PT2262/2272配合使用
F05V引脚定义:
J05V引脚定义:
仁正电源3V;
2=接地;
3=数据信号输入;
丫^卜接天线。
3=数据信号输出;
丫=外接天线.
图3-8f05V/J05V引脚接线图
我们知道的用来显示的器件很多。
比如数码管、LCD点阵式LED数码管只能显示数
字,LCD可以显示汉字、符号、数字和图形,为了报站器的人性化
LCD1602能够同时显示16列2行的字符,可以显示数字、字母、以及各种符号。
这种
液晶模块由若干个5X7或者5X11等点阵字符位组成,这种点阵字符显示字符并且自带间隔,也就是有自然的间距和行间距,也是因为这个特性不能很好地显示图形(用自定义
CGRA,显示效果也不好)。
2.3.1排阻Respack-8
Respack-8接在51单片机的P0口,因为P0口内部没有上拉电阻,不能输出高电平,所以要接上拉电阻,1端为公共端接VCC
2.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进行输入1指令
1进行输入0数据
5
R/W
0=向LCD写入指令以及数据
1=从LCD中来读取信息
6
E
1,1—0
使能信号,1是进行读取信息
1—0下降沿执行指令
7
DB0
I/O
数据总线Iine0(最低位)
8
DB1
数据总线line0
9
DB2
数据总线line。
DB3
数据总线Iine0
DB4
DB5
13
DB6
DB7
15
A
+VCC
LCD背光灯电源正极
16
K
接地
LCD背光灯电源负极
LCD1602引脚接线图
储器,这就是CGRO和CGRAJMHD44780内置了192个常用字符的字模,存于字符产生器
CGRO中,另外还有8个允许用户自定义的字符产生RAM成为CGRAJM下图3-10说明了
CGRO和CGRAI与字符的对应关系。
读的时候,先读左边那列,再读上面那行。
图3CGROM和CGRAI中字符代码与字符图形对应关系
表3-6液晶LCD1602常用指令
指令功能
RSR/W
DB7DB6
执行时
间
清屏
00
1.64ms
功能详解:
清除液晶显示器的内容。
光标归位
X
光标撤回到显示器的左上方,
地址计数器(
AC值为0,
DDRA值不变
进入模式
设置
I/D
S
40us
I/D当为0时写入数据后光标左移,当为1时写入数据后光标右移
S为0时写入新数据后显示屏不移动,为1时写入新数据后显示屏整体右移1字符
显示开关
控制
D为0时显示功能关,为1时显示功能开
C为0时无光标。
1时有光标
B为0时光标闪烁,1时光标不闪烁
设定显示
屏或光标
S/CR/L
移动方向
功能详解:
S/C
R/L
设定的情况
光标左移1格,且AC值减1
光标右移1格,且AC值加1
显示器上子付全部左移一格,但光标不移动
显示器上子付全部右移一格,但光标不移动
功能设定
N
F
XX
001DL
DL为0时数据总线为4位,1时数据总线为8位
N为0时显示1行,1时显示两行
F为0时5*7点阵/每个字符,1时5*10点阵/每个字符
设定CGRAM
地址指令
/I
01CGRAI的地址(6位)
设定下个要存入的数据的CGRA的地址
设定DDRAM
1CGRAI的地址(7位)
设定下个要存入的数据的DDRA的地址
读取忙碌
信号或AC
地址
01
BFAC内容(7位)
BF为1表示液晶显示器忙,为0时,液晶显示器可以接收单片机送来的数据或
指令
数据写入
至UDDRAMH
或CGRAM
110
要写入的数据D7~D0
(1)将字符码写入DDRAM液晶显示屏并显示对应的字符
(2)使用者设计的图形存入CGRAM
从CARAI或
DDRA读取
要读出的数据D7~D0
数据
读取DDRA或CGRAI的内容
在本次设计后续设计中,也可以利用AT89C51控制该芯片,实现语音的存储以及语音报
站。
1、电源端(VCCA,VCCD)为了使噪声最小,芯片内部的数字和模拟电路要使用不同的
电源的总线,,并且分别引出到外封装的不同的管脚上。
数字和模拟电源端最好走不同的线,比如,选择在离供电端相近的地方相连,而去耦电容就应尽量选择离器件近。
2、地线(VSSD,VSSA)芯片的内部的模拟和数字电路也使用不同的地线。
3、同相的模拟输入(ANAIN+):
即录音信号同相输入端。
这时输入放大器采用单端或
差分驱动。
当采用单端时,在耦合电容中输入信号,最大的幅度是32mV笔峰值,芯片频
带的低端截止频率决定耦合电容和本端的3KQ电阻的输入阻抗。
作为差分的驱动时,信号
最大幅度是16mVt峰值,这是和ISD33000系列一样的。
4、反相的模拟输入(ANAIN-):
作为差分驱动是录音信号的反相的输入端。
信号是通
过耦合电容来输入,最大幅度是16mV峰峰值
5、音频输出(AUDOUT)作用是提供音频的输出,可以驱动5KQ的负载。
6、片选(SS):
此端为低电平,在向ISD4004芯片发送指令时,并且该两条指令间应
该为高电平。
7、串行输入(MOS)I:
此端是串行的输入端。
主控制器应该在串行时钟的上升沿前半
周期把数据放到这个端口,
来让ISD输入。
8串行输出(MISO:
9、串行时钟(SCLK):
作为ISD的串行的输出端。
当ISD没有选中时本端会呈高阻态。
作为ISD的时钟的输入端。
从主控制器中产生,可以用于同步的MOSI和MISO的数据传输。
10、中断(/INT):
本端作为漏极的开路输出。
ISD在任何操作过程(比如快进)中检测
到了EOM或OVF时,本端会变低电平并保持。
并且中断的状态在下一个SPI周期开始时清除。
中断状态也可以用RINT的指令读取。
OVF标志---指示ISD的录放操作是否已经到存储器未尾状态。
EOM标志---只在放音过程中检测到内部的EOM标志时,状态才会置1。
11、行地址时钟(RAC):
漏极的开路输出。
每经过一个RAC周期,表示ISD存储器操
作进行了一行。
该端口并且可以用于存储的管理技术。
12、外部时钟(XCLK):
本端内部带有下拉元件。
工业级的芯片在整个温度和电压范围
内,频率变化范围在-6/+4%内,此时建议使用稳压电源。
如果要求更高精度,可从本端来
输入外部时钟(如前边所描述)。
并且由于内部的防混淆及平滑滤波器已经设定好,所以上
述推荐时钟频率不应该再改变。
输入时钟占空比是无关紧要的,因为内部首先进行了分频。
并且在不外接地时钟时,此端是必须接地的。
13、自动静噪(AMCAP)—般本端对地会接1mF的电容,来构成内部信号的电平峰值检测电路一部分。
并且与内部设定阈值和峰值电平来作比较,从而决定自动静噪的功能的
翻转点。
大信号时,自动静噪的电路不衰减,静音时衰减6dB。
1mF的电容也影响自动静
噪的电路对信号幅度的响应速度。
本端接VCCA则应该禁止自动静噪。
2.4蜂鸣器和LED指示灯
蜂鸣器
鉴于用Proteus仿真,语音模块用蜂鸣器代替如图3-7,采用三极管NPN当P11为高电平时电路导通,通过程序使P11进行短时间内高低电平转换,以达到断续蜂鸣提示的效
果。
到站LED提示灯
鉴于用Proteus仿真,语音模块用蜂鸣器代替如图3-7,采用三极管PNP当P1.0为
PSEI
ALE
EA
P1.0PIJ
PO
Pl.3
Pk4
PI.5
pl.e
Pl.7
ATteC
低电平时电路导通,至y站提示灯亮。
图3-12LED提示灯接线图
3.1系统仿真主程序流程图
顺序报站,蜂鸣器提示,
开始界面
逆序报站,蜂鸣器提示,
LED下车指示灯亮
图3-1系统仿真主程序流程图
系统仿真,初始化运行程序时,LCD第一行显示欢迎字符,蜂鸣器蜂鸣,选择BUTT0N1或者BUTT0N2通过控制P35,P34)选择顺序或者逆序报站,按下按键之后,蜂鸣器提示,
LED旨示灯亮,延迟一段时间后显示站名。
随后可以每到一个站依次显示公交车站名,如
果出现错误或者重新选择另一顺序报站,可以使用按键复位,重新选择报站方式。
KeilC51是集编辑,编译,仿真于一体,支持汇编,PLM语言和C语言的程序设计,,
易学易用。
在KeilC51集成开发环境下使用工程的方法来管理文件,所有的源文件、头文件甚至说明性文档都可以放在工程项目文件里统一管理。
本次设计使用KeilC51的开发工具大致流程如下:
(1)运行KeilC51软件,进入KeilC51集成开发环境。
(2)选择工具栏的Project选项,弹出下拉菜单,选择NewProject命令建