?????? 現有的霓虹燈以及彩燈控制器多是使用專用集成電路,其中固化多種閃爍方式,一般只提供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路)廣告中使用,性能良好,使用靈活,價格低廉。受到用戶肯定。
以上的程序設計,如果略加修改,便可用于可控大型焰火的燃放等其它領域。
評論
查看更多