公交车汉字显示系统毕业设计.docx

上传人:b****6 文档编号:5727297 上传时间:2022-12-31 格式:DOCX 页数:13 大小:676.12KB
下载 相关 举报
公交车汉字显示系统毕业设计.docx_第1页
第1页 / 共13页
公交车汉字显示系统毕业设计.docx_第2页
第2页 / 共13页
公交车汉字显示系统毕业设计.docx_第3页
第3页 / 共13页
公交车汉字显示系统毕业设计.docx_第4页
第4页 / 共13页
公交车汉字显示系统毕业设计.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

公交车汉字显示系统毕业设计.docx

《公交车汉字显示系统毕业设计.docx》由会员分享,可在线阅读,更多相关《公交车汉字显示系统毕业设计.docx(13页珍藏版)》请在冰豆网上搜索。

公交车汉字显示系统毕业设计.docx

公交车汉字显示系统毕业设计

公交车汉字显示系统

学生:

XXX指导教师:

XXX

内容摘要:

随着时代的进步,公交车已经成为一般工薪族和学生族出门必须的交通工具。

由于单片机技术飞速发展。

目前,在公交车报站方面,也由传统的人工报站,逐渐改变为使用单片机控制的文字报站系统。

从以前售票员的大声报站变成现在的自动的汉字提示等新型的报站系统,加快了现代化建设的进程。

是国家自动化交通发展的标志。

为降低目前市场上LED点阵显示屏的制作成本,本着简单实用的原则,设计并制作了一种由单片机控制的公交车站名LED点阵显示屏。

通过串口与上位机通讯,以实现对显示内容的更改、扩展。

系统成本低、结构简单、工作稳定,有很大的潜在经济价值和社会价值。

关键词:

LED点阵AT89S52单片机串行通讯下载取模软件

 

Designofthenamedisplaysystemforbusstation

Abstract:

WiththeprogressofTheTimes,thebushadalreadybecomegeneralapplicabilityandstudentsoutoftransportationmustbefamily.Duetotherapiddevelopmentofsinglechipmicrocomputer.Atpresent,inthebusstops,alsofromthetraditionalartificialthestops,andgraduallychangetousethewordsofthesinglechipmicrocomputercontrolsystemstops.Fromformerconductorstopstheautomaticnowloudlyintothecharacterssuggestandsoonthenewsystemofthestopsandacceleratethemodernization.Isthenationalsymbolofautomationtransportationdevelopment.

InordertoreducethecostofproducingthelatticeLEDpanelonthemarketnowadays,onprincipleofsimplenessandavailability,akindoflatticeLEDpanelscreenisdesignedandimplemented,whichisusedtodisplaythenamesofthebusstationsunderthecontrolofmicrocomputer.Itcanmodifyandextendthecontentsofdisplay,throughserialcommunicationwithcomputers.Inaddition,notonlyhasitthefeatureoflowsystemcost,simplenessofstructure,andstabilityofworking,butalsogreatpotentialeconomicandsocialvalue.

Keywords:

LED-latticeAT89S52microcomputerserialcommunicationapplicationsoftware

 

 

公交车汉字显示系统

前言

近年来,随着科学技术的日益发展和进步,微型计算机技术已经在许多领域得到了广泛的应用。

而LED显示屏又是随着计算机及相关的微电子、光电子技术的迅猛发展而形成的一种新型信息显示媒体。

因此,由单片机控制,利用发光二极管构成的点阵模块或像素单元组成可变面积的显示屏幕,集二者之大成,以可靠性高、使用寿命长、环境适应能力强、性能价格比高、使用成本低等特点,在短短的十来年中,迅速成长为平板显示的主流产品。

目前在公交车报站方面,传统的人工报站,已经逐渐被单片机控制的语音报站所代替。

但是这种语音报站系统存在报站时间短、声音含糊不清,在嘈杂的公交车上,乘客有时听不清站名等缺点。

在一些大中城市已经有公交车采用LED显示屏显示站名及广告等信息。

但这类显示屏成本高,功耗大。

因此,本着降低成本,简单实用的原则设计了一种由单片机控制的LED点阵显示屏。

1公交车汉字显示系统构成介绍

1.1公交车汉字显示系统构成

本系统硬件,由LED点阵显示屏、单片机(AT89S52)、显示控制电路、显示驱动电路、通讯接口等组成,如图1.1-1所示。

图1.1-1公交车汉字显示系统构成

下位机主控芯片采用AT89S52单片机,可将要显示的固定的汉字点阵数据存储在单片机自带的存储器中,从而节约E²PROM的存储空间。

通过两片74HC573输出汉字的字模数据,列扫描采用两级九片74HC138译码,由程序控制分时选通64列,从而实现滚动动态显示存储在E2PROM中的内容。

1.2LED点阵显示屏

显示部分采用16块8×8单色(红色)LED点阵块拼接构成16×64点阵的条形显示屏,实物图如图1.2-1所示。

图1.2-1LED报站系统

1.2.1LED点阵扫描方式

LED显示屏通常采用动态显示方式。

动态显示是利用人眼的视觉暂留效应,为了得到稳定的显示图像,要求扫描周期T<20ms。

点阵LED动态扫描可分为三种方式:

点扫描、行扫描、列扫描。

对于本系统要求显示四个汉字,每个汉字为16×16点阵,共1024个点。

若使用第一种方式,设刷新频率为50Hz,其扫描频率必须大于16×64×50=51200Hz。

这么高的频率用51系列单片机难以实现。

使用第二和第三种方式,则频率大于16×8×50=6400Hz,周期小于0.15ms即可符合视觉暂留要求。

为方便实现从右到左的滚屏显示,本系统采用列扫描方式。

1.2.2汉字字模提取原理

以UCDOS中文宋体字库为例,每一个字由16行16列的点阵组成。

即国标汉字库中的每一个字均由256点阵来表示。

下面以“长”字为例,说明汉字点阵的取点方法,见图1.2-2。

 

图1.2-2汉字“长”的显示

下面是按这种方式取得的“长”字的字模数据。

0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0xFF,0xFF,0x05,0x02,0x05,0x84,0x09,0x48(左半部分)

0x09,0x20,0x11,0x10,0x21,0x08,0x41,0x0C,0x01,0x06,0x01,0x04,0x01,0x00,0x00,0x00(右半部分)

国家标准规定:

汉字库分94个区,每个区有94个汉字(以位作区别),每个汉字在汉字库中有确定区位码。

汉字内码第一位为区码,第二位为每区内的编码,每位数据1为要显示点,0为不显示点,对应在屏幕上显示出来,就是相应的汉字。

由于在中文环境下,输入的是汉字的内码,要想从字库中找到对应的汉字,将其字模显示出来就必须将其转换成区位码,算出偏移量。

在16*16字模中:

设其内码为ABCD(AB在前,是区码)偏移地址ADDRESS=[(AB-0xa1)*94(十进制)+(CD-0xa1)]*32(十进制)

1.3系统控制电路

1.3.1单片机最小系统

该系统选用Atmel8位单片机89S52,该单片机完全兼容MCS-51系列单片机,内部集成有8kB的Flash存储器。

利用MAX232实现与上位机的串口通讯。

单片机外接一32kB的E²PROM24C32,在串口通讯时实时对其进行读、写操作。

1.3.2驱动电路

采用74HC573锁存器作为行驱动,用二级74HC138构成6-128译码,16×64点阵显示屏在逻辑上按8×128排列。

在74HC138上加非门后接ULN2803驱动电路。

行驱动信号和列扫描信号都由单片机的P0口输出。

对于汉字的某一列数据,在列扫描信号不变的情况下,要分两次传送。

2⁴×2²=64,因此,只要6根地址线,即将A1-A6用一片74HC573锁存器输出,配合74HC138译码器即可完成64列扫描。

扫描信号的最后一位A0,用来选汉字的上部和下部。

2软件设计

2.1下位机软件设计

下位机软件设计,如图2.1-1所示。

图2.1-1完成显示“下一站”的程序流程图

2.2上位机软件设计

通信部分的上位机软件,采用keil编程,使用keil在标准串口通信方面提供的具有强大功能的通信控件CMSCOMM,该控件可设置串行通信的数据发送和接收,对串口状态及串口通信的信息格式和协议进行设置,直接利用PC机的RS-232串口发送数据。

为实现单片机与PC机的可靠通信,须保证双方窟有相同的数据格式和波特率。

系统架构流程如图2.2-1所示。

 

 

图2.2-1系统架构流程

其中,数据下载包括数据的转换、发送过程。

编写汉字取模软件的主要过程:

打开HZK16字库文件,依照计算出来的偏移量,找到该汉字的起始位置,读取其后的32个字节的字模数据,最后由串口发送出去。

上位机操作界面如图2.3-1所示。

2.3上、下位机串口通讯协议

当下位机检测到外部中断1时,令数码管显示4条横杠,LED(红色)小灯闪3次,同时等待上位机发送数据;当下位机接收到上位机发送的字符“W”后,向上位机发送字符“S”;当上位机接收到字符“S”时,表明下位机已经准备好接收数据,产生将车站总数发送给下位机的事件。

下位机接收到车站总数后,将此数据写入E²PROM。

接着即发送字符“K”给上位机。

图2.3-1上位机操作界面

3系统调试

3.1常见硬件故障调试

3.1.1逻辑错误

由于设计错误和焊接所造成的,包括错线,开路,短路,相位错等几种,其中短路是最常见的故障。

3.1.2可靠性差

如金属化孔,接插件接触不良造成系统时好时坏,经不起振动;器件负载过大等造成逻辑电平不稳定。

3.1.3电源故障

电压值不符合设计要求,电源引出线和插座不对应,电源功率不足,负载能力差等故障。

3.1.4脱机调试

在样机加电之前,先用万用表等工具,根据硬件电器原理图和装配图仔细检查样机线路的正确性,并核对元件的型号、规格和安装是否符合要求。

应特别注意电源的走线,防止电源之间的短路和极性错误,并重点检查扩展系统是否存在相互间的短路或与其他信号线的短路。

3.2软件调试程序

3.2.1调试软件—KeilC51简介

KeilC51软件是众多单片机应用开发的优秀软件之一,它集编辑、编译、仿真于一体,支持汇编语言、PLM语言和C语言的程序设计,界面友好,易学易用。

Keil的µVision3可以进行纯粹的软件仿真(仿真软件程序,不接硬件电路);也可以利用硬件仿真器,搭接上单片机硬件系统,在仿真器中载入项目程序后进行实时仿真;还可以使用µVision3的内嵌模块KeilMonitor-51,在不需要额外的硬件仿真器的条件下,搭接单片机硬件系统对项目程序进行实时仿真。

uVision3调试器具备所有常规源极调试,符号调试特性以及历史跟踪,代码覆盖,复杂断点等功能。

DDE界面和shift语言支持自动程序测试。

3.2.2软件程序测试

3.2.2.1工程设置

根据系统电路中晶振参数对工程中STC89C52进行设置,将Xtal(MHz)项中参数改为12.0,与晶振频率相同。

3.2.2.2程序调试

对程序中参数进行调整需进入调试模式,按按钮

进入调试模式,由于该模式下可单步执行程序且左边框图同步显示运行时间值,所以可以随意对参数进行设置,直到得到所要求的功能。

程序调试图如图3.2.2-1所示。

图3.2.2-1程序调试图

3.2.3系统电路功能仿真

利用protus绘制仿真图。

整个仿真图的绘制过程主要有以下几部组成:

首先新建一个protus的工程,在元件库里面搜索所需要的元器件,在元器件上单击右键选中,再单击左键对其进行命名和赋值,接着在编辑器左边的一栏中,找出绘制各种需要的线条和其他一些相关的线条和器件,进行节点出是否连接好进行检查,为下一步的系统仿真作准备。

画出的仿真电路图如图3.2.3-1所示:

图3.2.3-1仿真电路图

3.2.4Keil与Proteus对系统联调

Proteus与Keil两个软件可以进行联调,这一强大功能是其他软件无法办到的,仿真时通过KEILC51和Protus结合实现的。

首先,要将KEILC51中调试成功的程序生成.HEX文本并保存,在Protus中的主芯片STC89C52RC中导入此文本,即可在Protus环境中实现系统的仿真。

Keil与Proteus联调,如图3.2.4-1所示。

图3.2.4-1联调图

无故障正常时,即正常,P0输出扫描码,P2输出汉字码,点阵正确显示,测试图如图3.2.4-2所示:

图3.2.4-2工作时仿真电路图

利用仿真软件对所编写的程序进行调试,联机前先断电,把将调试成功的程序下载到AT89S51芯片中,检查一下电路之间的电源、接地是否良好,若一切正常,即可打开电源。

在系统的调试过程中不是希望中的顺利,在调试中出现了问题,一点点的解决,软、硬件调试出预期的结果。

5结束语

本文设计的公交车LED点阵显示屏以单片机为基础,采用性能优越的E²PROM作为数据存储器,利用RS-232接口实现与PC机的实时数据传输,利用了LED汉字取模下载软件,可以根据实际的需要,对点阵屏上的内容进行任意的更改,为用户提供了极大的便利。

公交车汉字显示系统的软硬件电路设计、软件编程调试、模拟仿真运行、并焊接生成了实物电路板,焊接电路板的过程中,在引脚连接、板子的布局、走线、焊接问题上,进行了深入反复的实践,培养了我的动手能力和解决实际问题的能力,学到许多课堂上学不到而实际工作中又极其常用的知识。

在此次毕业设计的制作中,本人在此向所有关心我以及帮助我的老师和同学致以最真诚的感谢。

在设计的过程中,我从指导老师XX的身上学到了很多东西。

他认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我收益匪浅。

他在理论上以及在实践中,都给与我很大的帮助,使我在很多方面得到了很大的提高,这对于我以后的工作和学习都有很多的帮助,在此我再次感谢他耐心的辅导。

在制作毕业设计的时候,XX老师几次审阅我的的设计,提出了许多宝贵意见,没有他的指导,我就不能较好的完成课题设计的任务。

另外,我还要感谢在些年教导过我的老师,他们孜孜不倦的教诲让我学到了很多知识,而且让我掌握了学习的方法,更教会了我做人处事的道理。

同时,也要感谢那些在设计的过程中帮助过我的同学。

 

附录1:

LED显示演示

 

附录2:

LED点阵汉字显示程序

该程序段主要完成向LED点阵点阵动态扫描显示,控制系统的汉字显示部分。

/*********汉字显示函数**************/

while

(1)

{

for(i=0;i<8;i++)//显示左半边屏幕

{

P0=*(p+offset+2*i);

P2=i|0x08;//P2.4=0,P2.3=1选中U2,输出扫描码给U6

delay1();

P0=*(p+offset+2*i+1);

P2=i|0x10;//P2.4=1,P2.3=0选中U3,输出扫描码给U7

delay1();

}

for(i=8;i<16;i++)//显示右半边屏幕

{

P0=*(p+offset+2*i);

P2=(i-8)|0x20;//P2.5=1P2.4=0,P2.3=0选中U4,输出扫描码U8

delay1();

P0=*(p+offset+2*i+1);

P2=(i-8)|0x40;//P2.6=1P2.5=0,P2.4=0选中U5,输出扫描码U9

delay1();

}

 

附录3:

LED点阵取模软件代码

#include

#include/*x,y为显示坐标,s为显示字符串,colour为颜色*/

voidhanzi16(intx,inty,char*s,intcolour)

{

FILE*fp;

charbuffer[32];/*32字节的字模缓冲区*/

registeri,j,k;

unsignedcharqh,wh;

unsignedlonglocation;

if((fp=fopen("hzk16","rb"))==NULL)

{

printf("Can'topenhzk16!

");

getch();

exit(0);

}

while(*s)

{

qh=*s-0xa0;

wh=*(s+1)-0xa0;

location=(94*(qh-1)+(wh-1))*32L;/*计算汉字字模在文件中的位置*/

fseek(fp,location,SEEK_SET);

fread(buffer,1,32,fp);

for(i=0;i<16;i++)

for(j=0;j<2;j++)

for(k=0;k<8;k++)

if(((buffer[i*2+j]>>(7-k))&0x1)!

=NULL)

putpixel(x+8*j+k,y+i,colour);

s+=2;

x+=16;/*汉字间距*/

}

fclose(fp);

}

main()

{

intgd=DETECT,gm;initgraph(&gd,&gm,"");

hanzi16(246,200,"四川师范大学成都学院陈绍硕!

",BROWN);

getch();

closegraph();

}

 

参考文献:

[1]余锡存:

单片机原理及接口技术,西安电子科技大学出版社,2000.1,P11-P12

[2]王金凤:

单片机实用系统设计技术,国防工业出版社,1999.4,P22-P24

[3]潘永雄:

新编单片机原理与应用,西安电子科技大学出版社,2003.5,P32-P45

[4]周航慈:

单片机应用程序设计技术,北京航空航天大学出版社,1999.2,P45-P46

[5]赵佩山:

单片机接口技术及应用,机械工业出版社,2000.1,P10-P12

[6]侯国锐:

单片机C语言编程与实例,人民邮电出版社,2004.7,P67-P71

[7]谭浩强:

C程序设计,清华大学出版社,1999.5,P28-P30

[8]孙江宏、李良玉:

Protel99se电路设计与应用,机械工业出版社,2004.5,P10-P12

[9]阎石:

数字电子技术基础,高等教育出版社,1998.6,P19-P20

[10]童诗白:

模拟电子技术基础,高等教育出版社,2001.4,P30-P32

[11]蔡振山:

VisualC++程序设计教程,中国劳动社会保障出版社,2005.5,P26-P33

[12]阎石:

数字电子技术基础(第五版),高等教育出版社,2006.3,P11-P13

[13]张萌、和湘、江斌:

单片机应用系统开发综合实例,清华大学出版社,2007.4,P67-P77

[14]张军:

AVR单片机应用系统开发典型实例,中国电力出版社,2005.2,P67-P89

[15]宋吉和:

C语言程序设计(第二版),中国石油大学出版社,2006.2,P80-P89

[16]李泓:

AVR单片机入门与实践,北京航空航天大学出版社,2008.6,P22-P33

[17]沈文:

AVR单片机C语言开发入门指导,清华大学出版社,2003.4,P44-P45

[18]房小翠、王金凤:

单片机实用系统设计技术,国防工业出版社,1999.3,P45-P46

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

当前位置:首页 > 经管营销

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1