陈万疆
(盐城生物工程高等职业技术学校,江苏 盐城 224000)
伴随着社会的迅猛发展,LED技术取得了长足进展,基于LED的显示户外广告逐步成为人们宣传品牌、推销产品的常用方式。LED显示所具有的优势主要表现为清晰易懂、应用周期长,并且不会产生较高的功耗。广告内容的多元化及个性化对LED显示提出了更高的标准及更多需求。在LED显示中,数码管显示是最基本、最常用的一项功能,通常只适合纯数字显示。LED显示屏简单来讲是由若干个发光二极管共同构成的显示屏,在实际应用中,利用调控二极管的亮灭的方式准确清晰地展示图文等相关内容。为更好地满足不同用户群体的多元化、个性化需求,本文在借鉴前人研究的基础上,通过深入探讨和不懈努力,研发了一款能够清晰直观显示温度、文字等多类不同信息的LED显示系统。
本系统是否能够实现稳定可靠的运行状态高度依赖于两大工具:一是上位机,即PC机,二是下位机,也就是我们通常所讲的单片机,在实际运行中,用户能够直接利用上位机高效便捷地编辑显示需求,而后将相关信息及时准确地发送至下位机。下位机部分采用了结构简单、反应灵敏且功能强大的单片机,由于LED显示模块的数量比较少,功能比较简单,所以单片机能够独立胜任。该系统结构见图1[1]。
单片机在整个系统设计中占据着举足轻重地位,它是不可或缺的控制核心。所以,应根据设计需求选取合适的单片机,以期以最小的代价实现预期功能。在综合考虑各方面因素之后,本文决定选取AVR系列单片机中的ATmegal6,其优势在于经济性强、功耗小,并且提供了多个便于功能扩展的I/O口。概括来讲,本文采用ATmegal6单片机的主要原因如下:
①性能可靠,功耗较小。ATmegal6的高速数据吞吐率妥善处理了功耗与效率之间的冲突,对于绿色环保的太阳能光伏系统而言,由于电能的产生实属不易,所以,采用功耗较低的控制器既符合我国乃至全球大力倡导的绿色发展理念,也能够减少资源的消耗,降低运行成本。
②I/O口数量比较多,且功能丰富。ATmegal6设置了32个I/O口,在现有的各种I/O口中,其中,PA口拥有10位精度的ADC,能够高效精准地采集单端输入电压。本系统在运行过程中,需要及时准确地搜集多路模拟信号,而ATmegal6则能够非常便捷高效地完成数据采集任务,无需引入其他电路,有助于简化电路,降低设计工作量。
③可依托对定时器的合理设置,完成对PWM波信号的及时获取及高效调控。ATmegal6包含了2个8位和1个16位的定时计数器,能够利用下达指令的方式获取相应的PWM信号,另外,存在多种不同的PWM信号模式,用户可根据实际情况选取合适的模式。
④能够和Protues软件高度兼容。ATmegal6具有较强的通用性,能够与编译后的程序进行有效对接,为系统调试和运行提供了极大便利[2]。
关于基础模块这一部分,本系统在综合考虑各方面因素之后,最终选取了经典的16*32点阵,显示屏采用了两块大小16*64的基础模块。LED点阵屏采用了多个发光二极管,每颗LED产生的像素以矩阵的形式进行连接,如果a行和电源一极接通,b列和电源的另一极接通,那么a,b像素点就会发光。
本系统选取了当前应用比较广泛的行扫描列驱动模式,其原理是扫描周期短于肉眼暂留,那么,肉眼就无法看到闪烁的情况,相关内容信息就如同在眼前。以第一行起,严格按照次序对每一行进行严格规范地扫描,结合每列锁存的数据信息,检查此列有无与电源的另一极相通,没有成功接通的列所对应的LED均不会被点亮,反之则处于发光状态。在一行扫描完结束后,再扫描下一行,将所有行严格规范地扫描完后即表示1个扫描周期结束。因扫描周期比较短,所以,肉眼能够看清全屏显示。关于点阵的扫描流程见图2[3]。
本系统在综合考虑各方面因素后决定,将ATmegal6单片机选择为控制核心,通过两块16×32点阵单色点阵显示屏清晰直观地显示相关信息,不仅如此,还采用了行驱动器等相关部件,其具体构成见图3。
单片机本身不具有控制功能,唯有与相关电路安全规范地连接在一起,共同构成一个完整的系统,方可实现其特定的控制作用。
4.1.1 晶振电路设计
ATmegal6单片机内置了一个规范合理的RC振荡电路,支持四种不同的振荡频率。不过需要认识到,基于该电路而释放出来的振荡信号精度不高,所以在比较严格的长河下,人们通常会选取外部振荡电路,以此提供精度较高的振荡频率。在实际设计和应用中,多连接22pF的电容。关于其电路设计情况见图4。
4.1.2 复位电路设计
ATmegal6单片机本身包含了上电复位,在实际应用中,可利用对相应熔丝位的精准调控,完成对复位周期的高效化、便捷化控制,而这即使在很大程度上简化了外部复位电路设计工作,一般只需要将一个上拉电阻R0连接至VCC即可。本文在全面深入地分析后,最终决定采用规格为10K的上拉电阻。
此次制作的复位电路具体见图5。旨在增强电路的稳定性和安全性,通常会额外增设一个滤波电容,由此完成对杂波的有效滤除,尽量减少各种干扰,本文为此增设了一个大小为0.1uF的电容。二极管D3(IN4148)所具有的作用主要表现为下述两个方面:一方面是在系统断电后,能够快速及时地上拉电阻短路,促进滤波电容C0快速放电,在系统连通电源后,能够正确复位;另一方面,在复位的过程中,将系统输入电压调控在VCC±0.5V范围内。本系统决定通过按键这一操作便捷、成本较低的方式进行复位,在单片机保持稳定可靠的运行状态时,直接手动按下复位开关键,以此实现有效复位[4]。
4.1.3 电源电路设计
关于AVR单片机,在实际运行中,多连接5V、33V电压。本线路操作简单,直接通过开关完成对两种电压的高效化、便捷化切换,同时利用双色二极管进行清晰直观地指示(若连接5V电压,则发绿光,若连接33V电压,则发红光)。二极管D1的主要作用是避免用户在操作过程中出现插错电源极性的现象。D2的主要功能是支持用户将电压倒灌于该电路之中,并且不会对1117-ADJ造成任何不良影响,关于电源电路设计情况见图6。
111-ADJ的特性主要表现为:1脚会输出50μA电流,1-2脚会连通1.25V电压。由此即能够准确高效地推导出输出电压的值。
若SW开关打向左边,R6上流经的电流为1.25/0.33= 3.78ma。R6上流经的电流则为1117-ADJ脚电流与R6电流之和,即0.05+3.78=3.83ma。由此即能够便捷高效地推导出R8电压是3.84V,继而可得VCC=1.25+3.83=5.08V,误差一般不超过2%。
若SW开关打向右边,R6上流经的电流为1.25/0.62= 2.02ma。R6上流经的电流为1117-ADJ脚电流与R6电流之和,即0.05+2.02=2.07ma。由此即能够便捷高效地推导出R8电压是2.07V,继而可得VCC=1.25+2.07=3.32V,误差一般不超过1%[5]。
选择1%精度的电阻,一般能够令输出电压的误差不超过3%。
本系统在全面细致的考虑之后,决定采用点阵显示模块,利用性能可靠、操作便捷的74HC138译码器完成对LED显示模块的实时化、高效化控制,由此实现共阳级扫描。另外,引入并应用PNP三极管可实现扩流之效。在进行设计时,可借助S8550放大的方式,使得输出电流的驱动能力进一步提升,由此改善LED的亮度,关于行驱动电路的连接情况见图7[6]。
在本系统中,列驱动采用了当前应用比较广泛的74HC595移位寄存器。任何74HC595均可驱动8列。单片机在运行过程中利用串口发送信息,详细来讲,首先需要通过RXD将相关信息发送至SER,再由TXD将同步数据移位脉冲发送至SRCK,在此过程中,通过PA7口完成对74HC595数据锁存信号的实时化、精准化传送。唯有在锁存信号有效的情况下,74HC595方可精准及时地输出列控制信息[7]。
列信号源于74HC595,数据信息则通过单片机的串口进行传输与发送,一般来讲,数据会按照由低位至高位的次序进行传输,在数据传输过程中,一定要确保数据和列之间精准对应,否则无法进行便捷高效的软件调试。
本系统的作用机制是利用性能可靠、操作便捷的单片机完成对LED点阵显示屏的精准化、高效化控制。选用了当前应用较为普遍的共阳极逐行动态扫描的方法,其中,行、列驱动信号分别源于74HC138、74HC595。
系统软件设计的初衷在于点阵显示屏可以利用及时生成相关信号的方式,按照用户实际需求启动和运行显示屏。对于显示驱动程序来讲,其主要作用是为点阵屏及时准确地传输指定数据,同时需要根据实际情况高效生成相应的信号,协助LED显示屏清晰准确地扫描显示。该程序能否顺利执行主要取决于显示子程序。
在显示驱动程序运行过程中,第一步需要查询当前发光的行号,于显示缓存区内精准高效地读取下一行的显示信息,并利用串口将其实时精准地传输至移位寄存器。关于该程序的运行流程见图8[8]。
此设计选取了功耗小、经济性强且安全可靠的AVR单片机,既有助于改善系统运行速率,也特别适用于室外显示系统。本系统既能够清晰直观地显示文字,也能够精准高效地显示图形、符号等,有助于满足不同用户的多元化、个性化需求,同时也为同类相关设计提供了有益借鉴。