《LED显示屏控制器的设计与实现毕业论文(设计).doc》由会员分享,可在线阅读,更多相关《LED显示屏控制器的设计与实现毕业论文(设计).doc(48页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 学科分类号 0712 本科生毕业论文(设计)题目(中文): LED显示屏控制器的设计与实现 (英文): The Design and Implementation of LED Display Controller 2013年 05月 15日本科毕业论文(设计)诚信声明作者郑重声明:所呈交的本科生论文(设计),是在指导老师的指导下,独立进行研究所取得的成果,成果不存在知识产权争议。除文中已近注明引用的内容外,论文不含任何其他个人或集体已经发表或撰写过的成果。对论文的研究做出重要贡献的个人和集体均已在文中以明确的方式标明。本声明的法律结果由作者承担。本科生论文(设计)作者签名:年 月 日目 录
2、摘 要I关键词IAbstractIKey wordsII1 前言11.1 LED电子显示屏概述11.2 LED电子显示屏的分类21.3 LED显示屏市场前景22 LED显示原理的分析32.1 LED点阵模块结构32.2 LED动态显示原理43 系统设计的任务与方案论证73.1 设计任务73.2 设计方案论证73.2.1 显示单元模块的选择73.2.2 主控制器的选择83.2.3 点阵数据存储方式的选择93.2.4 系统总体结构及原理分析113.2.5 工作原理分析124 硬件电路设计134.1 LED控制卡电路设计134.1.1 列驱动电路设计144.1.2 行驱动电路设计154.2 时钟模块
3、电路设计164.3 温度驱动电路设计164.4 MAX232串行通信电路设计174.5 系统电源及通信电缆的选择184.5.1 对于LED显示屏的电源要求184.5.2 开关电源在LED屏应用中的优势195 系统软件设计195.1 上位机软件设计195.2 汉字字模的提取方法215.3 上位机与单片机通信协议225.4 下位机软件设计235.5 中断数据处理256 测试结果与分析256.1 上位机软件测试256.2 汉字移动测试266.3结果分析267 总结26参考文献28致 谢29附录A LED显示屏控制卡原理图30附录B LED显示屏控制卡PCB电路图31附录C VB上位机界面32附录D
4、本设计显示效果图片32附录E 程序清单33LED显示屏控制器的设计与实现摘 要本设计是以STC12C5A60S2单片机作为核心控制器件,外围存储芯片实现汉字编码的存储,可以实现中英文字符和动态显示,并且可以通过级连的方式来扩展显示屏的尺寸,增加显示内容。本设计采用Visual Basic 6.0编写上位机,上位机与下位机采用RS-232通信标准来实现。上位机向下位机发送控制命令和需要存储的汉字编码,下位机接收数据并处理上位机发送过来的控制命令以及显示编码。由LED控制卡驱动32*64点阵屏显示,利用人眼的滞留现象,达到能够实时修改显示内容的目的。关键词上位机;LED显示屏控制卡;32*64单色
5、点阵屏;时钟芯片 The Design and Implementation of LED Display ControllerAbstractThis design is based on STC12C5A60S2 microcomputer as the core control device ,to achieve the storage of the Chinese character coding through external memory chips. The function of the system can be achieved in English character
6、s and dynamic display or can be connected in cascade manner to expand the size and the content of display,. preparation of PC programmed by Visual Basic 6.0, the communication standard between the PC and the microcomputer is RS-232. The preparation of PC send commands and Chinese character coding th
7、at needs to be stored to MCU, the next crew processes commands and the data that was sent from preparation of PC and display coding, 32 * 64 dot matrix display driven by the LED display control card. Achieving the purpose of display contents can be modified in time through human eye phenomenon。Key w
8、ordsHost computer;LED display control card;32*64 monochrome dot matrix screen;Clock chip101 前言1.1 LED电子显示屏概述LED电子显示屏(Light Emitting Diode Panel)是由几百至几十万个半导体发光二极管构成的像素点,按矩阵均匀排列组成。利用不同的半导体材料可以制造不同色彩的LED像素点1。目前应用最广的是红色、绿色、黄色。而蓝色和纯绿色LED的开发已经达到了实用阶段。LED显示屏是一种通过控制半导体发光二极管的亮度的方式,来显示文字、图形、图像、动画、行情、视频、录像信号等各
9、种信息的显示屏幕2。LED显示屏分为图文显示屏和条幅显示屏,均由LED矩阵块组成。图文显示屏可与计算机同步显示汉字、英文文本和图形;而条幅显示屏则适用于小容量的字符信息显示。LED显示屏因为其像素单元是主动发光的,具有亮度高,视角广、工作电压低、功耗小、寿命长、耐冲击和性能稳定等优点3。因而被广泛应用于车站、码头、机场、商场、医院、宾馆、银行、证券市场、建筑市场、拍卖行、工业企业管理和其它公共场所。LED显示屏的发展前景极为广阔,目前正朝着更高亮度、更高气候耐受性、更高的发光密度、更高的发光均匀性,可靠性、全色化方向发展4。 本文主要研究一种基于STC12C5A60S2单片机的LED点阵屏的控
10、制系统,显示面板为单色32*64点阵屏,控制卡上集成了温度传感器和时钟模块,可以独立显示时间和温度。并且有按键可以直接在下位机上调整时间与显示速度,与上位机采用RS-232通信的方式,控制更加简便。1.2 LED电子显示屏的分类(1)、按颜色分类:单基色显示屏:单一颜色(红色或绿色)。双基色显示屏:红和绿双基色,256级灰度、可以显示65536种颜色。全彩色显示屏:红、绿、蓝三基色,256级灰度的全彩色显示屏可以显示一千六百多万种颜色。(2)、按显示器件分类:LED数码显示屏:显示器件为7段码数码管,适于制作时钟屏、利率屏等,显示数字的电子显示屏。LED点阵图文显示屏:显示器件是由许多均匀排列
11、的发光二极管组成的点阵显示模块,适于播放文字、图像信息。(3)、按使用场合分类:室内显示屏:发光点较小,一般3mm-8mm,显示面积一般零点几至十几平方米。室外显示屏:面积一般几十平方米至几百平方米,亮度高,可在阳光下工作,具有防风、防雨、防水功能。 (4)、按发光点直径分类:室内屏:3mm、3.75mm、5mm。室外屏:10mm、12mm、16mm、19mm、21mm、26mm 。室外屏发光的基本单元为发光筒,发光筒的原理是将一组红、绿、蓝发光二极管封在一个塑料筒内共同发光增强亮度5。1.3 LED显示屏市场前景LED全彩显示屏,是20世纪90年代在全球迅速发展起来的新型信息显示媒体。它利用
12、发光二极管构成的点阵模块或像素单元组成大面积显示屏幕,结合了微电子技术、光学技术、计算机技术、信息处理等现代高新技术,以其可靠性高、使用寿命长、环境适应能力强、性价比合理、使用成本低等特点迅速成为大型平板显示的主流产品,以其明显优越于背投、等离子、液晶显示及电视屏幕的性能而在信息显示领域得到了广泛的应用,如体育场馆、大型展览馆、市政广场、演唱会、车站、机场等场所6。尤其是以其高亮度,大面积显示而让更多人在户外也感受到信息时代的来临。显示信息无处不在。据业内专家预测,今后几年全球各类LED显示屏需求每年均达到几十亿美元,且还在逐年递增。国际大都市如纽约、巴黎、伦敦都普遍使用大型LED全彩显示屏作
13、为信息传播、广告宣传的新型载体。在中国,随着经济的飞速发展,各类场馆的兴建和市政工程改造项目的兴起,国内市场LED显示屏需求增长率更是高达30以上。按每年30%的增长速度,LED显示屏的市场规模将会不断的壮大,由于LED产品具有性能稳定、寿命较长、功耗较小以及价格低廉等优势,因此在各种实际应用中具有较强的市场竞争力,市场前景十分广阔。2 LED显示原理的分析2.1 LED点阵模块结构八十年代以来出现了组合型LED点阵显示器模块,以发光二极管为像素,它用高亮度发光二极管芯阵列组合后,环氧树脂和塑模封装而成7。这种一体化封装的点阵LED模块,具有高亮度、引脚少、视角大、寿命长、耐湿、耐冷热、耐腐蚀
14、等特点。LED点阵规模常见的有44、48、57、58、88、1616等等。根据像素颜色的数目可分为单色、双基色、三基色等。像素颜色不同,所显示的文字、图像等内容的颜色也不同。单色点阵只能显示固定色彩如红、绿、黄等单色,双基色和三基色点阵显示内容的颜色由像素内不同颜色发光二极管点亮组合方式决定,如红绿都亮时可显示黄色,如果按照脉冲方式控制二极管的点亮时间,则可实现256或更高级灰度显示,即可实现真彩色显示8。本系统所使用的88单色LED点阵显示器的内部电路结构和外形规格如图2.1所示,其它型号点阵的结构与引脚可试验获得。图2.1 88单色LED模块内部电路LED点阵显示器单块使用时,既可代替数码
15、管显示数字,也可显示各种中西文字及符号。如5x7点阵显示器用于显示西文字母,58点阵显示器用于显示中西文,8x8点阵可以用于显示简单的中文文字,也可用于简单图形显示。用多块点阵显示器组合则可构成大屏幕显示器,但这类大屏幕显示方法常通过PC机或单片机控制驱动。2.2 LED动态显示原理LED点阵显示系统中各模块的显示方式:有静态和动态显示两种。静态显示原理简单、控制方便,但硬件接线复杂,在实际应用中一般采用动态显示方式,动态显示采用扫描的方式工作,由峰值较大的窄脉冲电压驱动,从上到下逐次不断地对显示屏的各行进行选通,同时又向各列送出表示图形或文字信息的列数据信号,反复循环以上操作,就可以显示各种
16、图形或文字信息。点阵式LED汉字广告屏绝大部分是采用动态扫描显示方式,这种显示方式巧妙地利用了人眼的视觉暂留特性。将连续的几帧画面高速的循环显示,只要帧速率高于24帧/秒,人眼看起来就是一个完整的,相对静止的画面9。最典型的例子就是电影放映机。在电子领域中,因为这种动态扫描显示方式极大的缩减了发光单元的信号线数量,便于PBC的布局难度促进工厂批量生产,因此在LED显示技术中被广泛使用。以88点阵模块为例,说明一下其使用方法及控制过程。红色水平线Y0、Y1Y7叫做行线,接内部发光二极管的阳极,每一行8个LED的阳极都接在本行的行线上。相邻两行线间绝缘。同样,红色竖直线X0、X1X7叫做列线,接内
17、部每列8个LED的阴极,相邻两列线间绝缘。在这种形式的LED点阵模块中,若在某行线上施加高电平(用“1”表示),在某列线上施加低电平(用“0”表示)。则行线和列线的交叉点处的LED就会有电流流过而发光。比如,Y7为1,X0为0,则右下角的LED点亮。再如Y0为1,X0到X7均为0,则最上面一行8个LED全点亮。现描述一下用动态扫描显示的方式,显示字符“9”的过程。其过程如图2.2所示。图2.2 用动态扫描显示字符9的过程假设X,Y为两个8位宽的字节型数据,X的每位对应LED模块的8根列线X7-X0,同样Y的每位对应LED模块的8根行线Y7-Y0。在这个示例中,Y叫行扫描线,行扫描线在每个时刻只
18、有一根线为“1”即有效行选通电平,X叫列数据线,其内容就是点阵化的字模数据的体现。下面用伪代码描述动态显示的过程。(1)Y=0x01,X=0xFF,如图 2.2第一行;(2)Y=0x1C,X=0x02,如图 2.2第二行;(3)Y=0x22,X=0x04,如图 2.2第三行;(4)Y=0x22,X=0x08,如图 2.2第四行;(5)Y=0x1E,X=0x10,如图 2.2第五行;(6)Y=0x01,X=0x20,如图 2.2第六行;(7)Y=0x04,X=0x04,如图 2.2第七行;(8)Y=0x38,X=0x80,如图 2.2第八行;(9)跳到第(1)步循环。 如果高速地进行(1)到(9
19、)的循环,且两个步骤间的间隔时间小于1/24秒,由于视觉暂留。LED显示屏上将呈现出一个完整的“9”字符。这就是动态扫描的原理。只不过实际运用的时候,列线和行线通常不止8位,还要根据列线和行线的数量来决定是用行线或列线来做扫描线。例如0601条屏(每行6个汉字,共1行),行线有16根,列线有96根10。如果用列线来做扫描线,则每列LED在每96次循环扫描中只可能亮一次,则其发光视觉平均亮度为直流亮度的1/96。如果用行线来做扫描线,则每16次循环,每行LED就能亮一次,其发光视觉平均亮度为直流情况下的1/16。可见,用行线做扫描线,因为其发光周期的占空比较大,其视觉亮度是用列线做扫描线的6倍。
20、因而发光效率比前者高。在实际运用的时候,还要在每两帧之间加上合适的延时,以使人眼能清晰的看见发光。在帧切换的时候还要加入余辉消除处理。比如先将扫描线全部设置为无效电平,送下一行的列数据后再选通扫描线,避免出现尾影。3 系统设计的任务与方案论证3.1 设计任务本设计的任务要求完成可以控制兼容T12和T08显示屏单元板并可扩展显示单元数目的单色动态调幅屏(1)、显示区域:单色显示6432点;(2)、通过上位机修改显示内容,按键可改变显示内容;(3)、能存储1616点阵汉字不少于64个。3.2 设计方案论证3.2.1 显示单元模块的选择LED显示屏显示一个简单的汉字,至少需要一个16*16点阵单元来
21、构成,根据发光点直径的大小分为3.75mm和5mm的LED点阵模块。方案一:3.75mm的小型发光二极管组成的8*8的点阵模块,发光亮度不足,电流过大时易烧坏,远距离观看视觉效果模糊一般把3.75mm的屏作为室内屏使用。方案二:5mm直径组成的8*8点阵模块,在同样的距离内5mm直径的发光二极管组成的8*8的点阵模块所发出的亮度值大约是3.75mm单元模块的一倍,清晰程度也高于3.75mm的单元模块。因此为了在较远距离处获得清晰的视觉效果,本设计选择方案二,采用32个88点阵单元,像素直径5mm的LED模块拼接成32*64的LED显示屏。这样每个88汉字能够获得1616cm的显示尺寸,因此在5
22、0米处仍能清晰阅读。而本设计使用是一块完整的32*64的点阵屏,能同时显示8个汉字。3.2.2 主控制器的选择随着广告屏显示内容的多媒体化,对控制器传输速度,运算能力的要求越来越高。从单片机,到FPGA,直到现在的ARM处理器。控制器的种类也在不断发展以适应市场需求,不同功能档次的广告屏对应着不同的处理器。方案一:以单片机(STC12C5A60S2高速单片机)为控制器的LED显示屏。STC12C560S2单片机是传统的8051单片机的升级版,外部时钟频率可达到80MHZ、60K的FLASH存储器、1280字节的ROM和10位A/D转换,拥有P4口适合需要多个I/O的设计系统。其内部资源对于点阵
23、单元模块确定的条屏LED显示屏,无论从存储容量还是单片机的执行速度都能很好的适用单元点阵模块确定的LED显示屏方案二:以FPGA(复杂可编程逻辑门阵列)为控制器的LED显示屏。FPGA以高速、并行著称。是近年来新兴的可编程逻辑器件。用他作为LED显示屏的控制器,能够高速的处理色阶PWM信号、高速的完成动态扫描逻辑、高速的完成字符移动算法。因此被运用于双基色、三基色的显示系统。但是其成本较高,开发难度较大。方案三:以ARM(32位RISC架构高性能微处理器)为控制器的LED显示屏。ARM有着极高的指令效率,极高的时钟频率。因此其运算能力非常强大,内部资源也十分丰富,极大的简化了硬件设计的难度,缩
24、短了开发周期。在条屏的运用中,能用ARM来实现花样繁多的显示方式,以及高色阶,多像素的全彩屏驱动。ARM与FPGA的组合更是功能强大,除了海量存储技术,无线更新技术外,还能实时地显示视频信号。因此,以ARM为控制器的显示屏常为视频全彩屏。经过上面方案的比较最终确定选择方案一,选用STC12C5A60S2单片机作为本次设计的核心控制器,其内部资源丰富、成本比较低廉各项功能均能满足本设计的要求。3.2.3 点阵数据存储方式的选择目前使用最广泛的技术是,通过上位机软件将待显示的字符串转换为对应的点阵字模数据,通过烧写的方式将这些字模数据按一定的顺序编址后存储在E2PROM中。在条屏显示的过程中按规定
25、的方式取出E2PROM中的字模数据进行处理。对于一个16*16点阵的汉字字模数据,需要连续32字节的E2PROM空间来存储。照此计算,若有256个需要显示的字符,则至少需要32B256=8192字节(8KB)的E2PROM存储空间。通常的单片机内部没有集成这么大容量的E2PROM。因此需要在单片机外部扩展大容量的E2PROM。方案一:选用FLASH存储器来存储上位机发送过来的汉字编码,FLASH存储器种类多样,其中最为常用的为NOR型和NAND型FLASH。通常NOR型比较适合存储程序代码,其随机读写速度快,容量一般较小,且价格较高,一般只能整块读写数据,随机存取能力差。它们对数据的存取不是使
26、用线性地址映射,而是通过寄存器的操作串行存取数据。FLASH存储器的擦除过程相对费时,且擦除流程相对复杂。方案二:选用AT24C64存储器来存储汉字编码,AT24C64采用的是I2C总线接口方式,I2C总线是一种用于IC器件之间连接的二线制总线。连接总线的器件的输出必须是集电极或漏极开路,以具有线“与”功能。I2C总线的数据传送速率在标准工作方式下为100kbit/s,在快速方式下,最高传送速率可达400kbit/s。它通过SDA(串行数据线)及SCL(串行时钟线)两根线和连在总线上的上位机进行通信,并根据地址识别每个器件。采用I2C总线标准的单片机或IC器件,其内部不仅有I2C接口电路,而且
27、将内部各单元电路按功能划分为若干相对独立的模块,通过软件寻址实现片选,减少了器件片选线的连接。CPU不仅能通过指令将某个功能单元电路挂靠或摘离总线,还可对该单元的工作状况进行检测,从而实现对硬件系统既简单又灵活的扩展与控制。由于本设计的任务是需要存储汉字不少于64个,采用FLASH芯片来存储汉字编码,其操作复杂、成本太高,不适合在本次设计中采用FLASH芯片,因此本设计采用方案二来存储上位机发送过来的汉字编码并用寻址读取数据。3.2.4 系统总体结构及原理分析通过对各种方案的比较与分析,初步构建硬件系统框图如图3.1所示。图3.1 LED显示屏系统框图在图3.1中,X0、X1Xn为显示单元。整
28、个显示单元由一个32*64点阵的LED模块和一个32位宽的移位锁存器(串行并行转换器)构成。所有显示单元的16根行线均连接到公共的行扫描驱动电路。而每个显示单元的列数据则由16位移位锁存器并行输出口提供。中央微处理器MCU负责与所有外围设备的协调通信,以及各种算法的处理。MCU通用I/O口来驱动行扫描驱动电路。通用I/O口模拟同步串行接口以实现和列数据锁存器(移位锁存器)之间的单向通信。3.2.5 工作原理分析单片机上电复位后,先从外部存储器E2PROM读取上次存储在内部的显示模式,在32*64单色屏中上半屏存储时间、温度等数据。下半屏存储的是上位机要传输过来的数据。进入下载模式后从上位机传送
29、来的数据经过MAX232串口存放到单片机内部的扩展数据存储区,在AT24C64存储区中开辟192字节(1536位)动态显示缓冲区Display_Buffer和32字节的字模数据缓存区Temp_Buffer,两个缓存区编址连续。Display_Buffer中的一位与LED的一个点阵一一对应。遵循结构化的程序设计思路,把单片机在显示模式时所有工作量分为以下三个任务:(1)、扫描显示任务:扫描显示任务负责把Display_Buffer中的数据依次发送到列驱动器74HC595,并按严格的时序高电平选通十六根行扫描线(Y0Y15),使每一列数据对应着一个行线状态。(2)、移动处理任务:移动处理任务负责完
30、成显示字符逐点阵向左移动的算法处理,这是最基本的显示效果。其它大部分显示效果如:左移六字暂停,全屏定格显示等都是以逐位左移为基础。对显示字符的移动,实质上是对显示缓冲区Display_Buffer内数据的移动。该算法是将Display_Buffer和Temp_Buffer中的数据首尾相接地左移一位,并不断把Temp_Buffer移入Display_Buffe。(3)、字符更新任务:在单片机的xdata区开辟了32字节的字模数据缓存区Temp_Buffer。该缓存区与Display_Buffer编址连续。当调用字符更新任务时,程序从E2PROM内码区指定位置读取相邻两字节的汉字内码数据。并通过一
31、定的算法,把上位机发送的汉字编码转换成标准的GB2312汉字编码。单片机通过I2C接口,向E2PROM发送读命令和地址,单片机连续读取32字节的全角汉字字模数据或16字节的ASCII半角字模数据。这些字模数据就存储在32字节的字模数据缓存区中。字模数据缓存区Temp_Buffer中的数据可通过调用移动处理任务而逐位转移至动态显示缓冲区Display_Buffer中,这样在LED 显示屏上就显示我们所需要的内容。4 硬件电路设计4.1 LED控制卡电路设计 LED点阵屏控制卡是整个LED显示屏的核心控制器件,它集成了STC12C5A60S2主控芯片、时钟芯片、温度传感器、存储芯片、串口转换电路为
32、一体的控制器,它是控制点阵屏的核心部分,各项功能的实现必须经过控制卡的控制。通过LED控制卡来驱动32*64显示屏上面的行,列选通芯片,把十六进制汉字编码送74HC595显示。 本系统设计的控制卡接有标准的T08接口和T12接口,也适合其它型号的点阵屏使用本控制卡,因此控制卡的设计非常重要。图4.1为核心控制器件与标准的接口,其他各个部分控制电路(见附录A)图4.1 控制卡原理图4.1.1 列驱动电路设计 本设计中32*64点阵屏的列驱动电路由16片串联的8位移位锁存器74HC595构成,如下图4.2所示,通过第一片串行数据输出脚(SQ)接入第二片的数据输入端,再从第二片的数据输出脚接入第三片
33、595的14(SI)脚数据输入端,这样通过多片级联就可以控制多个点阵屏模块的列选,再加上时钟线(CLK),输出锁存数据线(RST),多块595级联时也只要控制这三个控制端口我们就可以控制32*64点阵屏的列选号的输出。74HC595在5V供电的时候能够达到30MHz的时钟速度,每个并行输出端口均能承受20mA的灌电流和拉电流。这个特点保证了不用增加额外的扩流电路即可轻松的驱动LED。它输入端允许500nS的上升(下降)时间,对严重畸形的时钟脉冲仍能检测。这样就可以容纳较大的传输线对地电容,使本设计的抗干扰能力增强。 由于LED显示屏的工作电流时刻在变化,造成了系统电压的波动。这种电压波动有高频
34、成分,也有低频成分。轻则对周围无线电环境造成电磁污染,重则使系统时钟紊乱,逻辑错误。为避免此问题,在每个74HC595的电源VCC和GND旁边都并联了两个电容,用于滤波和退耦。稳定系统电压,旁路掉电源中的高频脉动成份。消除自激,减小对外杂散电磁辐射,提高EMI电磁兼容性。图4.2 两片74HC595级联图4.1.2 行驱动电路设计 32*64点阵屏共用16片138级联,通过总线驱动芯片74HC245驱动行/列信号,从总线上的低4位输出的行号经两片138级联后形成4/16线译码器后生成16条行选信号,具体电路如图4.3 所示。再经过驱动管驱动对应的行线。一条线上要带动32列的LED灯同时发光时,
35、按每一LED器件15mA电流计算,32个LED同时发光时,需要480mA的电流,选用三极管8550作为驱动管可以满足要求。74HC138为3线8线译码器,其工作原理为:当一个选通端(G1)为高电平,另外两个选通端G2A和G2B为低电平时,可将地址端(A、B、C)的二进制编码在至对应的输出端以低电平译出,当数据超过位之后,电平拉高后可对数据操作。两片级联后的138电路如下:图4.3 两片74HC138级联电路图4.2 时钟模块电路设计DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5
36、V5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个318的用于临时性存放数据的RAM寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力,可以对时间进行不掉电保存。图4.4为时钟模块电路:图4.4 DS1302时钟电路图4.3 温度驱动电路设计Dallas半导体公司的数字化温度传感器DS1820是世界上第一片支持“一线总线差为 2C 。现场温度直”接口的温度传感器。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系
37、统的构建引入全新概念。现在新一代的“DS1820”体积更小、更经济、更灵活。DS18B20支持“一线总线”接口,测量范围-55C+125C,在-10+85C范围内,精度为0.5C。DS1822的精度较接以“一线总线”的数字方式传输,见图4.5所示这种方式大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。本设计通过不断采集DS18B20的I/O口输出的数据送入显示函数实时更新采集过来的温度然后送LED显示屏显示。图4.5 温度采集电路4.4 MAX232串行通信电路设计要使上位机能对条屏进行参数设置,显示内容更新等操作,就离不开和上位机的
38、通信。有并行和串行两种通信方式,为了节约传输线成本。本设计采用RS-232C串行通信方式。如图4.6所示的P3.0与P3.1口接入单片机的数据输入端和数据输出端,通过LED灯的闪烁判断数据是否已传输到下位机。RS-232C是由美国电子工业协会(EIA)正式公布的,在异步串行通信中应用最广泛的标准总线。现在,计算机上的串行通信端口(RS-232C)是标准配置端口,已经得到广泛应用,计算机上一般都有12个标准RS-232C串口,即通道COM1和COM211。RS-232C规定最大的负载电容为2500pF,这个电容限制了传输距离和传输速率,由于RS-232C的发送器和接收器之间具有公共信号地(GND
39、),属于非平衡电压型传输电路,不使用差分信号传输,因此不具备抗共模干扰的能力,共模噪声会耦合到信号中。在不使用调制解调器(MODEM)时,RS-232C能够可靠进行数据传输的最大通信距离为15米。因此不适合做远距离通信,但是对于条屏,通信15米的通信距离已经足够。图4.6 上位机与单片机串行通信电路图4.5 系统电源及通信电缆的选择4.5.1 对于LED显示屏的电源要求本系统没有设置独立的5V稳压器件,因此要求外部能对其提供相对稳定的电压。为保证单片机等集成电路的稳定工作,要求电源电压的最大波动范围在4.8-5.2V之间。本系统的工作电流随着显示内容的不同有很大变化。在LED全灭的状态下,耗电
40、电流为60mA左右;在LED全亮的情况下,工作电流可以达到3A;在滚动显示汉字的时候,耗电约为500mA左右。因此,要求供电电源在负载电流变化较大的情况下能保持相对稳定的电压输出。同时,条屏一般是全天候工作,对电源系统的长时间工作的稳定性要求较高。考虑到上述因素,本设计采用功率容量200W,输出5V/40A的成品单端反激式开关电源来为条屏系统供电。10A的电流容量对于条屏系统3A的满负荷电流仍有较大的余量。保证了长时间使用稳定性。4.5.2 开关电源在LED屏应用中的优势使用开关电源,相对于线性电源来说,有以下几个明显的优势。成本低廉:同等电压和电流容量的开关稳压电源的成本,是传统的工频变压器
41、线性稳压电源的30%左右。因此,在许多场合,开关电源已逐步取代线性电源。高效率:体现在极高的转换效率和极低的调整损耗上,开关电源的换能器是工作在开关状态下,因此转换的效率极高,长时间满负荷工作也不会引起电源过热。正好满足条屏的应用场合。功率密度大:开关电源能够轻松地提供10A以上的电流。在同等输出功率下,开关电源的体积只有线性电源的四分之一,重量为线性电源的十分之一。功率越大,其优势越明显。对于通信电缆的选择,本设计是将通信线和电源输入合并在一个DB9连接器上。外部电缆使用多芯屏蔽电缆。这样的设计,紧凑美观,坚固耐用。5 系统软件设计5.1 上位机软件设计因为是采用VB语言进行设计,故是采用面
42、向对象的思想进行编程。没有像C语言一样的具体流程,只能将各主要控件的主要事件响应作简要流程说明,具体流程图如5.1所示。其关键的HZK16*16的汉字提取程序如下:。For i = 1 To 32 Step 1 字模校正对话框的字模代码显示If Len(Hex(zw(i) = 1 ThenText2.Text = Text2.Text & 0x0 & Hex(zw(i) & , Text3.Text = Text3.Text & 0 & Hex(zw(i) /加入0x的十六进制ElseText2.Text = Text2.Text & 0x & Hex(zw(i) & ,Text3.Text
43、= Text3.Text & Hex(zw(i)End IfIf i Mod 16 = 0 ThenText2.Text = (Text2.Text + Chr(13) + Chr(10)End IfCall hexSendSleep 20Text3.Text = Next iErase zw() 清空32字节的ZW数组以方便下一个汉字字模的输出Elsebb = (94 * (CLng(&H & Mid(aa, 1, 2) - &HA1) + (CLng(&H & Mid(aa, 3, 2) - &HA1) * 32 /提取汉字首地址的计算方法For n = 1 To 32 Step 1Ope
44、n App.Path & hzk16 For Binary As #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区存放一、二级汉字库。 国标码和区位码的关系是:国标码高字节
45、 = 区码 + 20H (式5.1) 国标码低字节 = 位码 + 20H (式5.2)所以,机内码与国标码和区位码的关系是:机内码高字节 = 国标码高字节 + 80H = 区码 + A0H (式5.3)机内码低字节 = 国标码低字节 + 80H = 位码 + A0H (式5.4)字模代码按照区位码的顺序在字库中以二进制格式存储,每个汉字占用32个字节。因此只要找到汉字代码的起始位置,就可正确提取汉字点阵信息。对于不同的字库,汉字代码起始位置的计算方法可能存在差异,例如HZK16若以 ADDRESS表示首地址,Q表示区码,W表示位码,经分析和实践得出HZK16中汉字首地址计算公式为:ADDRES
46、S = 32 ( Q-1 ) 94 +( W-1 ) (式5.5)在VB.NET中,获取汉字区位码可以用ASC( )函数和HEX( )函数,函数ASC( )返回一个Integer数据,代表字符串中首字母的字符代码。HEX( )函数返回代表十六进制数值的字符串13。当汉字作为ASC( )函数的参数时,返回的是汉字机内码,经HEX()函数转换即可得到汉字机内码的十六进制数,再通过公式(5.5)就可以得到汉字的首地址,有了汉字的首地址再从字库中提取汉字代码,再经过扩展取两次字模得到32*64的点阵字模。5.3 上位机与单片机通信协议通信协议是指通信各方事前约定的通信规则,我们可以简单地理解为通信双方
47、之间进行相互会话所使用的共同语言。上位机与下位机通信的时候为了识别通信数据的所代表的含义,所以必须有通信协议。本设计制定上位机往下位机发送命令/数据流的帧格式如表5.1所示根据表5.1的帧格式,制定通信协议如下(1)下位机不断检测收到的数据,若检测到握手字0xA0则执行否则重复1;(2)继续接受1字节数据,若为同步头0xFA则执行3否则跳转至1;(3)下位机连续接受7字节的设置数据,并返回各字节数据的反码;(4)上位机不断检测下位机发出的取反校验字,若校验出错则报警否则执行5;(5)上位机继续向下位机发送汉字内码数据;(6)下位机不断接收内码并保存到AT24C64存储器中,但不返回校验字;(7)若下位机检测到上位机发出的传输结