您当前的位置:五五电子网电子知识单片机-工控设备STC单片机(基于单片机的LED汉字显示屏的设计 正文
基于单片机的LED汉字显示屏的设计

基于单片机的LED汉字显示屏的设计

点击数:7507 次   录入时间:03-04 11:40:29   整理:http://www.55dianzi.com   STC单片机(

    本文详细介绍了由STC89C52RC单片机、74HC154芯片、晶振电路、复位电路、驱动电路、16×16 LED点阵构成的LED汉字显示屏系统。设计采用STC89C52RC单片机为微控制器,74HC154为译码器、PNP型三极管8550构成行驱动电路,NPN型三极管8050构成列驱动电路,采用4个8x8LED显示器级联构成16×16的点阵汉字显示屏。软、硬件设计结果表明所设计的LED汉字显示屏可以实现汉字的滚动显示,且汉字清晰,无串扰,无重影。

    LED点阵是一种简单的汉字显示器件,具有价廉、易于控制实现、使用寿命长的特点。本次LED汉字显示屏的设计使用STC89C52单片机对4片8x8LED点阵进行控制,采用上移显示方式,可以连续显示多个汉字。

    1 硬件设计

    1.1 系统的硬件组成框图

    系统硬件组成框图如图1所示。

e.JPG

    1)选用STC89C52单片机作为微控制器。

    2)由74HC154构成译码器,该译码器是4线-16线译码器,输入端有4条数据线,共有6种输出,分别对应控制LED点阵显示器的0-15行。译码器输入端接单片机P0口。

    3)驱动电路:由PNP型三极管8550和NPN型三极管8050构成,分别控制行和列。为显示器提供足够的驱动电流。列驱动高八位接单片机P2口,低八位接单片机P1口。行驱动接译码器芯片输出端。

    4)显示模块:由4个8x8LED显示器级联而成作为输出终端;4块显示器的连接方法为;上下排列对应列引脚相连,左右排列对应行引脚相连。

    1.2 硬件模块设计

    1.2.1 STC89C52RC单片机

    STC89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,STC89C52单片机在电子行业中有广泛的应用,管脚分布如图2所示。f.JPG

   
    1)主电源引脚(2根):VCC(PIN40)电源输入,接+5V电源;GND(Pin20)接地线。
    2)外接晶振引脚(2根):XTAL1(Pin19)片内振荡电路的输入端;XTAL2(Pin20)片内振荡电路的输出端。
    3)控制引脚(4根):RST/VPP(Pin9)复位引脚,引脚上出现2个机器周期的高电平将使单片机复位;ALE/PROG(Pin30)地址锁存允许信号;PSEN(Pin29)外部存储器读选通信号EA/VPP(Pin31)程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高则从内部程序存储器读指令。
    4)可编程输入/输出引脚(32根):AT89S51单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位(8根引脚),共32根。每一根引脚都可以编程。
1.2.2 74HC154芯片
   
74HC154是一款高速CMOS器件,74HC154引脚兼容低功耗肖特基TTL(LSTTL)系列,管脚分布如图3所示。

g.JPG

   
    74HC154译码器可接受4位高有效二进制地址输入,并提供16个互斥的低有效输出。74HC154的两个输入能门门电路用于译码器选通,以消除输出端上的通常译码“假信号”,也可用于译码器扩展。门电路包含两个“逻辑与”输入,必须置为低以便使能输出端。任选一个使能输入端作为数据输入,74HC154可充当一个1-16的多路分配器。当其余的使能输入端置低时,地址输出将会跟随应用的状态。
    在本设计中,需要定时对16x16LED的行进行动态扫描,共有16种状态,故选择了4线-16线译码器,该译码器只用输出4位有效数据,就可控制16种状态,大大简化了软件的编写,同时节省了单片机的硬件资源。



www.55dianzi.com

    1.2.3 复位电路设计

    复位电路如图4所示,其基本功能是:系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源插头分-合过程中引起的抖动而影响复位。采用简易的上电复位电路,主要由电阻R1,R2,电容C1,开关K1组成,分别接至AT89C51的RST复位输入端。

h.JPG

   
1.2.4 晶振电路设计
   
晶振电路如图5所示,其基本功能是:为单片机提供一个稳定的参考时钟,使单片机能够可靠的工作。晶振的频率常用的有6MHz、11.0 592 MHz、12 MHz等。晶振电路的接法比较同定,本设计采用的11.059 2 MHz晶振电路为晶振两端接2个20~30 pF的起振电容后接地,然后两端接单片机XTAL引脚即可,各单片机说明手册中附有不同频率的晶振的晶振电路的接法。

i.JPG

   
1.2.5 驱动电路设计
   
驱动电路原理图如图6所示,行、列驱动部分均用16个小功率普通三极管来控制。由于选用的LED显示器为共阴接法,即同名列共阳,同名行共阴,为使加入驱动后与原显示屏控制方式保持一致(列高电位接通,行低电位接通),故行驱动选用PNP型三极管8550,对应的列驱动选择NPN型三极管8050。驱动电路原理图如图6所示。

j.JPG

   
1.2.6 LED点阵汉字显示
   
要显示一个汉字,必然要用到汉字的点阵字形信息,也叫做汉字的字模。得到汉字字模的过程称为汉字的取模,汉字的取模是汉字显示的逆过程。根据汉字的不同字体,汉字字模可分为宋体字模、楷体字模、黑体字模等。根据汉字的显示清晰度,又可分为16×16点阵字模、32×32点阵字模等等。汉字的字模是汉字字形的数字化。本设计中,汉字的字模是以16进制数字形式记录的显示一个具体的汉字时每一行需要点亮的LED的信息。如图7所示:以汉字“你”为例,每一行中数字“0”代表未点亮该行对应列位置上的LED,而数字“1”则代表该行对应列位置上的LED被点亮。这样,每一行由数字“0”和数字“1”组成的汉字信息叫做位代码,将每行16位位代码转换成2个字节的16进制代码,就是我们需要的汉字字模信息。

a.JPG

   



www.55dianzi.com

 

    2 软件设计

    2.1 主程序流程图

    主程序流程图如图8所示。主程序调用了2个重要子函数,即显示子函数和移位子函数。显示子函数的功能是让LED显示器显示指针所指向的字模数组的数据,而移位子函数的功能是让指针所指的地址加2,以实现汉字整体上移一行的效果。整个主程序运行后,先初始化指针p所指向的地址,让指针指向字模数组的起始处,并且设定变量I的初值为0,用I的值来控制显示函数的重复次数,达到调整显示汉字移动速度的目的。当I值未达到设定值时,不断重复显示子函数,此时屏幕上显示的是一个静止不动的汉字,直到I达到设定值,调用移位子函数,将指针地址加2,使指针的起始位置指向第二行,然后重新从I的初始化开始执行,这样,屏幕上就呈现出汉字不断上移的结果。b.JPG

   
2.2 显示子程序流程图
   
显示子程序流程图如图9所示,显示子程序的运行过程主要是单片机I/O口对外发送数据的过程。程序首先设定了一个局部变量I,并定义其值为0。设定该变量的主要目的是为了确定扫描的行数,以控制I/O口发送相应行的字模数据。经过判断,如果I值小于15,说明正在扫描显示器上的某一行,则P0口送出相应的行扫描命令到74HC154芯片,经译码后控制显示器接通相应的行,然后P2、P1送出相应的高、低八位列字模数据,最后关闭列控制以防止残影,对I值自加1就完成了一个循环。当I>15时,说明全部的16行扫描进行完成,此时显示器整屏已经出现了需要的图像,程序执行完成。

[1] [2]  下一页


本文关键字:单片机  显示屏  汉字  STC单片机(单片机-工控设备 - STC单片机(