您的当前位置:首页正文

基于单片机的公交车报站系统毕业设计

2021-09-03 来源:好走旅游网
毕业设计说明书

课题名称: 基于单片机的公交车报站系统设计

学生姓名

专 业 应用电子技术 班 级 1202 时 间 2014.10-2014.12 指导教师

电子工程学院

摘 要:

本文介绍了一种公交车报站系统的硬件设计原理,提供了一

种以AT89C52单片机为核心,控制大屏幕LED点阵显示的硬件设计方案。系统主要通过AT89C52单片机做为系统CPU,处理包括键盘输入和LED显示屏显示站名的所有信号处理。系统扫描到有键按下,判键确定后给CPU一个脉冲信号,然后CPU处理信号,确定所到站的站名, 再通过扫描驱动从LED显示屏上显示出所到站的站名。达到半自动报站的作用。整个系统硬件设计包括键盘电路、复

位电路、显示驱动电路、显示电路、内存扩展电路模块。其中显示模块是本系统的重点。

本系统很大程度上提高公交车报站的准确性,可靠性。提高了公交系统的服务质量。促进城市经济发展和交通变化的和谐发展。 关键词:

AT89C52单片机,16*16LED点阵显示屏,

目录

第一章 ………………………………………………………………………………3

1.1前言…………………………………………………………………………3 1.2背景与意义…………………………………………………………………3 1.3 现状…………………………………………………………………………4 1.4 发展趋势……………………………………………………………………4 1.5 设计任务……………………………………………………………………4

第二章 案论证和选择………………………………………………………………5

2.1总体方案……………………………………………………………………5 2.2单片机的选择………………………………………………………………5 2.3 LED点阵显示方式的选择…………………………………………………6

第三章 系统硬件设计………………………………………………………………7

3.1单片机介绍…………………………………………………………………7

3.1.1晶振电路……………………………………………………………10 3.1.2复位电路设计………………………………………………………11 3.1.3按键电路设计………………………………………………………11

3.2 显示电路设计……………………………………………………………12 3.2.1 16*16LED显示屏……………………………………………………12

3.2.2 LED显示屏工作原理………………………………………………14

第四章 软件设计……………………………………………………………………16

4.1 软件开发工具和语音……………………………………………………16

4.2 单片机软件流程图………………………………………………………16 4.3 LED程序分析………………………………………………………………17

结论…………………………………………………………………………………18 致谢…………………………………………………………………………………19 参考文献……………………………………………………………………………19 附录A 元器件清单……………………………………………………………20 附录B 原理图、proteus仿真图……………………………………………21

第一章

1.1前言

随着科技的不断进步,人们对事物的认知程度已经得到了广泛的提升,在实际生活中,大家都希望能使用简便、智能、人性化的产品。在公交车自动报站方面,由于我国现状,人口众多,口音复杂,对于乘客而言,原来的人工报站存在着很多的问题。为了跟随科技发展,提高公交系统的服务质量,提升城市形象。开发一种能够节省人力和物力,而又能让乘客方便快捷的知道站台报站器就成为一种必然。因此本次毕业设计中提出一个以AT89C52单片机为核心,用LED显示屏显示站名的即经济、高效、直观的公交车到站自动报站系统。

1.2背景与意义

随着国民经济的快速发展,城市建设规模不断扩大,大城市人口高度集中并大幅度增长,同时汽车保有量急剧上升,交通需求迅速扩大,而道路交通基础设施建设的发展则相对滞后。城市交通需求与供给之间的矛盾越来越突出,城市“乘车难”、“行车难”的局面在加剧,交通阻塞呈现出点到线、由线到面的扩展趋势,交通拥挤、交通延误、交通阻塞以及由此引起的噪音、废气污染严重影响着居民的正常的生活以及社会经济的持续、健康发展。

近年来,我国城市交通的现状已引起了政府、公众、社会各界的广泛关注, 有关专家学者和交通工程师们在吸取各国城市交通发展经验的基础上,找到了一条解决我国城市交通发展问题的有效途径,即优先发展城市公共交通,以公共交通为杠杆降低城市交通需求总量,实现道路交通基础设施发展与交通需求增长的均衡。

实施“公交优先”是解决我国城市交通发展问题的有效途径,也是我国目前城市交通发展的基本政策。公交智能化是智能交通的一个重要的子领域,同时也是落实“公交优先”,使城市交通与社会经济和谐发展的重要组成部分。实施公交智能化,必须提高公交服务质量,而到站后的准确、及时报站就是一个方面,本设计基于AT89C52单片机、LED点阵制作的公交车报站系统就能解决这方面的问题。

从而,达到公共形象的提升。当前国内主要大城市的公交车大都采用人工报站,即每到一站由司机或者乘务员来进行报站。但有时由于受到各种因素如雨雪天路滑、车上拥挤、乘务员心情的变化等的影响,会出现报错站,漏报站的情况,给乘客特别是不熟悉本市

地形的乘客带来了不必要的麻烦,从而影响到了一个城市的窗口形象工程建设。于是开发研制自动报站系统成为必然。

1.3 现状

随着公交优先战略的确定,公交在缓解城市交通拥堵方面的作用将越来越重 要,与这种要求相比,我国大城市公共交通还有很大差距,主要表现为:为社会提供服务信息的水平低,只能是以经验为主的被动、滞后的实施服务,仍以人工作业为主。上述问题显然不利于公交对乘客的吸引,也是导致公交运营组织模式落后、调度方式原始陈旧、企业管理效率不高的重要原因。因此,如何提高公交系统的服务质量,是现代公交行业亟待解决的问题。

我国发展智能运输的基础较差,因此理论研究虽在进行,但相应技术却得不到推广。在实际生活中得不到应用,达不到广泛服务社会的目的。所以发展一种自动报站系统,提高公交服务质量就成为民用科技研究的一个项目。

目前在国际上已经实现了GPS定位车载智能系统,在国内的几个大城市也都有使用,实现了公交系统的全面监控、调度。公交车自动报站系统的研究也达到了无线联络,全自动报站的水平。但其一般其经济投入较高。结合我国现有的公交系统现状,半自动化报站系统还有很大的应用空间。适应用于一些中小城市。

1.4 发展趋势

现代信息社会中,作为人机信息视觉传播媒体的显示产品技术得到了迅速发展,进入二十一世纪的显示技术将是平板显示的时代,LED显示屏作为平板显示的主导产品之一无疑会有很大的发展,并有可能成为二十一世纪平板显示的代表性主流产品。

信息化的社会的形成,信息领域的愈加广泛,显示屏的应用前景更为广阔。预计大型或超大型LED显示屏的主流产品局面将会发生改变,适合于服务行业特点和专业性要求的小型LED显示屏会有较大提高,而向信息服务领域的LED显示屏产品门类和品种体系将更加丰富,部分潜在的市场需求和应用领域将会有所突破,如公共交通、停车场、餐饮、医院等综合服务方面的信息显示屏需求量将有更大的提高,大批量、小型化的标准系列LED显示屏在LED显示屏市场总量中将会有多数份额。

1.5设计任务

以AT89C51单片机为核心,16*16LED点阵作为显示屏,制作一个公交车报站系统。

设计要求:

1. 用16×16LED点阵显示汉字,要求能稳定、清晰地显示预设文字; 2. 公交站名显示通过编程能实现左移滚动显示方式; 3. 通过按键控制下一站的播报。

第二章 方案论证和选择

2.1 总体方案

单片机控制系统框图,利用AT89C51单片机作为CPU来进行总体控制,通过驱动电路对点阵进行扫描,使其进行显示。

单行驱动列驱动 16*16LED点阵图2-1系统框图 显示屏 片2.2 单片机选择 方案一机:? 采用通过 SPCE061A是凌阳科技公司umSPTM(microcontroller?and?signal?processor)系列产品中的16位微控制芯片,内置32闪存,其较高的处理速度芯片能够非常容易、快速地处理复杂的数字信号,适用于数字语音识别等领域。此方案也是有单片机直接驱动,性能稳定,驱动能力强,简单方便,但是由于我们系主要学习的是51系列单片机对于这一款新的单片机再去学习了解可能时间不够,故此方案也被放弃了。

方案二:选用ATMEL公司的AT89C52单片机作为硬件电路的主控芯片,它是一个低电压,高性能CMOS?8位单片机,片内8K?BYTES的可反复擦写的只读程序存储器和256?BYTES的随机存取数据存储器,器件采用ATMEL公司的高密度,非易失性存储技术生产,兼容标准MCS-51指令系统,片内置有8位中央处理器和FLASH存储器单元,功能强大的AT89C52单片机可提供许多复杂系统控制应用场合。AT89C52单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案,因此单片机选择ATC89C52较为合适。

报站器以单片机AT89C52为CPU来控制LED点阵显示屏显示所到站的站名,提高报站的准确性,高效性和直观性。

由于线路不同,报站系统中存储的站名需要通过更改来适用于各种线路,以此提高系统的通用性。所以我们需要设计通信模块来实现PC机和单片机之间的通信。并能通过单片机与PC机之间的通信来实现报站名的更改,使其成为多功能开发型报站器。

而由于考虑到自身设计水平有限,本次设计的系统没有设计语音模块模仿人声报站而是设计了按键模块控制LED显示屏显示站名,达到报站的目的。

在内存方面,由于AT89C52的数据存储为256字节,由于站名的信息量比较大,片内数据存储空间有限,所以需要扩展一个片外数据存储,来满足要求,这就要求系统应设置内存扩展模块。

LED显示屏考虑系统只是一个演示作用,所以本设计采用了4块8*8的LED显示模块组成的16*16的LED显示屏,可以达到演示要求。

2.3 LED 显示方式的选择

根据驱动方式的不同,LED大屏幕显示方式可分为静态显示和动态扫描显示。

SPCE061A单片机编写程序显示要求汉字。 ?方案一:采用静态锁存方式,从理论上说,不论显示图形还是文字,只要控制这些组成图形或文字的各个点所在位置相对应的LED器件发光,就可以得到我们想要的显示结果,这种同时控制各个发光点亮灭的方法称为静态驱动显示方式。16×16的点阵共有2566个发光二极管,显然单片机没有这么多端口,如果采用锁存器来扩展端口,按8位的锁存器来计算,16×16的点阵需要256/8=32个锁存器。这个数字很大,因为仅仅是16×16的点阵,在实际应用中的显示屏往往要大的多,这样在锁存器上花的成本将是一个很大的数字。这种方法可以直接驱动LED,原理简单,驱动能力强,LED的亮度也可以通过限流电阻调节,非常方便,但此种方法太浪费单片机的I/O口,只适合于较小的系统。因此采用另一种称为动态扫描的显示方法。?

方案二:采用动态扫描方式,动态扫描的意思简单地说就是逐行轮流点亮,这样扫描驱动电路就可以实现多行(比如24行)的同名列共用一套列驱动器。具体就由4块8×8组成的16×16的点阵来说,我们把所有同一行的发光管的阳极连在一起,把所有同一列的发光管的阴极连在一起,先送出对应第一列发光管亮灭的数据并锁存,然后选通第一列使其点亮一定的时间,然后熄灭;再送出第二列的数据并锁存,然后选通第二列使其点亮相同的时间,然后熄灭;……?第二十四列之后又重新点亮第一列,这样反复轮回。当这样轮回的速度足够快(每秒24次以上),由于人眼的视觉暂留现象,只要刷新速率不小于25帧/秒,就不会有闪烁感,我们就能看到显示屏上稳定的图形了。该方法能驱动较多的LED,控制方式较灵活,而且节省单片机的资源。故采用本设计方案。

第三章 系统硬件设计

3.1 单片机介绍

AT89C51单片机的结构框图如图3.1所示。它主要由下面几个部分组成:1个8位中央处理单元(CPU)、片内Flash存储器、片内RAM、4个8位的双向可寻址I/O口、1个全双工UART(通用异步接收发送器)的串行接口、2个16位的定时器/计数器、多个优先级的嵌套中断结构,以及一个片内振荡器和时钟电路。在AT89C51单片机结构中,最显着的特点是内部含有Flash存储器,而在其他方面的结构,则和Intel公司的8051的结构没有太大的区别。

外部 中断

图3-1 AT89C51单片机的结构框图 片内 Flash 片内 RAM ETC 定时器1 定时器0 计数器 输入

主要性能 中断控制 存储器1. 与MCS-51 兼容 2. 4K字节可编程闪烁存储器 寿命:1000次写/擦循环 CPU 振荡器 总线控制 4I/O端口 串行端口 P0 P2 P1 P3 TXD RXD 数据保留时间:10年 3. 全静态工作:0Hz-24Hz 4. 三级程序存储器锁定 5. 128*8位内部RAM 6. 32可编程I/O线 7. 两个16位定时器/计数器 8. 5个中断源 9. 可编程串行通道 10. 片内振荡器和时钟电路 图3-2AT89C51引脚图

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8个TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

?P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

P3口也可作为AT89C51的一些特殊功能口,如下表所示: 口管脚 备选功能

P3.0 RXD(串行输入口)

P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通)

P3口同时为闪烁编程和编程校验接收一些控制信号。

RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令时ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。

?? /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

????/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

??? XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出振荡器特性:

XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。

[6]。

因为公交车车自动报站系统设计需要较大的存储量,所以要选择一个数据和程序容量较大的单片机,这样就不用扩展数据和程序存储器。在这里我们选用了ATMEL公司的AT89C52单片机作为本设计硬件电路的主控芯片,它是一个低电压,高性能CMOS 8位单片机,片内8K BYTES的可反复擦写的只读程序存储器和256BYTES的随机存取数据存储器,器件采用ATMEL公司的高密度,非易失性存储技术生产,兼容标准MCS-51指令系统,片内置有8位中央处理器和FLASH存储器单元,功能强大的AT89C52单片机可提供许多复杂系统控制应用场合。

3.1.1 晶振电路

AT89C52的内部有一个用于构成振荡器的高增益反相放大器。通过XTAL1,ATAL2外部接上一片作为反馈元件的晶体,与C1和C2构成了并联谐振电路,使其构成自激振荡器。电容的值具有微调的作用,我们取30PF。具体的接法如右图外部晶振电路

C1C2XTAL2C3XTAL1AT89C52

AT89C52

的工作频率范围在 0-24MHZ。我们选用

的是12MHZ的晶振,振荡周期为1us机器周期为1us,所以这个晶振可以满足这个系统的要求。并且晶振不能离单片机太远,不然使用外部晶振进行软件调试时就会发现找不到信号。

3.1.2 复位电路设计

复位有硬件和软件两种,复位的作用是使程序自动从0000H开始执行,因此我们只要在AT89C52单片机的RESET端加上一个高电平信号,并持续10ms以上即可,RESET端接有一个上电复位电路,它是由一个小的电解电容和一个接地的电阻组成的。人工复位电路另外采用一个按钮来给RESET端加上高电平信号。

图3-3人工复位电路

我们采用放电型人工复位电路,如图3-3人工复位电路,上电时C通过R充电,维持宽度大于10ms的正脉冲,完成上复位功能。C充电结束后,RESET端出现低电平CPU正常工作。在此我们取了典型值R=10K,R1=1k,C=10uf。

上电复位实现的时间 :T=R*C =10K*10UF =100ms>=10ms

需要人工复位时,按下按钮K,C通过K和R1放电,RESET端电位上升到高电平,实现人工复位,K松开后C重新充电,充电结束后,CPU重新工作,R1是限流电阻,阻值不可以过大,否则不能起到复位作用。

3.1.3 按键电路的设计

键盘实质上是一组按键开关的集合,控制CPU通过按键来识别特定的用户命令,从而转入相应的程序来执行用户命令。键盘的软硬件的设计涉及下面几个方面的问题:

对于此设计来说我们要准确的显示我们所要对应的信息,每按下一次按键要显示所要显示的信息。这按键是主要用来报站的而设计的。这样比键盘操作 方便,也比较实惠。按键电路采用中断模式。当有按键按下时,系统产生中断,CPU响应中断后,开始计数,即查询键号,通过软件来实现该键号所对应键的功能键盘的大体设置为:第一个键为报站控制键S1用来控制站台“+”例如:第一站为光谷站,按下S1时显示第二站:火车站,其余的站台工作原理也一样。S2用来控制站台的“-”,第二站为火车站,在按下S2时这样就显示火车站。电路如图3-4按键电路:

图3-4按键电路

3.2 LED显示屏设计

我们知道的用来显示的器件很多。比如数码管、LCD、点阵式LED。数码管只能显示数字,LCD可以显示汉字、符号、数字和图形。虽然LCD的显示效果要比LED好,显示电路也比较简单(很大一部分已经集成化)。但是它的价格比较高,也不容易采购。所以综合考虑生产成本,本系统采用点阵式LED显示。它具有以下优点:1 价格比较便宜 2 容易扩展显示比较多的汉字 3 显示汉字效果好,广泛用于广告显示屏,交通屏幕。通常情况下,点阵式LED显示屏是由标准的LED显示模块组成的。

3.2.1 16*16LED显示屏

HS 1088BS点阵式LED显示模块是8行8列64个LED组成。单块点阵式LED显示模块能够显示各种字母,数字和常用的符号。点阵式LED显示模块在8行8列的每一个交点上装有一个LED。模块有共阳极和共阴极之分。LED的正极接行引线,负极接列引线的称为共阳极LED显示模块,反之为共阴极LED显示模块。

由4个8*8的LED显示屏组成的16*16的LED汉字显示屏如图3-5, 4个8*8的LED显示屏组成的16*16的LED显示屏,行引脚逐个连接而成。

图3-5 8*8单色LED模块内部电路

图3—6 4个8*8的LED显示屏组成的16*16的LED显示屏

3.2.2 LED显示屏的工作原理?

LED点阵显示系统中各模块的显示方式:?有静态和动态显示两种。静态显示原理简单、控制方便,但硬件接线复杂,在实际应用中一般采用动态显示方式,动态显示采用扫描的方式工作,由峰值较大的窄脉冲电压驱动,从上到下逐次不断地对显示屏的各行进行选通,同时又向各列送出表示图形或文字信息的列数据信号,反复循环以上操作,就可显示各种图形或文字信息。?

点阵式LED汉字广告屏绝大部分是采用动态扫描显示方式,这种显示方式巧妙地利用了人眼的视觉暂留特性。将连续的几帧画面高速的循环显示,只要帧速率高于24帧/秒,人眼看起来就是一个完整的,相对静止的画面。最典型的例子就是电影放映机。在电子领域中,因为这种动态扫描显示方式极大的缩减了发光单元的信号线数量,因此在LED显示技术中被广泛使用。?

以8×8点阵模块为例,说明一下其使用方法及控制过程。图2-1中,红色水平线Y0、Y1……Y7叫做行线,接内部发光二极管的阳极,每一行8个LED的阳极都接在本行的行线上。相邻两行线间绝缘。同样,蓝色竖直线X0、X1……X7叫做列线,接内部每列8个LED的阴极,相邻两列线间绝缘。?

在这种形式的LED点阵模块中,若在某行线上施加高电平(用“1”表示),在某列线上施加低电平(用“0”表示)。则行线和列线的交叉点处的LED就会有电流流过而发光。比如,Y7为1,X0为0,则右下角的LED点亮。再如Y0为1,X0到X7均为0,则最上面一行8个LED全点亮。?

现描述一下用动态扫描显示的方式,显示字符“B”的过程。其过程如图

3-7

图3-7?用动态扫描显示字符“B”的过程

第四章 软件设计

程序就是为计算机某一算式或完成某一工作的若干指令的有序集合。计算机的全部工作概括起来就是执行这一指令序列的过成。这一指令序列称为程序。本章主要讲了主控部分以及LED显示部分的程序设计。

4.1单片机软件开发工具及语言

本系统的处理器是兼容8051指令集的高速单片机STC12C5412AD。为此,首选Keil?μVision作为其开发工具。Keil??μVision是美国Keil?Software公司出品的51系列

兼容单片机C语言软件开发系统。其功能强大,生成的代码紧凑,是目前世界上使用最广的51系列兼容单片机开发工具。?

本设计中,单片机软件是采用C51语言编写,C51语言是ANSI?C的扩展集,其语法结构、关键字等与ANSI?C绝大部分是相同的。与汇编相比,C51语言在功能上、结构性、可读性、可移植性、可维护性上有明显的优势。

4.2单片机软件流程

系统通电,首先进行初始化,第一个站时,按输入键,系统进行比较判断是否按下,“是”则继续进行外部中断,调用程序清屏,再通过程序显示地址;“否”就返回原状态。

图4-2 单片机软件流程

4.3 LED程序分析

显示驱动程序在进人中断后首先要对定时器T0重新赋初值,以保证显示屏刷新率的稳定,1/16扫描显示屏的刷新率(帧频)计算公式如下:?

????????刷新率(帧频)=1/16×T0溢出率=1/16×fosc/12(65536—to)?其中,fosc为晶振频率,to为定时器T0初值(工作在16位定时器模式)。?

然后显示驱动程序查询当前燃亮的行号,从显示缓存区内读取下一行的显示数据,并通过串口发送给移位寄存器。为消除在切换行显示数据的时候产生拖尾现象,驱动程序先要关闭显示屏,即消隐,等显示数据打人输出锁存器并锁存,然后再输出新的行号,重新打开显示。?

4.3.1 LED汉字左移程序分析

汉字的左移程序步骤如下:?

先申请一个二维的数组,在数组中放入两个汉字的字码,然后使外部寄存器进行停留显示一段时间。??

把这个数组的内容整体从左向右移动一位,再让外部寄存器进行停留显示一段时间。? 进行上一步时,数组会少一列数据,这时就把下一个汉字的头字节取来补上。这样一直进行下去,直到最后没有汉字字码为止。?

4.3.2 汉字站号的按键选择程序分析?

按键程序是实现公交报站的一个重要组成部分,这里我使用了51单片机两个强大的外部中断来做汉字内容的切换。?

??下一站按键按下之后,先对显示屏进行清屏,然后字模的地址指针移动到下一站字模组的首地址,主程序继续执行显示当前指针指向的汉字。?

??上一站按键按下之后,先对显示屏进行清屏,然后字模的地址指针移动到上下一站字模组的首地址,主程序继续执行显示当前指针指向的汉字。

总 结

本设计的是一个公交车报站16*16的点阵LED显示屏,能够在目测条件下LED显示屏各点亮度均匀、充足,可显示图形和文字,显示图形和文字应稳定、清晰无串扰。图形或文字显示有静止、移入移出等显示方式。本系统具有硬件少,结构简单,容易实现,性能稳定可靠,成本低等特点,适合在每辆公交车上安装。

?总结本文的研究工作,主要做了下面几点工作?

?一、通过查阅大量的相关资料,详细了解了公交车报站系统和其中的LED的发光原理和LED显示屏的原理,了解了公交车报站系统的现状,清楚地了解了在显示站名时LED显示屏与其它显示屏相比较有那些优点,明确了研究目标。并且通过对单片机资料的查阅和应用,更进一步增加了对单片机知识的理解和运用能力。并证实了自己的思路:“查资料→思考总结→运用→找出差错,再查资料和向别人询问→再次运用”的正确性。?

二,本文设计的公交车报站LED显示屏能够实现在目测条件下LED显示屏各点亮度均匀、充足,可显示图形和文字,显示图形和文字应稳定、清晰无串扰。图形或文字显示有静止、移入移出等显示方式。

三,本文列出了系统具体的硬件设计方案,硬件结构电路图,软件流程图和具体汇编语言程序设计与调试等方面。?

四,通过这次毕业设计,重新复习单片机知识并进一步增强了动手的能力,学以致用,把知识运用到实际生活中才是根本目的。?

五,存在问题:没有考虑仿真软件是一个理想的仿真环境,而实际连接的电路板会由于譬如连接不当,相邻器件间的干扰等等的问题导致,仿真软件中能良好运行的程序在实际出现显示问题,经过排查和合理的器件摆放焊接,问题被解决。?

总体来说这次的毕业设计很成功,达到了预想的目的:学到了知识,提高了能力,完成了任务。有点缺憾是时间有限,不能进一步深入和扩散学习和研究。希望有时间可以对程序和电路图作更进一步的改进,譬如实现点阵的上下移动,对角线移动,三色显示等。?

致谢?:

本设计在老师的悉心指导和严格要求下完成,从课题选择、方案论证到具体设计和调试,无不凝聚着老师的关心和指导,在此向老师表示深深的感谢和崇高的敬意。在此过程中,使学生学到了很多专业上的知识,尤其是使学生对过去书本上不太理解熟悉的理论知识有进一步的掌握,也使学生感受到做论文是要真真正正用心去做的一件事情,是真正的自己学习的过程和研究的过程以及与学会和他人共同进步的过程,没有学习就不可能有研究的能力,没有自己用心的研究,就不会有所突破,那也就不叫论文了。这次的经历会帮助我在以后学习中不断的激励自己继续进步。老师在论文上给于学生的帮助,令学生受益良多;杨老师渊博的学识、严谨的治学态度、开阔的思维以及为人师表的作风,将使学生毕生难忘,并将对学生今后的学习、工作和生活产生重要的影响。老师对本课题的研究以及论文的撰写倾注了极大的心血,区区数语,难表谢意!我还要感谢我的家人,我的家人为使我能顺利完成三年的学业,在经济上和精神上给予了我极大的支持,做出了不少的牺牲,在此,我对他们表示由衷地感激!同时,还要向学习期间所有曾给我帮助的老师、同学和朋友表示衷心地感谢,有了大家的热心帮助,我才能一步一步地解决学习和生活中的各种问题。在此向大家表达我诚挚的谢意!最后衷心感谢在百忙之中评阅论文和参加答辩的各位老师、专家、教授 。

参考文献

1、《电工学》 秦曾煌主编 高等教育出版社 2003年第五版 2、《数字电子技术》 杨志忠主编 高等教育出版社 2000年第一版 3、《集成电路原理及应用》谭博学主编,电子工业出版社,2008第二版 4、《EDA技术基础》 郭勇主编 机械工业出版社 2007年第二版 5、《电子技能实验与实训》 周福平主编 科学出版社 2011年第一版 6、《新概念51单片机C语言教程》 郭天祥主编 电子工业出版社

附录 A

元器件清单

器件名称 规格 数量 单片机 晶振 AT89C52 12MHz 1 1 电解电容 电容 按键 点阵 电阻 译码器 排阻 导线 10UF 8UF 1 2 3 8*8单红 10k 74LS138 RESPACK-8 4 4 2 1 若干 附录B

原理图 仿真截图

因篇幅问题不能全部显示,请点此查看更多更全内容