基于无线传输的汉字显示屏的设计.docx
《基于无线传输的汉字显示屏的设计.docx》由会员分享,可在线阅读,更多相关《基于无线传输的汉字显示屏的设计.docx(36页珍藏版)》请在冰点文库上搜索。
基于无线传输的汉字显示屏的设计
基于无线传输的汉字显示屏的设计
摘要
本文的主要内容是基于单片机AT89C51控制无线传输的LED点阵汉字显示屏设计的实现。
它主要依靠于AT89C51来控制,并用一些外围驱动电路来驱动LED点阵进行显示。
利用AT89C51单片机本身强大的功能,可以很方便的实现单片机与PC机间的数据传输及存储,并能利用软件方便的进行显示内容的各种变化,另一方面点阵广告屏广泛的应用于医院、机场、银行、学校、出租车等场所,所以汉字显示屏的设计现实中具有很强的应用性。
所选用的AT89C51单片机是一种价格低廉但是高效的微控制器,单片机的可擦除只读存储器可以反复擦除1000次。
并且程序写入方便,使得整个系统的检查、维护、维修也十分的简单。
除此之外,该设计对单片机I/O口的占用很少,便于对系统的功能进行扩展。
该设计LED显示屏是以串行传输数据,动态扫描的方式实现同时显示4个16×16点阵汉字。
利用74HC595这款8位串行输入/输出移位寄存器来传输、锁存数据。
用74HC154来实现对点阵的行选通。
用ULN2803芯片来驱动LED点阵。
通过PC上位机软件修改显示内容和显示效果等等。
PC机与单片机之间的通信采用RS422通信标准来实现。
因为采用串行传输数据的方法,使本系统的可扩展性得到提升,便于多个显示单元的级联。
这样利用PC机就可以同时控制多个显示系统,把多个显示系统级联,就可以实现更大尺寸,更多显示内容的广告屏的显示。
关键字:
单片机;LED点阵显示;无线传输
Abstract
ThemaincontentofthisarticleisbasedonmicrocontrollerAT89C51andwirelesstransmissionofLEDdotmatrixcharactersdisplaydesignrealization.ItismainlydependonAT89C51tocontrol.AndsomeperipheraldrivecircuittodriveofLEDdotmatrixdisplayed.AT89C51itselfhaspowerfulfunctions,caneasilyachievebetweenmicrocontrollerandPCthedatatransmissionandstorage,andcanusesoftwareconvenienttodisplaythecontentofvariouschanges,OntheotherhandLEDadvertisingscreeniswidelyusedinhospitals,airports,banks,schools,taxies,theseplacessothedesignofChinesecharactersisinrealitydisplaystrongapplied.
AT89C51microcontrollerchosenisbecauseofthelowcostbuthighlyefficientmicro-controller,MCUEEPROMcanbeerasedrepeated1000times.Andtheprogrameasytowrite,makingthewholesystemofinspection,maintenanceandrepairisalsoverysimple..Inaddition,thedesignofmicrocontrollerI/Oportsoccupysmall,easytoextendthefunctionofthesystem.TheLEDdisplaydesignisbasedonserialtransmissionofdata,dynamicscanmethodforsimultaneousdisplayfour16×16dotmatrixcharacters.Theuseof74HC5958-bitserialinput/outputshiftregistertotransmit,storedata.UseULN2803chiptodriveofLEDdotmatrix.HostcomputerthroughthePCsoftwaretomodifythedisplayandthedisplayandsoon.。
ThecommunicationbetweenPCandthemicrocontrollerusingRS422communicationstandardtoachieve.Becauseoftheserialdatatransmissionmethod,sothescalabilityofthesystembeenhancedtofacilitatecascadingmultipledisplayunits.ThismachinecanalsousePCtocontrolmultipledisplaysystem,thecascademultipledisplaysystems,canachievelarger,moredisplayadvertisingscreendisplay.
Keywords:
MCU;LEDdotmatrixdisplay;Wirelesstransmission
第1章绪论
1.1LED点阵显示屏概述
LED显示屏(LEDdisplay):
又叫电子显示屏,是由LED点阵组成,通过某种颜色的灯的亮灭来显示文字、图片,各部分组件都是模块化结构的显示器件。
通常由显示模块、驱动模块、通信系统、控制系统等组成。
显示模块由LED灯组成的点阵构成,负责发光显示;驱动模块用来控制LED点阵的电流,使其发光正常;通信系统负责传输数据;控制系统通过控制相应区域的亮灭,可以让屏幕显示文字、图片等内容。
LED显示屏不仅可以用于室内环境还可以用于室外环境[1]。
LED之所以受到广泛重视而得到迅速发展,是与它本身所具有的优点分不开的。
这些优点概括起来是:
亮度高、工作电压低、功耗小、小型化、寿命长、耐冲击和性能稳定。
LED的发展前景极为广阔,目前正朝着更高亮度、更高耐气候性、更高的发光密度、更高的发光均匀性,可靠性、全色化方向发展。
LED显示屏采用了低电压扫描驱动,具有耗电少、使用寿命长、成本低、亮度高、视角大、可视距离远、防水、规格品种多等优点,可以满足各种不同应用场景的需求,发展前景非常广阔,被公认为最具增长潜力也是发展最快的的LED应用市场。
2008年LED显示屏市场规模约100亿元。
随着北京奥运会、上海世博会、广州亚运会等重大赛会的举办和筹备,体育场馆、机场、车站、银行、医院、公共广场、商业场所、居民社区的大面积应用,LED显示屏的市场应用空间不断扩大。
此外,已架设的大型LED显示屏幕每10年将历经一次换机潮,随着人们生活水平的提高,户外LED显示屏将逐渐应用于各个行业[2-4]。
LED点阵显示屏的分类方法有很多种,根据构成方法分主要有两种。
一种就是单显示型,就是把所需展示的广告信息烧写到EPROM芯片内,另一种就是可编程序型。
这种显示屏在单片机内设置了字库、程序库,具有可编程序的能力,能进行内容可变,形式可变的多幅汉字显示。
目前,国内的LED点阵显示屏大部分是第一种单显示型,其显示的内容相对少而且简单,显示方法也比较单一。
一般在产品出厂时,所要显示的内容就已经固定到了控制系统中的EPROM芯片。
国内的另一种LED显示屏可编程序型LED显示屏,增加了显示屏系统可编程能力,另外显示内容以及显示方法都变得丰富起来,但也存在着更换显示内容不便的缺点。
随着社会与经济的飞速发展,如今的广告牌都存在着显示内容丰富、信息量大、信息更换速度快等特点。
因此传统的LED显示屏控制系统已经越来越不能满足需要。
而利用PC机通信技术控制LED显示屏,则克服了这些特点则,具有显示内容丰富,信息更换方便、迅速等优点[5-7]。
1.2LED显示屏选题意义
该设计课题一方面让我们能够掌握LED显示屏的基本显示原理和设计方法,对LED显示屏这个行业发展前景及方向有了较为深刻的了解和认识。
另一方面使我们有机会对大学期间所学习的一些理论进行了实践,使我们对所学过的理论知识有了更深刻的理解。
并且通过该设计课题掌握了51单片机的的软硬件开发工具的使用方法,以及Proteus仿真工具的使用方法。
为以后从事相关行业的工作积累了实际工作经验。
目前我国的信息行业飞速发展,LED显示屏作为主要平面显示媒介的用途也越来越普遍。
因此掌握LED显示屏的相关技术对我们来说意义重大,因此此课题对自己的专业技能以及未来就业都有非常现实与积极的意义。
1.3LED显示屏控制技术
要设计一个显示屏系统需要了解的技术有很多。
例如数据传输技术,串行传输与并行传输技术,动态扫描技术与静态锁存技术,串口通信技术等等。
LED显示屏的数据传输方式主要有串行通信和并行通信两种。
并行通信就是所传送数据的各位同时发送或接收;串行通信就是所传送数据的各位按顺序一位一位地发送或接收。
在并行通信中,一个并行数据占多少位二进制数,就需要有多少根数据传输线。
这种方式特点是通信速度快,但传输线多,价格昂贵,适合近距离传输。
而串行通信仅需一到两根数据传输线即可,故在长距离传送数据时,比较经济;但由于它每次只能传送一位数据,所以传输速度较慢。
目前普遍采用串行控制技术,显示屏每个单元内部的不同驱动电路和各级联单元之间,每个时钟仅传送一位数据。
这种方法使不同显示单元之间的连线较少,可减少显示单元的数据传输驱动元件,从而提高整个系统的可靠性和性价比,具体工程实现也较为容易[8]。
LED显示屏控制系统显示信息的方法主要采用刷新扫描技术。
刷新扫描技术有动态扫描和静态锁存两种方式。
一般情况下室内显示屏多采用动态扫描技术,即一行发光二极管共用一行驱动寄存器,根据共用一行驱动寄存器的发光二极管像素数目,分为1/4和1/16扫描等。
室外显示屏大多数采用静态锁存技术,即每一个发光一极管都对应有一个驱动寄存器,无需时分工作,从而保证了每一个发光一极管的亮度。
这种方法占用I/O口多。
由于动态扫描法可以大大减少控制器的I/O口,因此应用较广。
第2章方案设计
2.1系统硬件方案
LED显示屏对硬件质量的要求非常的高。
为方便维护和检修,硬件电路设计时常常采用模块化的设计方法,如图2-1所示。
图2-1硬件方案框图
根据显示系统的功能特点确定系统硬件由显示屏部分,控制部分,驱动部分,串口通信部分及无线传输部分五部分组成。
上位机通过串口通信部分和无线传输部分向控制部分发送控制指令和显示内容代码,控制部分执行显示命令并将显示代码处理来控制显示部分的显示内容和显示方式。
此显示电路采用扫描方式进行显示时,每行有一个行驱动器,各行的同名列共用一个列驱动器。
由行译码器给出行选通信号。
先送出对应第1行发光管亮灭的数据并锁存,然后选通第1行使其燃亮一定的时间,然后熄灭;再送出第2行的数据并锁存,然后选通第2行使其燃亮相同的时间,然后熄灭;……第16行之后,又重新燃亮第1行,反复轮回。
当这样轮回的速度足够快(每秒24次以上),由于人眼的视觉暂留现象,就能看到显示屏上稳定的图形。
该方法能驱动较多的LED,控制方式较灵活,而且节省单片机的资源[9]。
2.1.1显示屏主控制器
控制部分是本次设计的整个系统的核心部分,其功能为与上位机通信,接收上位机发送的数据和控制指令,并且控制显示部分来显示内容。
其常用的电子设计方法有单片机、EDA技术等等。
几种设计方法比较各有其特点:
单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。
也就是说单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。
另外单片机是依赖于程序的,并且可以修改。
通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的[10]。
EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言VHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。
EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。
用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程在计算机上自动处理完成[11]。
两种设计方式相比较各有优点且都能够实现控制功能。
由于该系统不仅要实现信息的显示,还要具备与PC机通讯等功能及其它扩展功能,这就需要设计多个接口电路,EDA技术开发周期长,不易进一步扩展,同时系统的成本会急剧上升(相对于单片机来说)。
如果采用单片机系统来实现。
鉴于AT89C51单片机比传统的51系列8位单片机具有更加丰富的资源,而且数据处理速度快,同时除了具备单片机最小系统电路外还具有体积小,可靠性高,性价比高等特点。
另外此系统主要还能实现与上位机的串行通信、超时复位等功能。
而AT89C51单片机可以实现这些功能。
所以在控制部分方案的选择中选定51系列单片机作为控制部分的核心器件。
2.1.2LED显示屏工作原理
由于在Proteus里没有16×16点阵,所以我们用4个8×8的组合为1个16×16的点阵。
8×8内部结构及外形如图2-2和2-3所示,8×8点阵共由64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一行置1电平,某一列置0电平,则相应的二极管就亮;如要将第一个点点亮,则9脚接高电平13脚接低电平,则第一个点就亮了;如要将第一列点亮,则第13脚接低电平,而(9、14、8、12、1、7、2、5)接高电平,那么第一列就会点亮[12]。
图2.28×8点阵LED外观及引脚图
图2.38*8LED点阵等效电路
下面讲一下汉字显示原理。
在UCDOS中文宋体字库中,每一个字由16行16列的点阵组成显示。
如果用8位的AT89C51单片机控制,由于单片机的总线为8位,一个字需要拆分为2个部分。
一般我们把它拆分为上部和下部,上部由8×16点阵组成,下部也由8×16点阵组成。
在本例中单片机首先显示的是左上角的第一列的上半部分,即第0列的p00---p07口。
方向为p00到p07,显示汉字“大”时,p05点亮,由上往下排列,为p0.0灭,p0.1灭,p0.2灭p0.3灭,p0.4灭,p0.5亮,p0.6灭,p0.7灭。
即二进制00000100,转换为16进制为04h.。
上半部第一列完成后,继续扫描下半部的第一列,为了接线的方便,我们仍设计成由上往下扫描,即从p27向p20方向扫描,从上图可以看到,这一列全部为不亮,即为00000000,16进制则为00h。
然后单片机转向上半部第二列,仍为p05点亮,为00000100,即16进制04h.这一列完成后继续进行下半部分的扫描,p21点亮,为二进制00000010,即16进制02h.。
依照这个方法,继续进行下面的扫描,一共扫描32个8位[13]。
图2-5”大”字的显示过程
可以看出,无论显示何种字体或图像,都可以用这个方法来分析出它的扫描代码从而显示在屏幕上。
下面是软件提取汉字“沈”字模数据的图像。
图2-6字模提取“沈”的代码
2.1.3驱动原理
一个16×16的LED显示屏行和列各有16个,不能单靠AT89C51单片机的I/O口驱动所以必须要对单片机的端口个数进行扩展。
经常采用的端口扩展方法是用串并转换芯片进行译码。
单片机不能直接驱动LED显示屏。
在单片机和显示屏之间还需要增加以放大为目的的驱动电路[6]。
有两种方式可以选择:
方案一:
采用动态扫描方式,通过ULN2803驱动并联在一起的LED发光管的一端,LED发光管的另一端通过译码器接在通用I/O口上,控制其行选通。
该方法能驱动较多的LED,控制方式较灵活,而且节省单片机的资源。
方法二:
采用静态锁存方式,将每一个LED发光管的一端接至单片机的一个I/O口,另一端通过电阻接电源。
这种方法可以直接驱动LED,原理简单,驱动能力强,LED的亮度也可以通过限流电阻调节,非常方便,但此种方法太浪费单片机的I/O口,只适合于较小的系统。
较大的系统单片机的I/O口便不够用了。
通过对比,对本次设计来说,方法一动态扫描方式更好一些。
2.1.4通信方案
显示数据传输采用串行传输的方法,控制电路可以只用一根信号线,将列数据一位一位传往列驱动器,在硬件方面这样无疑是十分经济的。
但串行传输过程较长,数据按顺序一位一位地输出给列驱动器,只有当一行的各列数据都已传输到位之后,这一行的各列才能并行地进行显示[14]。
对于串行传输方式来说,列数据准备时间可能相当长。
我们可以采用重叠处理的方法。
即在显示本行各列数据的同时,传送下一行的列数据。
为了达到重叠处理的目的,列数据的显示就需要有锁存功能。
对于列数据准备来说,它应能实现串入并出的移位功能。
这样,本行已准备好的数据打入并行锁存器进行显示时,串行移位寄存器就可以准备下一行的列数据,而不会影响本行的显示。
AT89C51单片机具有一个可编程的全双工串行通信接口,支持单片机进行数据的串行传输。
通过软件编程,它可以作为通用异步接收和发送器UART,也可以作为同步移位寄存器。
RS422标准定义了接口电路的特性。
由于RS422接收器采用高输入阻抗,而且发送驱动器比RS-232具有更强的驱动能力。
此外RS422支持点对多的双向传输。
RS-422有4根信号线:
两根发送(Y、Z)、两根接收(A、B)且RS422的收与发是分开的所以可以同时收和发(全双工)。
通信接口电路通过两对双绞线可以全双工工作收发互不影响。
而RS-485有2根信号线:
发送和接收都是A和B。
由于RS-485的收与发是共用两根线所以不能够同时收和发(半双工)。
所以我们采用了RS422通信,而不是RS232和RS485[15]。
2.1.5无线传输方案
无线发射模块采用F05V。
F05V是一款采用声表稳频的小体积、低功耗、低电压微功率发射模块,ASK方式调制.适合短距离无线遥控报警及单片机数据传输。
无线接收模块采用J05U。
J05U是一款特小体积,超低功耗,高灵敏度的OOK/ASK超外差接收模块,工作在315.0MHz433.92MHz频段。
芯片内包括一个低噪声放大器(LNA),一个下变频混频器,一个片上锁相环(PLL)的集成压控振荡器(VCO)和环路滤波器,一个OOK/ASK的解调器,数据滤波器,比较器和片内稳压器。
高度集成了超外差接收电路的所有功能。
具有较高的接收灵敏度和稳定性。
并具有较宽的工作温度范围和较宽的电压范围。
2.2系统软件方案
软件的设计除了满足设计功能外还必须要满足易读写,方便下载和编译。
在设计目标和硬件总体结构确定的情况下,软件可以分为主程序,显示子程序,延时子程序,串口通信四个主要部分组成。
软件的编写需要借助软件编辑器来编译软件,编译完成后还需要下载到单片机中执行。
编写软件之前得首先选择一种合适的语言以及配套编译软件
2.2.1系统编程语言
现在主要运用的单片机编程语言为汇编语言和C语言。
两种语言相比较各有优点。
汇编语言(AssemblyLanguage)是面向机器的程序设计语言,是一种功能很强的程序设计语言,也是利用计算机所有硬件特性并能直接控制硬件的语言。
其具有目标程序简短,执行速度快,占用存储空间小等优点,但在编写复杂程序时具有明显的局限性,汇编语言依赖于具体的机型,不能通用,也不能在不同机型之间移植,可读性差,编程耗时[16]。
C语言是一种源于编写UNIX操作系统的语言,它是一种结构化语言,可产生压缩代码。
与汇编相比,有如下优点:
编程快捷,有很多库函数可以调用,对单片机的指令系统不要求了解,仅要求对51的存储器结构有初步了解;寄存器分配、不同存储器的寻址及数据类型等细节可由编译器管理;程序有规范的结构,可分为不同的函数。
这种方式可使程序结构化;将可变的选择与特殊操作组合在一起的能力,改善了程序的可读性;编程及程序调试时间显著缩短,从而提高效率;提供的库包含许多标准子程序,具有较强的数据处理能力;已编好程序可容易的植入新程序,因为它具有方便的模块化编程技术。
C语言程序本身并不依赖于机器硬件系统,基本上不做修改就可根据单片机的不同较快地移植过来[17]。
基于以上理由决定采用C语言为该显示系统的编程语言。
2.2.2系统软件编译器
C语言编写的程序并不能被单片机直接执行还需要编译为单片机可执行的机器语言。
因此在系统软件设计中,编译器必不可少。
支持MCS-51用C语言编程的编译器主要有两种:
FranklinC51编译器和KEILC51编译器。
目前在单片机开发中普遍都是使用KEILC51来进行编译。
KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。
KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。
另外KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。
在开发大型软件时更能体现高级语言的优势[18]。
第3章系统硬件设计
3.1系统硬件概述
下位机系统硬件电路大致上可以分成单片机系统及外围电路、列驱动电路和行驱动电路三部分。
具体工作流程为:
上位PC机通过无线传输模块向单片机发送控制指令和显示代码内容,单片机接收后执行控制指令处理显示代码将显示内容通过I/O口串行输出并且控制译码电路完成串并转换并行输出,最后由显示驱动电路进行电压和电流的处理使显示屏显示内容[19]
图3-1硬件原理图
3.2控制单元设计
控制单元是整个显示系统的核心,该系统中采用51系列单片机为核心器件,用来和上位机通信并处理上位机发送的控制指令和显示内容。
我选择了美国ATMEL公司生产的AT89C51为控制单元的主控芯片。
3.2.1AT89C51芯片介绍
ATMEL的AT89C51是一种高效微控制器,AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
主要特性:
与MCS-51兼容
4K字节可编程FLASH存储器
寿命:
1000次写/擦循环
数据保留时间:
10年
全静态工作:
0Hz-24MHz
三级程序存储器锁定
128×8位内部RAM
32可编程I/O线
两个16位定时器/计数器
5个中断源
可编程串行通道
低功耗的闲置和掉电模式
片内振荡器和时钟电路
图3-2AT89C51的管脚图·
3.2.2外围电路设计