公交车自动报站系统毕业论文DOC.docx

上传人:b****2 文档编号:3160289 上传时间:2023-05-05 格式:DOCX 页数:31 大小:411.34KB
下载 相关 举报
公交车自动报站系统毕业论文DOC.docx_第1页
第1页 / 共31页
公交车自动报站系统毕业论文DOC.docx_第2页
第2页 / 共31页
公交车自动报站系统毕业论文DOC.docx_第3页
第3页 / 共31页
公交车自动报站系统毕业论文DOC.docx_第4页
第4页 / 共31页
公交车自动报站系统毕业论文DOC.docx_第5页
第5页 / 共31页
公交车自动报站系统毕业论文DOC.docx_第6页
第6页 / 共31页
公交车自动报站系统毕业论文DOC.docx_第7页
第7页 / 共31页
公交车自动报站系统毕业论文DOC.docx_第8页
第8页 / 共31页
公交车自动报站系统毕业论文DOC.docx_第9页
第9页 / 共31页
公交车自动报站系统毕业论文DOC.docx_第10页
第10页 / 共31页
公交车自动报站系统毕业论文DOC.docx_第11页
第11页 / 共31页
公交车自动报站系统毕业论文DOC.docx_第12页
第12页 / 共31页
公交车自动报站系统毕业论文DOC.docx_第13页
第13页 / 共31页
公交车自动报站系统毕业论文DOC.docx_第14页
第14页 / 共31页
公交车自动报站系统毕业论文DOC.docx_第15页
第15页 / 共31页
公交车自动报站系统毕业论文DOC.docx_第16页
第16页 / 共31页
公交车自动报站系统毕业论文DOC.docx_第17页
第17页 / 共31页
公交车自动报站系统毕业论文DOC.docx_第18页
第18页 / 共31页
公交车自动报站系统毕业论文DOC.docx_第19页
第19页 / 共31页
公交车自动报站系统毕业论文DOC.docx_第20页
第20页 / 共31页
亲,该文档总共31页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

公交车自动报站系统毕业论文DOC.docx

《公交车自动报站系统毕业论文DOC.docx》由会员分享,可在线阅读,更多相关《公交车自动报站系统毕业论文DOC.docx(31页珍藏版)》请在冰点文库上搜索。

公交车自动报站系统毕业论文DOC.docx

公交车自动报站系统毕业论文DOC

保密类别

编号20100803075

武汉大学珞珈学院

业论文

公交车自动报站系统

E电了信息科学系

E电了信息工程

2010级由信-班

口号

20100803075

熊鹏

指导教师

—李婧

武汉大学珞珈学院

2014年4月14日

本设计主要是利用89C52单片机作为CPU来进行总体控制,同时使用FYD12864液晶显示电路进行汉字显示,能够实现公交车的站名显示。

在CPU控制模式下,键盘

电路采用中断扫描模式,当有键按下时,系统产生中断,CPU响应中断后,通过软件

来实现该键号所对应键的功能。

因此当公交车到达某站时通过按键来控制本系统进行工作,CPU同时通过程序读取汉字信息送入LCD液晶显示电路进行汉字提示。

通过本设计主要解决了如何方便、准确的指示乘客到站的问题,使得乘客能愉快、安全的下车。

关键词:

单片机液晶显示键盘电路

Thedesignofbusstationreportedwerebasedonthe

DSP

ABSTRACT

Thisdesignismainiytouse89C52microcontrollerasCPUtocarryout,meanwhileitusesFYD12864characterLCDdisplaycircuittoachievethebusstationandstationdisplay.IntheCPUcontrolmode,thekeyboardinterruptscanmodecircuit,thesystemgeneratesaninterruptwhenakeypressed,APUresponsetofailure,thekeynumberisinquiredbythesoftwaretoachievethekeynumbercorrespondingtothefunctionkeys.Sowhenthebusreachesacertainpoint,throughthekeyboardtocontrolthesystemtowork,CPUwhiletheinformationthroughtheprogramreadscharactersintotheLCDliquidcrystaldisplaycircuitcharacterprompt.Thisdesignprimarilyaddressestheproblemthathowtodirectthepassengerstothestationsconvenientlyandaccurately,ensurethesecureofthepassengerswhentheygetonboardorgetoffthebas.

Keywords:

MicrocontrollerLCDKeyboard

第1章

绪论

1.1

论文选题的目的及意义

1.2

国内外研究现状和发展趋势

1.3

本课题的研究内容

第2章

总体设计方案

2.1

系统的总体框图

2.2

系统使用89C52的介绍

2.3

LCD液晶显示器

2.3.1

12864液晶显示模块的介绍

2.3.2

12864液晶显示模块的管脚图及管脚定义

2.3.3

12864液晶显示模块接口时序的介绍

12864液晶显示模块与单片机的接口设计

第3章

系统的硬件部分设计

3.1

89C52的时钟电路

3.2

98C52的复位电路

3.3

键盘电路的设计

2.3.4

3.3.1矩阵式键盘扫描原理

11

12

13

13

3.3.2键盘的去抖设计

14

3.3.3键盘扫描控制方式

15

第4章

系统的软件部分设计

4.1

系统主流程设计

16

4.2

键盘扫描流程设计

19

4.3

LCD显示模块流程设计

18

结论

25

 

参考文献

…26

附录

27

后记

28

 

第1章绪论

1.1论文选题的目的及意义

随着城市化进程的加快,公共交通作为城市的基础设施之一,仍然是绝大多数出行者的首选交通方式。

为使得人们特别是为外来旅游、出差、就医、求职等急需了解本地的公交路线的人提供高效、方便、快捷的公交系统,让他们得到自己所需要的各种相关信息,以便减少各种可能产生不必要的交通流量,提高公交的运作效率,公交自动报站系统便应运而生。

公交应用系统带给公交企业的将不仅是形象的提升,也是效益的增长,所以一个城市的公交车的发展也体现一个城市的发展。

现在是一个高科技发达的时期,人们提倡的是智能设备,用科技来改变人们生活水平与方式,所以现在人们的生活中都感受到了科技给我们带来的方便。

现在的城市公交车都装上了语音报站系统,从而提高人们的工作效率。

本文正是一个研究如何利用单片机来设计一种适合在公交车上用的自动报站系统。

对此的研究我们不仅能够对公交车行业的发展起到一个重要作用,还能够解决如何方便、准确的指示乘客到站的问题,使得乘客能愉快、安全的下车。

1.2国内外研究现状和发展趋势

公交车自动报站系统的设计主要是为了弥补传统人工语音报站的落后方式,使进站、出站信息自动播报站名,为市民提供更人性化,更完善的服务。

目前自动报站系统技术主要有以下几种:

一般语音报站器,到站前由乘务人员按动进站按钮开始报站,出站时由乘务人员按下出站按钮,开始预报下站的站名,通过序号来记录各个站点;第二种是门控语音报站器,将开门、关门时转换信号和语音报站器连接,开门和关门时自动报站;第三种是无线信标语音报站器,它是在每个公交车站点设置发射信标点,公交车临近到站点左右会收到信标信号,开始自动报站,出站后信号消失,开始预报下一站,此报站器报站准确,但需要为每个站点组建无线发射信标,建设复杂、费用高,大部分站点无电源供应,公交车数量多时存在频率干扰问题,且较严重,用户修改站点非常不方便,系统维护成本高;第四种就是GPS自动

语音报站器,此报器是在公交车上安装GPS自动语音报站器,自动识别站点并报告站点信息。

其优点是报站精准,无须人工操作,无须建设任何车外设施。

但从便捷和价格来考虑一般语音公交报站比较普遍。

1.3本课题的研究内容

在全面了解公交车自动报站系统的原理后,利用单片机设计并实现进站、出站的公交站名显示,准确的指示乘客到站的问题,使得乘客能愉快、安全的下车。

为广大市民提供更人性化更完善的服务。

本设计实现的功能是:

利用了89C52单片机作为CPU来进行总体控制,同时使用FYD12864液晶显示电路进行汉字显示,能够实现公交车的站名显示。

在CPU控制模式

下,键盘电路采用中断扫描模式,当有键按下时,系统产生中断,CPU响应中断后,

通过软件来实现该键号所对应键的功能。

因此当公交车到达某站时通过按键来控制本系统进行工作,CPU同时通过程序读取汉字信息送入LCD液晶显示电路进行汉字提示进行公交车报站。

本设计主要有三部分组成:

1、控制部分由89C52组成,包括必要的按键电路、复位电路和时钟电路等外围电路。

2、显示部分由12864的LCD液晶显示器完成。

3、系统的软件设计用C语言进行编写。

第2章总体设计方案

2.1系统的总体框图

本系统由CPI控制、按键控制、输出显示等组成,其系统总体框图如图2.1

系统各模块简介:

STC89C52它具有指令多、功能强、速度快、可靠性高等

1、CPU控制使用单片机

优点,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择。

2、键控采用4*4矩阵键盘,这种键盘连接简单使用较少的I/O口就可以接较多按键。

3、液晶显示模块采用的是FYD12864模块,它构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。

2.2系统使用89C52的介绍

STC89C52勺管脚图及管脚定义如图2.2所示。

图2.2STC89C52管脚图

管脚的功能介绍如下:

VCC(40引脚):

电源电压。

VSS(20引脚):

接地。

P0端口(P0.0〜P0.7,39〜32引脚):

P0口是一个漏极开路的8位双向I/O口。

作为输出端口,每个引脚能驱动8个TTL负载,对端口P0写入“1”时,可以作为高阻抗输入。

在访问外部程序和数据存储器时,P0口也可以提供低8位地址和8位数据的复用总线。

此时,P0口内部上拉电阻有效。

在FlashROMS程时,P0端口接收指令字节;而在校验程序时,则输出指令字节。

验证时,要求外接上拉电阻。

P1端口(P1.0〜P1.7,1〜8引脚):

P1口是一个带内部上拉电阻的8位双向I/O口。

P1的输出缓冲器可驱动(吸收或者输出电流方式)4个TTL输入。

对端口写入1

P1口作输入口使用

时,通过内部的上拉电阻把端口拉到高电位,这是可用作输入口。

时,因为有内部上拉电阻,那些被外部拉低的引脚会输出一个电流。

此外,P1.0和P1.1还可以作为定时器/计数器2的外部技术输入(P1.0/T2)和定时器/计数器2的触发输入(P1.1/T2EX),具体参见表2.10

在对FlashROMS程和程序校验时,P1接收低8位地址。

表2.1引脚功能特性

引脚号

功能特性

P1.0

T2(定时器/计数器2外部计数输入),时钟输出

P1.1

T2(定时器/计数器2捕获/重装触发和方向控制)

P2端口(P2.0〜P2.7,21〜28引脚):

P2口是一个带内部上拉电阻的8位双向I/O端口。

P2的输出缓冲器可以驱动(吸收或输出电流方式)4个TTL输入。

对端口写入1时,通过内部的上拉电阻把端口拉到高电平,这时可用作输入口。

P2作为输入口使

用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。

在访问外部程序存储器和16位地址的外部数据存储器(如执行“MOVX@DPTR指令)时,P2送出高8位地址。

在访问8位地址的外部数据存储器(如执行“MOVX@R”指令)时,P2口引脚上的内容(就是专用寄存器(SFR区中的P2寄存器的内容),在整个访问期间不会改变。

在对FlashROMS程和程序校验期间,P2也接收高位地址和一些控制信号。

P3端口(P3.0〜P3.7,10〜17引脚):

P3是一个带内部上拉电阻的8位双向I/O端口。

P3的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。

对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。

P3做输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输入一个电流。

在对FlashROMS程或程序校验时,P3还接收一些控制信号。

P3口除作为一般I/O口外,还有其他一些复用功能,如表2.2所示。

表2.2引脚复用功能

引脚号

复用功能

P3.0

RXD(串行输入口)

P3.1

TXD(串行输出口)

P3.2

外部中断0

P3.3

外部中断1

P3.4

T0(定时器0的外部输入)

P3.5

T1(定时器1的外部输入)

P3.6

外部数据存储写选通

P3.7

外部数据存储度选通

RST(9引脚):

复位输入。

当输入连续两个机器周期以上高电平时为有效,用来完成单片机单片机的复位初始化操作。

看门狗计时完成后,RST引脚输出96个晶振周

期的高电平。

特殊寄存器AUX(地址8EH上的DISRTO位可以使此功能无效。

DISRTO默认状态下,复位高电平有效。

ALE(30引脚):

地址锁存控制信号(ALE是访问外部程序存储器时,锁存低8

位地址的输出脉冲。

在Flash编程时,此引脚也用作编程输入脉冲。

在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。

然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。

如果需要,通过将地址位8EH的SFR的第0位置“1”,ALE操作将无效。

这一位置“1”,ALE仅在执行MOVXEMOV旨令时有效。

否则,ALE将被微弱拉高。

这个ALE使能标志位(地址位8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。

29引脚:

外部程序存储器选通信号是外部程序存储器选通信号。

当AT89C51RC从

外部程序存储器执行外部代码时,在每个机器周期被激活两次,而访问外部数据存储器时将不被激活。

31引脚:

访问外部程序存储器控制信号。

为使能从0000H到FFFFH的外部程序存储器读取指令,29引脚必须接GND注意加密方式1时,29引脚将内部锁定位RESET为了执行内部程序指令,应该接VCC在Flash编程期间,也接收12伏VPP电压。

XTAL1(19引脚):

振荡器反相放大器和内部时钟发生电路的输入端。

XTAL2(18引脚):

振荡器反相放大器的输入端。

STC89C52^片机是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择。

另外,它还具有指令多、功能强、速度快、可靠性高等优点。

因此本系统采用STC89C5单片机来控制总体控制。

2.3LCD液晶显示器

液晶显示器的介绍:

液晶显示器简称LCD它具有功耗低、体积小、美观、方便、使用寿命长的特点。

液晶显示器中最主要的物质就是液晶,它是一种规则性排列的有机化合物,是一种介于固体和液体之间的物质,在电厂的作用下,晶体排列发生改变,从而影响液体液晶的光折射特性,造成某些部分的视觉变化,从而达到显示的目的。

2.3.112864液晶显示模块的介绍

FYD12864-0402B是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128X

64,内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。

可以显示8X4

行16X16点阵的汉字.也可完成图形显示.低电压低功耗是其又一显著特点。

由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。

逻辑工作电压(VDD):

4.5〜5.5V

电源地(GND):

0V

工作温度(Ta):

0〜60r(常温)/-20〜75C(宽温)

驱动方式:

1/32DUTY1/5BIAS

背光方式:

侧部高亮白色LED功耗仅为普通LED的1/5—1/102.3.212864液晶显示模块的管脚图及管脚定义

LCD12854

LCD12864液晶

图2.3LCD12864管脚图

LCD12864管脚定义如表2.3:

表2.312864液晶显示模块管脚定义

引脚号

引脚名称

方向

功能说明

1

VSS

-

模块的电源地

2

VDD

+

模块的电源正端

3

V0

-

LCD驱动电压输入端

4

RS(CS)

H/L

并行的指令/数据选择信号;串行的片选信号

5

R/W(SID)

H/L

并行的读写选择信号;串行的数据口

6

E(CLK)

H/L

并行的使能信号;串行的同步时钟

7

DB0

H/L

数据0

8

DB1

H/L

数据1

9

DB2

H/L

数据2

10

DB3

H/L

数据3

11

DB4

H/L

数据4

12

DB5

H/L

数据5

13

DB6

H/L

数据6

14

DB7

H/L

数据7

15

PSB

H/L

并/串行接口选择:

H-并行;L-串行

16

NC

空脚

17

/RET

H/L

复位低电平有效

18

NC

空脚

19

LEDA

+

背光源正极(LED+5V

20

LEDK

-

背光源负极(LED-OV

(a)MPU写资料到模块

(b)MPU从模块读出资料

2.3.312864液晶显示模块接口时序的介绍

图2.4接口时序写/读资料图

RS=L,R/W=H,CS=H,E=;输出:

D旷D7=犬态字

RS=L,R/W=L,D0-D7=f令码,CS=H,E=W脉冲;输出:

3读数据:

输入:

RS=H,R/W=H,CS=H,E=;输出:

D0-D7=K据

4写数据:

输入:

RS=H,R/W=L,D&D7=t据,CS=H,E=S脉冲;输出:

2.3.412864液晶显示模块与单片机的接口设计

图2.512864与单片机接口电路图图2.5为12864显示模块与单片机显示模块连接电路图:

1

2

RS(CS)H/L并行的指令/数据选择信号;串行的片选信号,则要连接单片机来行使其片选功能。

5R/W(SID)H/L并行的读写选择信号;串行的数据口。

因为在本电路中始终都是写指令或数据,所以该端可以始终连接低电平。

6E(CLK)H/L并行的使能信号;串行的同步时钟。

该项需要连接入单片机,再在工作过程中的高/低电平决定该端口所起到的作用。

7〜14接口为数据连接端口,与寄存器74LS373连接,通过寄存器传输单片机中的数据来获得相应的信息传送至12864显示器中。

15PSBH/L并/串行接口选择:

H-并行;L串行。

16NC空脚,所以该处不接。

17/RETH/L复位低电平有效,则是直接连接高电平,使得12864显示模块刚开始就处于复位状态

19和20分别为背光源的正负极,则分别连接相对应的电源正极和电源负极。

第3章系统的硬件部分设计

3.189C52的时钟电路

STC89C5M部有一个用于构成振荡器的高增益反相放大器,引脚RXD和TXD分别

是此放大器的输入端和输出端。

时钟可以由内部方式产生或外部方式产生。

内部方式的时钟电路如图(a),在RXD和TXD引脚上外接定时元件,内部振荡器就产生自激振荡。

定时元件通常采用石英晶体和电容组成的并联谐振回路。

晶体振荡频率可以在1.2〜12MHz之间选择,电容值在5〜30pF之间选择,电容值的大小可对频率起微调的作用。

12MHZ勺方波信号。

片内时钟发

P1和P2,供单片机使用。

外部方式的时钟电路如图(b),RXD接地,TXD接外部振荡器。

对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于生器把振荡频率两分频,产生一个两相时钟

3.289C52的复位电路

(1)复位信号及其产生

整个复位电路包括芯片内、外两部分。

外部电路产生的复位信号(RST)送至施密特触发器,再由片内复位电路在每个机器周期的S5P2时刻对施密特触发器的输出进行采样,然后才得到内部复位操作所需要的信号。

RST引脚是复位信号的输入端。

复位信

号是高电平有效,其有效时间应持续24个振荡周期(即二个机器周期)以上。

若使用颇率为6MHZ勺晶振,则复位信号持续时间应超过4us才能完成复位操作。

复位操作有上电自动复位和按键手动复位两种方式:

如图(a),上电自动复位是

通过外部复位的电容充电来实现的,这样只要电源VCC的上升时间不超过1ms就可

C),按键脉冲复位则是利用RC微分电路产生的正脉冲来实现的。

以实现自动上电复位,即接通电源那就成了系统的复位初始化;按键手动复位有电平方式和脉冲方式两种。

如图(b),按键电平复位是通过使复位端经电阻与VCC电源接通而实现的。

如图(

(2)复位操作

复位是单片机的初始化操作。

其主要功能是把PC初始化为0000H,使单片机从

0000H单元开始执行程序。

除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需按复位键重新启动。

除PC之外,复位操作还对其他一些寄存器有影响,它们的复位状态如表3.1所示。

表3.1一些寄存器的复位状态

寄存器

复位状态

寄存器

复位状态

PC

000H

TCON

00H

ACC

00H

TL0

00H

PSW

00H

TH0

00H

SP

07H

TL1

00H

DPTR

0000H

TH1

00H

P0~P3

FFH

SCON

00H

IP

XX000000B

SBUF

不定

IE

0X000000B

PCON

0XXX0000B

TMOD

00H

3.3键盘电路的设计

键盘在单片机系统中是一个很重要的部分。

输入数据、查询和控制系统的工作状态都要用到键盘,键盘是人工干预计算机的手段。

微机所用的键盘可分为编码和非编码键盘两种。

编码键盘采用硬件线路来实现键盘编码,每按下一个键,键盘能自动生成按键代码,键数较多,而且还具有去抖功能。

这种键盘使用方便,但硬件较复杂,PC机所用的键盘就属于这种。

非编码键盘仅提供按键开关状态,其他工作由软件完成,这种键盘键数较少,硬件简单,一般在单片机应用系统中广泛使用。

本次设计用的是矩阵式键盘,这种键盘连接简单使用较少的I/O口就可以接较多

按键。

3.3.1矩阵式键盘扫描原理

矩阵键盘扫描的方法有两种:

1、逐行扫描:

我们可以通过高四位轮流输出低电平来对矩阵键盘进行逐行扫描,当低四位接收到的数据不全为1的时候,说明有按键按下,然后通过接收到的数据是哪一位为0来判断是哪一个按键被按下。

2、行列扫描:

我们可以通过高四位全部输出低电平,低四位输出高电平。

当接收到的数据,低四位不全为高电平时,说明有按键按下,然后通过接收的数据值,判断是哪一列有按键按下,然后再反过来,高四位输出高电平,低四位输出低电平,然后根据接收到的高四位的值判断是那一行有按键按下,这样就能够确定是哪一个按键按下了。

矩阵键盘的原理如图3.3所示。

首先可以通过高四位全部输出低电平,低四位输出

高电平。

当接收到的数据,低四位不全为高电平时,说明有按键按下,然后通过接收的数据值,来判断是哪一列有键按下,其程序如下:

GPIO_KEY=OXOF;

switch(GPIO_KEY)

{

KeyValue=O;break;测试第一列

KeyValue=1;break;测试第二列

case(0X07):

case(0X0b):

值判断是哪一行有按键按下,其程序如下:

GPIO_KEY=0XF0;switch(GPIO_KEY)

{

KeyValue=KeyValue;break;测试第一行

KeyValue=KeyValue+4;break;测试第二行

KeyValue=KeyValue+8;break;测试第三行

KeyValue=K

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2