串行接口LED數(shù)碼管及鍵盤管理器件ZLG7289A的原理與應用
出處:jin7727 發(fā)布于:2007-04-19 16:18:25
關鍵詞:ZLG7289A;LED顯示;鍵盤接口;SPI
1 概述
ZLG7289A是廣州周立功單片機發(fā)展有限公司自行設計的、具有SPI串行接口功能的、可同時驅動8位共陰式數(shù)碼管(或64只獨立LED)的智能顯示驅動芯片。
該芯片同時可連接多達64鍵的鍵盤矩陣。單塊芯片即可完成LED顯示以及鍵盤接口的全部功能。
ZLG7289A內部含有譯碼器,可直接接收BCD碼或16進制碼,并同時具有2種譯碼方式,此外還具有多種控制指令,如消隱、閃爍、左移、右移、段尋址等。
通過ZLG7289A自身所具有的片選信號,可以方便地實現(xiàn)多于8 位顯示或多于64 鍵的鍵盤接口。該芯片的主要特性如下:
●帶有串行接口,無需外圍元件即可直接驅動LED;
●各位可獨立控制譯碼/不譯碼及消隱和閃爍屬性;
●具有(循環(huán))左移/(循環(huán))右移指令;
●具有段尋址指令,可方便地控制獨立的LED顯示器;
●內含64鍵鍵盤控制器以及去抖動電路;
●可完全替代其它公司的8279、8155、8255等系列顯示器件。
2 引腳說明
ZLG7289A芯片具有標準的DIP28和SOIC28兩種封裝形式。其引腳排列如圖1所示,各引腳的功能說明見表1所列。
表1 ZLG7289A引腳功能說明
| 引 腳 | 名 稱 | 說 明 | 
| 1,2 | VDD | 正電源 | 
| 3,5 | NC | 不連接,必須懸空 | 
| 4 | VSS | 接地 | 
| 6 | CS | 片選輸入。此腳為低電平時,可向芯片發(fā)送指令及讀取鍵盤數(shù)據 | 
| 7 | CLK | 同步時鐘輸入端。向芯片發(fā)送數(shù)據及讀取鍵盤數(shù)據時,此引腳電平上升沿表示數(shù)據有效 | 
| 8 | DATA | 串行數(shù)據輸入/輸出端。當芯片接收指令時,此引腳為輸入端;當讀取鍵盤數(shù)據時,此引腳在讀指令一個時鐘的下降沿變?yōu)檩敵龆恕?/TD> | 
| 9 | KEY | 按鍵有效輸出端。平時為高電平,當檢測到有效按鍵時,此引腳變?yōu)榈碗娖?/TD> | 
| 10~16 | SG~SA | 段ga驅動輸出 | 
| 17 | DP | 小數(shù)點驅動輸出 | 
| 18~25 | DIG0~DIG7 | 數(shù)字0~7驅動輸出 | 
| 26 | CLKOUT | 振蕩輸出端 | 
| 27 | RC | RC振蕩器連接端 | 
| 28 | RESET | 復位端。低電平有效,當RESET端由低電平變?yōu)楦唠娖胶螅琙LG7289A大約經過18~25ms的時間才會進入正常工作狀態(tài) | 
3 控制指令說明
ZLG7289A 的控制指令分為二大類:純指令和帶有數(shù)據的指令。
3.1 純指令
純指令包括復位(清除)指令(0A4H)、測試指令(0BFH)、左移指令(0A1H)、 右移指令(0A0H)、 循環(huán)左移指令(0A3H)、 循環(huán)右移指令(0A2H)等。下面以復位(清除)指令(0A4H)為例來進行說明,該指令的格式如下:
| D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | 
| 1 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 
當ZLG7289A 接收到該指令后,將所有的顯示清除,所有設置的字符消隱、閃爍等屬性也被一起清除。執(zhí)行該指令后,芯片所處的狀態(tài)與系統(tǒng)上電后所處的狀態(tài)一樣。
3.2 帶有數(shù)據的指令
(1)數(shù)據且按方式0譯碼指令
該指令的格式如下:
| D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | 
| 1 | 0 | 0 | 0 | 0 | a2 | a1 | a0 | 
| D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | 
| DP | X | X | X | d3 | d2 | d0 | d1 | 
該命令由二個字節(jié)組成。前半部分為指令,其中a2 a1 a0 為位地址,d0~d3為數(shù)據。具體分配方式如表2所列。當系統(tǒng)接收到此指令時(ZLG7289A將按譯碼方式0進行譯碼)具體的譯碼方式如表3所列。小數(shù)點的顯示可由DP位控制,DP為1時,小數(shù)點顯示,DP為0時,小數(shù)點不顯示。在該指令格式中,x表示沒有影響。
表2 位地址分配表
| a2 | a1 | a0 | 顯示位 | 
| 0 | 0 | 0 | 1 | 
| 0 | 0 | 1 | 2 | 
| 0 | 1 | 0 | 3 | 
| 0 | 1 | 1 | 4 | 
| 1 | 0 | 0 | 5 | 
| 1 | 0 | 1 | 6 | 
| 1 | 1 | 0 | 7 | 
| 1 | 1 | 1 | 8 | 
表3 譯碼方式表
| d0~d3 | d3 | d2 | d1 | d0 | 7段顯示 | 
| 00H | 0 | 0 | 0 | 0 | 0 | 
| 01H | 0 | 0 | 1 | 1 | 1 | 
| 02H | 0 | 0 | 0 | 0 | 2 | 
| 03H | 0 | 0 | 1 | 1 | 3 | 
| 04H | 0 | 1 | 0 | 0 | 4 | 
| 05H | 0 | 1 | 0 | 1 | 5 | 
| 06H | 0 | 1 | 1 | 0 | 6 | 
| 07H | 0 | 1 | 1 | 1 | 7 | 
| 08H | 1 | 0 | 0 | 0 | 8 | 
| 09H | 1 | 0 | 0 | 1 | 9 | 
| 0AH | 1 | 0 | 1 | 0 | - | 
| 0BH | 1 | 0 | 1 | 1 | E | 
| 0CH | 1 | 1 | 0 | 0 | H | 
| 0DH | 1 | 1 | 0 | 1 | L | 
| 0EH | 1 | 1 | 1 | 0 | P | 
| 0FH | 1 | 1 | 1 | 1 | 空無顯示 | 
(2)數(shù)據且按方式1譯碼指令
這種指令與上一個指令基本相同。所不同的是,該指令的d0~d3對應的數(shù)據位0AH~0FH分別為七段顯示中的A、B、C、D、E、F。該指令的具體格式如下:
| D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | 
| 1 | 1 | 0 | 0 | 1 | a2 | a1 | a0 | 
| D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | 
| DP | X | X | X | d3 | d2 | d0 | d1 | 
(3) 讀鍵盤數(shù)據指令
該指令從ZLG7289A讀出當前的按鍵代碼,格式如下:
| D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | 
| 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 
| D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | 
| d7 | d6 | d5 | d4 | d3 | d2 | d0 | d1 | 
與其它指令不同的是,此命令的前一個字節(jié)0001010B 為單片機傳送到ZLG7289A的指令,而后一個字節(jié)d0~d7則為ZLG7289A返回的按鍵代碼。 其范圍為0~3FH(無鍵按下時為0xFF)。在此指令的前半段,ZLG7289A 的DATA 引腳處于高阻輸入狀態(tài),可以用來接收來自微處理器的指令;在指令的后半段,DATA 引腳從輸入狀態(tài)轉為輸出狀態(tài),此時將輸出鍵盤代碼的值。故微處理器連接到DATA 引腳的I/O口應當有一個從輸出態(tài)到輸入態(tài)的轉換過程。
當ZLG7289A檢測到有效的按鍵時,KEY 腳將從高電平變?yōu)榈碗娖?,并一直保持到按鍵結束。在此期間,如果ZLG7289A 接收到“讀鍵盤數(shù)據指令”,則輸出當前按鍵的鍵盤代碼;如果在接收到“讀鍵盤數(shù)據指令”時沒有有效按鍵,ZLG7289A將輸出FFH(11111111B)。
(4)其它指令
除以上幾個指令外,ZLG7289A還具有數(shù)據但不譯碼、閃爍控制、消隱控制、段點亮指令、段關閉等指令,限于篇幅,此處不再詳述。
圖2
4 典型應用
ZLG7289A 的典型應用電路如圖2所示,圖中,ZLG7289A 應連接共陰式數(shù)碼管,應用中無需用到的數(shù)碼管和鍵盤可以不連接,因而可省去數(shù)碼管。此外,設置消隱屬性也不會影響鍵盤的使用。
由于ZLG7289采用的是循環(huán)掃描的工作方式,因此,如果采用普通的數(shù)碼管,亮度可能不夠,故應采用高亮度或超高亮度的數(shù)碼管,且尺寸也不宜選的過大,一般字符高度不超過1 英寸,如使用大型的數(shù)碼管,則應選用適當?shù)尿寗与娐贰?/P>
ZLG7289A的RESET復位端在一般情況下,可以直接和VCC相連;而在需要較高可靠性的情況下,則可以連接外部復位電路或直接由MCU 控制。在上電或RESET 端由低電平變?yōu)楦唠娖胶?,通常要經過大約18~25ms的時間,ZLG7289A才會進入正常工作狀態(tài)。
圖3
5 應用實例
圖3是以AT89C51單片機為例給出的ZLG7289A與單片機的接口電路。圖中,AT89C51所用時鐘頻率為12MHz如果使用不同的CPU時鐘頻率,則應注意調整延時時間。下面給出的是該系統(tǒng)的部分程序:
;*****************RAM定義
BIT_COUNT DATA 07FH
TIMER DATA 07EH
TIMER1 DATA 07DH
TEN DATA 07CH
DATA_IN DATA 020H
DATA_OUT DATA 021H
;**************I/O定義
DAT BIT P0.6 ;ZLG8279A的 DATA,連接AT89C51的P0.6
KEY BIT P0.7 ; ZLG8279A的KEY,連接AT89C51的P0.7
CS BIT P0.4 ; ZLG8279A的CS,連接AT89C51的P0.4
CLK BIT P0.5 ; ZLG8279A的CLK,連接AT89C51的P0.5
ORG 0000H
AJMP START
ORG 0030H
START:MOV SP,#2FH ;堆棧定義
MOV P1,#11011011B ;I/O初始化
MOV TIMER,#50  ;25ms定時
START_DELAY: MOV TIMER1,#255
START_DELAY1: DJNZ TIMER1,START_DELAY1
DJNZ TIMER,START_DELAY
MOV DATA_OUT,#10100100B ;復位指令
CALL SEND ;發(fā)指令到ZLG8279A
SETB CS ;恢復CS高電平
MAIN:JB KEY,MAIN ;是否有鍵按下
MOV DATA_OUT,#00010101B  ;有鍵按下,發(fā)讀鍵盤指令
CALL SEND
CALL RECEIVE
SETB CS  ;CS置高電平
MOV B,#10 ;16進制到BCD碼轉換
MOV A,DATA_IN
DIV AB
MOV TEN,A
MOV DATA_OUT,#10100001B ;左移指令
CALL SEND
MOV DATA_OUT,#10100001B
CALL SEND
MOV DATA_OUT,#10000001B ;數(shù)據且譯碼指令
CALL SEND
MOV DATA_OUT,TEN ;發(fā)送十位數(shù)字到ZLG8279A
CALL SEND
MOV DATA_OUT,#10000000B ;數(shù)據且譯碼指令
CALL SEND
MOV DATA_OUT,B ;發(fā)送個位數(shù)字到ZLG8279A;
CALL SEND
SETB CS
WAIT:JNB KEY,WAIT ;等待按鍵松開
JMP MAIN
;**** 發(fā)送一個字節(jié)到ZLG8279A,高位在前
SEND: MOV BIT_COUNT,#8 ;記數(shù)器設定
CLR CS  ;CS置低電平
CALL LONG_DELAY ;長延時子程序
SEND_LOOP:MOV C,DATA OUT.7 ;輸出1位
MOV DAT,C
SETB CLK ;CLK置高電平
MOV A,DATA_OUT ;待發(fā)送數(shù)據左移
RL A
MOV DATA_OUT,A
CALL SHORT_DELAY ; 短延時子程序
CLR CLK ; CLK置低電平
CALL SHORT_DELAY
DJNZ BIT_COUNT,SEND_LOOP ;8位是否發(fā)送完畢
CLR DAT ;發(fā)送完畢,返回
;***接收一個字節(jié)到ZLG8279A,高位在前
RECEIVE:MOV BIT_COUNT,#8 ;記數(shù)器設定
SETB DAT ;設定P1.2(DATA)為高電平輸入狀態(tài)
CALL LONG_DELAY ;
RECEIVE_LOOP: SETB CLK ; CLK置高電平
CALL SHORT_DELAY
MOV A,DATA_IN ;數(shù)據左移
RL A
MOV DATA_IN,A
MOV C,DAT ;讀取一位數(shù)據
MOV DATA_IN.0,C
CLR CLK
CALL SHORT_DELAY
DJNZ BIT_COUNT,RECEIVE_LOOP ; 8位是否接收完畢
CLR DAT ; 重設DAT口為低電平(輸出狀態(tài))
;**************延時子程序
LONG_DELAY: MOV TIMER,#25 ;設定延時時間為50μs
DELAY_LOOP: DJNZ TIMER,DELAY_LOOP
SHORT_DELAY:MOV TIMER,#4 ;設定延時時間為50μs
SHORT_LP: DJNZ TIMER,SHORT_LP
END
6 結束語
ZLG8279A具有的特點和豐富的指令系統(tǒng),使得由其組成的LED顯示和鍵盤電路具有外圍電路簡單,功能強大,使用方便,可靠性高,與MCU接口簡單等特點,是LED顯示和鍵盤電路的器件。筆者利用該芯片制作的“學生提問指示儀”,經使用,效果良好。
版權與免責聲明
凡本網注明“出處:維庫電子市場網”的所有作品,版權均屬于維庫電子市場網,轉載請必須注明維庫電子市場網,http://www.udpf.com.cn,違反者本網將追究相關法律責任。
本網轉載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網贊同其觀點或證實其內容的真實性,不承擔此類作品侵權行為的直接責任及連帶責任。其他媒體、網站或個人從本網轉載時,必須保留本網注明的作品出處,并自負版權等法律責任。
如涉及作品內容、版權等問題,請在作品發(fā)表之日起一周內與本網聯(lián)系,否則視為放棄相關權利。
- 什么是氫氧燃料電池,氫氧燃料電池的知識介紹2025/8/29 16:58:56
 - SQL核心知識點總結2025/8/11 16:51:36
 - 等電位端子箱是什么_等電位端子箱的作用2025/8/1 11:36:41
 - 基于PID控制和重復控制的復合控制策略2025/7/29 16:58:24
 - 什么是樹莓派?一文快速了解樹莓派基礎知識2025/6/18 16:30:52
 









