《led点阵电子显示屏控制设计本科学位论文.doc》由会员分享,可在线阅读,更多相关《led点阵电子显示屏控制设计本科学位论文.doc(55页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、LED点阵电子显示屏控制设计LED点阵电子显示屏控制设计摘 要该LED点阵电子显示屏基于串并转换动态扫描技术,以微控制器为核心,辅以必要的外围电路设计而成,本设计主要由单片机控制电路,LED点阵电子显示屏驱动电路等模块组成。利用字模生成软件生成字符代码存入单片机系统,通过相应的程序控制,利用串行输出方式将字符代码数据送入LED点阵电子显示屏驱动电路,列驱动电路进行串并转换后将字符代码数据送给各列,同时译码电路进行行扫描。如此逐行循环扫描,从而实现字符显示。关键词 微控制器/AT89S51/74HC595/74HC244/点阵显示屏47DESIGN OF LED DOT-MATRIX ELECT
2、RONIC DISPLAY SCREEN CONTROLABSTRACTthe electronic display of LED dot-matrix based on dynamic scanning technique and conversion string to micro controller unit(MCU) for the core, with the necessary peripheral circuit design and become, this design consists of single-chip microcomputer control circui
3、t module, LED dot-matrix electronic display screen drive circuit module and so on, Using word-model generation software generated character code deposited in the single-chip computer systems, through the corresponding program control, using the serial output way send character code data into LED dot
4、-matrix electronic display driver circuit, Column drive circuit send character code data to each line after serial-parallel converting, at the same time. The decoding circuit line by line scans. Scan circularly to realize the character display line by line.KEY WORDS micro control unit(MCU),AT89S51,7
5、4HC595,74HC244, Dot-matrix display screen毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作 者 签 名: 日 期: 指导教师签名: 日期: 使用授权说明本人完全了解 大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求
6、提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名: 日 期: 学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名: 日期: 年 月 日学位论文版权使用授权书本学位论文作
7、者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。作者签名:日期: 年 月 日导师签名: 日期: 年 月 日目 录摘 要IABSTRACTII1 绪论11.1 问题提出11.2 课题背景21.3 单片机的发展21.4 单片机的分类32 LED点阵显示屏显示原理及控制方式分析52.1 LED点阵显示屏52.2 LED点阵显示屏动态显示原理62.3 LED点阵显示屏常见的控制
8、方式73 系统整体设计方案的选择93.1 主控单元的选择93.2 显示模块的选择93.3 驱动电路的选择94 系统硬件电路的设计114.1 单片机系统及外围电路114.2 列驱动电路114.3 行驱动电路154.3.1 四线十六线译码器74HC154154.3.2 三态门74HC245164.3.3 行驱动器图184.4 LED点阵块结构及点阵屏184.5 系统整体电路图205 点阵字模生成原理与方法215.1 汉字字模码215.2 字模生成原理215.3 字模提取程序236 系统程序的设计257 电路电子仿真与测试267.1 Proteus软件简介267.2 点阵显示屏的仿真与程序调试267
9、.3 整机测试278 系统调试288.1 硬件调试288.2 软件调试28结束语29致 谢30参考文献31附 录1:实物图32附 录2:原理图33附 录3:元器件清单34附 录4:源程序351 绪论1.1 问题提出LED是发光二极管英文Light Emitting Diode的简称,是六十年代末发展起来的一种半导体显示器件,七十年代,随着半导体材料合成技术,单晶制造技术和P-N结形成技术的研究进展,发光二极管在发光颜色、亮度等性能得以提高并迅速进入批量化和实用化。进入八十年代后,LED在发光波长范围和性能方面大大提高,并开始形成平板显示产品即LED显示屏。LED显示屏是利用发光二极管点阵模块或
10、像素单元组成的平面式显示屏幕。它是集微电子技术、光电子技术、计算机技术、信息处理技术于一体的显示系统。是目前国际上极为先进的显示媒体。LED显示屏分为数码显示屏,图文显示屏和视屏显示屏,均由LED矩阵块组成,LED数码显示屏的显示器件分为7段数码管,适于制作时钟屏、利率屏、显示数字的电子显示屏等。图文显示屏可与计算机同步显示汉字、英文文本和图形;视屏显示屏采用微型计算机进行控制,图文、图像并茂,以实时、同步、清晰的信息传播方式播放各种信息,还可显示二维、三维动画,录像、电视、VCD节目以及现场实况。LED之所以受到广泛重视而得到迅速发展,是与它本身所具有的优点分不开的,这些优点概括起来是:亮度
11、高、工作电压低、功耗小、小型化、寿命长、耐冲击和性能稳定。LED的发展前景极为广阔,目前正朝着更高亮度、更高耐气候性、更高的发光密度、更高的发光均匀性、可靠性、全色化方向发展。随着LED显示屏在广告传媒领域逐渐崭露头角,其控制系统也如雨后春笋,层出不穷。1由于它的控制系统均是基于嵌入式微处理器开发,所以单片机在其中也占有一席之地。但是,LED显示屏控制较复杂,特别是对于显示特殊效果,如循环移动、覆盖霓虹灯效果,要求处理器运算速度快,执行效率高,所以很多控制卡生产厂家采用高端嵌入式系统进行设计。这样做虽然一定程度上提高数据处理速度,但是并不能完全满足所有显示效果要求,而且开发和产品成本也会随之成
12、倍增加,甚至由于其设计不当可能在显示时出现抖动、闪烁、重影等现象。归根结底,LED显示屏控制卡的设计中硬件是一方面因素,同时还要考虑到显示数据组织方式,通过软硬件结合的方法才能设计出一款性价比较高的控制卡。本设计提出基于普通51系列单片机实现LED显示屏控制的原理及方法。1.2 课题背景LED 显示屏在我国的发展可分为以下几个阶段:第一阶段为1990年到1995年,主要是单色和16级双色图文屏。用于显示文字和简单图片,主要用在车站、金融证券、银行、邮局等公共场所,作为公共信息显示工具。第二阶段为1995年到1999年,出现了64级、256级灰度的双基色视屏显示屏。视屏控制技术、图像处理技术、光
13、纤通信技术等技术的应用将LED显示屏提升到了一个新的台阶。LED显示屏控制专用大规模集成电路芯片也在此时由国内企业研发并得以应用。第三阶段从1999年开始,红、纯绿、纯蓝LED发光二极管大量涌入中国,同时国内企业进行了深入的研发工作,使用红、绿、蓝三原色LED生产的全彩色显示屏被广泛应用,大量进入体育场馆、会展中心、广场等公共场所,从而将国内的大屏幕带入全彩时代。随着LED原材料市场的迅猛发展,表面贴装器件从2001年面世,主要用在室内全彩屏,并且以其亮度高、色彩鲜艳、温度低的特性,可随意调整的点间距,被不同价位需求者所接受,在短短两年多时间内,产品销售额已超过3亿元,表面贴装全彩色LED显示
14、屏应用市场进入新世纪。为了适应2008年奥运会的“瘦身”计划,利亚德开发了表面贴装双基色显示屏,大量用于训练馆和比赛计时计分系统。在奥运场馆全彩屏方面,为紧缩投资,全彩屏大部分采用可拆卸方式,奥运会期间作为实况转播工具,赛事结束后可用于租赁,作为演出、国家政策发布等公共场合应用工具,通过这种方式可尽快收回成本。1.3 单片机的发展单片机自20世纪70年代问世以来,以极其高的性价比受到人们的重视和关注,所以应用很广泛,发展很快。单片机的特点是体积小、集成度高、重量轻、抗干扰能力强,对环境要求不高,价格低廉,可靠性高,灵活性好,开发较为容易。正因为单片机有如此多的优点,因此其应用领域之广,几乎到了
15、无孔不入的地步。近年来,单片机已成为科技领域的有力工具,人类社会生活的得力助手,它的广泛应用,不仅仅体现在工业控制、机电应用、智能仪表、实时控制、航空航天、尖端武器等行业和领域的智能化、高精度化,而且在人类日常生活中也随处可见它的身影。单片机经历了SCM、MCU、SOC三大阶段。(1)SCM单片微型计算机(Single Chip Microcomputer)阶段,主要是寻求最佳的单片机形态嵌入式系统的最佳体系结构。“创新模式”获得成功,奠定了SCM与通用计算机完全不同的发展道路。在开创嵌入式系统独立发展道路上,Intel公司功不可没。 (2)MCU即微控制器(Micro Controller
16、Unit)阶段,主要的技术发展方向是:不断扩展满足嵌入式应用时,对象系统要求的各种外围电路与接口电路,突显其对象的智能化控制能力。它所涉及的领域都与对象系统相关,因此,发展MCU的重任不可避免地落在电气、电子技术厂家。从这一角度来看,Intel逐渐淡出MCU的发展也有其客观因素。在发展MCU方面,最著名的厂家当属Philips公司。Philips公司以其在嵌入式应用方面的巨大优势,将MSC-51从单片微型计算机迅速发展到微控制器。因此,当我们回顾嵌入式系统发展道路时,不要忘记Intel和Philips的历史功绩。(3)单片机是嵌入式系统的独立发展之路,向MCU发展的重要因素,就是寻求应用系统在
17、芯片上的最大化解决;2因此,专用单片机的发展自然形成了SOC化趋势。随着微电子技术、IC设计、EDA工具的发展,基于SOC的单片机应用系统设计会有较大的发展,因此,对单片机的理解可以从单片微型计算机,单片微控制器延伸到应用系统。目前单片机正朝着高性能和多种类方向发展,其趋势将进一步向着COMS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展,其功能也将越来越丰富,速度也越来越快,甚至有些方面并不逊于ARM或DSP。我们可以开发利用单片机系统以获得更高的经济效益。更重要的意义是单片机的应用改变了控制系统传统的设计思想和方法。以前采用硬件电路实现的大部分功能,正在用单片机通
18、过软件方法来实现。这种以软硬件结合或取代硬件并能提高系统性能的控制技术称为微控制技术。1.4 单片机的分类单片机可以从以下几个方面分类。(1)按应用领域可分为:家电类、工控类、通信类和个人信息终端类等;(2)按通用性可分为:通用性和专用型;(3)按总线结构可分为:总线型和非总线型;(4)按指令运行的振荡周期可分:标准型和改进型。2 LED点阵显示屏显示原理及控制方式分析2.1 LED点阵显示屏(1)按颜色基色可以分 单基色显示屏:单一颜色(红色或绿色)。 双基色显示屏:红和绿双基色,256级灰度、可以显示65536种颜色。 全彩色显示屏:红、绿、蓝三基色,256级灰度的全彩色显示屏可以显示一千
19、六百多万种颜色。 (2)按显示器件分类 LED数码显示屏:显示器件为7段码数码管,适于制作时钟屏、利率屏等,显示数字的电子显示屏。 LED点阵图文显示屏:显示器件是由许多均匀排列的发光二极管组成的点阵显示模块,适于播放文字、图像信息。 LED视频显示屏:显示器件是由许多发光二极管组成,可以显示视频、动画等各种视频文件。(3)按使用场合分类 室内显示屏:发光点较小,一般3mm-8mm,显示面积一般几至十几平方米。 室外显示屏:面积一般几十平方米至几百平方米,亮度高,可在阳光下工作,具有防风、防雨、防水功能。(4)按发光点直径分类 室内屏:3mm、3.75mm、5mm。 室外屏:10mm、12mm
20、、16mm、19mm、20mm、21mm、22mm、26mm。 室外屏发光的基本单元为发光筒,发光筒的原理是将一组红、绿、蓝发光二极管封在一个塑料筒内共同发。 (5)显示方式有静态、横向滚动、垂直滚动和翻页显示等。单块模块控制驱动12块(最多可控制24块)8X8点阵,共16X48点阵(或32X48点阵),是单块MAX7219(或PS7219、HD7279、ZLG7289及8279等类似LED显示驱动模块)的12倍(或24倍)!可采用“级联”的方式组成任意点阵大显示屏。显示效果好,功耗小,且比采用MAX7219电路的成本更低。(6)LED显示屏检验方法 看屏体规格,外观,平整度,屏内的连线等。
21、看屏点亮后坏点,在不在不范围之内,(一般来说现在的屏基本上没有了) 色差一致性,显示文字是否正常,显示屏图片等,全彩的要全屏打白色,红,绿,蓝。2.2 LED点阵显示屏动态显示原理LED点阵显示系统中各模块的显示方式: 有静态和动态显示两种。静态显示原理简单、控制方便,但硬件接线复杂,在实际应用中一般采用动态显示方式,动态显示采用扫描的方式工作,由峰值较大的窄脉冲电压驱动,从上到下逐次不断地对显示屏的各行进行选通,同时又向各列送出表示图形或文字信息的列数据信号,反复循环以上操作,就可显示各种图形或文字信息。点阵式LED汉字广告屏绝大部分是采用动态扫描显示方式,这种显示方式巧妙地利用了人眼的视觉
22、暂留特性。将连续的几帧画面高速的循环显示,只要帧速率高于24帧/秒,人眼看起来就是一个完整的,相对静止的画面。最典型的例子就是电影放映机。在电子领域中,因为这种动态扫描显示方式极大的缩减了发光单元的信号线数量,因此在LED显示技术中被广泛使用。以88点阵模块为例,说明一下其使用方法及控制过程。在图2-1中,水平线Y0、Y1Y7叫做行线,接内部发光二极管的阳极,每一行8个LED的阳极都接在本行的行线上。相邻两行线间绝缘。同样,竖直线X0、X1X7叫做列线,接内部每列8个LED的阴极,相邻两列线间绝缘。在这种形式的LED点阵模块中,若在某行线上施加高电平(用“1”表示),在某列线上施加低电平(用“
23、0”表示)。则行线和列线的交叉点处的LED就会有电流流过而发光。比如,Y7为1,X0为0,则右下角的LED点亮。再如Y0为1,X0到X7均为0,则最上面一行8个LED全点亮。现描述一下用动态扫描显示的方式,显示字符“B”的过程。其过程如图2-1所示。图2-1 字符“B”的过程图2.3 LED点阵显示屏常见的控制方式目前常见的是并行传输方式,通过8位锁存器将8位总线上的列数据进行锁存显示,各8位锁存器的片选信号由译码器提供。此种方式的优点是传输速度快,对微控制器(MCU)的通信速度要求较低。3但是这种方案最大的缺点是不便于随意扩展显示单元的数目。每增加一个1616点阵的全角汉字显示单元,就需要在
24、之前的电路上多增加两根地址线,这就要求在PCB布线的时候要留有充足的地址线冗余量。再一个缺点是,每个单元的PCB随着安放位置的不同,布线结构也不相同,不利于厂家批量生产。并行传输需要的芯片较多,因此市场上已经出现用FPGA,CPLD等高密度可编程逻辑器件(PLD)来取代传统锁存器IC的方案。成本有所下降,但可扩展性仍旧较差。因此,并行传输方式适用于显示单元数目确定的条屏。随着广告屏显示内容的多媒体化,对控制器传输速度,运算能力的要求越来越高。因此控制器的种类也在不断发展以适应要求,从最初的8051单片机,到PIC单片机,又到FPGA,直到现在的ARM处理器。不同功能档次的广告屏对应着不同的处理
25、器。(1)以传统8051单片机为控制器的LED显示屏。因受到单片机运算速度及通信速率的限制,LED动态显示的刷新率不可能做得太高。对显示效果和移动算法的处理也比较吃力,在实际显示效果上有比较明显的闪烁感。除此之外,传统8051单片机的内部资源贫乏,仅128字节的数据存储器,几K字节的程序存储器,无E2PROM,SPI。这就需要对单片机扩展外设,无疑增加了硬件成本。因此,8051控制的条屏只能用于显示内容及其简单,不需要经常更改显示内容的场合。(2)以PIC单片机为控制器的LED显示屏。因PIC单片机是RISC架构的工业专用单片机,处理指令的速度有所增加,抗干扰能力优秀,型号种类繁多。作为条屏的
26、控制器,可以明显的改善显示效果,同时PIC单片机内部的资源较丰富,可节省外部电路设计难度,同时降低了硬件成本。因此,以PIC单片机为控制器的条屏目前仍是单色条屏市场的主流。(3)以FPGA(复杂可编程逻辑门阵列)为控制器的LED显示屏。FPGA以高速、并行著称。是近年来新兴的可编程逻辑器件。用他作为LED显示屏的控制器,能够高速的处理色阶PWM信号、高速的完成动态扫描逻辑、高速的完成字符移动算法。因此被运用于双基色、三基色的显示系统。但是其成本较高,开发难度较大。(4)以ARM(32位RISC架构高性能微处理器)为控制器的LED显示屏。ARM有着极高的指令效率,极高的时钟频率。因此其运算能力非
27、常强大,内部资源也十分丰富,极大的简化了硬件设计的难度,缩短了开发周期。在条屏的运用中,能用ARM来实现花样繁多的显示方式,以及高色阶,多像素的全彩屏驱动。ARM与FPGA的组合更是功能强大,除了海量存储技术,无线更新技术外,还能实时地显示视频信号。因此,以ARM为控制器的显示屏常为视频全彩屏。3 系统整体设计方案的选择3.1 主控单元的选择方案一:用可编程控制器PLC做主控芯片,PLC具有强大的逻辑运算和控制能力,运算速度快,但价格比较高,增加了整个系统的成本,且布线麻烦。方案二:采用AT89S51单片机做主控芯片,AT89S51单片机具有价格低、编程灵活和布线简单等特点,降低了整个系统的成
28、本,而且支持在线编程,缩短了开发周期。通过以上对比,本设计采用第二种方案。3.2 显示模块的选择方案一:采用列扫描,3*16*16的点阵模块要扫描96次。而想让点阵模块不出现闪烁现象,必须要让显示频率高于50HZ,也就是说显示完所有小灯的时间不长于20ms,3*16*16点阵模块显示完一次要扫描96次,显示一次需要的时间比较长,因此不宜采用此方案。方案二:采用行扫描,3*16*16的点阵模块,只需扫描16次就可以显示完一次所需要的时间比较少,故采用此方案。3.3 驱动电路的选择方案一:把行引脚直接接到单片机的I/O口上,但如果点阵做的比较长时,占用I/O口较多,而且随着点阵长度的增加而增加,所
29、以不宜采用此方案。方案二:列驱动利用74HC595移位寄存器采用串入并出的方法,行驱动利用74HC154四线十六线译码器提供行选通信号,74HC245驱动即可满足要求。通过以上对比,本设计采用第二种方案。根据本设计任务所规定的功能要求,该设计以AT89S51单片机为控制核心,显示电路采用动态扫描方式进行显示时,每行有一个行驱动器,各行的同名列共用一个列驱动器。4由四线十六线译码器74HC154给出的行选通信号,从第一行开始,按顺序依次对各行进行扫描(把该行与电源的另一端接通)。另一方面,根据各列锁存的数据,确定相应的列驱动器是否将该列与电源的另一端接通。接通的列就在该行该列点亮相应的LED;未
30、接通的列所对应的LED熄灭。当一行的扫描持续时间结束后,下一行又以同样的方法进行显示。全部各列都扫描过一遍之后(一个扫描周期),又从第一行开始下一个周期扫描。只要一个扫描周期的时间比人眼125秒的暂留时间短,就不容易感觉出闪烁现象,就可以在显示屏上得到稳定的图形或文字。该方法能驱动较多的LED,控制方式灵活,而且节省单片机的资源。显示数据传输采用串行传输的方式,控制电路可以只用一根信号线,将列数据一位一位传往列驱动器,在硬件方面无疑是十分经济的。但串行传输过程较长,数据按顺序一位一位地输给列驱动器,只有当一行的列数据都已传输到位之后,这一行的各列数据才能并行地进行显示。对于串行传输方式来说,列
31、数据准备时间可能相当长,在行扫描周期确定的情况下,留给行显示的时间就太少了,以致于影响到LED的亮度。采用串行传输中列数据准备和列数据显示的时间矛盾,可以采用重叠处理的方法。即在显示本行各列数据的同时,传输下一列的数据。为了达到重叠处理的目的,列数据的显示就需要有锁存功能。对于列数据准备来说,它应能实现串入并出的移位功能。这样本行已准备好的数据打入并锁存器进行显示时,串行移位寄存器就可以准备下一行的列数据,而不会影响本行的显示。系统框图如图3-1所示。图3-1 系统框图4 系统硬件电路的设计硬件电路主要由单片机系统及外围电路、列驱动电路行驱动电路、LED点阵显示屏四部分组成。4.1 单片机系统
32、及外围电路单片机采用AT89S51和更高的频率的晶振,以获得较高的刷新频率,使得显示更稳定。5单片机P2口的低四位与四线十六线译码器74HC154相连接,用来作行显示信号线,单片机P2口的高四位与六片级联的74HC595相连接,用来作列显示信号线。单片机的P0、P1、P3口空着,在有必要的时候,可以扩展系统的ROM和RAM。单片机系统及外围电路图如图4-1所示。图4-1 单片机系统及外围电路图4.2 列驱动电路列驱动电路有集成电路74HC595构成。它具有8位串入并出的移位寄存器和一个8位输出锁存器结构,而且移位寄存器和输出锁存器的触发脉冲信号都时各自独立的,可以在显示本行各列数据的同时,传输
33、下一行的列数据,即达到重叠处理的目的。74HC595的外形及引脚如图4-2所示。图4-2 74HC595的外形及引脚图它的输入侧有8个串行移位寄存器,每个移位寄存器的输出都连接一个输出锁存器。引脚SI是串行数据的输入端。引脚SCK是移位寄存器的移位时钟脉冲,在其上升沿将发生移位,并将SI的下一个数据打入最低位。移位后的各位信号出现在各移位寄存器的输出端,也就是输出锁存器的输入端。RCK是输出锁存器的打入信号,在其上升沿将移位寄存器的输出数据打入输出锁存器。引脚OE是输出三态门的开放信号,只有当其为低电平时输出锁存器才开放,否则三态门为高阻态。引脚SCLR是移位寄存器的清0输入端,当其为低电平时
34、移位寄存器的输出全为0。由于SCK和RCK两个信号是相互独立的,所以能够做到输入串行移位和输出锁存器互不干扰。芯片的输出端为QA-QH,最高位QH可作为多片74HC595级联应用时,向上一级的级联输出。但因QH受输出锁存器打入控制,所以还从输出锁存器前引出了QH,作为与移位寄存器完全同步的级联输出。其引脚说明如表4-1所示。表4-1 引脚说明其真值表如表4-2所示。表4-2 真值表其时序图如图4-3所示。图4-3 时序图列驱动器图如图4-4所示。图4-4 列驱动器图4.3 行驱动电路单片机的P2口的低四位输出的信号经四线十六线译码器74HC154译码后生成16条行选通信号线,再经过驱动器驱动对
35、应的行信号线。一条行信号线上要驱动48列的LED进行显示,需要引入电流驱动器,根据该系统的电流需求,选用74HC245三态门即可满足要求。4.3.1 四线十六线译码器74HC15474HC154是一款高速CMOS器件,74HC154引脚兼容低功耗肖特基TTL(LSTTL)系列。74HC154译码器可接受4位高有效二进制地址输入,并提供16个互斥的低有效输出。674HC154的两个输入使能门电路可用于译码器选通,以消除输出端上的通常译码“假信号”,也可用于译码器扩展。该使能门电路包含两个“逻辑与”输入,必须置为低以便使能输出端。任选一个使能输入端作为数据输入,74HC154可充当一个1-16的多
36、路分配器。当其余的使能输入端置低时,地址输出将会跟随应用的状态。74154这种单片4 线16 线译码器非常适合用于 高性能存储器的译码器。当两个选通输入G1 和G2 为低时,它可将4 个二进制编码的输入译成16 个互相独立的输出之一。其外形及引脚图4-5所示。图4-5外形及引脚图其真值表如表4-3所示。表4-3真值表4.3.2 三态门74HC245总线驱动器,典型的TTL型三态缓冲门电路。由于单片机等CPU的数据地址控制总线端口都有一定的负载能力,如果负载超过其负载能力,一般应加驱动器另外,也可以使用74HC244等其他电路,74HC244比74HC245多了锁存器。三态门74HC245引脚图
37、如图4-6所示。图4-6 74HC245引脚图第1脚DIR,为输入输出端口转换用,DIR=“1”高电平时信号由“A”端输入“B”端输出,DIR=“0”低电平时信号由“B”端输入“A”端输出。 第2-9脚“A”信号输入输出端,A1=B1、A8=B8,A1与B1是一组,如果DIR=“1”OE=“0”则A1输入B1输出,其它类同。如果DIR=“0”OE=“0”则B1输入A1输出,其它类同。 第11-18脚“B”信号输入输出端,功能与“A”端一样,不再描述。 第19脚OE,使能端,若该脚为“1”A/B端的信号将不导通,只有为“0”时A/B端才被启用,该脚也就是起到开关的作用。 第10脚GND,电源地。
38、 第20脚VCC,电源正极。其真值表如表4-4所示。表4-4 真值表4.3.3 行驱动器图行驱动器电路如图4-7所示。图4-7 行驱动器电路4.4 LED点阵块结构及点阵屏LED点阵显示屏是由半导体发光二极管像素点均匀排列组成。其内部结构图如图4-8所示。图4-8 内部结构图引脚分布图如图4-9所示。图4-9引脚分布图点阵块实物图如图4-10所示。图4-10 点阵块实物图图4-11图4-114.5 系统整体电路图系统整体电路图如图4-11所示。图4-11系统整体电路图5 点阵字模生成原理与方法5.1 汉字字模码为了将汉字的字形显示输出,汉字信息处理系统还需要配有汉字字模库,也称字形库,它集中了
39、全部汉字的字形信息。需要显示汉字时,根据汉字内码向字模库检索出该汉字的字形信息,然后输出,再从输出设备得到汉字。所谓汉字字模就是用0、1表示汉字的字形,将汉字放入n行*n列的正方形内,该正方形共有n2个小方格,每个小方格用一位二进制表示,凡是笔划经过的方格值为1,未经过的值为0。汉字点阵字模有16*16点、24*24点、32*32点,48*48点几种,每个汉字字模分别需要32、72、128、288个字节存放,点数愈多,输出的汉字愈美观。存放在磁盘上的字模库称为软字库,存放在由ROM组成的印刷线路板上的字模库称为硬字库,也称为“汉卡”。5.2 字模生成原理本设计中因为使用汉字的点阵显示,需要提取
40、汉字字模,因此我们首先来了解汉字点阵字模的提取方法。汉字的点阵字模是从点阵字库文件中提取出来的。例如常用的1616点阵HZK16文件,1212点阵HZK12文件等等,这些文件包括了GB 2312字符集中的所有汉字。现在只要弄清汉字点阵在字库文件中的格式,就可以按照自己的意愿去显示汉字了。下面以HZK16文件为例,分析取得汉字点阵字模的方法。HZK16文件是按照GB 2312-80标准,也就是通常所说的国标码或区位码的标准排列的。7国标码分为 94 个区(Section),每个区 94 个位(Position),所以也称为区位码。其中0109 区为符号、数字区,1687 区为汉字区。而 1015
41、 区、8894 区是空白区域。如何取得汉字的区位码呢?在计算机处理汉字和ASCII字符时,使每个ASCII字符占用1个字节,而一个汉字占用两个字节,其值称为汉字的内码。其中第一个字节的值为区号加上32(20H),第二个字节的值为位号加上32(20H)。为了与ASCII字符区别开,表示汉字的两个字节的最高位都是1,也就是两个字节的值都又加上了128(80H)。这样,通过汉字的内码,就可以计算出汉字的区位码。具体算式如下:qh=c1-32-128=c1-160 wh=c2-32-128=c2-160或qh=c1-0xa0 wh=c2-0xa0;qh,wh为汉字的区号和位号;c1,c2为汉字的第一字
42、节和第二字节。根据区号和位号可以得到汉字字模在文件中的位置:location=(94*(qh1)+(wh1)*一个点阵字模的字节数。那么一个点阵字模究竟占用多少字节数呢?我们来分析一下汉字字模的具体排列方式。例如下图5-1中显示的“汉”字,使用1616点阵。字模中每一点使用一个二进制位(Bit)表示,如果是1,则说明此处有点,若是0,则说明没有。这样,一个1616点阵的汉字总共需要16*16/8=32个字节表示。字模的表示顺序为:先从左到右,再从上到下,也就是先画左上方的8个点,再是右上方的8个点,然后是第二行左边8个点,右边8个点,依此类推,画满1616个点。 图5-1“汉”对于其它点阵字库
43、文件,则也是使用类似的方法进行显示。例如HZK12,但是HZK12文件的格式有些特别,如果你将它的字模当作12*12位计算的话,根本无法正常显示汉字。因为字库设计者为了使用的方便,字模每行的位数均补齐为8的整数倍,于是实际该字库的位长度是16*12,每个字模大小为24字节,虽然每行都多出了4位,但这4位都是0(不显示),并不影响显示效果。 还有UCDOS下的HZK24S(宋体)、HZK24K(楷体)或HZK24H(黑体)这些打印字库文件,每个字模占用24*24/8=72字节,不过这类大字模汉字库为了打印的方便,将字模都放倒了,所以在显示时要注意把横纵方向颠倒过来就可以了。这样我们就完全清楚了如
44、何得到汉字的点阵字模,这样就可以在程序中随意的显示汉字了。5.3 字模提取程序如果在程序中使用的汉字数目不多,也可以不必总是在程序里带上几百K的字库文件,也许你的程序才只有几十K。这样可以事先将所需要显示的汉字字模提取出来,放在另一个文件里,按照自己的顺序读取文件就可以了。下面的程序说明了具体显示汉字的方法,以1616汉字为例,使用HZK16文件。 #include#include /* x,y为显示坐标,s为显示字符串,colour为颜色 */void hanzi16(int x,int y,char *s,int colour)FILE *fp;char buffer32; /* 32字节
45、的字模缓冲区 */register i,j,k;unsigned char qh,wh;unsigned long location;if(fp=fopen(hzk16,rb)=NULL)printf(Cant open hzk16!);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;i16;i+)for(j=0;j2;j+)
46、for(k=0;k(7-k)&0x1)!=NULL)putpixel(x+8*j+k,y+i,colour);s+=2;x+=16; /* 汉字间距 */fclose(fp);main()int gd=DETECT,gm;initgraph(&gd,&gm,);hanzi16(246,200,郑州科技学院08通信一班刘德添!,BROWN);getch();closegraph();在TC 2.0下运行上面程序,就在屏幕上打印出你想要显示的汉字,例如该程序运行后会在屏幕上显示:郑州科技学院08通信一班刘德添!程序中每次将一个汉字的点阵字模存储于buffer32缓冲数组里面,因此我们可以编程从该缓冲数据组里面取出对应汉字的点阵模存储于另的一个数组里面,然后可以通过烧写器写入单片机的ROM,最后显示在LED点阵显示屏上。由于时间比较紧,这一步我没有做出来,希望有人能够补充完整,在制作过程中我是用了别人已经写好了的点阵字模提取软件来提取点阵字模。点阵字模提取软件界面如图5-2所示。将汉字键入生成字模图