| 串行顯示驅(qū)動器PS7219及單片機的SPI接口設(shè)計 | ||||
| 吳 蓓潘天紅 | ||||
| 0 引 言 在單片機的應(yīng)用系統(tǒng)中,為了便于人們觀察和監(jiān)視單片機的運行情況,常常需要用顯示器顯示運行的中間結(jié)果及狀態(tài)等等。因此顯示器往往是單片機系統(tǒng)必不可少的外部設(shè)備之一。常用的顯示器有很多種,其中LED(發(fā)光二極管顯示器)是應(yīng)用較多的一種,它特別適用于強光和光線極弱的場合。 要使LED顯示,必須提供段選碼和位選碼。傳統(tǒng)的硬件譯碼顯示接口廣泛采用由中央處理器CPU(如:Intel 8031)擴展I/O口(如:8255),然后再使用邏輯門驅(qū)動芯片(如7407等)驅(qū)動相應(yīng)的位碼和段碼。這種設(shè)計,芯片間連線十分復(fù)雜,系統(tǒng)工作可靠性不高,已越來越不適應(yīng)單片機系統(tǒng)集成化、小型化的發(fā)展要求。特別是系統(tǒng)并行擴展I/O,其缺點十分明顯: (1)連線太多,系統(tǒng)連線復(fù)雜,印制板布線不方便; (2)并行總線上掛靠的器件太多,系統(tǒng)工作的穩(wěn)定性和可靠性低; (3)體積較大,集成度不高。 正是由于上述原因,近年來,各廠家相繼開發(fā)出了集成度較高、驅(qū)動能力較強、驅(qū)動位數(shù)較多、功能齊全的LED顯示驅(qū)動器。 本文介紹一種低價位、高性能的多位LED顯示驅(qū)動器PS7219芯片,以及它與單片機89C51具體的SPI接口設(shè)計與應(yīng)用軟件。 1 PS7219簡介 PS7219是一種新型的串行接口的8位數(shù)字靜態(tài)顯示芯片。它是由武漢力源公司新推出的24腳
PS7219內(nèi)部具有15×8RAM功能控制寄存器,可方便選址,對每位數(shù)字可單獨控制、刷新、不需重寫整個顯示器。顯示數(shù)字亮度可由數(shù)字進行控制,每位具有閃爍使能控制位。當引腳CON(13腳)置高電平,可禁止所有顯示,達到降低功耗的效果,但同時并不影響對控制寄存器的修改。PS7219還有一個掉電模式、一個允許用戶從1位數(shù)顯示到8位數(shù)顯示選擇的掃描界限寄存器和一個強迫所有LED接通的測試模式。另外,PS7219A型內(nèi)置一個可靠的uP監(jiān)控電路,可為外部提供一個脈寬140ms,觸發(fā)門限典型值為4.63V的高電平復(fù)位信號。 如果N個PS7219級聯(lián),可實現(xiàn)N×8位LED顯示。 2 PS7219引腳功能 PS7219引腳功能如表1所示。
3 PS7219工作過程 圖2為PS7219工作時序圖。由圖2可行,DIN是串行數(shù)據(jù)輸入端,在CLK的上升沿,一位數(shù)據(jù)被加載到內(nèi)部16位移位寄存器中,CLK端最高輸入頻率可達500kHz,在輸入時鐘信號的每個上升沿,均有1位數(shù)據(jù)由DIN移入到內(nèi)部寄存器中,LOAD用來裝載數(shù)據(jù),在LOAD的上升沿,16位串行輸入數(shù)據(jù)被鎖存到數(shù)字或控制寄存器中。LOAD必須在第16個時鐘上升沿的同時或之后,在下一個時鐘上升沿之前變高,否則數(shù)據(jù)將會丟失。 規(guī)定一組數(shù)據(jù)為16位二進制數(shù)據(jù)包,其格式如下:
其中D15~D12位不用,D11~D8為內(nèi)部5個控制寄存器和8個LED顯示數(shù)據(jù)寄存器的地址,地址編碼如表2。D7~D0為5個控制寄存器命令字或8個LED數(shù)碼管待顯示的數(shù)據(jù)。因為控制寄存器與顯示數(shù)據(jù)寄存器均獨立編址,所以可以通過程序單獨對每個寄存器進行操作。一般情況下,程序先送控制命令,后向顯示寄存器送數(shù)據(jù),但必須注意,每16位為一組,從高位地址節(jié)最高位開始送起,直到低位數(shù)據(jù)字最后一位為止。
PS7219按5個控制寄存器規(guī)定的方向?qū)Υ@示的數(shù)字自動掃描顯示,所以有必要對各控制寄存器的功能有所了解,現(xiàn)分述如下: (1)譯碼方式寄存器:對每個數(shù)字設(shè)置BCD碼B(0~9、E、H、L、P和-)或非代碼操作。寄存器中的每一位與一個數(shù)字對應(yīng)。邏輯高電平選擇代碼BCD譯碼,而低電平選擇旁路譯碼器。 (2)顯示亮度寄存器:其中D7~D4位可任意,而D3~D0可選擇0000~1111。D3~D0的值越大,LED顯示器越亮。 (3)掃描范圍寄存器:其掃描范圍寄存器設(shè)置所顯示數(shù)據(jù)的多少,可從1至8。它們一般以掃描速率1.5kHz、8位數(shù)據(jù)、多路復(fù)用方式顯示。 (4)掉電控制寄存器:其中D7~D1位可任意,D0=0,關(guān)閉所有顯示器;D0=1,允許顯示。 (5)顯示測試寄存器:其中D7~D1位可任意;D0=00,LED處于正常工作狀態(tài);D0=1,允許顯示。LED處于顯示測試狀態(tài)。 在送完控制字后,可根據(jù)實際需要調(diào)用顯示子程序,改變1~8個數(shù)據(jù)寄存器的內(nèi)容,完成顯示功能。 4 SPI接口 SPI是同步串行外設(shè)接口,主要用于與各種外圍器件以串行方式進行通訊、交換信息。這些外圍器件可以是簡單的TTL移位寄存器、或是復(fù)雜的LCD顯示驅(qū)動器或A/D轉(zhuǎn)換子系統(tǒng)。SPI接口很容易與許多廠家的各種外圍器件直接相連。 它使用4條線:串行時鐘線(SCK)、主機輸入/從機輸出線(MISO)、主機輸出/從機輸入線(MOSI)、低電平有效的使能信號線(CS———)。如圖3所示。這樣,僅需3-4根數(shù)據(jù)線和控制線即可擴展具有SPI接口的各種I/O器件。其典型結(jié)構(gòu)如圖3。 |








