多種串行接口技術在LED大屏幕顯示系統中應用
1 系統總體結構組成
如圖1所示,系統的組成電路由以下4部分組成:LED顯示屏、以P87LPC767單片機為核心的驅動電路、PC機與單片機的通信電路和由24C16器件組成的I2C總線接口電路。為了節約井口,本系統采用了以下3種串行方式傳遞數據。
![]() |
1.1 I2C串行總線接口
P87LPC767的I2C總線符合標準的I2C總線規范,總線工作的時鐘信號可由P87LPC767自動產生,但數據卻是以位的方式發送和接受的,因此他的控制軟件較為復雜,但卻更為靈活。本系統P87LPC767的I2C總線上接24C16存儲器,就構成了一個I2C系統,解決了大屏幕顯示屏顯示漢字所需大量數據信息的存儲。P87LPC767是主控機(主機),串行時鐘信號由他產生,他將數據寫入24C16為主發送,從24C16中讀取數據為主接收,24C16只能是被控機(從機)。主發送工作方式是指P87LPC767作為主控機向被控機發送數據的傳送過程,發送和接收各有2種方式:
(1)單純地發或讀從機的數據;
(2)發或讀從機指定地址的數據。
1.2異步串行通訊接口
上位機PC用于對顯示信息進行編輯和對漢字進行提取,讀取漢字字模的基本步驟:
(1)獲取漢字的機內碼;
(2)通過漢字推算區位碼;
(3)由區位碼計算出漢字在字庫中的位置offset:offset=[(區碼一1)×94+(位碼一1)]32;從該偏移地址讀取32B,就是相關漢字的點陣字模代碼。通信功能利用VisualC++6.0提供的MSComm通信控件,把字體的字模信息(根據顯示屏所需格式進行重排)通過串行口分段發送給單片機,單片機再通過12C總線發送給串行E2PROM進行存儲。
1.3 軟件實現串行數據傳送接口
由軟件實現2路串行數據的輸出以完成顯示屏行和列數據的要求,下面是串行輸出1 B數據的軟件源代碼:
sbit clk=PO^ 0;
sbit dat=P1^ 7;
unsigned char bdata senddata;
sbit sendbit=senddata^7;
vid sendbyte(void)
{
int i;
POMl=0x00;
POM2=0x41;
P1M1=0x00;
P1M2=0X80;
elk=0;
for(=1;i=8;i++)
{
clk=0;
dat=sendbitl;
clk=1;
senddata=senddata1;
}
clk=0;}
可以看出,只要給出senddata數據就可以在P1^7腳串行輸出該數據。通過改變elk,dat腳及輸出模式選擇可方便實現在其他管腳的串行數據輸出功能。
2 結 語
采用多種串行接口技術,使新型的單片機P87LPC767能在大屏幕顯示中應用。P87LPC767可工作在20MHz時鐘頻率,避免了顯示屏越大,其他單片機頻率底而出現的閃爍現象。經過調試,顯示屏工作穩定,已用于一些商場及公共場所,效果良好。
評論