现有的霓虹灯以及彩灯控制器多是使用专用集成电路,其中固化多种闪烁方式,一般只提供4~16路输出。由于在大型霓虹灯中使用的控制器路数相当多,一般只能定做,代价高而且灵活性较差。本设计由于采用了力源公司的新一代BASIC单片机PS1016及高性价比的8位LED控制驱动器PS7219,从而可实现多路端口,并且能够对任一端口进行控制,可广泛用于大型霓虹灯、塑料霓虹灯以及彩灯的可编程控制,既可在产品上直接编程,又可在计算机上调试好直接传输。具有设计简单、使用方便等特点。
1主要器件介绍
1.1 PS1016单片机
PS1016单片机引脚排列如图1所示,其特点如下:
1.固化在芯片内部的PICBASIC解释程序,提供32条语句;
2.20MHz的系统时钟,16位双向的位可独立编程为输入/输出(I/O)口,支持多种I/O操作;
3.PICBASIC源程序存放在外扩的24LC16BE2PROM中。E2PROM的容量为2K字节,约可存放600~800条语句。
1.2 8位LED控制驱动器PS7219
PS7219引脚排列如图2所示。PS7219是一种高性能,低价格的多位LED显示驱动器。它在性能上完全兼容MAX7219,并增添了位闪等功能。其接口采用流行的同步串行外设接口(SPI),可与任何一种单片机方便接口,并可同时提供64路输出或驱动64只独立LED。PS7219内部具有15×8RAM功能控制寄存器,可方便寻址,对每位数字可单独控制、刷新,不需重写整个显示器。显示的亮度可数字控制,每位都具有闪烁使能控制位,引脚CON置高电平,可禁止所有显示,达到降低功耗的效果,并不影响对控制寄存器的修改。PS7219还有一个掉电模式,一个允许用户从1位数显示到8位数显示选择的扫描界限寄存器和一个强迫所有LED接通的测试模式。N个PS7219级联,可实现N×8位LED的显示。
2 硬件设计
硬件组成框图如图3所示。
图3多路端口的可编程霓虹灯及彩灯控制器框图
键盘输入由于对按键的要求不是太高,故使用了PS1016独有的POT语句来识别所按的键;数码显示为4个8段数码管,可由带I2C接口的LED驱动器SAA1064驱动;与微机的接口使用了MAX232接口电路。
整个系统以单片机PS1016为核心,它控制整个系统的输入输出。其控制可分为编程和运行两个状态,在编程状态PS1016接受小键盘的输入并把数据处理后存储到1M位CMOS串行E2PROM24LC256中。运行时从24LC256中顺序取出数据并按编程设计要求发送到各个PS7219中,点亮端口,整个程序循环运行。每增加一个分机便增加64路输出。
3 软件设计
整个程序也分为编程和运行两个部分,程序总框图如图4所示。
图4程序流程框图
本程序关键在于数据的输入、读取和写入。对24LC256的读写及对PS7219的写入格式程序的编写可参考力源的有关手册。存储在24LC256中的数据结构和标志位可以根据需要自己决定,这样可以方便将来用微机通过RS232口下传控制代码。PS1016单片机的程序在微机上编好后,通过开发器下传至单片机。
PS1016利用SDA和SCL两根引脚形成一个I2C总线接口,数据传送速率为60kHz,使PS1016能扩展I2C器件。
I2C数据传送格式如图5所示:
其中S为启动信号,A为应答信号,R/W为读/写位,P为停止信号。
图5I2C数据传送格式
24LC256工作于单字节读写或页读写模式,利用数据1,数据2来形成高低位地址。以下是PS1016读写24LC256程序,实现单字节数据写入和读出。
本设计已制作成功,在淮阴市商场的霓虹灯(共237路)广告中使用,性能良好,使用灵活,价格低廉。受到用户肯定。
以上的程序设计,如果略加修改,便可用于可控大型焰火的燃放等其它领域。
1主要器件介绍
1.1 PS1016单片机
PS1016单片机引脚排列如图1所示,其特点如下:
1.固化在芯片内部的PICBASIC解释程序,提供32条语句;
2.20MHz的系统时钟,16位双向的位可独立编程为输入/输出(I/O)口,支持多种I/O操作;
3.PICBASIC源程序存放在外扩的24LC16BE2PROM中。E2PROM的容量为2K字节,约可存放600~800条语句。
1.2 8位LED控制驱动器PS7219
PS7219引脚排列如图2所示。PS7219是一种高性能,低价格的多位LED显示驱动器。它在性能上完全兼容MAX7219,并增添了位闪等功能。其接口采用流行的同步串行外设接口(SPI),可与任何一种单片机方便接口,并可同时提供64路输出或驱动64只独立LED。PS7219内部具有15×8RAM功能控制寄存器,可方便寻址,对每位数字可单独控制、刷新,不需重写整个显示器。显示的亮度可数字控制,每位都具有闪烁使能控制位,引脚CON置高电平,可禁止所有显示,达到降低功耗的效果,并不影响对控制寄存器的修改。PS7219还有一个掉电模式,一个允许用户从1位数显示到8位数显示选择的扫描界限寄存器和一个强迫所有LED接通的测试模式。N个PS7219级联,可实现N×8位LED的显示。
2 硬件设计
硬件组成框图如图3所示。
图3多路端口的可编程霓虹灯及彩灯控制器框图
键盘输入由于对按键的要求不是太高,故使用了PS1016独有的POT语句来识别所按的键;数码显示为4个8段数码管,可由带I2C接口的LED驱动器SAA1064驱动;与微机的接口使用了MAX232接口电路。
整个系统以单片机PS1016为核心,它控制整个系统的输入输出。其控制可分为编程和运行两个状态,在编程状态PS1016接受小键盘的输入并把数据处理后存储到1M位CMOS串行E2PROM24LC256中。运行时从24LC256中顺序取出数据并按编程设计要求发送到各个PS7219中,点亮端口,整个程序循环运行。每增加一个分机便增加64路输出。
3 软件设计
整个程序也分为编程和运行两个部分,程序总框图如图4所示。
图4程序流程框图
本程序关键在于数据的输入、读取和写入。对24LC256的读写及对PS7219的写入格式程序的编写可参考力源的有关手册。存储在24LC256中的数据结构和标志位可以根据需要自己决定,这样可以方便将来用微机通过RS232口下传控制代码。PS1016单片机的程序在微机上编好后,通过开发器下传至单片机。
PS1016利用SDA和SCL两根引脚形成一个I2C总线接口,数据传送速率为60kHz,使PS1016能扩展I2C器件。
I2C数据传送格式如图5所示:
其中S为启动信号,A为应答信号,R/W为读/写位,P为停止信号。
S |
器件 类型 |
器件 选择 |
R/W |
A |
数据1 |
A |
数据2 |
A |
数据3 |
… |
A |
P |
图5I2C数据传送格式
24LC256工作于单字节读写或页读写模式,利用数据1,数据2来形成高低位地址。以下是PS1016读写24LC256程序,实现单字节数据写入和读出。
'###写24LC256### |
'W10键盘输入的要点亮的端口号 |
'高位为b21低位为b20 |
'W1116位地址计数器高位为b23低位为b22 |
IICOUT$0A,$02,b23,b22,b21'写入高位数据 |
W11=W11+1 |
IICOUT$0A,$02,b23,b22,b20'写入低位数据 |
W11=W11+1 |
goto KEYBOARD INPUT'到键盘输入子程序 |
… |
'###读24LC256### |
W11=0'地址计数器清零 |
IICIN$0A,$02,b23,b22,b21'读入高位数据 |
W11=W11+1 |
IICOUT$0A,$02,b23,b22,b20'读入低位数据 |
If w11=$FFFFthen START'结束标志,重新开始 |
W11=W11+1 |
… '发送W10数据到PS7219子程序 |
goto LOOP |
本设计已制作成功,在淮阴市商场的霓虹灯(共237路)广告中使用,性能良好,使用灵活,价格低廉。受到用户肯定。
以上的程序设计,如果略加修改,便可用于可控大型焰火的燃放等其它领域。
评论
查看更多