版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
-.z.学科本科生毕业论文(设计)题目(中文):LED显示屏控制器的设计与实现(英文):TheDesignandImplementationofLEDDisplayController学生:学号:2013年05月15日本科生论文(设计)作者签名:年月日-.z.目录TOC\o摘要ArabicI关键词ArabicIAbstract ArabicIKeywords ArabicII1前言Arabic11.1LED电子显示屏概述Arabic11.2LED电子显示屏的分类Arabic21.3LED显示屏市场前景Arabic22LED显示原理的分析Arabic32.1LED点阵模块结构Arabic32.2LED动态显示原理Arabic43系统设计的任务与方案论证Arabic73.1设计任务Arabic73.2设计方案论证Arabic73.2.1显示单元模块的选择Arabic73.2.2主控制器的选择Arabic83.2.3点阵数据存储方式的选择Arabic93.2.4系统总体结构及原理分析Arabic113.2.5工作原理分析Arabic124硬件电路设计Arabic134.1LED控制卡电路设计Arabic134.1.1列驱动电路设计Arabic144.1.2行驱动电路设计Arabic154.2时钟模块电路设计Arabic164.3温度驱动电路设计Arabic164.4MA*232串行通信电路设计Arabic174.5系统电源及通信电缆的选择Arabic184.5.1对于LED显示屏的电源要求Arabic184.5.2开关电源在LED屏应用中的优势Arabic195系统软件设计Arabic195.1上位机软件设计Arabic195.2汉字字模的提取方法Arabic215.3上位机与单片机通信协议Arabic225.4下位机软件设计Arabic235.5中断数据处理Arabic256测试结果与分析Arabic256.1上位机软件测试Arabic256.2汉字移动测试Arabic266.3结果分析Arabic267总结Arabic26参考文献Arabic28致Arabic29附录ALED显示屏控制卡原理图Arabic30附录BLED显示屏控制卡PCB电路图Arabic31附录CVB上位机界面Arabic32附录D本设计显示效果图片Arabic32附录E程序清单Arabic33-.z.LED显示屏控制器的设计与实现摘要本设计是以STC12C5A60S2单片机作为核心控制器件,外围存储芯片实现汉字编码的存储,可以实现中英文字符和动态显示,并且可以通过级连的方式来扩展显示屏的尺寸,增加显示容。本设计采用VisualBasic6.0编写上位机,上位机与下位机采用RS-232通信标准来实现。上位机向下位机发送控制命令和需要存储的汉字编码,下位机接收数据并处理上位机发送过来的控制命令以及显示编码。由LED控制卡驱动32*64点阵屏显示,利用人眼的滞留现象,达到能够实时修改显示容的目的。关键词上位机;LED显示屏控制卡;32*64单色点阵屏;时钟芯片TheDesignandImplementationofLEDDisplayControllerAbstractThisdesignisbasedonSTC12C5A60S2microputerasthecorecontroldevice,toachievethestorageoftheChinesecharactercodingthroughe*ternalmemorychips.ThefunctionofthesystemcanbeachievedinEnglishcharactersanddynamicdisplayorcanbeconnectedincascademannertoe*pandthesizeandthecontentofdisplay,.preparationofPCprogrammedbyVisualBasic6.0,themunicationstandardbetweenthePCandthemicroputerisRS-232.ThepreparationofPCsendmandsandChinesecharactercodingthatneedstobestoredtoMCU,thene*tcrewprocessesmandsandthedatathatwassentfrompreparationofPCanddisplaycoding,32*64dotmatri*displaydrivenbytheLEDdisplaycontrolcard.Achievingthepurposeofdisplaycontentscanbemodifiedintimethroughhumaneyephenomenon。KeywordsHostputer;LEDdisplaycontrolcard;32*64monochromedotmatri*screen;Clockchip-.z.1前言1.1LED电子显示屏概述LED电子显示屏(LightEmittingDiodePanel)是由几百至几十万个半导体发光二极管构成的像素点,按矩阵均匀排列组成。利用不同的半导体材料可以制造不同色彩的LED像素点[1]。目前应用最广的是红色、绿色、黄色。而蓝色和纯绿色LED的开发已经达到了实用阶段。LED显示屏是一种通过控制半导体发光二极管的亮度的方式,来显示文字、图形、图像、动画、行情、视频、录像信号等各种信息的显示屏幕[2]。LED显示屏分为图文显示屏和条幅显示屏,均由LED矩阵块组成。图文显示屏可与计算机同步显示汉字、英文文本和图形;而条幅显示屏则适用于小容量的字符信息显示。LED显示屏因为其像素单元是主动发光的,具有亮度高,视角广、工作电压低、功耗小、寿命长、耐冲击和性能稳定等优点[3]。因而被广泛应用于车站、码头、机场、商场、医院、宾馆、银行、证券市场、建筑市场、拍卖行、工业企业管理和其它公共场所。LED显示屏的发展前景极为广阔,目前正朝着更高亮度、更高气候耐受性、更高的发光密度、更高的发光均匀性,可靠性、全色化方向发展[4]。本文主要研究一种基于STC12C5A60S2单片机的LED点阵屏的控制系统,显示面板为单色32*64点阵屏,控制卡上集成了温度传感器和时钟模块,可以独立显示时间和温度。并且有按键可以直接在下位机上调整时间与显示速度,与上位机采用RS-232通信的方式,控制更加简便。1.2LED电子显示屏的分类(1)、按颜色分类:单基色显示屏:单一颜色(红色或绿色)。双基色显示屏:红和绿双基色,256级灰度、可以显示65536种颜色。全彩色显示屏:红、绿、蓝三基色,256级灰度的全彩色显示屏可以显示一千六百多万种颜色。(2)、按显示器件分类:LED数码显示屏:显示器件为7段码数码管,适于制作时钟屏、利率屏等,显示数字的电子显示屏。LED点阵图文显示屏:显示器件是由许多均匀排列的发光二极管组成的点阵显示模块,适于播放文字、图像信息。(3)、按使用场合分类:室显示屏:发光点较小,一般Φ3mm--Φ8mm,显示面积一般零点几至十几平方米。室外显示屏:面积一般几十平方米至几百平方米,亮度高,可在下工作,具有防风、防雨、防水功能。(4)、按发光点直径分类:室屏:Φ3mm、Φ3.75mm、Φ5mm。室外屏:Φ10mm、Φ12mm、Φ16mm、Φ19mm、Φ21mm、Φ26mm。室外屏发光的基本单元为发光筒,发光筒的原理是将一组红、绿、蓝发光二极管封在一个塑料筒共同发光增强亮度[5]。1.3LED显示屏市场前景LED全彩显示屏,是20世纪90年代在全球迅速发展起来的新型信息显示媒体。它利用发光二极管构成的点阵模块或像素单元组成大面积显示屏幕,结合了微电子技术、光学技术、计算机技术、信息处理等现代高新技术,以其可靠性高、使用寿命长、环境适应能力强、性价比合理、使用成本低等特点迅速成为大型平板显示的主流产品,以其明显优越于背投、等离子、液晶显示及电视屏幕的性能而在信息显示领域得到了广泛的应用,如体育场馆、大型展览馆、市政广场、演唱会、车站、机场等场所[6]。尤其是以其高亮度,大面积显示而让更多人在户外也感受到信息时代的来临。显示信息无处不在。据业专家预测,今后几年全球各类LED显示屏需求每年均达到几十亿美元,且还在逐年递增。国际大都市如纽约、巴黎、伦敦都普遍使用大型LED全彩显示屏作为信息传播、广告宣传的新型载体。在中国,随着经济的飞速发展,各类场馆的兴建和市政工程改造项目的兴起,国市场LED显示屏需求增长率更是高达30%以上。按每年30%的增长速度,LED显示屏的市场规模将会不断的壮大,由于LED产品具有性能稳定、寿命较长、功耗较小以及价格低廉等优势,因此在各种实际应用中具有较强的市场竞争力,市场前景十分广阔。2LED显示原理的分析2.1LED点阵模块结构八十年代以来出现了组合型LED点阵显示器模块,以发光二极管为像素,它用高亮度发光二极管芯阵列组合后,环氧树脂和塑模封装而成[7]。这种一体化封装的点阵LED模块,具有高亮度、引脚少、视角大、寿命长、耐湿、耐冷热、耐腐蚀等特点。LED点阵规模常见的有4×4、4×8、5×7、5×8、8×8、16×16等等。根据像素颜色的数目可分为单色、双基色、三基色等。像素颜色不同,所显示的文字、图像等容的颜色也不同。单色点阵只能显示固定色彩如红、绿、黄等单色,双基色和三基色点阵显示容的颜色由像素不同颜色发光二极管点亮组合方式决定,如红绿都亮时可显示黄色,如果按照脉冲方式控制二极管的点亮时间,则可实现256或更高级灰度显示,即可实现真彩色显示[8]。本系统所使用的8×8单色LED点阵显示器的部电路结构和外形规格如图2.1所示,其它型号点阵的结构与引脚可试验获得。图2.18×8单色LED模块部电路LED点阵显示器单块使用时,既可代替数码管显示数字,也可显示各种中西文字及符号。如5*7点阵显示器用于显示西文字母,5×8点阵显示器用于显示中西文,8*8点阵可以用于显示简单的中文文字,也可用于简单图形显示。用多块点阵显示器组合则可构成大屏幕显示器,但这类大屏幕显示方法常通过PC机或单片机控制驱动。2.2LED动态显示原理LED点阵显示系统中各模块的显示方式:有静态和动态显示两种。静态显示原理简单、控制方便,但硬件接线复杂,在实际应用中一般采用动态显示方式,动态显示采用扫描的方式工作,由峰值较大的窄脉冲电压驱动,从上到下逐次不断地对显示屏的各行进行选通,同时又向各列送出表示图形或文字信息的列数据信号,反复循环以上操作,就可以显示各种图形或文字信息。点阵式LED汉字广告屏绝大部分是采用动态扫描显示方式,这种显示方式巧妙地利用了人眼的视觉暂留特性。将连续的几帧画面高速的循环显示,只要帧速率高于24帧/秒,人眼看起来就是一个完整的,相对静止的画面[9]。最典型的例子就是电影放映机。在电子领域中,因为这种动态扫描显示方式极大的缩减了发光单元的信号线数量,便于PBC的布局难度促进工厂批量生产,因此在LED显示技术中被广泛使用。以8×8点阵模块为例,说明一下其使用方法及控制过程。红色水平线Y0、Y1……Y7叫做行线,接部发光二极管的阳极,每一行8个LED的阳极都接在本行的行线上。相邻两行线间绝缘。同样,红色竖直线*0、*1……*7叫做列线,接部每列8个LED的阴极,相邻两列线间绝缘。在这种形式的LED点阵模块中,若在*行线上施加高电平(用“1”表示),在*列线上施加低电平(用“0”表示)。则行线和列线的交叉点处的LED就会有电流流过而发光。比如,Y7为1,*0为0,则右下角的LED点亮。再如Y0为1,*0到*7均为0,则最上面一行8个LED全点亮。现描述一下用动态扫描显示的方式,显示字符“9”的过程。其过程如图2.2所示。图2.2用动态扫描显示字符9的过程假设*,Y为两个8位宽的字节型数据,*的每位对应LED模块的8根列线*7-*0,同样Y的每位对应LED模块的8根行线Y7-Y0。在这个示例中,Y叫行扫描线,行扫描线在每个时刻只有一根线为“1”即有效行选通电平,*叫列数据线,其容就是点阵化的字模数据的体现。下面用伪代码描述动态显示的过程。(1).Y=0*01,*=0*FF,如图2.2第一行;(2).Y=0*1C,*=0*02,如图2.2第二行;(3).Y=0*22,*=0*04,如图2.2第三行;(4).Y=0*22,*=0*08,如图2.2第四行;(5).Y=0*1E,*=0*10,如图2.2第五行;(6).Y=0*01,*=0*20,如图2.2第六行;(7).Y=0*04,*=0*04,如图2.2第七行;(8).Y=0*38,*=0*80,如图2.2第八行;(9).跳到第(1)步循环。如果高速地进行(1)到(9)的循环,且两个步骤间的间隔时间小于1/24秒,由于视觉暂留。LED显示屏上将呈现出一个完整的“9”字符。这就是动态扫描的原理。只不过实际运用的时候,列线和行线通常不止8位,还要根据列线和行线的数量来决定是用行线或列线来做扫描线。例如0601条屏(每行6个汉字,共1行),行线有16根,列线有96根[10]。如果用列线来做扫描线,则每列LED在每96次循环扫描中只可能亮一次,则其发光视觉平均亮度为直流亮度的1/96。如果用行线来做扫描线,则每16次循环,每行LED就能亮一次,其发光视觉平均亮度为直流情况下的1/16。可见,用行线做扫描线,因为其发光周期的占空比较大,其视觉亮度是用列线做扫描线的6倍。因而发光效率比前者高。在实际运用的时候,还要在每两帧之间加上合适的延时,以使人眼能清晰的看见发光。在帧切换的时候还要加入余辉消除处理。比如先将扫描线全部设置为无效电平,送下一行的列数据后再选通扫描线,避免出现尾影。3系统设计的任务与方案论证3.1设计任务本设计的任务要求完成可以控制兼容T12和T08显示屏单元板并可扩展显示单元数目的单色动态调幅屏(1)、显示区域:单色显示64*32点;(2)、通过上位机修改显示容,按键可改变显示容;(3)、能存储16*16点阵汉字不少于64个。3.2设计方案论证3.2.1显示单元模块的选择LED显示屏显示一个简单的汉字,至少需要一个16*16点阵单元来构成,根据发光点直径的大小分为3.75mm和5mm的LED点阵模块。方案一:3.75mm的小型发光二极管组成的8*8的点阵模块,发光亮度不足,电流过大时易烧坏,远距离观看视觉效果模糊一般把3.75mm的屏作为室屏使用。方案二:5mm直径组成的8*8点阵模块,在同样的距离5mm直径的发光二极管组成的8*8的点阵模块所发出的亮度值大约是3.75mm单元模块的一倍,清晰程度也高于3.75mm的单元模块。因此为了在较远距离处获得清晰的视觉效果,本设计选择方案二,采用32个8×8点阵单元,像素直径5mm的LED模块拼接成32*64的LED显示屏。这样每个8×8汉字能够获得16×16cm的显示尺寸,因此在50米处仍能清晰阅读。而本设计使用是一块完整的32*64的点阵屏,能同时显示8个汉字。 3.2.2主控制器的选择随着广告屏显示容的多媒体化,对控制器传输速度,运算能力的要求越来越高。从单片机,到FPGA,直到现在的ARM处理器。控制器的种类也在不断发展以适应市场需求,不同功能档次的广告屏对应着不同的处理器。方案一:以单片机(STC12C5A60S2高速单片机)为控制器的LED显示屏。STC12C560S2单片机是传统的8051单片机的升级版,外部时钟频率可达到80MHZ、60K的FLASH存储器、1280字节的ROM和10位A/D转换,拥有P4口适合需要多个I/O的设计系统。其部资源对于点阵单元模块确定的条屏LED显示屏,无论从存储容量还是单片机的执行速度都能很好的适用单元点阵模块确定的LED显示屏方案二:以FPGA(复杂可编程逻辑门阵列)为控制器的LED显示屏。FPGA以高速、并行著称。是近年来新兴的可编程逻辑器件。用他作为LED显示屏的控制器,能够高速的处理色阶PWM信号、高速的完成动态扫描逻辑、高速的完成字符移动算法。因此被运用于双基色、三基色的显示系统。但是其成本较高,开发难度较大。方案三:以ARM(32位RISC架构高性能微处理器)为控制器的LED显示屏。ARM有着极高的指令效率,极高的时钟频率。因此其运算能力非常强大,部资源也十分丰富,极大的简化了硬件设计的难度,缩短了开发周期。在条屏的运用中,能用ARM来实现花样繁多的显示方式,以及高色阶,多像素的全彩屏驱动。ARM与FPGA的组合更是功能强大,除了海量存储技术,无线更新技术外,还能实时地显示视频信号。因此,以ARM为控制器的显示屏常为视频全彩屏。经过上面方案的比较最终确定选择方案一,选用STC12C5A60S2单片机作为本次设计的核心控制器,其部资源丰富、成本比较低廉各项功能均能满足本设计的要求。3.2.3点阵数据存储方式的选择目前使用最广泛的技术是,通过上位机软件将待显示的字符串转换为对应的点阵字模数据,通过烧写的方式将这些字模数据按一定的顺序编址后存储在E2PROM中。在条屏显示的过程中按规定的方式取出E2PROM中的字模数据进行处理。对于一个16*16点阵的汉字字模数据,需要连续32字节的E2PROM空间来存储。照此计算,若有256个需要显示的字符,则至少需要32B×256=8192字节(8KB)的E2PROM存储空间。通常的单片机部没有集成这么大容量的E2PROM。因此需要在单片机外部扩展大容量的E2PROM。方案一:选用FLASH存储器来存储上位机发送过来的汉字编码,FLASH存储器种类多样,其中最为常用的为NOR型和NAND型FLASH。通常NOR型比较适合存储程序代码,其随机读写速度快,容量一般较小,且价格较高,一般只能整块读写数据,随机存取能力差。它们对数据的存取不是使用线性地址映射,而是通过寄存器的操作串行存取数据。FLASH存储器的擦除过程相对费时,且擦除流程相对复杂。方案二:选用AT24C64存储器来存储汉字编码,AT24C64采用的是I2C总线接口方式,I2C总线是一种用于IC器件之间连接的二线制总线。连接总线的器件的输出必须是集电极或漏极开路,以具有线“与”功能。I2C总线的数据传送速率在标准工作方式下为100kbit/s,在快速方式下,最高传送速率可达400kbit/s。它通过SDA(串行数据线)及SCL(串行时钟线)两根线和连在总线上的上位机进行通信,并根据地址识别每个器件。采用I2C总线标准的单片机或IC器件,其部不仅有I2C接口电路,而且将部各单元电路按功能划分为若干相对独立的模块,通过软件寻址实现片选,减少了器件片选线的连接。CPU不仅能通过指令将*个功能单元电路挂靠或摘离总线,还可对该单元的工作状况进行检测,从而实现对硬件系统既简单又灵活的扩展与控制。由于本设计的任务是需要存储汉字不少于64个,采用FLASH芯片来存储汉字编码,其操作复杂、成本太高,不适合在本次设计中采用FLASH芯片,因此本设计采用方案二来存储上位机发送过来的汉字编码并用寻址读取数据。3.2.4系统总体结构及原理分析通过对各种方案的比较与分析,初步构建硬件系统框图如图3.1所示。图3.1LED显示屏系统框图在图3.1中,*0、*1—*n为显示单元。整个显示单元由一个32*64点阵的LED模块和一个32位宽的移位锁存器(串行—并行转换器)构成。所有显示单元的16根行线均连接到公共的行扫描驱动电路。而每个显示单元的列数据则由16位移位锁存器并行输出口提供。中央微处理器MCU负责与所有外围设备的协调通信,以及各种算法的处理。MCU通用I/O口来驱动行扫描驱动电路。通用I/O口模拟同步串行接口以实现和列数据锁存器(移位锁存器)之间的单向通信。3.2.5工作原理分析单片机上电复位后,先从外部存储器E2PROM读取上次存储在部的显示模式,在32*64单色屏中上半屏存储时间、温度等数据。下半屏存储的是上位机要传输过来的数据。进入下载模式后从上位机传送来的数据经过MA*232串口存放到单片机部的扩展数据存储区,在AT24C64存储区中开辟192字节(1536位)动态显示缓冲区Display_Buffer和32字节的字模数据缓存区Temp_Buffer,两个缓存区编址连续。Display_Buffer中的一位与LED的一个点阵一一对应。遵循结构化的程序设计思路,把单片机在显示模式时所有工作量分为以下三个任务:(1)、扫描显示任务:扫描显示任务负责把Display_Buffer中的数据依次发送到列驱动器74HC595,并按严格的时序高电平选通十六根行扫描线(Y0—Y15),使每一列数据对应着一个行线状态。(2)、移动处理任务:移动处理任务负责完成显示字符逐点阵向左移动的算法处理,这是最基本的显示效果。其它大部分显示效果如:左移六字暂停,全屏定格显示等都是以逐位左移为基础。对显示字符的移动,实质上是对显示缓冲区Display_Buffer数据的移动。该算法是将Display_Buffer和Temp_Buffer中的数据首尾相接地左移一位,并不断把Temp_Buffer移入Display_Buffe。(3)、字符更新任务:在单片机的*data区开辟了32字节的字模数据缓存区Temp_Buffer。该缓存区与Display_Buffer编址连续。当调用字符更新任务时,程序从E2PROM码区指定位置读取相邻两字节的汉字码数据。并通过一定的算法,把上位机发送的汉字编码转换成标准的GB2312汉字编码。单片机通过I2C接口,向E2PROM发送读命令和地址,单片机连续读取32字节的全角汉字字模数据或16字节的ASCII半角字模数据。这些字模数据就存储在32字节的字模数据缓存区中。字模数据缓存区Temp_Buffer中的数据可通过调用移动处理任务而逐位转移至动态显示缓冲区Display_Buffer中,这样在LED显示屏上就显示我们所需要的容。4硬件电路设计4.1LED控制卡电路设计LED点阵屏控制卡是整个LED显示屏的核心控制器件,它集成了STC12C5A60S2主控芯片、时钟芯片、温度传感器、存储芯片、串口转换电路为一体的控制器,它是控制点阵屏的核心部分,各项功能的实现必须经过控制卡的控制。通过LED控制卡来驱动32*64显示屏上面的行,列选通芯片,把十六进制汉字编码送74HC595显示。本系统设计的控制卡接有标准的T08接口和T12接口,也适合其它型号的点阵屏使用本控制卡,因此控制卡的设计非常重要。图4.1为核心控制器件与标准的接口,其他各个部分控制电路(见附录A)图4.1控制卡原理图4.1.1列驱动电路设计本设计中32*64点阵屏的列驱动电路由16片串联的8位移位锁存器74HC595构成,如下图4.2所示,通过第一片串行数据输出脚(SQ)接入第二片的数据输入端,再从第二片的数据输出脚接入第三片595的14(SI)脚数据输入端,这样通过多片级联就可以控制多个点阵屏模块的列选,再加上时钟线(CLK),输出锁存数据线(RST),多块595级联时也只要控制这三个控制端口我们就可以控制32*64点阵屏的列选号的输出。74HC595在5V供电的时候能够达到30MHz的时钟速度,每个并行输出端口均能承受20mA的灌电流和拉电流。这个特点保证了不用增加额外的扩流电路即可轻松的驱动LED。它输入端允许500nS的上升(下降)时间,对严重畸形的时钟脉冲仍能检测。这样就可以容纳较大的传输线对地电容,使本设计的抗干扰能力增强。由于LED显示屏的工作电流时刻在变化,造成了系统电压的波动。这种电压波动有高频成分,也有低频成分。轻则对周围无线电环境造成电磁污染,重则使系统时钟紊乱,逻辑错误。为避免此问题,在每个74HC595的电源VCC和GND旁边都并联了两个电容,用于滤波和退耦。稳定系统电压,旁路掉电源中的高频脉动成份。消除自激,减小对外杂散电磁辐射,提高EMI电磁兼容性。图4.2两片74HC595级联图4.1.2行驱动电路设计32*64点阵屏共用16片138级联,通过总线驱动芯片74HC245驱动行/列信号,从总线上的低4位输出的行号经两片138级联后形成4/16线译码器后生成16条行选信号,具体电路如图4.3所示。再经过驱动管驱动对应的行线。一条线上要带动32列的LED灯同时发光时,按每一LED器件15mA电流计算,32个LED同时发光时,需要480mA的电流,选用三极管8550作为驱动管可以满足要求。74HC138为3线—8线译码器,其工作原理为:当一个选通端(G1)为高电平,另外两个选通端G2A和G2B为低电平时,可将地址端(A、B、C)的二进制编码在Y0至Y7对应的输出端以低电平译出,当数据超过8位之后,电平拉高后可对16数据操作。两片级联后的138电路如下:图4.3两片74HC138级联电路图4.2时钟模块电路设计DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302部有一个31×8的用于临时性存放数据的RAM寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力,可以对时间进行不掉电保存。图4.4为时钟模块电路:图4.4DS1302时钟电路图4.3温度驱动电路设计Dallas半导体公司的数字化温度传感器DS1820是世界上第一片支持“一线总线差为±2°C。现场温度直”接口的温度传感器。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。现在新一代的“DS1820”体积更小、更经济、更灵活。DS18B20支持“一线总线”接口,测量围-55°C~+125°C,在-10~+85°C围,精度为±0.5°C。DS1822的精度较接以“一线总线”的数字方式传输,见图4.5所示这种方式大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。本设计通过不断采集DS18B20的I/O口输出的数据送入显示函数实时更新采集过来的温度然后送LED显示屏显示。图4.5温度采集电路4.4MA*232串行通信电路设计要使上位机能对条屏进行参数设置,显示容更新等操作,就离不开和上位机的通信。有并行和串行两种通信方式,为了节约传输线成本。本设计采用RS-232C串行通信方式。如图4.6所示的P3.0与P3.1口接入单片机的数据输入端和数据输出端,通过LED灯的闪烁判断数据是否已传输到下位机。RS-232C是由美国电子工业协会(EIA)正式公布的,在异步串行通信中应用最广泛的标准总线。现在,计算机上的串行通信端口(RS-232C)是标准配置端口,已经得到广泛应用,计算机上一般都有1~2个标准RS-232C串口,即通道1和2[11]。RS-232C规定最大的负载电容为2500pF,这个电容限制了传输距离和传输速率,由于RS-232C的发送器和接收器之间具有公共信号地(GND),属于非平衡电压型传输电路,不使用差分信号传输,因此不具备抗共模干扰的能力,共模噪声会耦合到信号中。在不使用调制解调器(MODEM)时,RS-232C能够可靠进行数据传输的最大通信距离为15米。因此不适合做远距离通信,但是对于条屏,通信15米的通信距离已经足够。图4.6上位机与单片机串行通信电路图4.5系统电源及通信电缆的选择4.5.1对于LED显示屏的电源要求本系统没有设置独立的5V稳压器件,因此要求外部能对其提供相对稳定的电压。为保证单片机等集成电路的稳定工作,要求电源电压的最大波动围在4.8-5.2V之间。本系统的工作电流随着显示容的不同有很大变化。在LED全灭的状态下,耗电电流为60mA左右;在LED全亮的情况下,工作电流可以达到3A;在滚动显示汉字的时候,耗电约为500mA左右。因此,要求供电电源在负载电流变化较大的情况下能保持相对稳定的电压输出。同时,条屏一般是全天候工作,对电源系统的长时间工作的稳定性要求较高。考虑到上述因素,本设计采用功率容量200W,输出5V/40A的成品单端反激式开关电源来为条屏系统供电。10A的电流容量对于条屏系统3A的满负荷电流仍有较大的余量。保证了长时间使用稳定性。4.5.2开关电源在LED屏应用中的优势使用开关电源,相对于线性电源来说,有以下几个明显的优势。成本低廉:同等电压和电流容量的开关稳压电源的成本,是传统的工频变压器线性稳压电源的30%左右。因此,在许多场合,开关电源已逐步取代线性电源。高效率:体现在极高的转换效率和极低的调整损耗上,开关电源的换能器是工作在开关状态下,因此转换的效率极高,长时间满负荷工作也不会引起电源过热。正好满足条屏的应用场合。功率密度大:开关电源能够轻松地提供10A以上的电流。在同等输出功率下,开关电源的体积只有线性电源的四分之一,重量为线性电源的十分之一。功率越大,其优势越明显。对于通信电缆的选择,本设计是将通信线和电源输入合并在一个DB9连接器上。外部电缆使用多芯屏蔽电缆。这样的设计,紧凑美观,坚固耐用。5系统软件设计5.1上位机软件设计因为是采用VB语言进行设计,故是采用面向对象的思想进行编程。没有像C语言一样的具体流程,只能将各主要控件的主要事件响应作简要流程说明,具体流程图如5.1所示。其关键的HZK16*16的汉字提取程序如下:。Fori=1To32Step1'字模校正对话框的字模代码显示IfLen(He*(zw(i)))=1ThenTe*t2.Te*t=Te*t2.Te*t&"0*0"&He*(zw(i))&","Te*t3.Te*t=Te*t3.Te*t&"0"&He*(zw(i))//加入0*的十六进制ElseTe*t2.Te*t=Te*t2.Te*t&"0*"&He*(zw(i))&","Te*t3.Te*t=Te*t3.Te*t&He*(zw(i))EndIfIfiMod16=0ThenTe*t2.Te*t=(Te*t2.Te*t+Chr(13)+Chr(10))EndIfCallhe*SendSleep20Te*t3.Te*t=""Ne*tiErasezw()'清空32字节的ZW数组以方便下一个汉字字模的输出Elsebb=(94*(CLng("&H"&Mid(aa,1,2))-&HA1)+(CLng("&H"&Mid(aa,3,2))-&HA1))*32//提取汉字首地址的计算方法Forn=1To32Step1OpenApp.Path&"\hzk16"ForBinaryAs*1//打开汉字库Get*1,bb+n,zw(n)图5.1上位机软件事件流程5.2汉字字模的提取方法HZKl6*16点阵汉字字库可以在中文操作软件(UCDOS)中找到现成的文件。一般汉字字库均符合国家标准GB2312-80的规定[12]。在汉字系统中使用机码形式存储汉字,国标码的最高位置l作为汉字的机码。而国标码由两个字节组成,其中高字节表示区,低字节表示位。国标码和区位码都有94个区,每个区又都有94个位。1-9区为图形区,10-15区未规定,16-87区存放一、二级汉字库。国标码和区位码的关系是:国标码高字节=区码+20H(式5.1)国标码低字节=位码+20H(式5.2)所以,机码与国标码和区位码的关系是:机码高字节=国标码高字节+80H=区码+A0H(式5.3)机码低字节=国标码低字节+80H=位码+A0H(式5.4)字模代码按照区位码的顺序在字库中以二进制格式存储,每个汉字占用32个字节。因此只要找到汉字代码的起始位置,就可正确提取汉字点阵信息。对于不同的字库,汉字代码起始位置的计算方法可能存在差异,例如HZK16若以ADDRESS表示首地址,Q表示区码,W表示位码,经分析和实践得出HZK16中汉字首地址计算公式为:ADDRESS=32×[(Q-1)×94+(W-1)](式5.5)在VB.NET中,获取汉字区位码可以用ASC()函数和HE*()函数,函数ASC()返回一个Integer数据,代表字符串中首字母的字符代码。HE*()函数返回代表十六进制数值的字符串[13]。当汉字作为ASC()函数的参数时,返回的是汉字机码,经HE*()函数转换即可得到汉字机码的十六进制数,再通过公式(5.5)就可以得到汉字的首地址,有了汉字的首地址再从字库中提取汉字代码,再经过扩展取两次字模得到32*64的点阵字模。5.3上位机与单片机通信协议通信协议是指通信各方事前约定的通信规则,我们可以简单地理解为通信双方之间进行相互会话所使用的共同语言。上位机与下位机通信的时候为了识别通信数据的所代表的含义,所以必须有通信协议。本设计制定上位机往下位机发送命令/数据流的帧格式如表5.1所示根据表5.1的帧格式,制定通信协议如下(1)下位机不断检测收到的数据,若检测到握手字0*A0则执行否则重复1;(2)继续接受1字节数据,若为同步头0*FA则执行3否则跳转至1;(3)下位机连续接受7字节的设置数据,并返回各字节数据的反码;(4)上位机不断检测下位机发出的取反校验字,若校验出错则报警否则执行5;(5)上位机继续向下位机发送汉字码数据;(6)下位机不断接收码并保存到AT24C64存储器中,但不返回校验字;(7)若下位机检测到上位机发出的传输结束命令字0*8F,则结束通信过程;(8)下位机不断尝试与上位机握手,一旦握手成功下位机就接收数据并进行校验,若校验成功则发送到下位机存储器中,等待单片机读取数据送显示端。表5.1帧格式制定通信协议如下1B1B1B1B1B1B1B1BnB、、1B1B1B1B1B1B1B1B1BnB、、1B0*A00*FA握手0*A00*FA同步头显示模式刷新率左移速度定格时间显示容字符数高位字符数低位码首地址结束命令字5.4下位机软件设计上位机发送汉字编码后,单片机中断检测到RI置高电平则进入中断程序并接受上位机发送过来的汉字码,按地址编码的方式存储到E2PROM中,单片机再不断从存储器里按地址编码所存储的信息去读取相应数据然后送入32*64单色点阵屏显示,具体流程见图2.5所示图5.2下位机接收数据流程图AT24C64存储数据后调用显示函数可以通过按键改变显示屏容,按键一直是处于不断的扫描状态当检测到有低电平时,就跳转进入相应的按键执行程序,LED显示屏就显示按键对应的显示容。其具体流程见图5.3所示。图5.3按键选择流程图5.5中断数据处理上位机发送到控制卡上的汉字编码是通过中断接收数据(SBUF)再存入外部存储器AT24C64存储器中,单片机通过读取存储器的地址把数据送入74HC595的数据线上,通过行列扫描把存储的数据显示在LED显示屏上。具体的流程图如图5.4所示图5.4中断处理流程图6测试结果与分析6.1上位机软件测试软件测试条件:Windows7操作系统、Tntel(R)Core(TM)i3处理器、2G存。(1)上位机软件安装包大小:1.5MB(2)上位机程序大小:323KB(3)上位机存占用:44KB(4)1024字下载时间:14秒(5)单片机目标代码大小:5297字节;data区存占用75字节零1位;外部*data区占用689字节。E2PROM占用code区5个扇区2560字节。6.2汉字移动测试测试方法:在最低帧率和最高帧率设置下,用秒表统计出各个移动速度设置值下的,每秒移动的水平点阵数,单位为点/秒。测试仪器:秒表、肉眼测试结果:如表6.1所示。表6.1汉字移动速度测试表下位机刷新率设置为1下位机刷新率设置为6下位机左移速度设置实际移动速度(点/秒)下位机左移速度设置实际移动速度(点/秒)1315252838311410414512517614621结果分析通过上面指标的分析,基本上达到本设计对速度的要求。选用高频晶振其刷新速率越高,汉字闪烁越小,在同等条件下选用24M晶振和选用12M的晶振,前者比后者要更稳定一些,存储大量汉字编码时必须采用外部的存储器来实现汉字的存储。(汉字移动图片见附录D)7总结经过一段时间的毕业设计,终于完成了基于STC12C5A60S2单片机的LED显示控制器的设计与实现,项目所要求的功能基本达到。通过这次设计收获颇多,不仅是所作题目涉及到的软硬件知识还有更为重要的实际经验和制作过程中所发现的问题。从得知毕业论文题目之后,就到互联网上对LED进行了详细的资料收集,从技术和产业的两方面对LED进行了解。通过了解我认识到LED是一门当今应用非常广泛的技术,整个产业每年都会有巨大的产值而且技术还在不断发展和创新。从设计之初就确定了参照大屏幕显示屏的实现方法和实际情况设计一款小屏幕的LED点阵显示屏。在查阅了大量的大屏幕显示屏资料后确定了题目的设计方案。整个设计采用STC12C5A60S2做核心控制器,采用两片74HC38级联控制行选,和16片75HC595级连控制列选,74HC245作为总线驱动器来控制行/列的控制端口实现点阵屏汉字显示。在实现这一设计的过程中所遇到的问题和困难给我留下了宝贵的经验和深刻教训。这些经验和教训是:(1)、设计之前应该进行大量的资料收集和分析,确定一个清晰的设计思路;(2)、器件选择时要详细阅读器件使用手册,不但要考虑器件的功能实现还要考虑器件在整个系统中的兼容性;(3)、硬件系统的建立必须合理和稳定,实物建立之前最好进行仿真这样才能为软件提供一个可靠的试验平台;(4)、软件的编写不但要实现功能还要不端的优化、简练、易读。虽然设计结束了,但学习还在继续。我相信通过此次设计所得到的知识、心得、经验乃至感受也会让我在以后的日子里受益匪浅。参考文献[1]关积珍.LED显示屏发展状况及趋势[J].世界电子元器件,2000,(02):277-301.[2]关积珍,陆家和.我国LED显示屏技术和产业发展及展望[J].现代显示,2004,(02):34-37.[3]袁波,朱保华.LED显示屏的应用及发展状况[J].中国电子报,2004,09:2-8.[4]王尔镇.我国LED及显示屏的技术和市场概况[J].微电子技术.1998,(06):1-10.[5]高春艳,俊民,彬彬.VisualBasic应用开发完全手册/明日科技编著[M].:人民邮电,2006.12:33-76.[6]朝青艳玲,怡麟.单片机与PC机网络通信技术[M].:航空航天大学,2007,2:1-110.[7]谭浩强.C程序设计(第二版)[M].:清华大学,1999:12-56.[8]郭天祥.新概念51单片机C语言教程[M].:电子工业,2009,1:178-184.[9]付军.VisualBasic实用编程100例[M].:中国铁道,2003,5:152-158.[10]长林.VisualBasic串口通信技术与典型实例[M].:清华大学,2004:4-89.[11]周子琛,申振宁.用VB实现计算机与单片机的串行通信[J].半导体术,2002,27(1):42-44.[12]Miscrosoft公司.VisualBasic6.0中文版语言参考手册[M].:希望电脑公司希望图书创作室,1999:1391-1394.[13]现勇.VisualC++串口通信技术与工程实践(第二版)[M].:人民邮电出本社,2004.7:310-314.致毕业设计也接近尾声,我的毕业设计也快完成了。在本次毕业设计中也遇到了许多的问题,从最初的找资料到方案论证都经过了周老师的细心指导,对我的毕业设计和论文提出了许多宝贵的意见在我们不懂的时候还特意为我讲解,解开我的困惑。在此,谨向周老师表示衷心的感。感我的同学和朋友,在设计期间是他们给了我无限的帮助与协助。帮我解答各种设计和论文上的疑问,对我的设计提出许多有用的改进意见。在此一并感了。在设计和论文即将完成之际,我的心情无法平静,从开始进入课题到论文的顺利完成,有多少可敬的师长、同学、朋友给了我无言的帮助,在这里请接受我诚挚的意!附录ALED显示屏控制卡原理图附录BLED显示屏控制卡PCB电路图(顶层)(底层)附录CVB上位机界面附录D本设计显示效果图片(1)阳码静态显示效果(2)低刷新率显示移动效果(3)中速刷新显示移动效果附录E程序清单-.z.*include<reg52.h>*include"zimo.h"//字模采用阴码逐行显示32*32*defineucharunsignedchar*defineuintunsignedint*defineSPEED2//定义速度4-6*defineLIGHT10//定义亮度:取值围0--10*defineNUMBER7//定义要显示总32*32汉字个数,计算方法:NUMBER=汉字个数ucharword=0,col=0,coll=0,disrow=0;//wor为要显字变量,col为位移变量,col1为字节偏移量,disrow为行变量ucharBUFF__UP[17];//上半屏显示缓冲上下缓冲字节数取值=[2*板点阵宽度/8]+1比较保险,即两倍板的点阵字节数.ucharBUFFDOWN[17];//下半屏显示缓冲sbitA=P1^0;sbitBB=P1^1;sbitC=P1^2;sbitD=P1^3;sbitR1=P1^5;sbitR2=P3^5;//绿色数据sbitCLK=P1^7;sbitSTB=P1^6;sbitOE=P0^1;//74HC138使能:低有效ucharRecive=1;//根据列指针由双字节合并为单字节的子程序模块ucharbine_2byte(ucharh1,ucharh2){ucharT_date,tempcol;tempcol=coll;T_date=(h1>>tempcol)|(h2<<(8-tempcol));returnT_date;}//分别装载上、下半屏点阵数据voidLoad_one_line(void){BUFF__UP[0]=Table[word][disrow*4+0];//装载上半屏一线点阵数据BUFF__UP[1]=Table[word][disrow*4+1];BUFF__UP[2]=Table[word][disrow*4+2];BUFF__UP[3]=Table[word][disrow*4+3];BUFF__UP[4]=Table[word+1][disrow*4+0];BUFF__UP[5]=Table[word+1][disrow*4+1];BUFF__UP[6]=Table[word+1][disrow*4+2];BUFF__UP[7]=Table[word+1][disrow*4+3];BUFF__UP[8]=Table[word+2][disrow*4+0];BUFF__UP[9]=Table[word+2][disrow*4+1];BUFF__UP[10]=Table[word+2][disrow*4+2];BUFF__UP[11]=Table[word+2][disrow*4+3];BUFF__UP[12]=Table[word+3][disrow*4+0];BUFF__UP[13]=Table[word+3][disrow*4+1];BUFF__UP[14]=Table[word+3][disrow*4+2];BUFF__UP[15]=Table[word+3][disrow*4+3];BUFF__UP[16]=Table[word+4][disrow*4+3];BUFFDOWN[0]=Table[word][64+disrow*4+0];//装载下半屏一线点阵数据BUFFDOWN[1]=Table[word][64+disrow*4+1];BUFFDOWN[2]=Table[word][64+disrow*4+2];BUFFDOWN[3]=Table[word][64+disrow*4+3];BUFFDOWN[4]=Table[word+1][64+disrow*4+0];BUFFDOWN[5]=Table[word+1][64+disrow*4+1];BUFFDOWN[6]=Table[word+1][64+disrow*4+2];BUFFDOWN[7]=Table[word+1][64+disrow*4+3];BUFFDOWN[8]=Table[word+2][64+disrow*4+0];BUFFDOWN[9]=Table[word+2][64+disrow*4+1];BUFFDOWN[10]=Table[word+2][64+disrow*4+2];BUFFDOWN[11]=Table[word+2][64+disrow*4+3];BUFFDOWN[12]=Table[word+3][64+disrow*4+0];BUFFDOWN[13]=Table[word+3][64+disrow*4+1];BUFFDOWN[14]=Table[word+3][64+disrow*4+2];BUFFDOWN[15]=Table[word+3][64+disrow*4+3];BUFFDOWN[16]=Table[word+4][64+disrow*4+3];}//发送屏一线点阵数据voidSend_one_line(void){chars;ucharTEMP0,TEMP1,i,inc;bite1,e2;if(col<8)inc=0;if(8<=col&&col<16)inc=1;if(16<=col&&col<24)inc=2;if(24<=col&&col<32)inc=3;for(s=0+inc;s<=8+inc;s++){TEMP0=bine_2byte(BUFFDOWN[s],BUFFDOWN[s+1]);TEMP1=bine_2byte(BUFF__UP[s],BUFF__UP[s+1]);for(i=0;i<8;i++){e1=~(TEMP1>>i)&0*01;//取出最高位e2=~(TEMP0>>i)&0*01;//取出最高位//R1=e1;R2=e2;CLK=0;CLK=1;//移位时钟} }}voiddelay(unsignedinti){unsignedintj;for(;i>0;i--){for(j=5;j>0;j--);}}voidPWM_LIGHT(ucharp)//亮度调整{OE=0;delay(p);OE=1;delay(10-p);}voidUART()interrupt4 {EA=1;if(RI)//RI接受中断标志{RI=0;//清除RI接受中断标志Recive=SBUF; //SUB缓冲器} EA=1;}//主函数入口voidmain(void){uchari;SCON=0*50;//REN=1允许串行接受状态,串口工作模式1 TMOD|=0*20;//定时器工作方式2 PCON|=0*80; TH1=0*E6; //波特率9600、数据位8、停止位1。效验位无(12M)TL1=0*E6;TR1=1; ES=1;//开串口中断 EA=1;//开总中断 TR1=1;//启动定时器1 PS=1;//串口中断优先R1=0;//数据初始化R2=0;while(1){ //循环16次,点亮并移动一个汉字,步进是一位for(col=0;col<32;col++)//循环32次,点亮并移动一个汉字,步进是一位,{ coll=col%8; for(i=0;i<SPEED;i++)//汉字在屏幕上的停留时间(即移动速度快慢) {for(disrow=0;disrow<16;disrow++)//扫描16行 {Load_one_line();//装载上下两屏各一线点阵数据Send_one_line();//发送一线点阵数据STB=0;STB=1;//输出锁存A=disrow&0*01;BB=disrow&0*02;C=disrow&0*04;D=disrow&0*08;PWM_LIGHT(LIGHT);}}}word=word+1;//一个汉字移动后,指向下一个汉字if(word>=NUMBER){word=0;//移动完NUMBER个汉字后重新开始}}}E2:下位机接收程序*include<reg52.h>*include<intrins.h>*defineucharunsignedchar*defineuintunsignedintsbitsda=P2^0;sbitscl=P2^1;voidstart();voidc64_init();voidstop();voidack();voidnoack();voidwrite(uchardate);voiddelay();voiddelay_ms(ucharz);voidwrite_date(ucharadd,uchardate);ucharread();ucharrea
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年香港中文大学(深圳)辅导员考试参考题库附答案
- 2025年山西省晋中市单招职业倾向性测试题库附答案解析
- 2024年新疆交通职业技术学院单招综合素质考试题库附答案解析
- 2023年泰山科技学院单招综合素质考试模拟测试卷附答案解析
- 2026年三峡电力职业学院单招(计算机)考试参考题库必考题
- 2024年安顺职业技术学院单招综合素质考试模拟测试卷附答案解析
- 2025年内蒙古化工职业学院单招综合素质考试题库附答案解析
- 2023年陕西省延安市单招职业倾向性考试模拟测试卷附答案解析
- 2025年苏州高博软件技术职业学院单招职业技能测试题库附答案解析
- 2024年九州职业技术学院单招职业技能测试题库附答案解析
- ZLP630高处作业吊篮使用说明书
- 2025至2030年中国羟基酪醇行业全景调研及竞争格局预测报告
- T/CECS 10348-2023一体化净水设备
- 湖南储备粮代储合同
- 2024-2025学年辽宁省大连市甘井子区第八十中学上学期七年级数学期末模拟试卷
- 2025年12月保安公司年终工作总结模版(三篇)
- 微生物发酵技术在农产品加工中的应用-洞察分析
- (八省联考) 2025年高考综合改革适应性演练 数学(解析版)
- 机械制造基础-002-国开机考复习资料
- JTS 206-2-2023 水运工程桩基施工规范
- 《港航实务总复习》课件
评论
0/150
提交评论