歡迎您光臨本站 登入註冊首頁

概述

SK5278原理,特點及在單片機系統中的應用SK5278原理,特點及在單片機系統中的應用  概述:對於以單片機為核心構成的智能儀器、儀錶、工控設備及家用電器而言,構成人機交互的鍵盤……
SK5278原理,特點及在單片機系統中的應用

SK5278原理,特點及在單片機系統中的應用


   概述:對於以單片機為核心構成的智能儀器、儀錶、工控設備及家用電器而言,構成人機交互的鍵盤介面電路是必不可少的,而相應的鍵盤管理軟硬體設計卻比較麻煩。簡單的矩陣鍵盤存在著佔用CPU軟硬體資源多、響應速度慢、監控軟體編製複雜等問題,專用的鍵盤介面器件如INTE8279、HD7219又往往具有LED數碼管顯示電路,如果僅使用其鍵盤管理功能,則存在硬體資源浪費,介面電路複雜,造價較高等問題,SK5278即是為解決上述鍵盤管理問題而推出的一款鍵盤控制晶元。


    SK5278是一種可管理16個按鍵的鍵盤控制器,該器件內部具有去抖動處理電路,可直接輸出按鍵的鍵值編碼,並採用串列方式與單片機或微處理器進行介面,使用該器件可簡化單片機系統軟硬體的鍵盤介面。文中給出了該器件的特點、管腳說明和使用方法,並以AT89C2051單片機為例給出了相應的介面電路及相應程序。


1 特點及引腳功能


SK5278是福州貝能科技有限公司推出的採用PIC內核的鍵盤控制器。該晶元採用4線串列介面,可與任何種類的單片機介面;它具有按鍵有效指示輸出,可用中斷方式管理鍵盤;其行線X0~X3與列線Y0~Y3可構成4×4鍵盤矩陣;SK5278的16鍵鍵盤控制器內含去抖動處理電路,因而可直接輸出鍵值;此外,該器件的工作電源電壓範圍寬達4~6V;SK5278採用18腳雙列直插DIP封裝形式。其管腳排列如圖1所示,管腳說明如表1所列。






表1 SK5278管腳說明















































































管腳號



管腳名稱



管腳類型



功    能



1



DIO



O



數據輸出端,讀取鍵盤數據時,此腳在CLK上升沿輸出數據



2



KEY



O



按鍵有效輸出端,平時為低電平,當檢測到有效按鍵時,此引腳變為高電平。讀取鍵盤后,此引腳重新變為低電平



3,14



VDD


 

正電源



4



RST


 

複位端



5



VSS


 

電源地



6~9



X0~X3



I



矩陣鍵盤行線輸入端



10~13



Y0~Y3



O



矩陣鍵盤列線輸出端



15



OSCO



O



振蕩輸出腳,輸出頻率為RC振蕩頻率四分之一



16



RC


 

外接振蕩器連接端,R=3.3kΩ,C=20pF時,振蕩頻率為4MHz



17



CS



I



片選端,該腳為低時,可晶元讀取鍵盤數據



18



CLK



I



時鐘輸入端,讀取鍵盤數據時,此腳電平的上升沿表示數據有效




 


2 工作原理


SK5278可用行線X0~X3和列線Y0~Y3構成4×4矩陣鍵盤。同時在晶元內部可自動完成掃描、解碼、去抖動處理等任務。當SK5278檢測到有效的按鍵時,按鍵有效指示“KEY”引腳將從低電平變為高電平,並一直保持到按鍵代碼被讀取為止。在“KEY”為高電平期間,如果SK5278接收到“讀鍵盤數據”命令,(即“CS”管腳變低),則輸出當前按鍵的鍵盤代碼,SK5278鍵盤代碼的範圍為00H-0FH。如果在接收到“讀鍵盤數據”時沒有按鍵按下,SK5278將輸出FFH。在一次讀鍵盤過程完成後,按鍵有效指示“KEY”將變為低電平。利用按鍵有效指示“KEY”與單片機的外部中斷端相連,可完成具有中斷的鍵盤監控功能,從而提高CPU的工作效率,減少按鍵響應時間。


SK5278工作時需要外接RC振蕩電路以供系統工作,RC元件的典型值為R=3.3kΩ,C=20pF,此時的振蕩頻率約為4MHz,由於此振蕩頻率較高,故在印製電路板布線時,所有元件尤其是振蕩電路的元件應盡量靠近晶元,並盡量使電路連線最短。


SK5278的RESET複位端在一般應用情況下,可以直接與正電源連接,在需要較高可靠性的情況下,可以連接外部RC複位電路,在上電或接收到RESET端的複位信號后,SK5278大約需要經過25ms的複位時間才會進入到正常工作狀態。程序中應儘可能地減少CPU對SK5278的訪問次數,以提高程序的效率。


值得注意的是,如果有2個鍵同時被按下,則SK5278隻能給出其中一個按鍵的代碼,因此SK5278不適合應用於需要2個或2個以上按鍵同時被按下的應用場合。如確實需要雙鍵組合使用或組合增加鍵盤數量,可在單片機的某I/O腳接入一鍵與SK5278共同組雙鍵鍵盤監控電路。


3 串列介面及時序


SK5278採用串列方式與單片機或微處理器介面,串列數據從“DIO”引腳輸出,並由“CLK”端發出同步時鐘脈衝。當SK5278檢測到有鍵按下時,按鍵有效指示“KEY”變高,單片機檢測到“KEY”信號變高后,便將片選端“CS”拉低,從而使得SK5278將取得的鍵盤數據在“CLK”引腳的上升沿從“DIO”腳依次送出。在單片機發出8個時鐘脈衝后,即可從“DIO”端讀取8位鍵值編碼,該編碼值的D7為最高位,D0為最低位,然後單片機再使片選“CS”變高,並使“KEY”端重新輸出低電平,至此,讀鍵值過程結束。SK5278的串列介面時序如圖2所示。圖中,T1表示從“CS”下降沿至第一個CLK上升沿的延時,典型值為15μs;T2為CLK脈衝寬度,典型值為10μs;T3為CLK脈衝時間間隔,典型值為10μs。



4 應用電路


利用SK5278串列介面佔用單片機口線少及無鍵按下時無須CPU干預的特點,可以很容易地構成單片機的鍵盤介面電路,圖3所示是AT89C2051單片機與SK5278構成的鍵盤及介面電路。圖中,AT89C2051的P1.2、P1.3、P1.4口線分別與SK5278的“CS”、“CLK”、“DIO”端相連。為了提高按鍵的響應速度並減少單片機的干預。本方案將SK5278的按鍵有效指示端“KEY”與AT89C2051的外中斷端INT0相連,由於INT0為低電平中斷,故而加入了一級非門以使“KEY”反相后與其相連。與圖3電路對應的鍵盤處理程序如下:


;位定義


COUNT DATA 70H


RXBUF DATA 20H


;I/O定義


DIO BIT P1.4


CS BIT P1.2


CLK BIT P1.3


;主程序


MAIN:MOV SP,#50H


MOV P1,#0FFH ;將P1口置為輸入


SETB IT0 ;INT0為邊沿觸發


SETB PX0 ;INT0為高優先順序中斷


SETB EX0 ;開INT0中斷


SETB EA ;CPU開中斷


LCALL DL25ms ;延時25ms等待SK5278複位


;INT0鍵盤中斷程序


INT0:LCALL RECEIVE ;讀鍵值


MOV A,RXBUF ;鍵值送A


CJNE A,#00H,KEY-1 ;K0鍵未按下轉下鍵


LJMP KEY0 ;K0鍵按下,轉入相應鍵值處理子程序


KEY1:CJNE A,#01H,KEY-2;


LJMP KEY1 ;K1鍵按下,轉入相應鍵值處理子程序


KEY2:…


……


KEY15:CJNE A,#0FH,KEYFH ;K15鍵未按下,中斷返回


LJMP KEY15 ;KEY15鍵按下,轉入相應鍵值處理程序


KEYFH:RET; 無鍵按下時中斷返回讀鍵盤值程序


RECEIVE:CLR CS ;讀鍵盤數據有效


SETB DIO ;將DIO置為高電平輸入狀態


ACALL DL 15μs ;T1延時


MOV COUNT,#08H ;共八位數據


LOOP:SETB CLK


ACALL DL 15μs ;T2延時


MOV A,RXBUF


RL A ;數據左移一位


MOV RXBUF,A


MOV C,DIO ;讀取一位數據


MOV RXBUF.0,C


CLR CLK


ACALL DL 15μs ;T3延時


DJNZ COUNT,LOOP


SETB DIO ;將DIO重置為高電平輸入


ACALL DL 15μs


SETB CS ;讀鍵盤數據無效


RET



5 結束語


應用SK5278鍵盤控制器可使單片機系統的人機交互鍵盤介面電路及監控程序變得簡單容易,同時減少了對單片機軟硬體資源的佔用,因而該器件是構成少數單片機鍵盤介面電路的一種較好的選擇方案。



[admin via 研發互助社區 ] SK5278原理,特點及在單片機系統中的應用已經有2565次圍觀

http://cocdig.com/docs/show-post-37835.html