类别编号20100803075大学珞珈学院毕业论文公交车自动报站系统系别电子信息科学系专业电子信息工程年级2010级电信三班学号***********姓名熊鹏指导教师婧大学珞珈学院2014年4月14日摘要本设计主要是利用89C52单片机作为CPU来进行总体控制,同时使用FYD12864液晶显示电路进行汉字显示,能够实现公交车的站名显示。
在CPU控制模式下,键盘电路采用中断扫描模式,当有键按下时,系统产生中断,CPU响应中断后,通过软件来实现该键号所对应键的功能。
因此当公交车到达某站时通过按键来控制本系统进行工作,CPU同时通过程序读取汉字信息送入LCD液晶显示电路进行汉字提示。
通过本设计主要解决了如何方便、准确的指示乘客到站的问题,使得乘客能愉快、安全的下车。
关键词:单片机液晶显示键盘电路The design of bus station reported were based on the DSPABSTRACTThis design is mainly to use 89C52 microcontroller as CPU to carry out , meanwhile it uses FYD12864 character LCD display circuit to achieve the bus station and station display. In the CPU control mode, the keyboard interrupt scan mode circuit, the system generates an interrupt when a key pressed , APU response to failure, the key number is inquired by the software to achieve the key number corresponding to the function keys. So when the bus reaches a certain point, through the keyboard to control the system to work, CPU while the information through the program reads characters into the LCD liquid crystal display circuit character prompt.This design primarily addresses the problem that how to direct the passengers to the stations conveniently and accurately,ensure the secure of the passengers when they get on board or get off the bas.Keywords:Microcontroller LCD K eyboard目录第1章绪论1.1 论文选题的目的及意义 (1)1.2 国外研究现状和发展趋势 (1)1.3 本课题的研究容 (2)第2章总体设计方案2.1 系统的总体框图 (1)2.2 系统使用89C52的介绍 (2)2.3 LCD液晶显示器 (6)2.3.1 12864液晶显示模块的介绍 (7)2.3.2 12864液晶显示模块的管脚图及管脚定义 (7)2.3.3 12864液晶显示模块接口时序的介绍 (8)2.3.4 12864液晶显示模块与单片机的接口设计 (9)第3章系统的硬件部分设计3.1 89C52的时钟电路 (11)3.2 98C52的复位电路 (12)3.3 键盘电路的设计 (13)3.3.1 矩阵式键盘扫描原理 (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 系统的总体框图本系统由CPU控制、按键控制、输出显示等组成,其系统总体框图如图2.1 。
图2.1 系统的总体框图系统各模块简介:1、CPU控制使用单片机STC89C52,它具有指令多、功能强、速度快、可靠性高等优点,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择。
2、键控采用4 * 4矩阵键盘,这种键盘连接简单使用较少的I/O口就可以接较多按键。
3、液晶显示模块采用的是FYD12864模块,它构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。
2.2 系统使用89C52的介绍STC89C52的管脚图及管脚定义如图2.2所示。
图2.2 STC89C52管脚图管脚的功能介绍如下:VCC(40引脚):电源电压。
VSS(20引脚):接地。
P0端口(P0.0~P0.7,39~32引脚):P0口是一个漏极开路的8位双向I/O口。
作为输出端口,每个引脚能驱动8个TTL负载,对端口P0写入“1”时,可以作为高阻抗输入。
在访问外部程序和数据存储器时,P0口也可以提供低8位地址和8位数据的复用总线。
此时,P0口部上拉电阻有效。
在Flash ROM编程时,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.1。
在对Flash ROM编程和程序校验时,P1接收低8位地址。
表2.1 引脚功能特性P2端口(P2.0~P2.7,21~28引脚):P2口是一个带部上拉电阻的8位双向I/O 端口。
P2的输出缓冲器可以驱动(吸收或输出电流方式)4个TTL输入。
对端口写入1时,通过部的上拉电阻把端口拉到高电平,这时可用作输入口。
P2作为输入口使用时,因为有部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。
在访问外部程序存储器和16位地址的外部数据存储器(如执行“MOVX DPTR”指令)时,P2送出高8位地址。
在访问8位地址的外部数据存储器(如执行“MOVX R1”指令)时,P2口引脚上的容(就是专用寄存器(SFR)区中的P2寄存器的容),在整个访问期间不会改变。
在对Flash ROM编程和程序校验期间,P2也接收高位地址和一些控制信号。
P3端口(P3.0~P3.7,10~17引脚):P3是一个带部上拉电阻的8位双向I/O端口。
P3的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。
对端口写入1时,通过部的上拉电阻把端口拉到高电位,这时可用作输入口。
P3做输入口使用时,因为有部的上拉电阻,那些被外部信号拉低的引脚会输入一个电流。
在对Flash ROM编程或程序校验时,P3还接收一些控制信号。
P3口除作为一般I/O口外,还有其他一些复用功能,如表2.2所示。