<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 消費電子 > 設計應用 > 串行顯示驅動(dòng)器PS7219及單片機的SPI接口設計

串行顯示驅動(dòng)器PS7219及單片機的SPI接口設計

——
作者:吳 蓓潘天紅 時(shí)間:2007-01-26 來(lái)源:《EDN電子設計技術(shù)》 收藏

0 引 言

本文引用地址:http://dyxdggzs.com/article/21057.htm

在單片機的應用系統中,為了便于人們觀(guān)察和監視單片機的運行情況,常常需要用顯示器顯示運行的中間結果及狀態(tài)等等。因此顯示器往往是單片機系統必不可少的外部設備之一。常用的顯示器有很多種,其中led(發(fā)光二極管顯示器)是應用較多的一種,它特別適用于強光和光線(xiàn)極弱的場(chǎng)合。

要使led顯示,必須提供段選碼和位選碼。傳統的硬件譯碼顯示接口廣泛采用由中央處理器cpu(如:intel 8031)擴展i/o口(如:8255),然后再使用邏輯門(mén)驅動(dòng)芯片(如7407等)驅動(dòng)相應的位碼和段碼。這種設計,芯片間連線(xiàn)十分復雜,系統工作可靠性不高,已越來(lái)越不適應單片機系統集成化、小型化的發(fā)展要求。特別是系統并行擴展i/o,其缺點(diǎn)十分明顯:

(1)連線(xiàn)太多,系統連線(xiàn)復雜,印制板布線(xiàn)不方便;

(2)并行總線(xiàn)上掛靠的器件太多,系統工作的穩定性和可靠性低;

(3)體積較大,集成度不高。

正是由于上述原因,近年來(lái),各廠(chǎng)家相繼開(kāi)發(fā)出了集成度較高、驅動(dòng)能力較強、驅動(dòng)位數較多、功能齊全的led顯示驅動(dòng)器。

本文介紹一種低價(jià)位、高性能的多位led顯示驅動(dòng)器ps7219芯片,以及它與單片機89c51具體的spi接口設計與應用軟件。

1 ps7219簡(jiǎn)介

ps7219是一種新型的串行接口的8位數字靜態(tài)顯示芯片。它是由武漢力源公司新推出的24腳
雙列直插式芯片,采用流行的同步串行外設接口(spi),可與任何一種單片機方便接口,并可同時(shí)驅動(dòng)8位led(或64只獨立led),其引腳圖如圖1所示。

ps7219內部具有15×8ram功能控制寄存器,可方便選址,對每位數字可單獨控制、刷新、不需重寫(xiě)整個(gè)顯示器。顯示數字亮度可由數字進(jìn)行控制,每位具有閃爍使能控制位。當引腳con(13腳)置高電平,可禁止所有顯示,達到降低功耗的效果,但同時(shí)并不影響對控制寄存器的修改。ps7219還有一個(gè)掉電模式、一個(gè)允許用戶(hù)從1位數顯示到8位數顯示選擇的掃描界限寄存器和一個(gè)強迫所有led接通的測試模式。另外,ps7219a型內置一個(gè)可靠的up監控電路,可為外部提供一個(gè)脈寬140ms,觸發(fā)門(mén)限典型值為4.63v的高電平復位信號。

如果n個(gè)ps7219級聯(lián),可實(shí)現n×8位led顯示。

2 ps7219引腳功能

ps7219引腳功能如表1所示。

3 ps7219工作過(guò)程

圖2為ps7219工作時(shí)序圖。由圖2可行,din是串行數據輸入端,在clk的上升沿,一位數據被加載到內部16位移位寄存器中,clk端最高輸入頻率可達500khz,在輸入時(shí)鐘信號的每個(gè)上升沿,均有1位數據由din移入到內部寄存器中,load用來(lái)裝載數據,在load的上升沿,16位串行輸入數據被鎖存到數字或控制寄存器中。load必須在第16個(gè)時(shí)鐘上升沿的同時(shí)或之后,在下一個(gè)時(shí)鐘上升沿之前變高,否則數據將會(huì )丟失。

規定一組數據為16位二進(jìn)制數據包,其格式如下:

其中d15~d12位不用,d11~d8為內部5個(gè)控制寄存器和8個(gè)led顯示數據寄存器的地址,地址編碼如表2。d7~d0為5個(gè)控制寄存器命令字或8個(gè)led數碼管待顯示的數據。因為控制寄存器與顯示數據寄存器均獨立編址,所以可以通過(guò)程序單獨對每個(gè)寄存器進(jìn)行操作。一般情況下,程序先送控制命令,后向顯示寄存器送數據,但必須注意,每16位為一組,從高位地址節最高位開(kāi)始送起,直到低位數據字最后一位為止。

ps7219按5個(gè)控制寄存器規定的方向對待顯示的數字自動(dòng)掃描顯示,所以有必要對各控制寄存器的功能有所了解,現分述如下:

(1)譯碼方式寄存器:對每個(gè)數字設置bcd碼b(0~9、e、h、l、p和-)或非代碼操作。寄存器中的每一位與一個(gè)數字對應。邏輯高電平選擇代碼bcd譯碼,而低電平選擇旁路譯碼器。

(2)顯示亮度寄存器:其中d7~d4位可任意,而d3~d0可選擇0000~1111。d3~d0的值越大,led顯示器越亮。

(3)掃描范圍寄存器:其掃描范圍寄存器設置所顯示數據的多少,可從1至8。它們一般以?huà)呙杷俾?.5khz、8位數據、多路復用方式顯示。

(4)掉電控制寄存器:其中d7~d1位可任意,d0=0,關(guān)閉所有顯示器;d0=1,允許顯示。

(5)顯示測試寄存器:其中d7~d1位可任意;d0=00,led處于正常工作狀態(tài);d0=1,允許顯示。led處于顯示測試狀態(tài)。

在送完控制字后,可根據實(shí)際需要調用顯示子程序,改變1~8個(gè)數據寄存器的內容,完成顯示功能。

4 spi接口

spi是同步串行外設接口,主要用于與各種外圍器件以串行方式進(jìn)行通訊、交換信息。這些外圍器件可以是簡(jiǎn)單的ttl移位寄存器、或是復雜的lcd顯示驅動(dòng)器或a/d轉換子系統。spi接口很容易與許多廠(chǎng)家的各種外圍器件直接相連。

它使用4條線(xiàn):串行時(shí)鐘線(xiàn)(sck)、主機輸入/從機輸出線(xiàn)(miso)、主機輸出/從機輸入線(xiàn)(mosi)、低電平有效的使能信號線(xiàn)(cs———)。如圖3所示。這樣,僅需3-4根數據線(xiàn)和控制線(xiàn)即可擴展具有spi接口的各種i/o器件。其典型結構如圖3。

5 接口設計

5.1 硬件設計

ps7219的spi接口是一個(gè)高速的同步串行i/o口,它允許1~8位的串行比特流以特定的傳輸速率移進(jìn)移出芯片。但這要求微處理器帶有spi接口能力。對不帶spi或相同接口能力的微處理器,需用軟件合成spi操作來(lái)和ps7219接口,這里筆者以目前應用廣泛的at89c51為例,進(jìn)行了電路設計,接口電路圖見(jiàn)圖4所示。

這里,89c51的p1.6作串行數據輸出,連接到ps7219的din腳,p1.7和p1.5通過(guò)程序分別模擬ps7219的時(shí)鐘脈沖clk及數據加載load信號。ps7219的sa~sg、sdp端連接到各led數碼管對應的a~f及dp端,dig0~dig3分別接4位led數碼管的共陰極,以實(shí)現位選。另外,選用xicor公
司的x25045作為看門(mén)狗監控電路。

實(shí)際上,數碼管的位數可在1~8位之間任意選擇,這可由寫(xiě)入的掃描界線(xiàn)寄存器的命令字決定。注意,為了使由峰值數字驅動(dòng)器電流引起的紋波減到最小,需要在v+和gnd之間盡可能靠近芯片的地方外接一個(gè)10μf的電解電容和一個(gè)0.1μf的瓷片電容。ps7219應放在緊靠led顯示器的地方,且連線(xiàn)盡可能短,兩個(gè)gnd引腳都必須連接到地線(xiàn)上。

ps7219只需一組+5v電源和89c51的三個(gè)輸出口,且無(wú)附加電路,可驅動(dòng)1~8個(gè)led顯示器,顯示亮度可調,工作可靠。

5.2 軟件編程

在89c51的程序存儲器區開(kāi)辟一些存儲單元,專(zhuān)門(mén)用來(lái)定義控制命令字,這些命令字的具體數值根據你要選擇的工作方式、顯示內容、顯示位數等等來(lái)定義。

由于ps7219的控制寄存器和顯示寄存器均獨立編址,顯示程序實(shí)際上就是89c51在p1.7(clk),p1.5(load)時(shí)序的配合下不斷通過(guò)p1.6(din)向ps7219的相應控制寄存器和數據顯示寄存器寫(xiě)入16位二進(jìn)制數據包的過(guò)程。所以問(wèn)題的關(guān)鍵在于編寫(xiě)一個(gè)通用的寫(xiě)入子程序,將vwo的內容從高位到低位在p1.7(clk)的作用下依次移入移位寄存器,最后由p1.5的上升沿(load信號)鎖存到相應的內部控制寄存器和數據顯示寄存器中去。寫(xiě)入子程序的程序流程圖如圖5所示。

無(wú)論初始化ps7219的控制寄存器,還是在相應的數碼管顯示數字,均可通過(guò)調用上述通用寫(xiě)入子程序完成。



關(guān)鍵詞:

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>