计算机硬件及网络基于pc机控制的led显示屏的设计毕业论文.docx
《计算机硬件及网络基于pc机控制的led显示屏的设计毕业论文.docx》由会员分享,可在线阅读,更多相关《计算机硬件及网络基于pc机控制的led显示屏的设计毕业论文.docx(14页珍藏版)》请在冰豆网上搜索。
计算机硬件及网络基于pc机控制的led显示屏的设计毕业论文
[计算机硬件及网络]基于pc机控制的led显示屏的设计-毕业论文
[计算机硬件及网络]基于pc机控制的led显示屏的设计-毕业论文VCSXCCS毕业论文(设计)基于PC机控制的点阵显示屏设计学生姓名:
李航指导教师:
张新颖合作指导教师:
专业名称:
电子信息工程所在学院:
信息工程学院2012年6月目录摘要ⅠABSTRACTⅡ第一章绪论11.1课题背景11.2研究现状及发展趋势1第二章系统方案论证与选择32.1方案论证32.2各模块方案选择与论证5第三章系统硬件电路设计与实现-4-3.1硬件电路设计-4-3.2各单元电路说明-4-第四章系统软件设计-12-4.1系统软件编译器介绍-12-4.2软件的选择-12-4.3程序主系统及驱动系统-13-4.4串口通信设计-14-4.5上位机功能实现说明-20-第五章系统调试及结果分析-1-5.1系统调试-1-5.2结果分析-2-第六章总结-1-致谢-1-参考文献-1-附录1硬件电路图-1-附录2-1-摘要本设计是一基于PC机控制的16×16点阵LED汉字显示屏的设计。
整机以AT89C51单片机为核心,介绍了以它为控制系统的LED点阵电子显示屏的动态设计和开发过程。
该系统通过RS232与上位机PC进行串行通信,采用计算机串口对其进行数据输入,能实现屏幕显示内容的实时采集;通过该芯片控制一个行驱动器74HC154和十六个列驱动器74HC595来驱动显示屏显示。
该电子显示屏可以显示各种文字,全屏能显示十六个汉字,采用4块8×8点阵LED显示模块来组成16×16点阵显示模式。
显示采用动态显示,使得文字能够实现静止、移入移出等多种显示方式。
文中详细介绍了LED点阵显示的硬件设计思路、硬件电路各个部分的功能及原理、相应软件的程序设计,以及使用说明等。
单片机控制系统程序采用单片机汇编语言进行编辑,通过编程控制各显示点对应LED阳极和阴极端的电平,就可以有效的控制各显示点的亮灭。
所显示字符的点阵数据可以自行编写(即直接点阵画图),也可从标准字库中提取,但此次设计我们采用从标准字库中提取。
经实践证明,该系统显示误差小,性能稳定,结构合理,扩展能力强。
关键词:
AT89S51单片机,LED点阵显示,动态显示,串行通信,汇编语言ABSTRACTThisdesignisa16×16latticeLEDelectrondisplaymonitordesignbasiconpersonalcomputer.Thewholeequipmentiswiththe40-pinAT89C521MCU(MicroControllerUnit)producedbytheAmericanATMELcompanyatthecore,introducedtakeitasthecontrolsystemLEDlatticeelectrondisplaymonitordynamicdesignandthedevelopmentprocess.ThesystemthroughtheRS232andPCtoPCserialcommunications,usingitscomputerserialportfordatainput,toachievereal-timescreendisplaythecontentsofthecollection.Controlsgooddriver74HC154andeightrowdriver74HC595throughthischipactuatesthedisplaymonitordemonstration.Theelectronicscreencanshowallkindsofwritten,sixteenfullscreendisplayChinesecharacters,fourpiecesof8×8dot-matrixLEDdisplaymodulestoformthe16×16dotmatrixdisplaymode.Showdynamicshowthatmakesstaticgraphicortextcanbeachieved,shiftedoutofvariousformats.ThispaperdescribesthehardwaredesignoftheLEDdotmatrixdisplay,andtheprinciplefunctionofthevariouspartsofthecircuit,thecorrespondingsoftwareprogramdesignandtheuseofsomesuch.SCMprocesscontrolsystemusedforeditingMCUassemblylanguage,ProgrammingcontrolpointsindicatedbythecorrespondingLEDanodeandovercastextremelevel.Wecaneffectivelycontrolthedefenseshowedbrightspots.Thelatticedatashowscharacterscanpreparethemselves(thatis,directlatticePainting),whichcanalsobeextractedfromthestandardfont.butthistimeweadoptbeingextractedfromthestandardfont.Asthepracticeproves,thesystempossessesadvantagesinlowshowserrors,stable,rationalstructureandstrongextensibleabilities.Keywords:
AT89S51microcontroller,LEDdotmatrixdisplay,Dynamicdisplay,Serialportcorrespondencecontrolsystem,AssemblylanguageVCSXCCS第1章绪论1.1课题背景在短短的十来年中,LED点阵显示屏就以亮度高、工作电压低、低功耗、小型化、寿命长、耐冲击和性能稳定的优点迅速成长为平板显示的主流产品,在信息显示领域得到了广泛的应用。
LED的发展前景极为广阔,目前正朝着更高亮度、更高耐气候性、更高的发光密度、更高的发光均匀性、可靠性、全色化方向发展。
LED显示屏应用在社会生活中都有,例如:
(1)证券交易、金融信息显示。
(2)机场航班动态信息显示。
(3)港口、车站旅客引导信息显示。
(4)体育场馆信息显示。
(5)道路交通信息显示。
(6)调度指挥中心信息显示。
(7)邮政、电信、商场购物中心等服务领域的业务宣传及信息显示。
(8)广告媒体新产品等。
1.2研究现状及发展趋势1.2.1我国LED产业发展现状作为近年来最具有革命性意义的技术发明形成的产业,LED被称为继明火和白炽灯之后的第三次照明革命,有着广阔的发展前景。
很多国家和地区相继出台各种政策扶持LED产业的发展,以期该产业能够成为国家重要产业的重要组成部分。
目前,我国半导体LED作为节能、环保的主要技术,已被纳入国家中长期科技发展规划与“十一五”国家“863”高新技术产业化重大项目,并得到了大力支持。
然而,我国目前LED产品开发应用领域依然存在许多不足。
我国自主的LED芯片、外延片产量仍有限,产品以中、低档为主,与国外差距很大。
产业化规模偏小,只能满足国内封装企业需求量的20%-30%,大部分高性能的LED和大功率LED产品均要依赖进口。
此外,在LED的应用市场方面,也存在着由于产品种类、品种参差不齐问题而引起的制约,尤其是在通用照明领域,由于存在的技术不足,使其无法进行规模化普及应用。
因此,推广对LED封装技术的发展力度,提升自身核心技术并实现规模量产是LED产业发展的最关键一步。
1.2.2LED显示屏的发展趋势现代信息社会中,作为人一机信息视觉传播媒体的显示产品和技术得到迅速发展,进入二十一世纪的显示技术将是平板显示的时代,LED显示屏作为平板显示的主导产品之一无疑会有更大的发展,并有可能成为二十一世纪平板显示的代表性主流产品。
高亮度、全彩化蓝色及纯绿色LED产品自出现以来,成本逐年快速降低,已具备成熟的商业化条件。
基础材料的产业化。
使LED全彩色显示产品成本下降,应用加快。
LED产品性能的提高,使全彩色显示屏的亮度、色彩、白平衡均达到比较理想的效果,完全可以满足户外全天候的环境条件要求,同时,由于全彩色显示屏价格性能比的优势,预计在未来几年的发展中,全彩色LED显示屏在户外广告媒体中会越来越多地代替传统的灯箱、霓红灯、磁翻板等产品,体育场馆的显示方面全彩色LED屏更会成为主流产品。
全彩色LED显示屏的广泛应用会是LED显示屏产业发展的一个新的增长点。
未来LED显示屏会向着标准化、规范化,产品结构多样化的方向发展。
1.2.3本课题的主要特点和贡献本课题主要以-6-VC222222222SXCCS第2章系统方案论证与选择2.1方案论证从理论上说,不论显示图形还是文字,只要控制这些组成图形或文字的各个点所在位置相对应的LED器件发光,就可以得到我们想要的显示结果,这种同时控制各个发光点亮灭的方法称为静态驱动显示方式。
16×16的点阵共有256个发光二极管,显然单片机没有这么多端口,如果采用锁存器来扩展端口,按8位的锁存器来计算,16×16的点阵需要256/8=32个锁存器。
这个数字很大,因为仅仅是16×16的点阵,在实际应用中的显示屏往往要大的多,这样在锁存器上花的成本将是一个很大的数字。
因此采用另一种称为动态扫描的显示方法。
动态扫描的意思简单地说就是逐行轮流点亮,这样扫描驱动电路就可以实现多行(比如16行)的同名列共用一套列驱动器。
具体就16×16的点阵来说,我们把所有同一行的发光管的阳极连在一起,把所有同一列的发光管的阴极连在一起(共阳的接法),先送出对应第一行发光管亮灭的数据并锁存,然后选通第一行使其点亮一定的时间,然后熄灭;再送出第二行的数据并锁存,然后选通第二行使其点亮相同的时间,然后熄灭;……第十六行之后又重新点亮第一行,这样反复轮回。
当这样轮回的速度足够快(每秒24次以上),由于人眼的视觉暂留现象,我们就能看到显示屏上稳定的图形了。
采用扫描方式进行显示时,每行有一个行驱动器,各行的同名列共用一个列驱动器。
显示数据通常存储在单片机的存储器中,按8位一个字节的形式顺序排放。
显示时要把一行中各列的数据都传送到相应的列驱动器上去,这就存在一个显示数据传输的问题。
从控制电路到列驱动器的数据传输可以采用并行方式或串行方式。
显然,采用并行方式时,从控制电路到列驱动器的线路数量大,相应的硬件数目多。
当列数很多时,并行传输的方案是不可取的。
采用串行传输的方法,控制电路可以只用一根信号线,将列数据一位一位传往列驱动器,在硬件方面无疑是十分经济的。
但是,串行传输过程较长,数据按顺序一位一位地输出给列驱动器,只有当一行的各列数据都已传输到位之后,这一行的各列才能并行地进行显示。
这样,对于一行的显示过程就可以分解成列数据准备(传输)和列数据显示两个部分。
对于串行传输方式来说,列数据准备时间可能相当长,在行扫描周期确定的情况下,留给行显示的时间就太少了,以至影响到LED的亮度。
解决串行传输中列数据准备和列数据显示的时间矛盾问题,可以采用重叠处理的方法。
即在显示本行各列数据的同时,传送下一行的列数据。
为了达到重叠处理的目的,列数据的显示就需要具有锁存功能。
经过上述分析,可以归纳出列驱动器电路应具备的主要功能。
对于列数据准备来说,它应能实现串入并出的移位功能;对于列数据显示来说,应具有并行锁存的功能。
这样,本行已准备好的数据打入并行锁存器进行显示时,串并移位寄存器就可以准备下一行的列数据,而不会影响本行的显示[2]。
课题拟以AT89C51单片机为控制核心设计一个简单的数字时钟系统,用单片机、点阵显示屏等设计一个16×16点阵LED电子显示屏的设计。
系统可以分为电源模块、时钟信号电路、复位电路、驱动模块、单片机控制模块、显示模块等,其系统结构框图如下图2.1。
16×16点阵LED显示屏点阵显示器阳极驱动电路单片机时钟电路复位电路PC图2.1系统结构框图2.2各模块方案选择与论证2.2.1单片机控制模块采用89C51芯片作为硬件核心,采用FlashROM,内部具有4KBROM存储空间,可多次擦写,而且与MCS-51系列单片机完全兼容。
2.2.2时钟信号电路直接采用普通晶体时钟源提供脉冲信号,此种方案能够减少芯片的使用,节约成本。
2.2.3复位电路方案一:
采用按钮复位,通过按电路中的开关按钮使系统内部复位,按一次开关按钮系统复位一次,但是在点阵屏显示过程中不需要对系统进行复位,本方案与实际应用不相符合,所以不采取本方案。
方案二:
采用上电复位,电路第一次通电时对系统进行一次复位,而后系统执行。
这个方案简单且符合实际设计,故采用本设计方案[3]。
2.2.4串口模块方案一采用RS485来进行长距离(1219M)的传输,RS-485总线通信模式由于具有结构简单、价格低廉、通信距离和数据传输速率(最大传输速率为10Mb/S)适当等特点而被广泛应用.但RS485总线存在自适应、自保护功能脆弱等缺点,如不注意一些细节的处理,常出现通信失败甚至系统瘫痪等故障而且总线本身存在许多的局限性,效率低,实时性差,通信的可靠性低,应用不灵活。
方案二采用MAX232来进行串行的传输,用串行通讯的好处是简单,抗干扰性强.,因此不需要远距离传输,因此MAX232已经足够满足要求。
并且可直接和PC机通信,不用外加协议转换电路。
基于以上分析,我们选用方案二,选用芯片MAX232。
2.2.5显示模块方案一:
采用4块8×8点阵LED显示屏相连接构成一块16×16点阵LED显示屏,但4块点阵屏连接起来面积较大,且需多根导线将其焊接,外观上较不美观。
所以不采用本方案。
方案二:
采用16×16点阵LED显示屏,16×16点阵屏的功能与4块8×8点阵屏构成16×16点阵屏功能相同,但是更为美观小巧美观,且单块16×16点阵屏和4块8×8点阵屏价格相等。
故本设计采用这种方案。
2.2.6驱动模块方案一:
采用静态锁存方式,将每一个LED发光管的一端接至单片机的一个I/O口,另一端通过电阻接电源。
这种方法可以直接驱动LED,原理简单,驱动能力强,LED的亮度也可以通过限流电阻调节,非常方便,但此种方法太浪费单片机的I/O口,只适合于较小的系统。
方案二:
采用动态扫描方式,通过三极管驱动并联在一起的LED发光管的一端(共阴或共阳),LED发光管的另一脚接通用I/O口,控制其亮灭。
该方法能驱动较多的LED,控制方式较灵活,而且节省单片机的资源。
故采用本设计方案。
列驱动电路由集成电路74HC595构成,它具有一个8位串入并出的移位寄存器和一个8位输出锁存器的结构,而且移位寄存器和输出锁存器的控制是各自独立的,可以实现在显示本行各列数据的同时,传送下一行的列数据,达到重叠处理的目的[4]。
行驱动电路主要是要实现译码功能,下面有2种方案供其选择:
方案一:
采用2块74LS138级联来实现4/16线译码功能,74LS138芯片本身具有3/8线译码功能,但是增加了芯片的使用数目,增加了连线及所占面积。
所以不采用本方案。
方案二:
采用芯片74LS154,74LS154芯片本身具有4/16线译码功能,其功能与2块74LS138级联实现4/16译码一样,但是相比74LS138少用一片芯片。
所以采用本方案。
第三章系统硬件电路设计与实现3.1硬件电路设计本电路是由AT89C51单片机为控制核心,低功耗;时钟源电路有很多种,比如阻容低速时钟源、普通晶体时钟源、带缓冲放大的晶体时钟源等等,考虑到电路稳定及材料选购等方面,决定采用普通晶体时钟源,其中晶体用12MHZ的石英晶振;复位电路结合实际应用功能的实现,采用上电复位;显示部分由16×16点阵LED显示屏显示;行驱动电路采用74LS154,列驱动电路采用74LS595。
3.2各单元电路说明3.2.1单片机AT89C51AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含有4Kbytes的可反复擦写的只读程序存储器和128的随机存取数据存储器,器件采用AEMEL公司的高密度,非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和FLASH存储单元,功能强大,可灵活应用于各种控制领域[5]。
图3.1为AT89C51外部封装。
图3-1单片机AT89C51AT89C51单片机为40引脚双列直插芯片,有四个I/O口P0,P1,P2,P3,MCS-51单片机共有4个8位的I/O口(P0、P1、P2、P3),每一条I/O线都能独立地作输出或输入。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,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)这是由于上拉的缘故[6]。
P3口也可作为AT89C51的一些特殊功能口,如下所示:
ØP3.0RXD(串行输入口)ØP3.1TXD(串行输出口)ØP3.2/INT0(外部中断0)ØP3.3/INT1(外部中断1)ØP3.4T0(记时器0外部输入)ØP3.5T1(记时器1外部输入)ØP3.6/WR(外部数据存储器写选通)ØP3.7/RD(外部数据存储器读选通)AT89C51振荡器特性为:
XTAL1和XTAL2分别为反向放大器的输入和输出。
该反向放大器可以配置为片内振荡器。
石晶振荡和陶瓷振荡均可采用。
如采用外部时钟源驱动器件,XTAL2应不接。
有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度[7]。
此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。
在闲置模式下,CPU停止工作。
但RAM,定时器,计数器,串口和中断系统仍在工作。
在掉电模式下,保存RAM的内容并且冻结振荡器,停止芯片其它功能直至硬件复位,直到下一个硬件复位为止。
3.2.2单片机复位原理单片机刚上电时需要复位一次才能可靠工作,通过电容接VCC,是利用电容充电来提供》2个周期的高电平时间让单片机复位,如此单片机可以正常工作。
这之后又不要求单片机复位,所以通过8.2K左右的电阻下拉接地保证RESET脚维持在低电平状态(即不复位状态)[8]。
如图3.2所示。
图3-2单片机复位电路3.2.2时钟电路单片机的最小系统如下图所示,18引脚和19引脚接时钟电路,X1接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,X2接外部晶振和微调电容的另一端,在片内它是振荡器倒相放大器的输出[9]。
第9引脚为复位输入端,接上电容,电阻及开关后够上电复位电路,20引脚为接地端,40引脚为电源端。
31引脚接电源端,如图3.3所示。
图3-3单片机时钟电路3.2.316×16点阵LED显示模块的设计一、LED点阵屏介绍组合型LED点阵显示器自八十年代开始出现,以发光二极管为像素,它用高亮度发光二极管芯阵列组合后,环氧树脂和塑模封装而成。
具有高亮度、功耗低、引脚少、视角大、寿命长、耐湿、耐冷热、耐腐蚀等特点。
LED点阵有4×4、4×8、5×7、5×8、8×8等多种。
点阵显示屏有单色和双色两类,可显示红,黄,绿,橙等,本次设计选用单色点阵显示屏。
2、点阵LED显示屏的外观和引脚8×8点阵共需要64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上。
要实现显示图形或字体,只需考虑其显示方式,通过编程控制各显示点对应LED阳极和阴极端的电平,就可以有效的控制各显示点的亮灭。
当采用按行扫描按列控制的驱动方式时,LED显示屏8行的同名列共用一套列驱动器。
行驱动器一行的行线连接到电源的一端,列驱动器一列的列线连接到电源的另一端。
应用时还应在各条行线或列线上接上限流电阻。
扫描中控制电路将行线的1到8轮流接通高电位,使连接到各该行的全部LED器件接通正电源,但具体那一个LED导通,还要看它的负电源是否接通,这就是列控制的任务了。
当对应的某一列置0电平,则相应的二极管就亮;反之则不亮。
例如:
如果想使屏幕左上角LED点亮,左下角LED熄灭的话,在扫描到第一行时,第一列的电位就应该为低,而扫描到第八行时第一列的电位就应该为高。
这样行线上只管一行一行的轮流导通,列线上进行通断控制,实现了行扫描列控制的驱动方式。
以上就是16×16点阵LED电子