溫度傳感器選用單總線數(shù)字溫度傳感器DS18B20,該器件將溫度傳感器、溫度報警觸發(fā)器、ROM等集成在一個很小的芯片上,傳感器直接輸出的就是溫度信號的數(shù)字值。DS18B20以9位數(shù)字的方式反映溫度值,讀出或?qū)懭霐?shù)據(jù)僅需要一根信號線。
1.5 掃描控制電路和LED陣列
目前大多數(shù)LED顯示屏的屏幕設(shè)計采用的是模塊化的結(jié)構(gòu),其基本單元是LED顯示單元模塊,屏幕大小和形狀可靈活改變,顯示屏的安裝和維護也十分方便。LED顯示單元模塊分為LED點陣和驅(qū)動電路2部分。
該LED點陣選用紅綠雙基色屏,可顯示紅、綠、黃3種顏色,價格適中。每個模塊是16×64像素,由16塊8×8像素共陽極LED點陣組成。16行LED共用一列數(shù)據(jù),每行LED的顯示時間占一個掃描周期的1/16。根據(jù)人眼的視覺暫留效應(yīng),只要整屏的刷新頻率大于60Hz,即可形成一幅穩(wěn)定的畫面。每個LED顯示單元有8個紅色數(shù)據(jù)輸入端、8個綠色數(shù)據(jù)輸入端和8個行控制信號輸入端。
驅(qū)動電路分為行驅(qū)動和列驅(qū)動。
行驅(qū)動電路由2片3-8譯碼器74HC138組成。一個行選信號同時控制著一行中所有LED的通斷,所以它需要較大的驅(qū)動電流,為此選用4953。4953內(nèi)含2個P溝道的MOSFET管,漏極電流最大可達419A,保證了行驅(qū)動能力,16×64點陣需要8片4953。2片138的16路輸出分別通過4953的驅(qū)動用于選通相應(yīng)的行,實現(xiàn)對行的控制。
列驅(qū)動采用74HC595,內(nèi)含移位寄存器和三態(tài)輸出鎖存器,可以把串行輸入的8bit數(shù)據(jù)并行輸出。分別用8個74HC595鎖存紅色、綠色數(shù)據(jù)。單片機2路控制信號與所有595的時鐘輸入SRCLK,鎖存信號RCLK相連。第1片595的串行輸出接到第2片595的串行輸入端,同理,其他引腳的連接方式一樣,通過這種級聯(lián)的方式,把8個595芯片連在一起,同時每個595芯片的并行輸出連接8個LED的列。
顯示過程為:
?。?)把顯示緩存區(qū)中的第1行紅色數(shù)據(jù)和綠色數(shù)據(jù)分別送入595鎖存;
(2)送行掃描信號,選通LED陣列的第一行并延時;
?。?)行消隱,行掃描信號下移一行并重復(fù)上述過程直至完成第16行的顯示。如此循環(huán)。
每個LED顯示單元模塊有2個接口,可根據(jù)顯示長度的不同需求靈活擴展LED單元,控制器保持不變。如需高度上擴展,可通過擴展CPLD/FPGA控制行掃描信號的同步來實現(xiàn),在顯示和控制原理上并無差別。
2 系統(tǒng)的軟件設(shè)計
系統(tǒng)軟件包括上位機軟件和下位機軟件。上位機軟件用VC編寫,與下位機通過異步串口進行通信。上位機軟件的任務(wù)是校準(zhǔn)時鐘,編輯顯示的內(nèi)容、顏色和顯示效果等并把數(shù)據(jù)廣播發(fā)送到LED顯示控制器。通信的數(shù)據(jù)格式如表1所示。
下位機開機進行中斷、串口初始化后,按照指令執(zhí)行顯示子程序,定時進行溫度采樣和時鐘數(shù)據(jù)的讀取。下位機始終處于監(jiān)聽狀態(tài),當(dāng)有串口中斷時,和上位機通信,上位機發(fā)1字節(jié)地址符,下位機接收后與本屏地址進行比較,本屏地址由控制器的撥碼開關(guān)設(shè)定。如果地址相同則接收數(shù)據(jù),否則中斷返回,由此實現(xiàn)LED屏的分布式控制。接收完全部數(shù)據(jù)后,進行校驗,如出錯則要求重發(fā),校驗正確則發(fā)送接受成功標(biāo)志給上位機,結(jié)束中斷。串口中斷程序和定時器中斷程序流程見圖5。
控制器接收到數(shù)據(jù)后存于Flash中,根據(jù)數(shù)據(jù)中的命令字,執(zhí)行相應(yīng)的操作,操作判斷流程如圖6所示。
顯示子程序根據(jù)漢字內(nèi)碼從字庫中查找出字模,送至顯示緩存區(qū),通過數(shù)據(jù)處理后輸出至列選通信號,配合行掃描信號,進行動態(tài)掃描顯示。其中數(shù)據(jù)處理功能主要完成字幕左移、右移、百葉窗、變色、閃爍等。
3 結(jié)語
本文選用了STC89LE516單片機,在保證功能和穩(wěn)定的前提下,降低了成本,擴展了大容量Flash數(shù)據(jù)存儲器,上位機只需傳送漢字內(nèi)碼即可顯示,減少了數(shù)據(jù)傳送量,提高了響應(yīng)速度。LED顯示單元可靈活擴展,滿足不同需求。