串行接口鍵盤控制器SK5278在單片機系統中的應用

2021-01-13 電子產品世界

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

1 特點及引腳功能

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

表1 SK5278管腳說明

管腳號管腳名稱管腳類型

功 能

1DIOO數據輸出端,讀取鍵盤數據時,此腳在CLK上升沿輸出數據2KEYO按鍵有效輸出端,平時為低電平,當檢測到有效按鍵時,此引腳變為高電平。讀取鍵盤後,此引腳重新變為低電平3,14VDD 正電源4RST 復位端5VSS 電源地6~9X0~X3I矩陣鍵盤行線輸入端10~13Y0~Y3O矩陣鍵盤列線輸出端15OSCOO振蕩輸出腳,輸出頻率為RC振蕩頻率四分之一16RC 外接振蕩器連接端,R=3.3kΩ,C=20pF時,振蕩頻率為4MHz17CSI片選端,該腳為低時,可晶片讀取鍵盤數據18CLKI時鐘輸入端,讀取鍵盤數據時,此腳電平的上升沿表示數據有效

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鍵盤控制器可使單片機系統的人機互動鍵盤接口電路及監控程序變得簡單容易,同時減少了對單片機軟硬體資源的佔用,因而該器件是構成少數單片機鍵盤接口電路的一種較好的選擇方案。


相關焦點

  • 無線USB接口鍵盤控制器的設計方案
    摘 要:通用串行總線USB是一種嶄新的微機總線接口規範。本文介紹了一種基於USB接口的無線通訊鍵盤控制器的設計方案,包括硬體設計、設備驅動程序設計及應用軟體設計。
  • 基於AT89S52單片機和ISD4004語音晶片實現語音播報記事器的設計
    目前語音存儲與自動播放系統已經廣泛應用於日常生活當中。公共汽車上的語音報站器、銀行和醫院的排隊等候系統等,都是語音存儲與自動播報系統的應用。本文介紹一種以語音存儲與自動播放系統為基礎的語音播報記事器設計。該設計以ISD4004:語音晶片和AT89S52單片機為中心,很好地實現了語音存儲與自動播放。 1 硬體設計原理 語音播報記事器的主要功能是實現語音存儲與定時播放。
  • 微控制器接口有哪幾種_微控制器特點
    打開APP 微控制器接口有哪幾種_微控制器特點 網絡整理 發表於 2020-04-26 09:14:09   微控制器接口有哪幾種   微控制器接口有I2C,SPI,UART這三種。
  • 波特率自動檢測的識別方法及無線數據傳輸模塊的設計及應用
    1所示,主要由微控制器和藍牙晶片及其相應的外圍電路組成,能自動完成波特率識別,並進行數據的編碼處理,給用戶提供了一個透明的數據接口。模塊上預留ICSP接口,可以系統在線編程。方便程序升級。還同時具有良好的防竊密功能,不易破解。 2.2 串口模擬及波特率自適應的實現 對於模塊上的片上主控單片機AT89S51而言,既要控制nRF401完成與外界的數據交換。同時自身又必須受控於模塊外部的主控單片機,因此。
  • 基於單片機的萬年曆設計
    第二次革命是石英晶體振蕩器的應用,發明了走時精度更高的石英電子鐘錶,使鐘錶的走時月差從分級縮小到秒級。第三次革命就是單片機數碼計時技術的應用(電子萬年曆),使計時產品的走時日差從分級縮小到1/600萬秒,從原有傳統指針計時的方式發展為人們日常更為熟悉的夜光數字顯示方式,直觀明了,並增加了全自動日期、星期、溫度以及其他日常附屬信息的顯示功能,它更符合消費者的生活需求!
  • 單片機系統中日曆時鐘自動校準及調整
    1、概述本文引用地址:http://www.eepw.com.cn/article/171826.htm在各類檢測控制系統中,需要通過日曆時鐘進行時間上的控制或對事件所發生的時間進行記錄。如電網檢測系統,路燈控制系統等。
  • 工控機紅外線遙控鍵盤的設計簡析
    本文介紹一種利用紅外線發射裝置作為工業控制計算機輸入鍵盤的接口原理和實現方法,該接口可以最大限度地減少對單片機系統的硬體資源要求,僅佔用一根接口線,在系統的面板上只需一個小的接收窗。整個接口由發射和接收兩部分組成。對於單片工業控制微機系統所需的按鍵數目少於30時,發射部分可以直接使用成品紅外遙控發射器,如果自行設計發射部分,則可以支持60個鍵左右,其中有兩鍵用於構成組合按鍵。
  • 基於51單片機的TFT液晶顯示設計
    但其低廉的價格, 極低的入門難度以及適用於簡單場合應用等特點, 依然是開發者的常用選擇之一。 圖1 硬體系統原理框圖  1.1 單片機最小系統  一個單片機的最小系統包括外部晶振、電源、復位電路等, 這是保證單片機正常工作的必要條件
  • 光耦在單片機控制系統中的應用
    隔離IO口的實現在我們設計硬體系統的時候,經常有這樣的困擾,有很長距離的控制線或者通訊線連接兩個控制系統,而這樣的系統在面對一些外部幹擾,如射頻幹擾或者快速電脈衝群幹擾時,非常容易造成兩個系統之間的控制失效,或者通訊誤碼。
  • 基於AT89C2051單片機的VCN-MIO智能節點模板電路設計
    圖中,A為8路AI、6路DO;B為網絡、直流電壓與交流源接口;C、D、E分別為擴充模塊的I/O埠,其功能由擴充I/O模塊定義,可以根據工程實際需求靈活配置。研究方向:機電工程控制)  2.TP/FT-10F 主控核心模塊電路設計  主控制模塊提供了一種簡單、有效的方法將LonWorks技術運用到任何控制系統中。
  • Win7系統滑鼠鍵盤驅動檢測不到的三種解決方法
    滑鼠鍵盤是電腦的外接設備,在使用它們的時候需要用到對應的驅動程序,不然會無法響應運行。有用戶反應新買的滑鼠鍵盤,插入電腦後,驅動程序一直檢測不到,這是怎麼回事呢?通常是因為接口損壞或者驅動不兼容導致,下面小編就跟大家分享一下Win7系統滑鼠鍵盤驅動檢測不到的三種解決方法。
  • usb接口沒反應 解決筆記本usb接口沒反應
    使用筆記本的朋友有時候會遇到USB接口沒反應的情況,比如插上USB滑鼠也沒有反應,那麼筆記本USB接口沒反應怎麼解決呢?下面我們就來看看如何解決這種情況。  首先我們分析原因有可能是人為操作不當引起的,原因可能是關機拔USB線的時候系統正好在使用USB,也就是系統還沒反應過來已經斷開USB了,還有可能是關機過快,沒等某些程序或服務關閉就強行關閉WINDOWS。
  • 如何使用MSP430單片機實現簡易計算器的設計
    本文介紹了一種基於MSP430單片機的簡易電子計算器設計。基於MSP430單片機的簡易電子計算器設計具有體積小、便於攜帶、應用方便、組成元器件少、製造成本低等優點。MSP430單片機具有的超低功耗、硬體浮點數運算等功能使得簡易電子計算器設計簡單、計算能力強,有著廣闊的發展前景。
  • 電工必學:PLC與單片機的本質區別是什麼?
    PLC與單片機的本質區別是什麼? PLC與單片機的差別是: 1、PLC是應用單片機構成的比較成熟的控制系統,是已經調試成熟穩定的單片機應用系統的產品。有較強的通用性。
  • 基於P89V51單片機和CD4051晶片實現4路智能溫控儀產品樣機的設計
    針對生產中常遇到的多路溫度測控問題,提出以單片機系統為核心的4路溫度測控儀表的設計方案。該系統可監控4路溫度,同時輸出控制信號直接作用於對象,而無需經變換器,節省大量成本,同時該系統設計還具有結構緊湊,測量精度高,抗幹擾能力強.測溫範圍廣。LCD中文界面友好,可遠程通訊等特點。
  • 基於51單片機的日曆時鐘
    1 引言隨著微電子技術與大規模集成電路的發展,單片機的串行通信應用正在不斷的走向深入,由於它具有功能強、體積小、功耗低、價格便宜、工作可靠、使用方便等特點,廣泛使用與我們生活的各個領域。單片機往往是作為一個核心部件來使用,再根據具體硬體結構,以及針對各種具體的要求使用相應的外部擴展,來實現具體的實際要求。
  • 扔掉電視遙控器 邁樂全鍵盤控制器體驗
    邁樂F10-Pro感應式全鍵盤控制器可完美兼容邁樂自家所有的智能機頂盒產品,當然也可以兼容其它品牌的智能機頂盒(必須是Android系統才可以支持),但這款產品並非某款邁樂智能機頂盒的控制器,用戶需額外選購。
  • 圖解電腦主板的結構,主板電子元件、插槽和接口用途講解
    南橋晶片控制了輸入/輸出設備和外部設備,如USB設備、IDE設備、SATA設備、音頻控制器、鍵盤控制器、實時時鐘控制器和高級電源管理等設備。 南橋晶片 SATA以連續串行的方式傳輸數據,減少了接口的針腳數目,提高了傳輸效率。和IDE接口相比,SATA接口的傳輸速度更快,還支持「熱插拔」技術。 SATA接口
  • win10系統USB接口沒反應怎麼解決
    如果我們在使用win10系統的時候,遇到了usb接口沒反應,遇到這個問題應該怎麼解決呢?今天系統總裁小編就帶來了win10系統USB接口沒反應的操作步驟。1、win10系統電腦開機之後,敲擊win+r組合鍵,在打開的運行窗口中輸入msconfig,點擊「確定」按鈕。2、點擊「服務」選項卡,勾選左下角的「『隱藏所有Microsoft服務」,接著點擊「全部禁用」按鈕。