收藏 分销(赏)

基于单片机的LED显示屏的动态显示.docx

上传人:xrp****65 文档编号:5849125 上传时间:2024-11-21 格式:DOCX 页数:43 大小:1,006.02KB
下载 相关 举报
基于单片机的LED显示屏的动态显示.docx_第1页
第1页 / 共43页
基于单片机的LED显示屏的动态显示.docx_第2页
第2页 / 共43页
基于单片机的LED显示屏的动态显示.docx_第3页
第3页 / 共43页
基于单片机的LED显示屏的动态显示.docx_第4页
第4页 / 共43页
基于单片机的LED显示屏的动态显示.docx_第5页
第5页 / 共43页
点击查看更多>>
资源描述

1、目 录1 绪 论21.1 LED显示屏的发展背景及国内外研究现状21.2 设计目标及采取的方案21.2.1 本设计的目标21.2.2 本设计采取的方案31.3 文章的结构安排32 系统总体分析52.1 显示部分52.2 驱动电路的选择62.3 电源模块选择62.4 工作原理62.5 总体设计73 系统硬件设计83.1 AT89C51芯片的介绍93.2 时钟电路133.3 复位电路133.4 驱动电路设计143.4.1 2N5551与2N5401三极管的主要参数143.4.2 8255芯片的介绍153.5 键盘模块设计173.6点阵式汉字LED显示屏设计183.6.1 LED的特点以及常用的参数

2、183.6.2 LED电子显示屏203.6.3 LED电子显示屏显示字符原理213.6.4 汉字显示的原理233.7 整体电路284 系统软件设计304.1 主程序设计304.2 子程序设计355 结 论396 致 谢40参考文献411 绪 论1.1 LED显示屏的发展背景及国内外研究现状在大型商场、车站、码头、地铁站以及各类办事窗口等越来越多的场所需要用LED点阵显示图形和汉字。LED行业已成为一个快速发展的新兴产业,市场空间巨大,前景广阔。随着信息产业的高速发展,LED显示作为信息传播的一种重要手段,已广泛应用于室内外需要进行服务内容和服务宗旨宣传的公众场所,例如户内外公共场所广告宣传、机

3、场车站旅客引导信息、公交车辆报站系统、证券与银行信息显示、餐馆报价信息豆示、高速公路可变情报板、体育场馆比赛转播、楼宇灯饰、交通信号灯、景观照明等。显然,LED显示已成为城市亮化、现代化和信息化社会的一个重要标志。LED点阵设计主要应用于显示屏,它是利用发光二极管点阵模块或像素单元组成的平面式显示屏幕。由于它具有发光效率高、使用寿命长、组态灵活、色彩丰富以及对室内室外环境适应能力强等优点,自20世纪80年代后期开始,随着LED制造技术的不断完善,在国外得到了广泛的应用。在我国改革开放之后,特别是进入90年代国民经济高速增长,对公众场合发布信息的需求日益强烈,LED显示屏的出现正好适应了这一市场

4、形势,因而在LED显示屏的设计制造技术与应用水平上都得到了迅速的提高。LED显示屏经历了从单色、双色图文显示屏,到图像显示屏的发展过程。 1.2 设计目标及采取的方案1.2.1 本设计的目标毕业设计是学生完成本专业教学计划达到培养目标的重要的教学环节,是教学计划中综合性最强的实践性教学环节,它对于培养学生正确的思想和工作作风,提高学生综合运用专业知识分析和解决实际问题的能力,达到工程技术人员所必须具备的基本素质等方面具有重要的意义。本设计的理论基础是单片机技术基础,微机原理,模拟和数子电路。比如AT89C51芯片的一些工作原理是在MCS51的基础上通过改进完成的。8255芯片的工作方式是在微机

5、原理介绍的。三极管和74LS154的工作原理也分别在模拟和数子电路里介绍过。通过本设计不仅把以前学过的知识重新温习,而且在查阅课外资料时还有好多芯片都是以学过的芯片为基础,并且在其基础上改进和完善的。通过这次毕业设计使我在学校学习的理论知识和实际应用有机地结合起来,同时也能培养我独立思考、勇于创新的科学态度和钻研精神,为我将要踏上工作岗位做一次提前的锻炼。1.2.2 本设计采取的方案1) 利用单片机控制技术控制LED的显示,再结合单片机的程序作线路布置,即硬件设计。2) 行列电路设计,分析电路图确定整个系统大概的规模。3) 进行系统分析,通过系统分析,确定该系统该具有那些功能,有那些模块,各个

6、模块之间是怎样联系的,以及怎样组合的。4) 确定所需的元器件,然后通过电路图进行连接。5) 集合程序调试,调试整个的系统模块的功能,看各个功能是否能正常运行,并找出程序中的错误,改正这些错误。6) 最终能在LED电路板上显示所要的图形或汉字。1.3 文章的结构安排本设计在绪论里主要介绍LED显示的发展背景,设计的目标及采取的方案,本设计的章节结构安排及使用的技术。把系统总体设计作为第二部分,在这部分里介绍了各种元器件以及芯片的选择; 第三部分是硬件电路的设计;主要对AT89C51芯片的具体介绍,时钟电路,复位电路,驱动电路,8255芯片,点阵式汉字LED显示屏电路设计等一些硬件进行分析。这一部

7、分是本设计的重点。第四部分是系统软件设计,主要是用汇编语言对图形汉字编程设计;第五部分是对全文的总结。第六部分是致谢,第七部分是参考文献。2 系统总体分析本节是该设计的方案与比较部分,对设计中所采用的芯片从多方面综合的进行比较,最后经过仔细的研究后决定所选的器件。2.1 显示部分显示部分是本次设计最核心的部分,我先对LED8*8点阵显示进行选择然后再其改基础上扩展成LED16*16。对于LED8*8点阵显示有以下两种方案:静态显示,将一帧图像中的每一个二极管的状态分别用0 和1 表示,若为0 ,则表示LED 无电流,即暗状态;若为1 则表示二极管被点亮。若给每一个发光二极管一个驱动电路,一幅画

8、面输入以后,所有L ED 的状态保持到下一幅画。对于静态显示方式,所需的译码驱动装置很多,引线多而复杂,成本高,且可靠性也较低。动态显示,对一幅画面进行分割,对组成画面的各部分分别显示,是动态显示方式。动态显示方式,可以避免静态显示的问题。但设计上如果处理不当,易造成亮度低,闪烁问题。因此合理的设计既应保证驱动电路易实现,又要保证图像稳定,无闪烁。动态显示采用多路复用技术的动态扫描显示方式, 复用的程度不是无限增加的, 因为利用动态扫描显示使我们看到一幅稳定画面的实质是利用了人眼的暂留效应和发光二极管发光时间的长短, 发光的亮度等因素。通过实验发现, 当扫描刷新频率(发光二极管的停闪频率) 为

9、50Hz, 发光二极管导通时间1m s 时, 显示亮度较好, 无闪烁感。 由于静态显示方式,所需的译码驱动装置很多,引线多而复杂,成本高,且可靠性也较低。而动态显示可以避免静态显示的问题,只是在设计时应注意合理的设计既应保证驱动电路易实现,又要保证图像稳定,无闪烁。且动态显示易于制作和理解,又能巩固所学知识,达到毕业设计的目标。我采用动态显示。2.2 驱动电路的选择驱动电路的选择采取并口输入,占用大量I/O口资源。选取串口输入,I/O口资源使用较少。所以我选用串口输入。电路中行方向由AT89C51的p0口和p2口完成扫描,由于p0口没有上拉电阻,因此接一个4.7k*8的排阻上拉。为提供负载能力

10、,接16个2N5551的NPN三极管驱动。列方向则由416译码器74LS154完成扫描,它由89C51的P1.0-P1.3控制。同样,驱动部分则是16个2N5401的三极管完成的。2.3 电源模块选择采用干电池作为LED点阵系统的电源,由于点阵系统耗电量较大,使用干电池需经常换电池,不符合节约型社会的要求。点阵系统要悬挂在墙上,电池总量大,使用会有较大安全隐患。采用一片LM7805三端稳压器,耗电电流为100Ma左右的电源作为系统电源,不仅功率上可以满足系统需要,不需要更换电源,并且比较轻便,使用更加安全可靠。 基于以上分析,我决定采用采用LM7805三端稳压器电源作为系统电源。2.4 工作原

11、理利用单片机进行LED汉字显示平设计与制作是利用单片机控制技术,编写程序,通过程序控制LED的显示,显示所要显示的内容。技术线路为通过程序控制AT89C51芯片输出高低电平,高低电平控制分别控制LED的亮和灭,最终达到所要显示的内容。在显示电路中,主要靠按键来实现各种显示要求的选择与切换。本设计介绍一种实用的汉字显示屏的制作,考虑到电路元件的易购性,没有使用8*8的点阵发光管模块, 而是直接使用了256个高量度发光管,组成了16行16列的发光点阵。同时为了降低制作难度, 仅作了一个字的轮流显示,实际使用时可根据这个原理自行扩充显示的字数。我们把行列总线接在单片机的IO口,然后把扫描代码送入总线

12、,就可以得到显示的汉字了。但是若将LED点阵的行列端口全部直接接入89C51单片机,则需要使用32条IO口,这样会造成IO资源的耗尽,系统也再无扩充的余地。因此,我们在实际应用中只是将LED点阵的16条行线直接接在P0口和P2口,至于列选扫描信号则是由4-16线译码器74LS154来选择控制,这样一来列选控制只使用了单片机的4个IO口,节约了很多IO资源,为单片机系统扩充使用功能提供了条件。考虑到P0口必需设置上拉电阻,我们采用4.7 k排电阻作为上拉电阻。2.5 总体设计有上述工作原理,我画出来该系统的框图。设计总体框图如图:74LS1544*4键盘系统框图8255AT89C51时钟/复位电

13、路LED大屏幕显示图2-1 系统框图3 系统硬件设计LED点阵设计主要应用于显示屏,它是利用发光二极管点阵模块或像素单元组成的平面式显示屏幕。由于它具有发光效率高、使用寿命长、组态灵活、色彩丰富以及对室内室外环境适应能力强等优点,自20世纪80年代后期开始,随着LED制造技术的不断完善,在国外得到了广泛的应用。在我国改革开放之后,特别是进入90年代国民经济高速增长,对公众场合发布信息的需求日益强烈,LED显示屏的出现正好适应了这一市场形势,因而在LED显示屏的设计制造技术与应用水平上都得到了迅速的提高。LED显示屏经历了从单色、双色图文显示屏,到图像显示屏的发展过程。本设计采用以AT89C51

14、单片机为核心芯片的电路来实现,主要由AT89C51芯片、时钟电路、复位电路、列扫描驱动电路(74LS154)、1616 LED点阵5部分组成,如图所示。 图3-1 硬件电路图3.1 AT89C51芯片的介绍AT89C51是一种带4 kB闪烁可编程可擦除只读存储器(Falsh Programmable and Erasable Read OnlyMemory,FPEROM)的低电压、高性能CMOS型8位微处理器,俗称单片机。该器件采用ATMEL公司高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,能够进行1 000

15、次写擦循环,数据保留时间为10年。他是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。因此,在智能化电子设计与制作过程中经常用到AT89C51芯片。其主要参数及引脚图及其功能如下:主要性能参数:1)与MCS-51产品指令系统完全兼容2)4k字节可重擦写Flash闪速存储器3)1000次擦写周期4)全静态操作:0Hz24MHz5)三级加密程序存储器6)128*8字节内部RAM7)32个可编程I /O口线8)低功耗空闲和掉电模式9)6个中断源图3-2 AT89C51引脚图AT89C51是一个低电压,高性能CMOS 8位单片机,片内含4Kbytes的可反复擦写的只读程序存储器(

16、EPROM)和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash 存储器单元,内置功能强大的微型计算机的AT89C51提供了高性价比的解决方案。 AT89C51是一个低功耗高性能单片机,40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,AT89C51可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。管脚说明:V

17、CC:供电电压。 GND:接地。 P0口:P0口为一个8位漏极开路双向1/0口,每脚可吸收8TTL门流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在Flash编程时,P0口作为原码输入口,当FLASH进行校验时,P0输出原码,此时P0外部必须被拉高. P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接出4TTTL门电流.P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故.在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个

18、内部上拉电阻的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”后,它们被内部上拉为高电平,并

19、用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚 备选功能P3.0 RXD (串行输入口)P3.1 TXD (串行输出口) P3.2 /INT0 (外部中断0 ) P3.3 /INT1 (外部中断1) P3.4 T0 (记时器0外部输入)P3.5 T1 (记时器1外部输入)P3.6 /WR (外部数据存储器写选通)P3.7 /RD (外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PR

20、OG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在Flash编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用做对外部输出的脉冲或用于定时目的。然而要注意的是:每当用做外部存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器

21、时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000HFFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET:当/EA端保持高电平时,此间内部程序存储器。在Flash编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1: 反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2: 来自反向振荡器的输出。3.2 时钟电路由AT89C51的18,19脚的时钟端(XTALl及XTAL2)以及12 MHz晶振X1、电容C2,C3组成,采用片内振荡方式。 图3-3 时钟电路3.3 复位电路复位电路的基本

22、功能是:系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源插头分-合过程中引起的抖动而影响复位。采用简易的上电复位电路,主要由电阻R1,R2,电容C1,开关K1组成,分别接至AT89C51的RST复位输入端。 图3-4 复位电路图图3-5 复位电路输入-输出特性3.4 驱动电路设计3.4.1 2N5551与2N5401三极管的主要参数 行驱动部分则是16个2N5551小功率硅三极管,其主要的参数如下:2N5551小功率硅三极管参数:1)类型:NPN2)直流电流增益hFE最小值(dB):803)直流电流增益hFE最大

23、值(dB):2504)集电极发射集最小雪崩电压Vceo(V):1605)集电极最大电流Ic(max)(mA):0.6006)最小电流增益带宽乘积Ft(MHz):100列驱动部分则是16个2N5401小功率硅三极管,其主要的参数如下:2N5401的技术参数:1)集电极发射集最小雪崩电压Vceo(V):1502)集电极最大电流Ic(max)(mA):0.5003)直流电流增益hFE最小值(dB):604)直流电流增益hFE最大值(dB):2405)最小电流增益带宽乘积Ft(MHz):1006)封装/温度():TO92/-551503.4.2 8255芯片的介绍8255是微机并行接口芯片。 8255

24、是可编程IO口扩展芯片。对8255输入不同的指令可改变IO口的工作方式。8255与单片机系统连接方式简单,工作方式由程序设定,图3-6为8255的引脚图。 图3-6 8255的引脚图 图3-7 8255的内部结构图8255内部有4个寄存器:分别为寄存器A、B、C和控制寄存器。A、B、C寄存器的数据就是引脚PA7PA0、PB7PB0、PC7PC0上输入或输出的数据。而控制寄存器的数据则表明PA、PB、PC的工作方式。通过CS、A0、A1、RD和WR对4个寄存器进行操作。 1) CS为低电平时选通8255;2) A1、A0为地址选通;3) RD和WR为读、写信号:RD为低、WR为高时为读方式,RD

25、为高、WR为低时为写方式。4)D0D7为数据口。 向控制寄存器写入不同的数据可以使8255工作在三种不同的方式下。这里只介绍应用最多的方式0。方式0下8255的PA、PB及PC口上半部分(PC7PC4)和下半部分(PC3PC0)中任何一个端口都可以设定为输入或输出,PC口还可以进行位操作。3.5 键盘模块设计键盘、状态显示模块:为了使软件编程简单,本设计利用可编程芯片8255。PA口接按键,PC口则用于控制状态显示所用LED点阵。每个按键都通过一个10K的上拉电阻接电源+Vcc,按键的另一端接地。当有键按下时,与该键相连的PA口的相应位变为低电平,单片机检测到该变化后即转到相应的键处理程序,同

26、时在程序中点亮LED点阵。 图3-8 键盘电路3.6点阵式汉字LED显示屏设计3.6.1 LED的特点以及常用的参数LED是一种固体光源,当它两端加上正向电压,半导体中的少数载流子和多数载流子发生复合,放出的过剩能量将引起光子发射。采用不同的材料,可制成不同颜色的发光二极管。作为一种新的光源,近年来各大公司和研究机构对LED的研究方兴未艾,使其光效得以大大提高,飞利浦与Agilent的合资公司目前已研发并生产出光效达到171M/W的白色LED,已达到白炽灯的水平。和白炽灯的相比较,LED在性能上具有很多优点,见下表: 表1 白炽灯与白色LED的性能比较 项 目 LED 白 炽 灯色温 (K)3

27、00010000 2500-3000 光效 (1K/W) -15 15 反应速度(s) 0.5 100000 冲击电流010倍额定电流 耐压击性很 强易 断 裂 寿命(h) 2000 1000随着对LED研究的进一步深入,其光效将进一步得到提高,而其成本将一步下降,在不久的将来LED取代白炽灯甚至荧光灯而发展成21世纪的一种主要的照明光源将成为一种趋势。新的光源呼唤新的电子镇流器,飞利浦照明电子在致力研发新的LED的同时,已于近年在全球各大开发中心开始了LED驱动电路的研究,在此研发领域已占据了世界领先的地位。LED的电压和电流的匹配。 I(mA) U(V) 图3-9 LED的电压和电流LED

28、 的正向伏安特性所以,LED伏安特性的数字模型可用下式表示VF = Vturn on + RsIF + (VF/T)(T - 25)其中,Vturn - on是LED的启动电压Rs 表示伏安曲线的斜率T 环境温度VF/T 是LED正向电压的温度系数,对于多数LED而言典型值为-2V/。从LED的伏安曲线及数字模型看,LED在正向导通后其正向电压的细小变动将引起LED电流的很大变化,并且,环境温度,LED老化时间等因素也将改变影响LED的电气性能。而LED的光输出直接与LED电流相关,所以LED驱动电路在输入电压和环境温度等因素发生变动的情况下最好能控制LED电流的大小。否则,LED的光输出将随

29、输入电压和温度等因素变化而变化,并且,若LED电流失控,LED长期工作在大电流下将影响LED的可靠性和寿命,并有可能失效。(LED :Light Emitting Diode)已日趋在固体显示中占主导地位。LED之所以受到广泛重视而得到迅速发展,是与它本身所具有的优点分不开的。这些优点概括起来是:高亮度、工作电压低、功耗小、小型化而与集成电路匹配,目前应用最广的是红色、绿色、黄色LED。而蓝色和纯绿色LED的开发已经达到了实用阶段。从显示方面讲,LED可以显示文字、数字(数码管),也可以显示图形图象(LED矩阵模块),从应用方面,LED显示即可以用于室内环境,也可以用于室外环境。3.6.2 L

30、ED电子显示屏随着科学技术的高速发展,各种新型信息媒体,信息相关设备及手段不断涌现。LED电子显示屏由于具有所显内容信息量大,外形美观大方,操作方便灵活,是近年来得到广泛应用的重要信息设备,大致有以下几类:(1)、条形显示屏 该系列可用于显示文字、表格、符号和简单图形等,控制系统体积较小,嵌入在显示屏替内部,一般采用红色高亮度点阵模块,表面可外履深红色遮光薄膜,适用于多种场合发布通知、广告等信息。(2)、图文显示屏 该产品主要用计算机控制,具有处理速度快、存储容量大等特点,适合显示面积较大的图文信息,可适时显示系统当前日历、时间、文件等,被广泛运用在商场、街道、广场、车站等人群或流动量大的场合

31、。(3)、256级灰度视频显示屏该系列具有256级灰度控制功能,使没种基色可达256种颜色,图象显示细腻、柔和、颜色丰富、层次感强等特点。该系列显示屏可显示真彩色图象、电脑动画和电视机、录象机、影碟机等视频节目信息,图象清晰稳定,无噪点和闪烁感。本设计用的显示屏为256级灰度视频显示屏。汉字显示屏广泛应用与汽车报站器,广告屏等。本文介绍一种实用的汉字显示屏的制作,考虑到电路元件的易购性,没有使用8*8的点阵发光管模块,而是直接使用了256个高量度发光管,组成了16行16列的发光点阵。同时为了降低制作难度, 仅作了一个字的轮流显示,实际使用时可根据这个原理自行扩充显示的字数。3.6.3 LED电

32、子显示屏显示字符原理下图所示为单基色8*8的点阵屏内部结构图 图3-10 单基色8*8的点阵屏内部结构图图3-11 LED显示屏内部电路从结构上可知,它的每一列共用一根列线,每一行共用一根行线。当相应的行接高电平,列接低电平时,对应的发光二极管被点亮。通常情况下,一块8*8像素的LED显示屏是不能用来显示一个汉字的,因此,按照其原理结构进行扩展为16*16,就足以显示一个完整的汉字。在显示过程中,多采用扫描方式,利用人的视觉暂停效应,只要刷新速率不小于25帧/秒,就不会有闪烁的感觉。LED点阵显示屏采用1616共256个象素的点阵,通过万用表检测发光二极管的方法测试判断出该点阵的引脚分布,如图

33、3-12所示。16带方框的为列带圈的为行15141312910321117654114131211109155431762816图3-12 LED点阵显示屏底视图我们把行列总线接在单片机的IO口,然后把上面分析到的扫描代码送人总线,就可以得到显示的汉字了。但是若将LED点阵的行列端口全部直接接入89C51单片机,则需要使用32条IO口,这样会造成IO资源的耗尽,系统也再无扩充的余地。因此,我们在实际应用中只是将LED点阵的16条行线直接接在P0口和P2口,至于列选扫描信号则是由4-16线译码器74HC154来选择控制,这样一来列选控制只使用了单片机的4个IO口,节约了很多IO资源,为单片机系统

34、扩充使用功能提供了条件。考虑到P0口必需设置上拉电阻,我们采用4.7 k排电阻作为上拉电阻。3.6.4 汉字显示的原理我们以UCDOS中文宋体字库为例,每一个字由16行16列的点阵组成显示。即国标汉字库中的每一个字均由256点阵来表示。我们可以把每一个点理解为一个像素,而把每一个字的字形理解为一幅图像。事实上这个汉字屏不仅可以显示汉字, 也可以显示在256像素范围内的任何图形。图3-13 16行16列的点阵组成显示图用8位的AT89C51单片机控制, 由于单片机的总线为8位,一个字需要拆分为2个部分。 一般我们把它拆分为上部和下部,上部由8*16点阵组成, 下部也由8*16点阵组成。在本例中单

35、片机首先显示的是左上角的第一列的上半部分,即第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.这一列完成后继

36、续进行下半部分的扫描,p21点亮,为二进制00000010,即16进制02h. 依照这个方法,继续进行下面的扫描,一共扫描32个8位, 可以得出汉字“大”的扫描代码为:04H,00H,04H,02H,04H,02H,04H,04H04H,08H,04H,30H,05H,0C0H,0FEH,00H05H,80H,04H,60H,04H,10H,04H,08H04H,04H,0CH,06H,04H,04H,00H,00H由这个原理可以看出, 无论显示何种字体或图像, 都可以用这个方法来分析出它的扫描代码从而显示在屏幕上。 不过现在有很多现成的汉字字模生成软件, 我们就不必自己去画表格算代码了。软件

37、打开后输入汉字,点“检取”,十六进制数据的汉字代码即可自动生成,把我们所需要的竖排数据复制到我们的程序中即可。图3-14 汉字字模生成界面我们把行列总线接在单片机的i0口,然后把上面分析到的扫描代码送入总线, 就可以得到显示的汉字了。 在这个例子里,由于一共用到16行,16列, 如果将其全部接入89C51单片机, 一共使用32条io口,这样造成了io资源的耗尽,系统也再无扩充的余地。 实际应用中我们使用4-16线译码器74LS154来完成列方向的显示。 而行方向16条线则接在p0口和p2口。电路中行方向由p0口和p2口完成扫描,由于p0口没有上拉电阻,因此接一个4.7k*8的排阻上拉。 如没有

38、排阻,也可用8个普通的4.7k 1/8w电阻。为提供负载能力,接16个2n5551的NPN三极管驱动。列方向则由416译码器74LS154完成扫描,它由89C51的P1.0-P1.3控制。同样,驱动部分则是16个2N5401的三极管完成的。电路的供电为一片LM7805三端稳压器,耗电电流为100Ma左右。 采用一块12*20cm的万能电路板,应当选用质量好些的发光管,(否则有坏点现象, 更换起来较麻烦)首先将256个发光管插入电路板,注意插入方向,同时使高度一致,行方向直接焊接起来, 列方向则搭桥架空焊接,完成后用万用表测试一下如有不亮的更换掉。 然后找一个电脑硬盘的数据线, 截取所需的长度,

39、分别将行,列线引出至电路的相关管脚即可。原理图为了简洁,故只画出了示意图,行列方向只画出了2个三极管,屏幕只画出4个发光管, 实际上发光管为256只,三极管行列方向各16只,一共32只。焊接过程认真仔细一天时间即可完成全部制作。将程序编译后烧写入89C51, 插入40pin Ic座,即可看到屏幕显示:“万方科技学院”。当然,你可将程序的汉字代码部分更换为您所需要的代码即可显示你所需要的汉字例如:输入“宝”宝(16x16,V)0x88,0x00, 0x70,0x03, 0x24,0x02, 0x34,0x46, 0x2C,0x4A, 0x24,0x52, 0xA6,0x62, 0x67,0xFE

40、, 0x24,0xC2, 0x25,0x62, 0x26,0x7E, 0x24,0x5A, 0x2C,0x4A, 0x30,0x06, 0x20,0x02, 0x40,0x01,宝(16x16,H)0x82,0x00, 0x41,0x01, 0x7F,0xFE, 0x50,0x04, 0x88,0x08, 0x3F,0xF8, 0x03,0x20, 0x01,0x40, 0x01,0x80, 0x1F,0xF8, 0x03,0x60, 0x05,0x30, 0x09,0x38, 0x11,0x24, 0x7F,0xFE, 0x40,0x01, 元件清单:表2 名称数量规格47k 1/8w32电

41、阻4.7k*8排阻1 2n555116小功率NPN三极管led2563mm白发红高亮度22P2瓷片电容10uf/50v1电解电容100uf/25v2电解电容AT89C511或AT89S5140pin Ic座1插89c51用12M1晶体74LS1541或74HC154LM78051稳压IC电源插座1稳压电源13.7 整体电路图3-15 整体电路图我们把行列总线接在单片机的i0口,然后把上面分析到的扫描代码送入总线, 就可以得到显示的汉字了。 在这个例子里,由于一共用到16行,16列, 如果将其全部接入89C51单片机, 一共使用32条I/O口,这样造成了I/O资源的耗尽,系统也再无扩充的余地。

42、实际应用中我们使用4-16线译码器74LS154来完成列方向的显示。 而行方向16条线则接在p0口和p2口。电路中行方向由p0口和p2口完成扫描,由于p0口没有上拉电阻,因此接一个4.7k*8的排阻上拉。 如没有排阻,也可用8个普通的4.7k 1/8w电阻。为提供负载能力,接16个2n5551的NPN三极管驱动。列方向则由416译码器74LS154完成扫描,它由89C51的P1.0-P1.3控制。同样,驱动部分则是16个2N5401的三极管完成的。电路的供电为一片LM7805三端稳压器,耗电电流为100Ma左右。4 系统软件设计软件程序主要由开始、初始化、主程序、字库组成。其中主程序和子程序的

43、流程图如图所示。主程序中,同一帧的反复扫描次数的设定,决定了显示移动的速度延时程序至关重要,这就涉及到前文所说的刷新速率问题,如设置不当,就会有闪烁感。4.1 主程序设计初始化调用显示程序调整数据指针开 始是否显示完YN图4-1 主程序流程图LED 点阵主程序,该程序能够用来实现“万方科技学院”等汉字的显示。 ORG 00HLOOP: MOV A,#0FFH ;开机初始化,清除画面MOV P0,A ;清除P0口 ANL P2,#00 ;清除P2口MOV R2,#200D100MS: MOV R3,#250 ;延时100毫秒 DJNZ R3,$ DJNZ R2,D100MS MOV 20H,#0

44、0H ;取码指针的初值l100: MOV R1,#100 ;每个字的停留时间L16: MOV R6,#16 ;每个字16个码 MOV R4,#00H ;扫描指针清零 MOV R0,20H ;取码指针存入R0L3: MOV A,R4 ;扫描指针存入A MOV P1,A ;扫描输出 INC R4 ;扫描指针加1,扫描下一个 MOV A,R0 ; 取码指针存入A MOV DPTR,#TABLE ;取数据表的上半部分的代码 MOVC A,A+DPTR MOV P0,A ; 输出到P0 INC R0 ;取码指针加1,取下一个码。 MOV A,R0 MOV DPTR,#TABLE ;取数据表下半部份的代码

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服