APP下载

LED室外大屏幕电子广告牌系统的研究与设计

2022-06-10何颖

电子制作 2022年11期
关键词:广告牌流程图字符

何颖

(西安思源学院 电子信息工程学院,陕西西安,710038)

0 引言

在现代工业控制管理和智能化的仪器中,越来越多的地方需要用一些特殊的字符点阵图形显示,汉字显示也被广泛应用于公交新闻站、巨型广告屏幕等。发光二极管显示器可分为图形显示和视频显示,由发光二极管灯矩阵块组成。显示屏广泛用于交通运输、铁路车站、商场、医院、酒店、证券市场、工业企业管理等公共场所[1,2]。

无论是单个发光二极管(LED),发光数码管,都不能将完整的、复杂的文字和图形信息展示出来,都不能满足大容量信息的显示,比如新闻站、地铁、商户灯公共信息的显示,主要是因为没有足够的空间显示复杂的字符,于是出现了LED点阵显示,点阵是由多个LED小灯连接起来,并按照矩阵的方式排列出来的模块,通过对应的发光二极管点亮和熄灭组成非常复杂的文字或者图形[3]。LED具有高亮度、低工作电压、低功耗、体积小、耐冲击性能及稳定的特点。文中就是基于单片机的LED室外大屏幕电子广告牌的设计,通过单片机驱动点阵,软件程序的编写,用不同的方式显示特定的字符和图像[4,5]。

1 电子广告牌系统总体方案设计

本次设计采用的是16×16的点阵显示特定汉字和数字实现。主控芯片采用的是ATMEL公司研发生产的AT89C51芯片,选用4个8×8的点阵模块拼接而成一个16×16的点阵。包含有两个74HC595串行移位芯片和两个74HC138译码器对其进行驱动,能提供足够大的供电电流。驱动模块分别在P1口同时输入0到15的十进制数,输出两组8位二进制数通过低电平驱动列[6]。在P3口通过输入高低电平控制脉冲,输出通过移位高电平驱动行来实现。控制模块,则是通过外部硬件按键进入中断系统,来控制点阵移动。系统设计框图如图1所示。

图1 系统设计框图

2 电子广告牌系统硬件电路设计

主控模块是AT89C51芯片驱动和控制其他模块,由P1.0、P1.1、P1.2驱动595锁存器,P2.0、P2.1、P2.2、P2.3驱动138译码器,P3.1、P3.2控制按键。

本次设计的每一个汉字都是由16行16 列的点阵形成展示的,所以每个字都有 256个点阵来表示,通过字模提取软件,设置字符的高度和宽度,本次设置为16×16,输入要显示的汉字,点击键盘ctrl+enter,就可以在主界面显示点阵字符,点阵显示的字符如图2所示。

图2 点阵显示的字符

显示模块,是由4块8×8点阵组成,其中引脚YZ1到YZ8和引脚YY1到YY8分别是两个138译码器的输出端,作为列驱动点阵。引脚ZS1到ZS8和引脚ZX1和ZX8分别是两个595锁存器的输出端,作为行驱动点阵。

控制模块硬件电路是由两个按键K1和K2组成,分别控制点阵是否移动和移动方向[7,8]。按下K1点阵移动暂停,再次按下移动。点阵最开始的移动方向是左移,按下K2点阵右移,再次按下点阵左移。

驱动模块是由两块74HC595和两块74HC138组成,分别驱动行和列,使16×16的LED点阵可以显示出6个特定的汉字和四个数字。

3 电子广告牌系统软件设计

3.1 主程序设计

在主程序中,先初始化单片机,将单片机设定为用户想要的模式,本次设计先是将单片机模式设定为计数器0工作方式1。因为设计中用按键可以控制点阵移动,所以采用了中断系统,在单片机初始化中开总中断,开T0中断,并给计数器设置初值,定记时到65536进入中断。初始化结束后,进入死循环,调用显示函数xianshi(),使单片机点亮点阵,并出现用户想要显示的数据。判断是否有按键按下,如果有键按下进入相应的程序实现按键功能,如果没有按键按下则点阵一直左移出现数据。主程序流程图如图3所示。

图3 主程序流程图

程序如下所示:

3.2 595驱动模块设计

本次设计采用74HC595控制点阵的行。先点亮上部分的8×16点阵,每次数据移位8次后产生溢出标志位CY赋值给数据输入端DS,SH_cp上升沿数据寄存器里面的数据开始移位,下降沿移位寄存器数据不改变,依次循环8次点亮上部分的8行点阵,下部分同理,595驱动模块流程图如图4所示。

图4 595驱动模块流程图

3.3 显示模块设计

点亮点阵功能是在显示模块中实现的,138译码器控制点阵的列扫描,在单片机P2端口输入0-15,通过138输出的011111111到11111110低电平顺序扫描上下部分8列点阵,调用writedata(uchar dat1,uchar dat2)函数顺序点亮上下部分8行点阵,在这个子函数中调用本次设计需要显示的字符数组,然后实现这个子函数的功能。wr itedata(tab[net+aa],tab[net+aa+1]),其中net为列描次数,aa为行扫描次数,tab[net+aa]为上部分点阵行扫描;tab[net+aa+1]为下部分点阵行扫描。每次扫描结束后清屏,保证汉子正确无误的显示出来,当把数组tab[]里的数据读完后,一次循环结束。显示模块流程图如图5所示。

图5 显示模块流程图

3.4 中断模块设计

定时时间到,进入中断模块。在中断模块中,单片机控制点阵移动方向,设定一个变量alt,让alt自加,加到一定的值,点阵开始移动。判断位变量fangxiang是否为低电平,即判断S2按键是否按下。如果按下则正向移动,扫描次数变量net从0开始自加一直到288(因为16×16点阵,显示完本次设计所有的数字和汉字,需要扫描288次)这个过程中若S2按键没有再次按下,则一次正向扫描结束,net清零,开始下一次的正向扫描。如果在net还没有自加到288时,S2按键按下,则net从当前的值开始自减,导致移动方向相反,直到net自减到0这个过程中S2按键没有按下,则net重新赋值288反向移动,一次反向扫描结束。如此这样反复扫描。中断模块流程图如图6所示。

图6 中断模块流程图

4 LED室外大屏幕电子广告牌实物图

LED室外大屏幕电子广告牌的实物图如图7所示。

图7 LED室外大屏幕电子广告牌的实物图

5 结语

本次设计的课题是LED室外大屏幕电子广告牌的设计与制作。系统以AT89C51为核心芯片,P1和P3端口分别控制74HC595和74HC138驱动行和列,点亮16×16点阵,全屏可以显示一个完整的汉字和两个数字。共分为主控模块、驱动模块、显示模块、控制模块4部分实现。功能实现采用的是动态扫描,使字符能够自左向右或者自右向左依次显示出来,此次设计共显示4个数字6个汉字,这些字符完整的显示出来一共需要扫描288次。要显示的字符通过字模提取软件得到的程序存在数组tab[ ]中。通过138译码器每次选通点阵的一列,在595显示子程序中读取数组元素,相应的字符会显示在点阵上。本次共设计了两个功能按键,一个按键是控制字符移动暂停;另一个按键是控制字符移到的方向。控制字符移动按键,是在主函数中,通过停止计数器计数是在主函数中实现;本系统共设计了两种移动方式,由左至右和由右至左,这两种移动方式皆是在中断函数中实现,当硬件有键按下时,执行相应的软件程序。硬件默认先是向左移动,有键按下时向右移动,再次按下向左移动,反复交替移动。本次设计最终通过软硬件结合,实现电子广告牌的设计。

猜你喜欢

广告牌流程图字符
寻找更强的字符映射管理器
吹不倒的广告牌
字符代表几
一种USB接口字符液晶控制器设计
网络广告商的创新正被应用到户外广告牌上
消失的殖民村庄和神秘字符
专利申请审批流程图
专利申请审批流程图
高层楼顶广告牌钢结构探讨
无线供电式LED旋转广告牌设计