LED多功能遥控显示屏设计与实现
扫描二维码
随时随地手机看文章
0 引言
随着计算机及相关的微电子.光电子技术的迅猛发展,LED显示屏以其可靠性高.使用寿命长.环境适应能力强.性价比高的特点,迅速成长为平板显示的主流产品.
目前大多数的LED 点阵显示系统自带字库,显示和动态效果(主要是显示内容的滚动)的实现依靠硬件扫描驱动,该方法虽然比较方便,但显示内容不易及时更新,而且当LED显示屏安装到户外时,不能对其进行有效的控制.室内显示屏通过数据线控制,很不方便.
设计围绕多功能LED 显示屏进行,显示方式有上下左右移动,利用PC 机进行显示内容的实时控制更新.系统使用红外发射.接收器构成的遥控电路,遥控接收器通过对红外光接收并识别,判断控制操作,来完成整个红外遥控发射.接收过程,可以方便地更新显示内容,更换显示方式,使设计更具实用性和操作控制的方便性.
1 总体设计方案
LED 显示屏多采用动态扫描显示方式.扫描显示的原理是基于人眼的视觉暂留现象,各显示行(列)轮流显示,只要刷新频率不小于24 f/s,人眼感觉到的将是完整连续的图像.
红外遥控是以红外线作为载体来传送控制信息的,红外线发射头采用红外发光二极管,这样遥控发射器易于小型化且价格低廉.采用数字信号编码和二次调制方式,不仅可以实现多路信息的控制,增加遥控功能,提高信号传输的抗干扰性,减少误动作,而且功耗低,不会产生信号串扰,反应速度快,传输效率高,工作稳定可靠等.单片机采用STC89C58RD+,储存数据量比STC89C52大,晶振用22.1148 MHz,以提高刷新的频率使显示更稳定.P0口输出行信号经74HC154译码后,产生行选通信号送入显示屏的行进行轮流显示.单片机P2口与8位移位寄存器74HC595相连.系统总体结构图如图1所示.
2 硬件电路设计
2.1 16×64 LED点阵屏
系统显示屏用16 行.64 列的高亮白5 mm LED 发红光二极管搭建成.每行64个LED的阳极相连成行线并引出,16行16个接口作为共阳行线接口端,方便与行驱动模块连接,实现行的定位和扫描;每列16个LED的阴极相连并引出,每8条列线组成一个接口,方便与列驱动模块相接,实现寄存器数据的存储与扫描,从而搭建成显示屏系统.部分点阵屏电路如图2所示.
2.2 主控与扫描驱动电路
主控电路以STC89C58RD+芯片为核心,外接复位电路.时钟电路及串口下载线接口电路(RS 232 通信接口),用于LED 显示系统和电脑的通信,通信方式为10 位的异步通信,在线下载便于程序更新,有利于系统的维护.
扫描驱动电路由行和列驱动组成.LED 显示屏一共16行,用一片74HC154对16行LED 进行译码选择,经过TIP127放大并转换成高电平,从而选通行线.
列扫描驱动采用并行数据串行传输的方案,数据锁存器用74HC595.64 列用8 块74HC595 芯片来驱动,8 块74HC595是首尾相连,前面一块74HC595的移位输出连接到下一块74HC595 输入,第一块74HC595 的串行数据输入端与单片机数据输出端相连接,其中前2块74HC595连接如图3所示.
2.3 红外收发遥控电路
红外发射接收原理是:发射端输入信号经放大后送入红外发射管发射,在接收端,接收管收到红外信号后,由放大器放大处理还原成控制信号.按下某一个按键,单片机识别出该按键,同时单片机向接有红外发射管的端口发射一定频率的脉冲.该脉冲与38 kHz左右的载波脉冲进行调制,然后将已调制的脉冲进行缓冲放大,激励红外发光二极管将电能转化为光能,使得红外发光二极管发射出一定频率的红外线.当接收控制系统接收到该红外光后,由单片机内定时/计数器得到该红外光的频率,然后将该频率送往CPU,由CPU对该信号进行解码,识别出控制信号,从而对控制电路实施控制功能,完成整个遥控功能.
系统采用一体化红外接收头HS0038,如图4所示,1 脚GND 接电源地,2 脚VCC 接+5 V,3 脚OUT 为数据输出端(TTL 电平,反相输出),可直接与单片机相连.
SE303 是红外发射二极管,当P2.0=1时,三极管9013 导通,SE303 通电发射红外线,实际上发射的是频率为38 kHz的脉冲串.电路连接如图4所示.
3 软件系统设计
3.1 总体程序流程设计
单片机开外部中断,不断查询是否有红外信号发射过来,若没有接收到信号,单片机按照原来的预编入内容进行扫描,送给显示屏显示.否则,单片机接收数据,辨认显示方式,接收完毕后,更新显示内容.同理按照这种方式接收PC机的数据,进行更新显示.总体程序如图5所示.
3.2 串行通信程序
每当向PC机客户程序里输入新显示内容并发送给单片机时,单片机就产生串行中断,接受待显示信息的机内码,然后再利用点阵字模信息提取程序得到点阵数据送到LED 显示屏显示.单片机接受数据采用中断的方式.串行中断程序流程图如图6所示.
3.3 LED显示程序
LED 显示屏的显示方式有静止.上下滚屏.左右滚屏等多种方式,其程序流程如图7所示.其中上下滚屏显示程序类似,左右滚屏显示程序类似,其他多花样的显示方式程序都是在此基础上进行改动而来的.
3.4 PC机客户程序
系统的PC 机客户程序用Visual Basic 6.0进行开发,主要利用其串行通信控件MSComm,其主要流程图见图8所示.
3.5 红外遥控程序
3.5.1 发射程序设计
因HS0038 的红外接收频率为38 kHz,所以载波信号采用38 kHz方波.载波信号由子程序产生,方波周期t=26 μs.该程序基于字节传输的红外遥控数据格式,在发送字节的开始先通过单片机发送20个脉冲宽度(每个脉冲周期26 μs)的高电平作为传输开始,接着发送8 位数据(字节高位在前,低位在后),最后发送10 个脉冲宽度的低电平作为传输结束.其程序流程图如图9所示.
3.5.2 接收程序设计
HS0038 输出的信号是解调后的反向信号,所以接收到的信号解码时也要经过反向才能与发送信号编码一致.当接收到同步帧后,进入解码部分,接收完一帧后,处理收到的数据并进入下一次接收.解码采用软件抽样判决,以15个脉冲为判决门限,在门限时刻读得低电平时,即可判定为编码‘1';在门限时刻读得高电平时,即可判定为编码'0'.解码一位后,需等到下一位的高电平到来,再计数15 个脉冲后,判断读得的电平是高还是低,进行解码.程序流程如图10所示.
4 结语
基于STC89C58RD+单片机控制的遥控LED点阵显示屏设计,能很好地完成多功能显示,通过红外遥控对显示内容和显示效果进行实时无线远距离的操作控制,能够实现数字.字母.汉字等信息的动静态显示,还可以和PC 机通信,通过PC 机串口对显示信息进行更新,传输给遥控器储存,然后用遥控器可以方便地对显示内容进行更新和变换显示模式.