引言
本文设计的是一种内容更新便捷、可扩展、低价格的点阵 led文字显示屏。
降低成本的途径是:1、用几乎人人都有的手机的蓝牙数据传输功能进行led显示内容的更新,免去专业上位机软件和控制卡的成本,操作也更简单;2、单次显示内容在5至30个汉字或英文字母,因为显示内容较少,就可实现扩展电路的简单化。
1 系统设计方案
1.1 系统组成
系统由带蓝牙功能的智能手机和led显示屏组成。其中,led显示屏由单片机、led点阵模块、字库芯片、蓝牙接收模块、5v开关电源和3.3v稳压电路组成,如图1所示。系统工作过程是: 用户通过智能手机的记事本编辑“数据”,并经无线蓝牙发送到显示屏上的蓝牙接收模块。主控单片机读取蓝牙接收模块接收的“数据”并进行处理。“数据”由“控制命令”和“显示内容”构成,两部分数据用自定义特征符分隔开。“控制命令”用于对显示屏的亮度、显示内容移动速度和移动方向进行设置; 而单片机根据收到的“显示内容”的字符代码在字库芯片中找到相应的32字节显示代码送点阵屏显示。
图1 系统组成
1.2 led 点阵屏工作原理
led 点阵显示屏可按显示需要由若干块每块led 单元板拼接而成。通用led单元板由2位16×16点阵led构成,尺寸为160*320mm。
单元板的工作原理如下:
每板有16 行32列,数据的显示采用传统的行列式扫描方式。通常为了减小闪烁,提高扫描速度,采用1/4 扫描,即把16行分为4个4行,每次同时选通4个4行中的同序对应行,这样扫描4次即可完成16行的扫描显示。其中列控制由74hc595承担,每块单元板上有16片,每片分别控制4行8列的点阵小单元。行控制是由1片译码器74ls138承担,每次使单元板的4个4行的同序对应行选通。为了保证正常的电流驱动( 亮度),74ls138 的输出经amp4593 驱动放大。每块单元板有4 片,每片分别驱动4 行。16 片74hc595 接成级联方式,由于每4 行32 列需4 片74hc595, 16 行32 列就是16 片。设第一个4 行的4片74hc595 序号为1、2、3、4,第二个4 行的4 片74hc595 序号为5、6、7、8,依次类推。每一片的数据输出端接到下一片的输入端,数据从第1 片的输入端串行输入,在移位脉冲的作用下一位一位依序移入,经过8×16 个脉冲,最先移入的数据位移到了第16 片的最低位(也是该片的输出端),所有数据都移入后,就可显示一板完整的内容,按此规律即可进行显示的软件设计。如果显示的字数多,拼接的 led 单元板就多,显示一屏完整内容所需的移位脉冲就多。这种显示方式要求主控单片机有较高的指令执行速度,否则就会有闪烁感。点阵单元板原理图如图2所示。
图2 点阵单元板原理图
2 系统主要模块的选择和电路设计
2.1 主控芯片
2.1.1 芯片选择
为了满足led 显示屏的显示及多板的扩展,要求系统主控单片机有较快的运行速度; 较大的存储空间用于存储显示数据,因此选用美国silicon公司的c8051f410。该芯片是一款高性能产品,ftqp-32 封装(9mm* 9mm) 大大减小了体积; 由于采用了精简指令结构,使得每个机器周期仅需一个时钟周期,运算速度快大大加快,如果使用片内24. 5mhz 的内部时钟,其运行速度大约是普通8051 单片机工作在12mhz 时钟时的24 倍; 芯片内部资源丰富,自带看门狗,通过jtag 接口连接调试器,可方便硬件在线调试; 芯片内含uart、spi、i2c等通信接口,方便与外围芯片连接; 4个定时器/计数器使编程更方便; 自带的16k/32kflash,可存储大约1k个汉字。
2.1.2 最小系统电路设计
系统对单片机时钟的精度和温度稳定度都没有特别要求,可以直接使用c8051f410单片机内部自带的时钟振荡器,而无需外接振荡器。使用时要注意的是,是芯片工作电源是从vregin引脚引入(+ 3. 3v) ,vdd是内部基准电压输出引脚,vio 是i /o口作为数字引脚时的电源输入引脚。电路设计时必需在紧靠这3 个引脚的位置布上滤波和退耦电容(4. 7μ 和104p) .p1. 0~ p1. 3 是显示屏的控制线clk、sclk、r 和oe; p1. 7、p0. 0 ~ p0. 2是字库芯片控制线,采用spi 接口; p2. 0和p2. 1是显示屏的行扫控制线a 和b; p0. 4和p0. 5是串口通信线,与蓝牙模块连接。这12根引脚都需配置为数字引脚。最小系统电路如图3所示。
图3 c8051f410 单片机最小系统
2.2 蓝牙模块
2.2.1 模块选择
选用蓝牙模块的要求是: 价格便宜、体积小,使用方便。符合条件的蓝牙模块产品很多。设计选用的是南京国春电气生产的gc-02 蓝牙模块,这是款高质量的class2蓝牙模块。此蓝牙模块内部带有对象交换协议(opp)文件接收功能,只要上电后,就可被手机蓝牙识别,并可成功配对建立连接,接收手机蓝牙传输的文件。
gc-02 蓝牙模块共有29个引脚,可通过spi 接口或uart接口与单片机通信。本系统单片机选择uart方式与gc-02进行通信。蓝牙模块处于待机模式时,已配对过的手机向蓝牙模块发送文件,未配对的手机需先进行配对,输入正确的pin 码(即配对密码)即可配对。此蓝牙模块的出场厂pin 码是“1234”,其pin 码可通过向蓝牙模块发送指令进行修改。
2.2.2 电路设计
单片机通过引脚p0.4和p0. 5与蓝牙模块gc-2的串口(12 脚和13脚)进行通信,蓝牙模块的其他功能未用。单片机与蓝牙模块的连接如图4所示。
图4 单片机与蓝牙模块的连接图。
2.3 字库芯片
2.3.1 芯片选择
由于使用中显示的内容需要经常更换,采用文字“取模”获得显示数据的方法显然行不通,在显示电路中存储字库或采用字库芯片是个可行的办法。设计采用字库芯片,选择gt21l16s2w 标准汉字字库芯片。
gt21l16s2w 是一款内含11×12点阵和15×16点阵的汉字库芯片,支持gb2312国标简体汉字(含有国家信标委合法授权) 、ascii 字符及gb2312与unicode编码互转表。排列格式为横置横排。根据字符点阵在芯片中的地址,就可从该地址连续读出字符点阵信息。
以15x16点阵汉字为例,汉字信息需要32个字节(byte0-byte31) 来表示,点阵的数据是横置横排的,其具体排列结构如图5。每个汉字在芯片中是以汉字点阵字模的形式存储的,每个点用一个二进制位表示,存1 的点,当显示时可以在屏幕上显示亮点,存0 的点,则在屏幕上不显示。点阵排列格式为横置横排: 即一个字节的高位表示左面的点,低位表示右面的点,排满一行的点后再排下一行。这样把点阵信息用来直接在显示器上按上述规则显示,则将出现对应的汉字。15x16 点阵汉字存储在00000h~3b7bfh 的芯片地址范围中,只要知道汉字的内码,就可计算出汉字显示数据的首地址。
图5 汉字点阵排列格式
2.3.2 接口电路
字库芯片gt21l16s2w的各引脚功能如下: 1、2、5、6脚是spi接口,其中:1(cs#) 为片选输入,2(so) 为串行数据输出,5(si) 为串行数据输入,6(sclk) 为串行时钟。
7脚(hold #) 为总线挂起,该信号可用于在片选信号有效期间暂停数据传输。单片机通过引脚p0.0~p0.2 以及p1.7 与字库芯片进行通信,读取显示数据。hold#引脚悬空,vcc 工作电源为3.3 v。单片机与字库芯片的连接如图6 所示。
图6 单片机与字库芯片的连接图。
2.4 led 点阵屏与单片机的连接
点阵屏选择的是市场上应用最为广泛的p10单红户外单元板。该模块具有高稳定性,高亮度,颜色均匀等特点,进行的扫描方式是1 /4 扫,控制方法简便,有利于优化软件设计,采用点阵单元可以根据需要进行拼凑,灵活性强。led点阵屏与单片机的连接如图7 所示。其中,oe(p1. 3) 为使能信号,连接74hc138,用于亮度控制,也可用于显示屏消隐。只要调整它的占空比就可以控制亮度的变化。abcd 为行扫描信号,a 是最低位,如果abcd信号全用上,控制扫描的最大范围是16 行,1 /4 扫描中只要ab(p2. 0 和p2. 1) 信号就可以了。当行控制信号出现异常时,将会出现显示错位、高亮或图像重叠等现象。
clk(p1.0)为移位脉冲,每一个脉冲将数据移入或移出一位。当时钟信号有异常时,会使整板显示杂乱无章。stb(p1.1) 是锁存信号,将移位寄存器内的数据锁存并将其数据内容通过驱动电路点亮led显示出来。ri(p1.2) 是显示数据的输入端。
2.5 电源模块
电源模块由5v大功率电源和+3.3v小功率稳压电路组成。前者是给led屏提供电源,后者是把5v电压稳压成3.3v后提供给单片机、蓝牙模块和字库模块工作,这里选用asm1117-3.3 芯片。市售通用的led板输入额定功率约为190w/ m2,每块单元板面积是160*320 mm2 ,最大工作电流约为2 a(5v工作电压时功耗是10w) ,可根据所要求的led 显示屏的面积选择开关电源的功率。常用的开关电源,配合双mos管输出以及加强型散热器和滤波电容线圈,可保障纯净充足的电流输出。
2.6 系统总体电路
本系统以单片机c8051f410作为mcu,外围电路包括蓝牙模块、字库芯片、led点阵屏和电源模块,系统电路原理如图8所示。
图8 系统原理图。
3 系统软件设计
单片机的初始化包括:1、时钟初始化,选择片内24.5mhz 内部时钟。2、引脚配置: 配置p0.0~p0.2为spi接口(3 线) ,与字库芯片通信; 配置p0.4和p0.5为串口,与蓝牙模块实现通讯; 配置p1.0~p1. 3、p2.0 和p2.1为数字i /o,实现对显示屏的控制。3、中断、定时器/计数器和flash 相关寄存器初始化。系统软件流程如图9 所示。
图9 系统软件流程
初始化后系统将主动读取flash 指定地址范围内的数据,并将数据(unicode 字符集) 转换得到与unicode数据对应的gb2312字符集代码在字库芯片的地址码,然后将该地址码送给字库芯片提取该地址所对应的gb2312字符集,再将gb2312字符集代码通过字库芯片转化提取相对应的16*16点阵代码,通过spi口将代码送给单片机,进而单片机将点阵代码送给点阵屏并控制点阵屏将数据显示出来。
正常工作状态下,当手机蓝牙与系统蓝牙模块发生配对时,手机只有输入正确的pin 码后,才可成功配对,配对成功后,若手机采用记事本软件通过蓝牙发送数据,蓝牙模块将接收数据并通过串口发送出去,这时单片机接收数据,如果识别到有效数据的开始位为标志位“#”,那么系统将认为该命令是控制命令,即控制led 显示的亮度、速度、移动方向。控制命令的格式自主定义。例如“#35 左”,意思为:“#”为控制标志位,“3”控制亮度(控制范围为0-9,数值越大亮度越高) ,“5”控制速度(控制范围0-9,数字越大速度越慢) ,“左”为方向控制位(左为移动方向向左移,右代表向右移,上表示向上移,下为向下移) 。如果有效数据的开始位不为“#”,那么将默认此次数据为led要显示的新内容,系统将把数据按顺序存入指定的flash 地址范围内,待复位后新数据将显示于屏幕上。特别要指出的是,为了保证显示屏工作的可靠性,要在显示循环程序中得合适位置设置好“喂狗”参数。
4 结束语
系统实现了通过手机更新显示屏显示内容的目的,方便又快捷。经过一些用户的使用,其显示性能和控制性能均较为稳定。但是,在实际使用过程中也遇到了尚未解决的问题,主要有两大方面:一是有部分手机不支持unicode字符集格式;二是本设计仅限于智能机通过记事本编辑显示数据的传送,而不同手机采用的记事本编辑软件不尽兼容,本设计是基于nokia手机软件设计的。
EvoBus锂离子电池系统制造技术由德国Akasol提供
IDC:2012年信息通信产业十大预测
耗时200+小时为你精选的无人机教育资料包!
电容电抗器是什么,它的功能都有哪些
基于8031单片机的晶闸管触发电路设计
基于蓝牙技术的LED点阵屏设计方案
英特尔以凌动E3900驱动智能安防产业转型
由INA126构成的差分电压
scsi硬盘接口图
企业可以通过物联网产品获得大量数据_用这些数据来推动业务发展
京东手机给你11.11机智惠买清单5折秒杀一元购机
台积电38亿美元欧洲建厂/瑞萨收购法国物联网芯片公司/热点科技新闻点评
如何选择耐弯曲电缆?
无线话筒怎么用
使用LSRB算法解决迷宫的线迷宫机器人
CCBN2021松下展区有哪些看点不容错过
由深入浅讲解示波器的发展史
中国联通下半年将加大5G基站建设力度,让越来越多的用户感受到5G速度
汽车内饰外饰等离子表面处理清洗方案 表面活化 增加粘接力
分析HT-10系列移传感器的故障模拟试验