項目三 鍵盤控制顯示_第1頁
項目三 鍵盤控制顯示_第2頁
項目三 鍵盤控制顯示_第3頁
項目三 鍵盤控制顯示_第4頁
項目三 鍵盤控制顯示_第5頁
已閱讀5頁,還剩22頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

項目三鍵盤控制顯示--------鍵盤接口技術(shù)3.1認識開關(guān)及按鍵3.1.1開關(guān)和按鍵的外形、結(jié)構(gòu)、特點1、外形2、結(jié)構(gòu)3、特點

開關(guān)一般由機械結(jié)構(gòu)和電接觸點等組成,有常開、常閉型主要用于電流的通斷控制,電流較大;還有輕觸型、微動型主要用于開關(guān)信號的產(chǎn)生,通常電流較小,在單片機控制系統(tǒng)中應(yīng)用較多。3.2鍵擊動作轉(zhuǎn)換為數(shù)字信息3.2.1輕觸開關(guān)電路

輕觸按鍵是機械彈性觸點式,內(nèi)部裝有彈片,當施加外力克服彈片阻力時,觸點閉合,接通按鍵的兩個引腳,當外力撤除時在彈力的作用下觸點斷開。在閉合、斷開的過程中,由于機械彈性振動造成按鍵抖動,從而帶來電平高低之間振蕩。如下圖所示:從上圖中我們可以看出,一次按鍵過程:高電平→前沿抖動→低電平→后沿抖動→高電平,一般抖動的時間在5~10MS(主要取決于機械特性),而整個按鍵過程的時間則取決于操作的人員。3.2.2鍵盤電路鍵盤電路一般由一個或多個按鍵組成,在小家電上一個鍵盤通常只有幾個按鍵,在手機上有十幾個按鍵,計算機的鍵盤有100多個按鍵。鍵盤電路通常又分為:獨立式鍵盤、行列式鍵盤。按鍵的信息可以用位或數(shù)值來表示。1、獨立式鍵盤電路

獨立式鍵盤電路,每個按鍵直接連接單片機的I/O口,每個端口均帶上接電阻。識別時只需對端口進行高低電平的判別就可,識別較為簡單。2、矩陣(行列)式鍵盤(1)三行兩例(3X2)鍵盤電路

圖中P2.0、P2.1、P2.2為行線,P2.3、P2.4為列線。根據(jù)數(shù)學中的平面坐標我們可知道,平面中的點可用水平和垂直坐標值來表示:即S1~S6的坐標值可分別表示為(0,0)、(0,1);(1,0),(1,1);(2,0),(2,1),且具有唯一性,識別時較為復雜。(2)串行驅(qū)動行列式鍵盤電路

使用串行驅(qū)動可以大大減少I/O口的使用,圖中使用74LS164(真值表見右圖)后,只占用了4個I/O口,可實現(xiàn)16個按鍵的功能。但這樣會使得鍵盤軟件部分變得復雜。

(3)使用外部中斷構(gòu)成高靈敏度、高效率的行列式鍵盤電路

因按鍵是可能隨時發(fā)生,因此前面所述鍵盤電路,需要不斷的掃描按鍵,這就占用了CPU的大量資源,當CPU在處理按鍵任務(wù)時,此時如有按鍵CPU不會響應(yīng),造成靈敏度低。為此提出使用外部中斷構(gòu)成的高靈敏度、高效率的行例式鍵盤電路,因此只要有按鍵中斷就會響應(yīng),并處理按鍵信息。3.2.3識別按鍵與計算鍵值如前所述一次按鍵過程的動作完成將對應(yīng)電平的變化,在識別過程中如何消除干擾,除去按鍵抖動,又如何通過電平的變化來識別一次有效的按鍵呢?

工程上一次有效按鍵要經(jīng)過2~5次反復斷判,最終才確定按鍵有效,以避免誤動作或干擾。下圖中將P2.0置0則S3、S6就相當于兩個獨立按鍵。1、獨立式鍵盤控制LED燈亮和滅

任務(wù):結(jié)合實訓硬件電路,開始LED燈全熄滅,每按下S3一次有效時,依次點亮P1.0~P1.7端口所接LED燈,如此循環(huán)。(1)任務(wù)分析:完成這個任務(wù)的關(guān)鍵是按鍵識別,然后對有效按鍵進行計數(shù),采用查表或直接送數(shù)的方式點亮LED燈。(2)設(shè)計程序框圖

構(gòu)思:主程序只需寫調(diào)用按鍵子程序,根據(jù)按鍵統(tǒng)計的值,執(zhí)行不同的LED驅(qū)動數(shù)據(jù)。按鍵子程序只需對有效按鍵進行統(tǒng)計,有效則加1,并將統(tǒng)計結(jié)果存放在R3中,當無有效鍵按時R3不計數(shù),保持原值不變。

整個程序分成三個部分:主程序、按鍵識別子程序、延時子程序(不講)。主程序框圖:按鍵識別子程序框圖:(3)編寫程序;****說明*******************;*程序中R3用于存放按鍵計數(shù)值。;*因?qū)嵱栯娐吩O(shè)計為行列掃描鍵盤,為實現(xiàn)獨立鍵盤;*的功能,P2.0=0,相當于接地。*;*P2.3為獨立按鍵,為本任務(wù)的按鍵信息輸入端。;*P1口為LED燈的驅(qū)動輸出端***ORG0000HMOVR3,#00HMOVP2,#0FFHCLRP2.0;***********主程序************

MAIN:LCALLANJIANCJNER3,#00H,DEN_01MOVP1,#0FFHDEN_01:CJNER3,#01H,DEN_02MOVP1,#0FEHDEN_02:CJNER3,#02H,DEN_03MOVP1,#0FCHDEN_03:CJNER3,#03H,DEN_04MOVP1,#0F8HDEN_04:CJNER3,#04H,DEN_05MOVP1,#0F0HDEN_05:CJNER3,#05H,DEN_06MOVP1,#0E0HDEN_06:CJNER3,#06H,DEN_07MOVP1,#0C0HDEN_07:CJNER3,#07H,DEN_08MOVP1,#80HDEN_08:CJNER3,#08H,DEN_09MOVP1,#00HDEN_09:CJNER3,#09H,JIESHUMOVR3,#00HJIESHU:NOPLJMPMAIN;**********按鍵子程序**************

ANJIAN:CLRP2.0JNBP2.3,YAN_01LJMPCHUYAN_01:CALLDELAYJNBP2.3,YAN_02LJMPCHUYAN_02:CALLDELAYJNBP2.3,YAN_03LJMPCHUYAN_03:JNBP2.3,SFJC_1LJMPCHUSFJC_1:JBP2.3,SHI_YAN_1CALLDELAYJMPSFJC_1SHI_YAN_1:CALLDELAYJBP2.3,AJ_YOUXIAOJMPSHI_YAN_1AJ_YOUXIAO:INCR3CHU:NOPRET;*********延時子程序***************

DELAY:MOVR7,#28HD_0:MOVR6,#0FFHD_1:DJNZR6,D_1DJNZR7,D_0RET(4)軟件調(diào)試或硬件聯(lián)機仿真調(diào)試

調(diào)試過程中主要檢查程序控制的過程是否滿足設(shè)計需求,是否存在邏輯思路錯誤或指令應(yīng)用上的錯誤,觀察控制數(shù)據(jù)是否正確。逐步修改直到達到設(shè)計要求,完成任務(wù)。(5)燒錄程序到芯片,并接入硬件電路檢驗控制過程

將編譯后的十六進制或二進制機器代碼文件,通過編程器,燒錄到芯片中,在把芯片裝入硬件電路,檢驗程序控制是否達到任務(wù)要求。如查未能實現(xiàn)任務(wù)目標,則需要細心分析當前程序控制的狀態(tài),檢查程序可能否出問題的地方。然后再返回到第一步,重新思考。如果是設(shè)計思路出了問題,則需要重新選擇方案。

本任務(wù)的完成,還可選用查表的方式實現(xiàn),即按鍵計數(shù)器R3的內(nèi)容,可作為查表的依據(jù),來實現(xiàn)控制LED燈點亮過程,這里就不再詳述。實訓四按鍵控制LED燈一、實訓的目的1、掌握獨立式按鍵的軟件識別過程。2、進一步熟悉完成設(shè)計任務(wù)的基本思路和設(shè)計步驟。3、熟悉指令的應(yīng)用,形成結(jié)構(gòu)化程序設(shè)計思路。4、進一步熟悉編程器及WAVE6000仿真軟件的應(yīng)用。二、實訓的設(shè)備

實訓電路板、編程器、仿真機、計算機及配套軟件三、設(shè)計任務(wù)

任務(wù):結(jié)合實訓硬件電路,開始LED燈全亮,每按下S3一次,有效時,依次熄滅P1.7~P1.0端口所接LED燈,如此循環(huán)。(可參考項目三講課的有關(guān)內(nèi)容)四、實訓步驟1、分析任務(wù)2、設(shè)計程序方框圖3、編寫程序4、軟件調(diào)試、軟硬件結(jié)合測試五、實訓心得體會2、行列掃描按鍵識別過程

上圖為三行兩列矩陣式鍵盤,即3X2行列式鍵盤,P2.0—P2.2分別為第0行、第1行、第2行;P2.3、P2.4分別為第0列、第1列。(1)按鍵過程無鍵按下時:如圖所示,行線P2.0~P2.3輸出0,列線P

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論