單片機(jī)外圍設(shè)備講解1_第1頁(yè)
單片機(jī)外圍設(shè)備講解1_第2頁(yè)
單片機(jī)外圍設(shè)備講解1_第3頁(yè)
單片機(jī)外圍設(shè)備講解1_第4頁(yè)
單片機(jī)外圍設(shè)備講解1_第5頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、主講教師:廉哲QQ:17434548電話公室:綜合樓C3185151單片機(jī)硬件結(jié)構(gòu)單片機(jī)硬件結(jié)構(gòu)C51C51基礎(chǔ)知識(shí)及其基本程序設(shè)計(jì)基礎(chǔ)知識(shí)及其基本程序設(shè)計(jì)C51C51函數(shù)、數(shù)組、指針定義及應(yīng)用函數(shù)、數(shù)組、指針定義及應(yīng)用單片機(jī)內(nèi)部資源及其單片機(jī)內(nèi)部資源及其C C語(yǔ)言編程語(yǔ)言編程單片機(jī)資源擴(kuò)展及其單片機(jī)資源擴(kuò)展及其C C語(yǔ)言編程語(yǔ)言編程綜合程序設(shè)計(jì)綜合程序設(shè)計(jì)考試考試 鍵盤是單片機(jī)應(yīng)用系統(tǒng)中使用最廣泛的一種鍵盤是單片機(jī)應(yīng)用系統(tǒng)中使用最廣泛的一種 數(shù)據(jù)輸入設(shè)備。鍵盤是一組按鍵的組合。鍵通常數(shù)據(jù)輸入設(shè)備。鍵盤是一組按鍵的組合。鍵通常是一種常開型按鈕開關(guān),常態(tài)下鍵的兩個(gè)觸點(diǎn)處

2、是一種常開型按鈕開關(guān),常態(tài)下鍵的兩個(gè)觸點(diǎn)處于斷開狀態(tài),按下鍵時(shí)它們才閉合(短路)。于斷開狀態(tài),按下鍵時(shí)它們才閉合(短路)。4 非編碼鍵盤非編碼鍵盤按組成結(jié)構(gòu)又可分為按組成結(jié)構(gòu)又可分為獨(dú)立式鍵盤獨(dú)立式鍵盤和和矩陣式鍵盤矩陣式鍵盤。獨(dú)立式鍵盤的工作過(guò)程與矩陣式鍵盤獨(dú)立式鍵盤的工作過(guò)程與矩陣式鍵盤類似,無(wú)論是硬件結(jié)構(gòu)還是軟件設(shè)計(jì)都比較簡(jiǎn)單,。類似,無(wú)論是硬件結(jié)構(gòu)還是軟件設(shè)計(jì)都比較簡(jiǎn)單,。 通常,鍵盤有通常,鍵盤有編碼編碼和和非編碼非編碼兩種。編碼鍵盤通兩種。編碼鍵盤通過(guò)硬件電路產(chǎn)生被按按鍵的鍵碼和一個(gè)選通脈沖。過(guò)硬件電路產(chǎn)生被按按鍵的鍵碼和一個(gè)選通脈沖。選通脈沖可作為選通脈沖可作為CPU的中斷請(qǐng)求信

3、號(hào)。這種鍵盤使的中斷請(qǐng)求信號(hào)。這種鍵盤使用方便,所需程序簡(jiǎn)單,但硬件電路復(fù)雜,常不被用方便,所需程序簡(jiǎn)單,但硬件電路復(fù)雜,常不被單片機(jī)采用。單片機(jī)采用。 S1 S1S4S4S3S3S2S2 P1.4 P1.4 P1.5 P1.5 P1.6 P1.6 P1.7 P1.7 89S52 89S52+5V+5V圖圖8.1 獨(dú)立式鍵盤接口獨(dú)立式鍵盤接口特點(diǎn):特點(diǎn):每個(gè)按鍵占用一條每個(gè)按鍵占用一條I/OI/O線,當(dāng)按鍵數(shù)量較多時(shí),線,當(dāng)按鍵數(shù)量較多時(shí),I/OI/O口利用率不高,但程序編制簡(jiǎn)口利用率不高,但程序編制簡(jiǎn)單。適用于所需按鍵較少的場(chǎng)單。適用于所需按鍵較少的場(chǎng)合。合。特點(diǎn):特點(diǎn):電路連接復(fù)雜,但提電

4、路連接復(fù)雜,但提高了高了I/OI/O口利用率,軟件編程口利用率,軟件編程較復(fù)雜。適用于需使用大量較復(fù)雜。適用于需使用大量按鍵的場(chǎng)合。按鍵的場(chǎng)合。 89s5289s52P1.0P1.0P1.1P1.1P1.2P1.2P1.3P1.3P1.4P1.4P1.5P1.5P1.6P1.6P1.7P1.7+5V+5V圖圖8.2 矩陣式鍵盤接口矩陣式鍵盤接口掃描法 和線反轉(zhuǎn)法 89s5289s52P1.0P1.0P1.1P1.1P1.2P1.2P1.3P1.3P1.4P1.4P1.5P1.5P1.6P1.6P1.7P1.7+5V+5V圖圖8.2 矩陣式鍵盤接口矩陣式鍵盤接口 鍵盤接口的消抖鍵盤接口的消抖 1

5、消除鍵抖動(dòng)消除鍵抖動(dòng)鍵穩(wěn)定鍵按下前沿抖動(dòng)前沿抖動(dòng)圖5.2 鍵合斷時(shí)的電壓抖動(dòng)鍵盤控制流程鍵盤控制流程 單片機(jī)對(duì)矩陣單片機(jī)對(duì)矩陣式鍵盤接口處理的式鍵盤接口處理的一般過(guò)程如圖一般過(guò)程如圖8.3所所示。示。鍵掃描鍵掃描消抖消抖求鍵碼求鍵碼等待釋放等待釋放鍵掃描鍵掃描消除抖動(dòng)消除抖動(dòng)有鍵按下?有鍵按下?鍵掃描鍵掃描確有鍵按下?確有鍵按下?求鍵值求鍵值按鍵處理按鍵處理鍵釋放?鍵釋放?Y YY YY YN NN N等待鍵釋放等待鍵釋放N N開始開始返回返回按鍵處理按鍵處理圖圖8.3 鍵盤處理流程框圖鍵盤處理流程框圖1. 鍵掃描鍵掃描 鍵掃描就是要判斷有無(wú)鍵按下,當(dāng)掃描到有鍵鍵掃描就是要判斷有無(wú)鍵按下,當(dāng)掃

6、描到有鍵按下時(shí)再進(jìn)行下一步處理,否則退出鍵盤處理程序。按下時(shí)再進(jìn)行下一步處理,否則退出鍵盤處理程序。獨(dú)立式鍵盤掃描只需讀取獨(dú)立式鍵盤掃描只需讀取IO口狀態(tài)口狀態(tài),而矩陣式鍵盤而矩陣式鍵盤描通常有兩種實(shí)現(xiàn)方法:描通常有兩種實(shí)現(xiàn)方法:逐行掃描法逐行掃描法和線反轉(zhuǎn)法。和線反轉(zhuǎn)法。 (1) 逐行掃描法。逐行掃描法。依次從第一至最末行線上發(fā)依次從第一至最末行線上發(fā)出低電平信號(hào)出低電平信號(hào), 如果該行線所連接的鍵沒有按下如果該行線所連接的鍵沒有按下的話的話, 則列線所接的端口得到的是全則列線所接的端口得到的是全“1”信號(hào)信號(hào), 如如果有鍵按下的話果有鍵按下的話, 則得到非全則得到非全“1”信號(hào)。信號(hào)。 8

7、9C51P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7+5V01111 1 1 110111 1 1 011011 1 1 111101 1 1 1設(shè)第2行第4列鍵按下行線輸出 列線輸入0 1 1 11 1 1 11 0 1 11 1 1 01 1 0 11 1 1 11 1 1 01 1 1 1 (2 2)線反轉(zhuǎn)法。)線反轉(zhuǎn)法。 線反轉(zhuǎn)法也是識(shí)別閉合鍵的一種常用方法線反轉(zhuǎn)法也是識(shí)別閉合鍵的一種常用方法, , 該該法比行掃描速度快法比行掃描速度快, , 但在硬件上要求行線與列線外但在硬件上要求行線與列線外接上拉電阻。接上拉電阻。 先將行線作為輸出線先將行線作為輸出線, , 列

8、線作為輸入線列線作為輸入線, , 行線行線輸出全輸出全“0 0”信號(hào)信號(hào), , 讀入列線的值讀入列線的值, , 那么在閉合鍵所那么在閉合鍵所在的列線上的值必為在的列線上的值必為0 0;然后從列線輸出全;然后從列線輸出全“0 0”信信號(hào),再讀取行線的輸入值,閉合鍵所在的行線值必號(hào),再讀取行線的輸入值,閉合鍵所在的行線值必為為 0 0。這樣。這樣, ,當(dāng)一個(gè)鍵被按下時(shí)當(dāng)一個(gè)鍵被按下時(shí), , 必定可讀到一對(duì)必定可讀到一對(duì)唯一的行列值。再由這一對(duì)行列值可以求出閉合鍵唯一的行列值。再由這一對(duì)行列值可以求出閉合鍵所在的位置。所在的位置。 00001 1 1 00 0 0 01011 89C51P1.0P1

9、.1P1.2P1.3P1.4P1.5P1.6P1.7+5V設(shè)第2行第4列鍵按下列值:1110行值:1011 0123 ee debe7e 4567 edddbd7d 89AB ebdbbb7b CDEF e7d7b777 由于按鍵按下時(shí)的機(jī)械動(dòng)作,在按鍵被按下或松由于按鍵按下時(shí)的機(jī)械動(dòng)作,在按鍵被按下或松開的瞬間,其輸出電壓會(huì)產(chǎn)生波動(dòng),稱為鍵的抖動(dòng)開的瞬間,其輸出電壓會(huì)產(chǎn)生波動(dòng),稱為鍵的抖動(dòng)。鍵按下鍵按下前沿前沿抖動(dòng)抖動(dòng)后沿后沿抖動(dòng)抖動(dòng) 2.消抖消抖 為確保每按一次鍵單片機(jī)只進(jìn)行一次處理,使為確保每按一次鍵單片機(jī)只進(jìn)行一次處理,使鍵盤可靠地工作,必須消除按鍵抖動(dòng)。消抖方法有鍵盤可靠地工作,必須

10、消除按鍵抖動(dòng)。消抖方法有硬件硬件消抖消抖和和軟件軟件延時(shí)兩種。延時(shí)兩種。 圖圖8.5 鍵閉合及斷開時(shí)的抖動(dòng)鍵閉合及斷開時(shí)的抖動(dòng)+5V& & &Q QQ Q (1 1)硬件消抖法:)硬件消抖法:就是在鍵盤中附加去抖動(dòng)電就是在鍵盤中附加去抖動(dòng)電路,從根上消除抖動(dòng)產(chǎn)生的可能性。右路,從根上消除抖動(dòng)產(chǎn)生的可能性。右圖所示電路圖所示電路實(shí)際上是由實(shí)際上是由R-SR-S觸發(fā)器構(gòu)成的單脈沖電路。當(dāng)按鈕觸發(fā)器構(gòu)成的單脈沖電路。當(dāng)按鈕開關(guān)按下時(shí)開關(guān)按下時(shí)Q Q端輸出低電平,當(dāng)開關(guān)松開時(shí)端輸出低電平,當(dāng)開關(guān)松開時(shí)Q Q端恢復(fù)端恢復(fù)高電平,即輸出一個(gè)負(fù)脈沖,以此消除抖動(dòng)。高電平,即輸出一個(gè)負(fù)

11、脈沖,以此消除抖動(dòng)。圖圖8.6 硬件去抖動(dòng)電路硬件去抖動(dòng)電路 (2 2)軟件消抖法:鍵按下的時(shí)間與操作者的按)軟件消抖法:鍵按下的時(shí)間與操作者的按鍵動(dòng)作有關(guān),約為十分之幾到幾秒不等。而鍵抖動(dòng)鍵動(dòng)作有關(guān),約為十分之幾到幾秒不等。而鍵抖動(dòng)時(shí)間與按鍵的機(jī)械特性有關(guān),一般為時(shí)間與按鍵的機(jī)械特性有關(guān),一般為5 510ms10ms不等。不等。軟件消抖法即是采用延時(shí)(一般延時(shí)軟件消抖法即是采用延時(shí)(一般延時(shí)101020ms20ms)的)的方法,以避開按鍵的抖動(dòng),即在按鍵已穩(wěn)定地閉合方法,以避開按鍵的抖動(dòng),即在按鍵已穩(wěn)定地閉合或斷開時(shí)才讀出其狀態(tài)。或斷開時(shí)才讀出其狀態(tài)。 100ms100ms10ms10ms1

12、0ms10ms鍵抖動(dòng)時(shí)間鍵抖動(dòng)時(shí)間 圖圖8.7 軟件消抖法軟件消抖法延時(shí)區(qū)間示意圖延時(shí)區(qū)間示意圖3. 計(jì)算鍵碼計(jì)算鍵碼 鍵碼是每個(gè)按鍵的標(biāo)識(shí)。被按鍵確定下來(lái)之后,鍵碼是每個(gè)按鍵的標(biāo)識(shí)。被按鍵確定下來(lái)之后,接下來(lái)的工作是計(jì)算閉合鍵的鍵碼,然后才能根據(jù)接下來(lái)的工作是計(jì)算閉合鍵的鍵碼,然后才能根據(jù)鍵碼進(jìn)行對(duì)應(yīng)的操作。鍵碼進(jìn)行對(duì)應(yīng)的操作。 為編程方便,鍵碼通常都是以鍵的排列順序安為編程方便,鍵碼通常都是以鍵的排列順序安排,按照從左到右、從上向下的順序編排。鍵碼可排,按照從左到右、從上向下的順序編排。鍵碼可根據(jù)行號(hào)列號(hào)以查表求得,也可通過(guò)計(jì)算得到。我根據(jù)行號(hào)列號(hào)以查表求得,也可通過(guò)計(jì)算得到。我們將結(jié)合實(shí)

13、例加以介紹。們將結(jié)合實(shí)例加以介紹。 K99K10AK15FP10P11P12P13P14P15P16P17EA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30TXD11RXD10VCC40GND20U189S52P10P11P12P13P14P15P16P17K00K11K22K33K55K66K77K

14、88K44K11BK12CK13DK14E4.等待釋放等待釋放 等待釋放是為了保證鍵的一次閉合僅進(jìn)行一次處等待釋放是為了保證鍵的一次閉合僅進(jìn)行一次處理。求得鍵碼后,然后通過(guò)不斷進(jìn)行鍵掃描,如有理。求得鍵碼后,然后通過(guò)不斷進(jìn)行鍵掃描,如有鍵按下,則繼續(xù)掃描,否則認(rèn)為鍵已釋放。鍵按下,則繼續(xù)掃描,否則認(rèn)為鍵已釋放。 5.按鍵處理按鍵處理 根據(jù)系統(tǒng)功能要求,利用單片機(jī)控制完成特定操作。根據(jù)系統(tǒng)功能要求,利用單片機(jī)控制完成特定操作。 5 鍵盤接口的控制方式鍵盤接口的控制方式 在單片機(jī)的運(yùn)行過(guò)程中,何時(shí)進(jìn)行鍵盤掃描和在單片機(jī)的運(yùn)行過(guò)程中,何時(shí)進(jìn)行鍵盤掃描和處理,可有下列三種情況:處理,可有下列三種情況:

15、1.1.查詢方式:?jiǎn)纹瑱C(jī)通過(guò)調(diào)用鍵盤掃描子程序,查查詢方式:?jiǎn)纹瑱C(jī)通過(guò)調(diào)用鍵盤掃描子程序,查詢有無(wú)鍵按下。詢有無(wú)鍵按下。2.2.定時(shí)掃描方式:每隔一定時(shí)間執(zhí)行一次鍵盤掃描定時(shí)掃描方式:每隔一定時(shí)間執(zhí)行一次鍵盤掃描子程序。子程序。3.3.中斷方式:每當(dāng)有鍵閉合時(shí)才向中斷方式:每當(dāng)有鍵閉合時(shí)才向CPUCPU發(fā)出中斷請(qǐng)求,發(fā)出中斷請(qǐng)求,中斷服務(wù)時(shí)進(jìn)行鍵盤掃描和處理。中斷服務(wù)時(shí)進(jìn)行鍵盤掃描和處理。鍵盤分為編碼鍵盤和非編碼鍵盤。鍵盤上閉合的鍵的識(shí)別由專門的硬件編碼器實(shí)現(xiàn),并產(chǎn)生鍵編碼號(hào)或鍵值的稱為編碼鍵盤,如計(jì)算機(jī)鍵盤。而靠軟件編程來(lái)識(shí)別的鍵盤稱為非編碼鍵盤,在單片機(jī)組成的各種系統(tǒng)中,用的較多的是非編碼鍵盤。非編碼鍵盤又分為獨(dú)立鍵盤和行列式鍵盤。按鍵的一端共地,另外一端,三個(gè)按鍵分別連接在CPU的P3.2P3.3P3.4三個(gè)端口上。如果按鍵被按下,那么我們可以檢測(cè)到這三個(gè)端口應(yīng)該是低電平。按鍵在閉合和斷開的時(shí)候,會(huì)有觸點(diǎn)存在抖動(dòng)現(xiàn)象,就如上圖那樣,所以我們?cè)跈z測(cè)鍵盤是否按下都要加上去抖動(dòng)的操作,利用軟件延時(shí):就是先判斷一下按鍵是否按下?-延遲10ms- 再檢測(cè)一次按鍵按下?-檢測(cè)按鍵是否釋放-執(zhí)行相應(yīng)代碼電路與C51程序分析 詳見電路文件和程序文件獨(dú)立鍵盤與單片機(jī)連接時(shí),每一個(gè)按鍵都需要單片機(jī)的一個(gè)IO口,若某單片機(jī)系統(tǒng)需要較多的按鍵,如果

溫馨提示

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

評(píng)論

0/150

提交評(píng)論