肖桂坤 陳厚 吳旺 嚴宏為 陳海毅
摘 要:單片機使用十分廣泛,利用單片機設計無線鍵盤,能夠提高計算機外接設備使用的便捷性。文章首先對單片機無線鍵盤的設計需求進行分析,進而探討其具體設計方法,包括系統(tǒng)總體組成結構、硬件電路設計、計算機及鍵盤軟件設計等,以期為單片機無線鍵盤設計提供參考。
關鍵詞:單片機;無線鍵盤;設計方法
前言:在無線通信技術的快速發(fā)展下,計算機附屬設備無線化已經成為一種發(fā)展趨勢。傳統(tǒng)計算機要連接電源線、網(wǎng)線、以及音箱、鼠標等各種外聯(lián)設備線,非常麻煩,容易出現(xiàn)接線混亂的問題?;诩t外技術或無線射頻技術實現(xiàn)的無線鍵盤,可以有效解決這一問題,推動計算機的無線化發(fā)展。
一、單片機無線鍵盤設計需求
首先從單片機的自身特點來看,較為先進的AVR單片機在PIC和8051系列單片機的基礎上,作出了重大改進。其內嵌的程序存儲器可反復擦寫,便于產品開發(fā)和調試,也可以長期存儲數(shù)據(jù),內容量較大。而且AVR單片機運行速度快,功能相對完善,單次指令的執(zhí)行速度在50ns左右,耗電量僅為1uA~2.5mA。AVR單片機的外設也較為豐富,包括I2C、SPI、RTC、ADC、PWM和看門狗定時器等,在安全保護和密碼保護機制的保障下,AVR單片機具有較好的保密性和抗干擾性。AVR單片機作為一種較為先進的單片機,也設計過無線鍵盤,不過多數(shù)是基于紅外技術實現(xiàn)的。受紅外技術通信的限制,無線鍵盤和計算機之間的有效通信范圍僅為2m以內,容易給實際使用帶來不便。因此,為了進一步完善AVR單片機的功能性能,本次研究擬采用無線射頻技術,通過為AVR單片機設計無線鍵盤端口,支持無線鍵盤與計算機的連接,克服紅外技術僅能夠在短距離通訊的缺點[1]。
二、單片機無線鍵盤的設計方法分析
(一)系統(tǒng)組成
AVR單片機內部擁有32個通用寄存器,34個中斷源,數(shù)據(jù)處理和指令相應速度都非??臁S捎谄鋬炔吭O置有上電啟動計數(shù)器,系統(tǒng)復位上電后,可延遲MCU執(zhí)行程序的時間,其目的是等到系統(tǒng)電源和外部電路穩(wěn)定后再開始工作,以確保單片機運行的穩(wěn)定性。單片機無線鍵盤的設計,也需要從單片機特點出發(fā),保證無線鍵盤的適用性。無線鍵盤系統(tǒng)主要由常規(guī)102鍵ps/2鍵盤和兩個AVR單片機組成,此外,還包含一個發(fā)射裝置和一個接收裝置。無線鍵盤總體可分為兩大部分,其一是計算機端,包括計算機、單片機和接收裝置,其二是鍵盤端,包括鍵盤、單片機和發(fā)射裝置。其中,計算機端的單片機負責連接計算機和接收裝置,鍵盤端的單片機負責連接鍵盤和發(fā)射裝置,從而實現(xiàn)系統(tǒng)內部的通訊功能[2]。
(二)硬件設計
根據(jù)上述系統(tǒng)組成結構,在進行硬件設計時,可分為計算機端電路和鍵盤端電路兩部分進行。其中,計算機端電路中的計算機采用6針標準接頭連接單片機,同時為單片機及射頻接收裝置供電。單片機PORTA第5引腳連接時鐘線,第4引腳連接數(shù)據(jù)線。需要為這兩個引腳設置上拉電阻輸入端口,確??臻e時鐘線和數(shù)據(jù)線能夠被拉到高電平。此外,PORTA第7引腳要串聯(lián)一個510Ω電阻,然后與時鐘線連接,第6引腳同樣串聯(lián)一個510Ω電阻,與數(shù)據(jù)線連接。在此情況下,可以利用第7和第6引腳將數(shù)據(jù)線、時鐘線下拉到低電平。采用這種設計方法可防止第4和第5引腳短接到地導致引腳被燒毀。在此基礎上,采用射頻接收裝置負責接收無線鍵盤信息,然后發(fā)送到單片機。
鍵盤端電路設計采用6針標準插座連接單片機,單片機PORTD第7引腳連接數(shù)據(jù)線,第17引腳連接時鐘線,即將時鐘線連接在單片機外部中斷端口上,當其出現(xiàn)下降沿信號時,會觸發(fā)外部中斷。單片機將接收到的1位數(shù)據(jù)通過TXD引腳發(fā)送給射頻發(fā)射裝置,由射頻發(fā)射裝置將數(shù)據(jù)發(fā)送給計算機端,完成一次通訊過程。
(三)軟件設計
單片機無線鍵盤的軟件設計同樣分為計算機端和無線鍵盤端兩個部分。首先從應用需求來看,軟件功能應包含數(shù)據(jù)輸入、數(shù)據(jù)顯示、數(shù)據(jù)接收處理和發(fā)送等。因此要為系統(tǒng)設計對應的數(shù)據(jù)接收、發(fā)送、顯示程序等??刹捎肅語言進行編程實現(xiàn),總體采用模塊化設計方法,確保各功能模塊相對獨立,方便以后的功能維護及擴展。從計算機端軟件設計情況來看,單片機軟件的主要功能是從UART口進行數(shù)據(jù)接收,每個字節(jié)的數(shù)據(jù)包含一串0xAA初始化字節(jié)流,接收裝置可自動調節(jié)增益,完成輸入數(shù)據(jù)處理工作。初始化字節(jié)流之后是0xFF字節(jié),代表下一個字節(jié)為有效數(shù)據(jù)。在利用軟件進行處理時,要不間斷的查詢UART,確定是否有新的接收數(shù)據(jù),然后利用狀態(tài)機對接收數(shù)據(jù)進行解碼。
鍵盤端的軟件設計重點應完成兩項任務,其一是在鍵盤讀取數(shù)據(jù),其二是將讀取的數(shù)據(jù)發(fā)送至信號發(fā)射裝置。其中,鍵盤讀取數(shù)據(jù)主要是通過采集敲擊前盤時產生的時鐘信號,時鐘信號變低,則響應中斷,自動從數(shù)據(jù)線上讀取1字節(jié)的數(shù)據(jù)。為保證數(shù)據(jù)讀取的準確性,可采用接收裝置的增益控制功能,同樣設置0xAA初始化字節(jié)流和1個0xFF字節(jié)。并采用定時器跟蹤數(shù)據(jù)發(fā)送時間,若未在25毫秒內成功發(fā)送,則發(fā)射裝置循環(huán)發(fā)送0xAA和0xFF。通過采用上述軟硬件設計方案,可由單片機接口和普通ps/2鍵盤構成無線鍵盤,由于采用射頻技術,能夠克服短距離通訊的缺點,并完整實現(xiàn)數(shù)據(jù)傳輸和指令傳輸過程。
結束語:綜上所述,單片機無線鍵盤的設計能夠滿足鍵盤輸入的基本功能需求,在射頻技術的支持下,通過無線鍵盤輸入數(shù)據(jù)和指令,不會產生數(shù)據(jù)丟失的問題,穩(wěn)定性較強,時延較低,基本達到了單片機無線鍵盤設計的各方面要求,具有一定的實用價值。
參考文獻:
[1]劉濤,劉娜.單片機的無線鍵盤設計探究[J].南方農機,2019,50(02):207.
[2]肖趙棟,馬朝興,郝莉.一種實用的無線鍵盤鼠標轉換器的設計[J].微計算機信息,2010,26(08):93-95.