公交车自动报站系统毕业论文_第1页
公交车自动报站系统毕业论文_第2页
公交车自动报站系统毕业论文_第3页
公交车自动报站系统毕业论文_第4页
公交车自动报站系统毕业论文_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、保密类别       编 号20100803075  保密类别靠左对齐编号靠右对齐武汉大学珞珈学院毕 业 论 文公交车自动报站系统系 别 电子信息科学系专 业 电子信息工程年 级 2010级电信三班 学 号 20100803075姓 名 熊鹏 指导教师 李婧 武汉大学珞珈学院2014年4月14日 摘要本设计主要是利用89C52单片机作为CPU来进行总体控制,同时使用FYD12864液晶显示电路进行汉字显示,能够实现公交车的站名显示。在CPU控制模式下,键盘电路采用中断扫描模式,当有键按下时,系统产生中断,CPU响应中断后,通

2、过软件来实现该键号所对应键的功能。因此当公交车到达某站时通过按键来控制本系统进行工作,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

3、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 corres

4、ponding 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

5、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 2目 录第1章 绪论 1.1 论文选题的目的及意义11.2 国内外研究现状和发展趋势11.3 本课题的研究内容 2第2章 总体设计方案 2.1 系统的总体框图12.2 系统使用89C52的介绍22.3 LCD液晶显示器6 2.

6、3.1 12864液晶显示模块的介绍7 2.3.2 12864液晶显示模块的管脚图及管脚定义 7 2.3.3 12864液晶显示模块接口时序的介绍8 2.3.4 12864液晶显示模块与单片机的接口设计9第3章 系统的硬件部分设计3.1 89C52的时钟电路113.2 98C52的复位电路123.3 键盘电路的设计13 3.3.1 矩阵式键盘扫描原理13 3.3.2 键盘的去抖设计14 3.3.3 键盘扫描控制方式15第4章 系统的软件部分设计 4.1 系统主流程设计 16 4.2 键盘扫描流程设计194.3 LCD显示模块流程设计18结论 25参考文献 26附录27后记28武汉大学珞珈学院本

7、科毕业论文 第1章 绪论1.1 论文选题的目的及意义随着城市化进程的加快,公共交通作为城市的基础设施之一,仍然是绝大多数出行者的首选交通方式。为使得人们特别是为外来旅游、出差、就医、求职等急需了解本地的公交路线的人提供高效、方便、快捷的公交系统,让他们得到自己所需要的各种相关信息,以便减少各种可能产生不必要的交通流量,提高公交的运作效率,公交自动报站系统便应运而生。公交应用系统带给公交企业的将不仅是形象的提升,也是效益的增长,所以一个城市的公交车的发展也体现一个城市的发展。现在是一个高科技发达的时期,人们提倡的是智能设备,用科技来改变人们生活水平与方式,所以现在人们的生活中都感受到了科技给我们

8、带来的方便。现在的城市公交车都装上了语音报站系统,从而提高人们的工作效率。本文正是一个研究如何利用单片机来设计一种适合在公交车上用的自动报站系统。对此的研究我们不仅能够对公交车行业的发展起到一个重要作用,还能够解决如何方便、准确的指示乘客到站的问题,使得乘客能愉快、安全的下车。1.2 国内外研究现状和发展趋势公交车自动报站系统的设计主要是为了弥补传统人工语音报站的落后方式,使进站、出站信息自动播报站名,为市民提供更人性化,更完善的服务。 目前自动报站系统技术主要有以下几种:一般语音报站器,到站前由乘务人员按动进站按钮开始报站,出站时由乘务人员按下出站按钮,开始预报下站的站名,通过序号

9、来记录各个站点;第二种是门控语音报站器,将开门、关门时转换信号和语音报站器连接,开门和关门时自动报站;第三种是无线信标语音报站器,它是在每个公交车站点设置发射信标点,公交车临近到站点左右会收到信标信号,开始自动报站,出站后信号消失,开始预报下一站,此报站器报站准确,但需要为每个站点组建无线发射信标,建设复杂、费用高,大部分站点无电源供应,公交车数量多时存在频率干扰问题,且较严重,用户修改站点非常不方便,系统维护成本高;第四种就是GPS自动语音报站器,此报器是在公交车上安装GPS自动语音报站器,自动识别站点并报告站点信息。其优点是报站精准,无须人工操作,无须建设任何车外设施。但从便捷和价格来考虑

10、一般语音公交报站比较普遍。1.3 本课题的研究内容在全面了解公交车自动报站系统的原理后,利用单片机设计并实现进站、出站的公交站名显示,准确的指示乘客到站的问题,使得乘客能愉快、安全的下车。为广大市民提供更人性化更完善的服务。本设计实现的功能是:利用了89C52单片机作为CPU来进行总体控制,同时使用FYD12864液晶显示电路进行汉字显示,能够实现公交车的站名显示。在CPU控制模式下,键盘电路采用中断扫描模式,当有键按下时,系统产生中断,CPU响应中断后,通过软件来实现该键号所对应键的功能。因此当公交车到达某站时通过按键来控制本系统进行工作,CPU同时通过程序读取汉字信息送入LCD液晶显示电路

11、进行汉字提示进行公交车报站。本设计主要有三部分组成:1、控制部分由89C52组成,包括必要的按键电路、复位电路和时钟电路等外围电路。2、显示部分由12864的LCD液晶显示器完成。3、系统的软件设计用C语言进行编写。 1 第2章 总体设计方案2.1 系统的总体框图 本系统由CPU控制、按键控制、输出显示等组成,其系统总体框图如图2.1 。 键控 CPU控制 LCD显示模块 图2.1 系统的总体框图系统各模块简介:1、CPU控制使用单片机STC89C52,它具有指令多、功能强、速度快、可靠性高等优点,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择。 2、键控

12、采用4 * 4矩阵键盘,这种键盘连接简单使用较少的I/O口就可以接较多按键。3、液晶显示模块采用的是FYD12864模块,它构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。2.2 系统使用89C52的介绍 STC89C52的管脚图及管脚定义如图2.2所示。   图2.2 STC89C52管脚图管脚的功能介绍如下: VCC(40引脚):电源电压。VSS(20引脚):接地。P0端口(P0.0P0.7,3932引脚):P0口是一个漏极开路的8位双向I/O口。作为输出端口,每个引脚能驱动8个TTL负载

13、,对端口P0写入“1”时,可以作为高阻抗输入。在访问外部程序和数据存储器时,P0口也可以提供低8位地址和8位数据的复用总线。此时,P0口内部上拉电阻有效。在Flash ROM编程时,P0端口接收指令字节;而在校验程序时,则输出指令字节。验证时,要求外接上拉电阻。P1端口(P1.0P1.7,18引脚):P1口是一个带内部上拉电阻的8位双向I/O口。P1的输出缓冲器可驱动(吸收或者输出电流方式)4个TTL输入。对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这是可用作输入口。P1口作输入口使用时,因为有内部上拉电阻,那些被外部拉低的引脚会输出一个电流。此外,P1.0和P1.1还可以作

14、为定时器/计数器2的外部技术输入(P1.0/T2)和定时器/计数器2的触发输入(P1.1/T2EX),具体参见表2.1。 在对Flash ROM编程和程序校验时,P1接收低8位地址。 表2.1 引脚功能特性 引脚号功能特性P1.0T2(定时器/计数器2外部计数输入),时钟输出P1.1T2(定时器/计数器2捕获/重装触发和方向控制) P2端口(P2.0P2.7,2128引脚):P2口是一个带内部上拉电阻的8位双向I/O端口。P2的输出缓冲器可以驱动(吸收或输出电流方式)4个TTL输入。对端口写入1时,通过内部的上拉电阻把端口拉到高电平,这时可用作输入口。P2作为输入口使用时,

15、因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。 在访问外部程序存储器和16位地址的外部数据存储器(如执行“MOVX DPTR”指令)时,P2送出高8位地址。在访问8位地址的外部数据存储器(如执行“MOVX R1”指令)时,P2口引脚上的内容(就是专用寄存器(SFR)区中的P2寄存器的内容),在整个访问期间不会改变。在对Flash ROM编程和程序校验期间,P2也接收高位地址和一些控制信号。 P3端口(P3.0P3.7,1017引脚):P3是一个带内部上拉电阻的8位双向I/O端口。P3的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。

16、对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。P3做输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输入一个电流。 在对Flash ROM编程或程序校验时,P3还接收一些控制信号。P3口除作为一般I/O口外,还有其他一些复用功能,如表2.2所示。 表2.2 引脚复用功能引脚号复用功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2外部中断0P3.3外部中断1P3.4T0(定时器0的外部输入)P3.5T1(定时器1的外部输入)P3.6外部数据存储写选通P3.7外部数据存储度选通 RST(9引脚):复位输入。当输入连续两个机器周期以上

17、高电平时为有效,用来完成单片机单片机的复位初始化操作。看门狗计时完成后,RST引脚输出96个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。ALE(30引脚):地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。在Flash编程时,此引脚也用作编程输入脉冲。在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。 如果需要,通过将地址位8EH的SFR的第0位置“1”,ALE操作将无效。这一位

18、置“1”,ALE仅在执行MOVX或MOV指令时有效。否则,ALE将被微弱拉高。这个ALE使能标志位(地址位8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。  29引脚:外部程序存储器选通信号是外部程序存储器选通信号。当AT89C51RC从外部程序存储器执行外部代码时,在每个机器周期被激活两次,而访问外部数据存储器时将不被激活。 31引脚:访问外部程序存储器控制信号。为使能从0000H到FFFFH的外部程序存储器读取指令,29引脚必须接GND。注意加密方式1时,29引脚将内部锁定位RESET。为了执行内部程序指令,应该接VCC。在Flash编程期间,也接收12

19、伏VPP电压。 XTAL1(19引脚):振荡器反相放大器和内部时钟发生电路的输入端。XTAL2(18引脚):振荡器反相放大器的输入端。STC89C52单片机是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择。另外,它还具有指令多、功能强、速度快、可靠性高等优点。因此本系统采用STC89C52单片机来控制总体控制。2.3 LCD液晶显示器液晶显示器的介绍:液晶显示器简称LCD,它具有功耗低、体积小、美观、方便、使用寿命长的特点。液晶显示器中最主要的物质就是液晶,它是一种规则性排列的有机化合物,是一

20、种介于固体和液体之间的物质,在电厂的作用下,晶体排列发生改变,从而影响液体液晶的光折射特性,造成某些部分的视觉变化,从而达到显示的目的。231 12864液晶显示模块的介绍FYD12864-0402B是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64, 内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示8×4行16×16点阵的汉字. 也可完成图形显示.低电压低功耗是其又一显

21、著特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。逻辑工作电压(VDD):4.55.5V电源地(GND):0V工作温度(Ta):060(常温) / -2075(宽温)驱动方式:1/32DUTY,1/5BIAS背光方式:侧部高亮白色LED,功耗仅为普通LED的1/51/10232 12864液晶显示模块的管脚图及管脚定义 图2.3 LCD 12864管脚图 LCD 12864管脚定义如表2.3 : 表2.3 12864液晶显示模块管脚定义引脚号引脚名称方向功能说明1VSS-模块的电源地2VD

22、D+模块的电源正端3V0-LCD驱动电压输入端4RS(CS)H/L并行的指令/数据选择信号;串行的片选信号5R/W(SID)H/L并行的读写选择信号;串行的数据口6E(CLK)H/L并行的使能信号;串行的同步时钟7DB0H/L数据08DB1H/L数据19DB2H/L数据210DB3H/L数据311DB4H/L数据412DB5H/L数据513DB6H/L数据614DB7H/L数据715PSBH/L并/串行接口选择:H-并行;L-串行16NC空脚17/RETH/L复位 低电平有效18NC空脚19LED_A+背光源正极(LED+5V)20LED_K-背光源负极(LED-OV)233 12864液晶显

23、示模块接口时序的介绍12864显示模块有写时序和读时序两种时序如图2.4所示:(a)MPU写资料到模块(b)MPU从模块读出资料图2.4 接口时序写/读资料图 基本操作时序:读状态:输入:RS=L,R/W=H,CS=H,E=H;输出:D0D7=状态字写指令:输入:RS=L,R/W=L,D0D7=指令码,CS=H,E=高脉冲; 输出:无读数据:输入:RS=H,R/W=H,CS=H,E=H ;输出:D0D7=数据写数据:输入:RS=H,R/W=L,D0D7=数据,CS=H,E=高脉冲; 输出:无234 12864液晶显示模块与单片机的接口设计 图2.5 12864与单片机接口电路图 图2.5为12

24、864显示模块与单片机显示模块连接电路图:1VSS为模块的电源地,所以1口接地。2VDD为模块的电源正端,则2口接电源。3V0为LCD驱动电压输入端,则需要连接电路来控制电路中的电压。4RS(CS)H/L并行的指令/数据选择信号;串行的片选信号,则要连接单片机来行使其片选功能。5R/W(SID)H/L并行的读写选择信号;串行的数据口。因为在本电路中始终都是写指令或数据,所以该端可以始终连接低电平。6E(CLK)H/L并行的使能信号;串行的同步时钟。该项需要连接入单片机,再在工作过程中的高/低电平决定该端口所起到的作用。714接口为数据连接端口,与寄存器74LS373连接,通过寄存器传输单片机中

25、的数据来获得相应的信息传送至12864显示器中。15PSBH/L并/串行接口选择:H-并行;L-串行。16NC空脚,所以该处不接。17/RETH/L复位 低电平有效,则是直接连接高电平,使得12864显示模块刚开始就处于复位状态 19和20分别为背光源的正负极,则分别连接相对应的电源正极和电源负极。 第3章 系统的硬件部分设计3.1 89C52的时钟电路 STC89C52内部有一个用于构成振荡器的高增益反相放大器,引脚RXD和TXD分别是此放大器的输入端和输出端。时钟可以由内部方式产生或外部方式产生。内部方式的时钟电路如图(a),在RXD和TXD引脚上外接定时元件,内部振荡器就产生自激振荡。定

26、时元件通常采用石英晶体和电容组成的并联谐振回路。晶体振荡频率可以在1.212MHz之间选择,电容值在530pF之间选择,电容值的大小可对频率起微调的作用。 外部方式的时钟电路如图(b),RXD接地,TXD接外部振荡器。对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于12MHz的方波信号。片内时钟发生器把振荡频率两分频,产生一个两相时钟P1和P2,供单片机使用。 (a)内部振荡方式 (b)外部振荡方式 图3.1 89C52时钟电路3.2 89C52的复位电路(1)复位信号及其产生  整个复位电路包括芯片内、外两部分。外部电路产生的复位信号(RST)送至

27、施密特触发器,再由片内复位电路在每个机器周期的S5P2时刻对施密特触发器的输出进行采样,然后才得到内部复位操作所需要的信号。RST引脚是复位信号的输入端。复位信号是高电平有效,其有效时间应持续24个振荡周期(即二个机器周期)以上。若使用颇率为6MHz的晶振,则复位信号持续时间应超过4us才能完成复位操作。复位操作有上电自动复位和按键手动复位两种方式:如图(a),上电自动复位是通过外部复位的电容充电来实现的,这样只要电源VCC的上升时间不超过1ms,就可以实现自动上电复位,即接通电源那就成了系统的复位初始化;按键手动复位有电平方式和脉冲方式两种。如图(b),按键电平复位是通过使复位端经电阻与VC

28、C电源接通而实现的。如图(c),按键脉冲复位则是利用RC微分电路产生的正脉冲来实现的。 (a)上电复位 (b)按键电平复位 (c)按键脉冲复位 图3.2 89C52复位电路(2)复位操作  复位是单片机的初始化操作。其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需按复位键重新启动。 除PC之外,复位操作还对其他一些寄存器有影响,它们的复位状态如表3.1所示。  表3.1 一些寄存器的复位状态  寄存器复位状态寄存器复位状态PC000

29、HTCON00HACC00HTL000HPSW00HTH000HSP07HTL100HDPTR0000HTH100HP0P3FFHSCON00HIPXX000000BSBUF不定IE0X000000BPCON0XXX0000BTMOD00H3.3 键盘电路的设计键盘在单片机系统中是一个很重要的部分。输入数据、查询和控制系统的工作状态都要用到键盘,键盘是人工干预计算机的手段。微机所用的键盘可分为编码和非编码键盘两种。编码键盘采用硬件线路来实现键盘编码,每按下一个键,键盘能自动生成按键代码,键数较多,而且还具有去抖功能。这种键盘使用方便,但硬件较复杂,PC机所用的键盘就属于这种。非编码键盘仅提供按

30、键开关状态,其他工作由软件完成,这种键盘键数较少,硬件简单,一般在单片机应用系统中广泛使用。本次设计用的是矩阵式键盘,这种键盘连接简单使用较少的I/O口就可以接较多按键。331 矩阵式键盘扫描原理矩阵键盘扫描的方法有两种:1、逐行扫描:我们可以通过高四位轮流输出低电平来对矩阵键盘进行逐行扫描,当低四位接收到的数据不全为1的时候,说明有按键按下,然后通过接收到的数据是哪一位为0来判断是哪一个按键被按下。2、行列扫描:我们可以通过高四位全部输出低电平,低四位输出高电平。当接收到的数据,低四位不全为高电平时,说明有按键按下,然后通过接收的数据值,判断是哪一列有按键按下,然后再反过来,高四位输出高电平

31、,低四位输出低电平,然后根据接收到的高四位的值判断是那一行有按键按下,这样就能够确定是哪一个按键按下了。 图3.3 4 * 4矩阵键盘矩阵键盘的原理如图3.3所示。首先可以通过高四位全部输出低电平,低四位输出高电平。当接收到的数据,低四位不全为高电平时,说明有按键按下,然后通过接收的数据值,来判断是哪一列有键按下,其程序如下:GPIO_KEY=0X0F; switch(GPIO_KEY)case(0X07):KeyValue=0;break;测试第一列case(0X0b):KeyValue=1;break;测试第二列case(0X0d): KeyValue=2;break;测试第三列case(

32、0X0e):KeyValue=3;break;测试第四列然后再通过高四位输出高电平,低四位输出低电平,然后根据接收到的高四位的值判断是哪一行有按键按下,其程序如下: GPIO_KEY=0XF0;switch(GPIO_KEY)case(0X70):KeyValue=KeyValue;break;测试第一行case(0Xb0):KeyValue=KeyValue+4;break;测试第二行case(0Xd0): KeyValue=KeyValue+8;break;测试第三行case(0Xe0):KeyValue=KeyValue+12;break;测试第四行通过行与列的测试,这样就能够确定是哪一

33、个按键按下了。332 盘的去抖设计(a) (b) 图 3.4 键操作和键抖动示意图按键开关在电路中的连接如图3.4(a)所示。按键未按下时,A点电位为高电平5V;按键按下时A点电位低电平。A点电位就用于向CPU传递开关状态。但由于按键的结构为机械弹性开关,在按键按下和断开时触点在闭合和断开瞬间还会接触不稳定,引起A点电平不稳定,如图3.4(b)所示,键盘的抖动时间一般为510ms,抖动现象会引起CPU对一次键操作进行多次处理,从而可能产生错误。因此,必须设法消除抖动的不良后果。消除按键去抖不良后果的方法有硬件和软件两种。在此系统中我们采用软件去抖的方法来实现按键去抖问题。根据抖动的特性,在第一

34、次检测到按键按下后,执行一段延时10ms子程序后再确定该键是否确实按下,从而消除抖动的影响。333 键盘扫描控制方式在单片机应用系统中,对键盘的处理工作只是CPU工作内容的一部分,CPU还要进行数据处理,显示和其他输入操作,因此键盘处理工作既不能占用CPU太多时间,又需要CPU对键盘操作及时作出响应,CPU对键盘处理控制的工作方式有以下几种。1、程序控制扫描方式程序控制扫描方式是在CPU工作空余,调用键盘扫描子程序,响应键输入信号要求。程序控制扫描方式的键处理程序固定在主程序的某个程序段。当主程序运行到该程序段时,依次扫描键盘,判断有键输入否。若有,则计算按键编号,执行相应键功能子程序。这种工

35、作方式对CPU影响小,但应考虑键盘处理程序的运行间隔周期不能太长,否则会影响对键输入响应的及时性。2、定时扫描控制方式定时扫描控制方式是利用定时器/计数器每隔一段时间产生定时中断,CPU响应中断后对键盘进行扫描,并在有键闭合时转入该键的功能子程序。程序控制扫描方式与定时控制扫描方式的区别是,在扫描间隔时间内,前者用CPU工作程序填充,后者用定时器/计数器定时控制,还要占用一个定时/计数器。3、中断控制方式中断控制方式是利用外部中断源,响应按键输入信号。当无按键按下时,CPU执行正常工作程序。当有键按下时,CPU立即产生中断。在中断服务子程序中扫描键盘,判断是哪一个键被按下,然后执行该按键的功能

36、子程序,既能及时处理键输入,又能提高CPU运行效率。本系统就采用此种键盘控制方式,来响应系统的按键输入信号。 第4章 系统的软件部分设计 同硬件设计一样,软件设计也是分块进行的。本设计主要的现实背景就是以武昌火车站路线为依托,运行区间沿途设置12个站点。程序的主要设计包括系统主程序、键盘扫描程序、液晶显示程序等。各部分子程序由主程序调用,组成一个整体。4.1 系统主流程设计序 如图前面黑点多余4.1所示为系统主流程图。首先需要进行系统初始化设置,初始化后进行循环。在本设计中是采用中断扫描模式,当有键按下时,系统产生中断,CPU响应中断后,通过软件来实现该键号所对应键的功能。 图 4.1 系统主

37、流程图流程图后,建议适当添加一些文字说明,比如:系统IO口初始化作用,对显示屏显示有什么影响,系统时钟频率初始化,其作用是什么4.2 键盘扫描流程设计 按键扫描程序的执行过程前面的黑点多余:首先扫描某一按键是否按下,然后延时进行消抖,消抖过后又进行按键扫描判断该按键是否仍然按下,如果仍然按下就将取得的按键值赋给nkey,按键扫描流程图如图4.2所示。 图 4.2 按键扫描流程图程序工作思想为:电路上电后,程序首先完成程序的初始化,随后查询按键状态,进入系统工作状态。如果有按键按下,则转去执行该按键指向的工作程序。自此完成了4*4键盘的一次扫描,在程序中则利用键盘的不断扫描在配合其他相应的程序来

38、完成相应的功能该子程序可以适当添加,比如:当前显示是什么,对于不同的功能按键按下时,产生什么样的信号到单片机,执行后显示的是什么。4.3 LCD显示模块流程设计 图 4.3 LCD显示模块流程图 在公交车上,显示器在提醒人们下车中有很重要的作用,它几乎不会受到外界的影响,不像语音有时噪声较大等原因是会影响人的感官而使你无法确定你所要知道的站名,所以公交车上显示器的存在是绝对必要的,而且显示模块控制容易,价格便宜,有很大的通用性。在LCD显示过程中,它的程序并不是特别复杂,并且较容易理解,例如这次毕业设计中只要将程序适当的添加到单片机89C52中,就可以实现显示出所要显示内容的目的。#inclu

39、de <STC89XC52>#define uint unsigned int #define uchar unsigned charsbit p2_3=P23;sbit p2_4=P24;uchar code table= “珞珈学院 ”, “电子信息科学系 ”, “电子信息工程3班 ”, “设计:熊鹏 ”, “指导教师:李婧 ”在该程序中编写了,该字符段在显示器中显示的过程。首先num=1,则字符段为珞珈学院。随着num的不同,则选择显示的字符段也不同。结 论可以添加一些设计中出现过的问题:1、2、3、。怎么样解决这些问题:1、2、3、。最后的成果展示,可以用1到2张图片,简单

40、说明你的初始显示,以及操作后的显示。图片不要太大,太多。该设计主要有两部分组成:单片机控制部分和显示部分。控制部分由89C52组成,包括必要的按键电路、复位电路和时钟电路等外围电路。显示部分由12864的LCD液晶显示器完成。系统的软件设计用C语言进行编写,完成了一些重要程序的编写工作。具有设计快、效率高、成本低的特点。参考文献参考文献要在文中一一标明。并按照从小到大的顺序排列。 1 杨素行 模拟电子技术基础简明教程 第三版 高等教育出版社 2006.52 阎石 数字电子技术基础 第五版 高等教育出版社2006.53 陈忠平,曹巧暖 单片机原理及接口 第二版 北京:清华大学出版社,2011.5

41、4 董尚斌 电子线路() 清华大学出版社 2008.105 于敬芬:基于AT89S52和TLC0834的数据采集系统J,中国水运(学术版),20066 张毅刚,彭喜元,姜守达新编MCS-51单片机应用设计M第2版哈尔滨:哈尔滨工业大学出版社,20067 楼苗然51系列单片机M北京:北京航空航天大学出版社,20038 康华光主编电子技术基础M第四版北京:高等教育出版社,19999 李华MCS-51系列单片机实用接口技术M北京:北京航空航天大学出版社,200310韦丽华微机控制的公共汽车自动报站系统J辽宁工学院学报,2002附 录 程序清单:#include <STC89XC52>#d

42、efine uint unsigned int #define uchar unsigned charsbit p2_3=P23;sbit p2_4=P24;uchar code table= “珞珈学院 ”, “电子信息科学系 ”, “电子信息工程3班 ”, “设计:熊鹏 ”, “指导教师:李婧 ”void init()ss=0;CS=1;p2_0=1;p2_1=1;p2_2=1;wr_com(0x30);/功能设定指令delay(1);wr_com(0x30);/功能设定指令delay(1);wr_com(0X0c);/去游标delay(1);wr_com(0x08);/显示开指令dela

43、y(1);wr_com(0x01);/清屏指令delay(15);wr_com(0x06);/进入设定点指令void wr_com(uchar com)/写指令p2_3=0;P0=com;delay(5);p2_4=1;delay(5);p2_4=0;void wr_data(uchar date)/写数据p2_3=1;P0=date;delay(5);p2_4=1;delay(5);p2_4=0;void display(num) /写站名 uchar num1;for(num1=0;num1<8;num1+)wr_date(tablenumnum1);delay(20);在该程序中编写了,该字符段在显示器中显示的过程。首先num=1,则字符段为珞珈学院。随着num的不同,则选择显示的字符段也不同。 键盘扫描程序:* 函数名 : KeyDown* 函数功能 : 检测有按键按下并读取键值* 输入 : 无* 输出 : 无*/void KeyDown(void)char a=0;GPIO_KEY=0x0f;if(GPIO_KEY!=0x0f)/读取按键是否按下Delay10ms();/延时10ms进行消抖if

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论