




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第六講獨(dú)立鍵盤應(yīng)用一、鍵盤接口一、鍵盤接口 鍵盤是單片機(jī)應(yīng)用系統(tǒng)中使用最廣泛的一種鍵盤是單片機(jī)應(yīng)用系統(tǒng)中使用最廣泛的一種 數(shù)據(jù)輸入設(shè)備。鍵盤是一組按鍵的組合。鍵通常是數(shù)據(jù)輸入設(shè)備。鍵盤是一組按鍵的組合。鍵通常是一種常開型按鈕開關(guān),常態(tài)下鍵的兩個(gè)觸點(diǎn)處于斷一種常開型按鈕開關(guān),常態(tài)下鍵的兩個(gè)觸點(diǎn)處于斷開狀態(tài),按下鍵時(shí)它們才閉合短路)。開狀態(tài),按下鍵時(shí)它們才閉合短路)。 1.根據(jù)按鍵編碼方法分根據(jù)按鍵編碼方法分 編碼鍵盤編碼鍵盤 鍵盤上閉合鍵的識(shí)別由專用的硬件編碼器實(shí)現(xiàn),并鍵盤上閉合鍵的識(shí)別由專用的硬件編碼器實(shí)現(xiàn),并產(chǎn)生鍵編碼號(hào)或鍵值的稱為編碼鍵盤,如計(jì)算機(jī)鍵產(chǎn)生鍵編碼號(hào)或鍵值的稱為編碼鍵盤,如計(jì)算
2、機(jī)鍵盤。編碼鍵盤通過硬件電路產(chǎn)生被按按鍵的鍵碼和盤。編碼鍵盤通過硬件電路產(chǎn)生被按按鍵的鍵碼和一個(gè)選通脈沖。選通脈沖可作為一個(gè)選通脈沖。選通脈沖可作為CPU的中斷請(qǐng)求信的中斷請(qǐng)求信號(hào)。這種鍵盤使用方便,所需程序簡單,但硬件電號(hào)。這種鍵盤使用方便,所需程序簡單,但硬件電路復(fù)雜,常不被單片機(jī)采用。路復(fù)雜,常不被單片機(jī)采用。非編碼鍵盤非編碼鍵盤 而靠軟件編程來識(shí)別鍵盤上閉合鍵的稱為非編碼鍵而靠軟件編程來識(shí)別鍵盤上閉合鍵的稱為非編碼鍵盤;非編碼鍵盤按組成結(jié)構(gòu)又可分為獨(dú)立式鍵盤和盤;非編碼鍵盤按組成結(jié)構(gòu)又可分為獨(dú)立式鍵盤和矩陣式鍵盤。獨(dú)立式鍵盤的工作過程與矩陣式鍵盤矩陣式鍵盤。獨(dú)立式鍵盤的工作過程與矩陣式
3、鍵盤類似,無論是硬件結(jié)構(gòu)還是軟件設(shè)計(jì)都比較簡單。類似,無論是硬件結(jié)構(gòu)還是軟件設(shè)計(jì)都比較簡單。在單片機(jī)組成的各種系統(tǒng)中,用的較多的是非編碼在單片機(jī)組成的各種系統(tǒng)中,用的較多的是非編碼鍵盤。鍵盤。二、鍵盤分類二、鍵盤分類2. 2. 非編碼鍵盤分類非編碼鍵盤分類獨(dú)立式鍵盤獨(dú)立式鍵盤 每個(gè)按鍵占用一條每個(gè)按鍵占用一條I/OI/O口線??诰€。特點(diǎn):占用特點(diǎn):占用I/OI/O口較多,口較多,I/OI/O口利用率不高,但程序編口利用率不高,但程序編制簡單。適用于所需按鍵較少的場合。制簡單。適用于所需按鍵較少的場合。矩陣式鍵盤矩陣式鍵盤 用用I/OI/O口線組成行、列結(jié)構(gòu),按鍵設(shè)置在行列的交口線組成行、列結(jié)構(gòu)
4、,按鍵設(shè)置在行列的交叉點(diǎn)上。叉點(diǎn)上。特點(diǎn):電路連接復(fù)雜,但提高了特點(diǎn):電路連接復(fù)雜,但提高了I/OI/O口利用率,軟件編口利用率,軟件編程較復(fù)雜。適用于需使用大量按鍵的場合。程較復(fù)雜。適用于需使用大量按鍵的場合。 1.鍵盤工作過程第一步:鍵盤掃描,即檢測是否有鍵按下;第一步:按鍵識(shí)別,是哪一個(gè)鍵按下。2.鍵盤掃描方法在單片機(jī)的運(yùn)行過程中,何時(shí)進(jìn)行鍵盤掃描和處理,可有下列三種情況:查詢方式: 單片機(jī)通過調(diào)用鍵盤掃描子程序,查詢有無鍵按下。定時(shí)掃描方式: 每隔一定時(shí)間執(zhí)行一次鍵盤掃描子程序。中斷方式: 每當(dāng)有鍵閉合時(shí)才向CPU發(fā)出中斷請(qǐng)求,中斷服務(wù)時(shí)進(jìn)行鍵盤掃描和處理。三、鍵盤控制三、鍵盤控制四、
5、四、RZ-21V20開發(fā)板上獨(dú)立式鍵盤接口電路開發(fā)板上獨(dú)立式鍵盤接口電路 S1 S1S4S4S3S3S2S2 P1.4 P1.4 P1.5 P1.5 P1.6 P1.6 P1.7 P1.7 89S52 89S52+5V+5V獨(dú)立式鍵盤接口獨(dú)立式鍵盤接口K5K5鍵鍵S1S1按下,按下,P1.4=0P1.4=0;K6K6鍵鍵S2S2按下,按下,P1.5=0P1.5=0;K7K7鍵鍵S3S3按下,按下,P1.6=0P1.6=0;K8K8鍵鍵S4S4按下,按下,P1.7=0P1.7=0;獨(dú)立鍵盤掃描實(shí)例分析獨(dú)立鍵盤掃描實(shí)例分析實(shí)例實(shí)例1:每按一次按鍵:每按一次按鍵K5,使數(shù)碼管顯示數(shù)據(jù),使數(shù)碼管顯示數(shù)
6、據(jù)加加1,加到,加到F清清0重新開始。重新開始。五、鍵盤接口的消抖五、鍵盤接口的消抖鍵穩(wěn)定鍵穩(wěn)定鍵按下鍵按下前沿抖動(dòng)前沿抖動(dòng)前沿抖動(dòng)前沿抖動(dòng)鍵閉合及斷開時(shí)的抖動(dòng)鍵閉合及斷開時(shí)的抖動(dòng)由于按鍵按下時(shí)的機(jī)械動(dòng)作,在按鍵被按下或松開的瞬間,其由于按鍵按下時(shí)的機(jī)械動(dòng)作,在按鍵被按下或松開的瞬間,其輸出電壓會(huì)產(chǎn)生波動(dòng),稱為鍵的抖動(dòng)。為確保每按一次鍵單片輸出電壓會(huì)產(chǎn)生波動(dòng),稱為鍵的抖動(dòng)。為確保每按一次鍵單片機(jī)只進(jìn)行一次處理,使鍵盤可靠地工作,必須消除按鍵抖動(dòng)。機(jī)只進(jìn)行一次處理,使鍵盤可靠地工作,必須消除按鍵抖動(dòng)。消抖方法有硬件消抖和軟件延時(shí)兩種。消抖方法有硬件消抖和軟件延時(shí)兩種。1.硬件消抖法 就是在鍵盤中
7、附加去抖動(dòng)電路,從根上消除抖動(dòng)產(chǎn)生的可能性。右圖所示電路實(shí)際上是由R-S觸發(fā)器構(gòu)成的單脈沖電路。當(dāng)按鈕開關(guān)按下時(shí)Q端輸出低電平,當(dāng)開關(guān)松開時(shí)Q端恢復(fù)高電平,即輸出一個(gè)負(fù)脈沖,以此消除抖動(dòng)。2.軟件消抖法 鍵按下的時(shí)間與操作者的按鍵動(dòng)作有關(guān),約為十分之幾到幾秒不等。而鍵抖動(dòng)時(shí)間與按鍵的機(jī)械特性有關(guān),一般為510ms不等。軟件消抖法即是采用延時(shí)一般延時(shí)1020ms的方法,以避開按鍵的抖動(dòng),即在按鍵已穩(wěn)定地閉合或斷開時(shí)才讀出其狀態(tài)。 if語句語句if語句是語句是C51中的一個(gè)基本條件選擇語句,它通常中的一個(gè)基本條件選擇語句,它通常有三種格式:有三種格式:(1if (表達(dá)式)(表達(dá)式) 語句;語句;(
8、2if (表達(dá)式)(表達(dá)式) 語句語句1; else 語句語句2;(3if (表達(dá)式(表達(dá)式1) 語句語句1;else if (表達(dá)式(表達(dá)式2) (語句(語句2;);)else if (表達(dá)式(表達(dá)式3) (語句(語句3;);)else if (表達(dá)式(表達(dá)式n-1) (語句(語句n-1;);)else 語句語句n【例】【例】 if語句的用法。語句的用法。(1if (x!=y) printf(“x=%d,y=%dn”,x,y);執(zhí)行上面語句時(shí),如果執(zhí)行上面語句時(shí),如果x不等于不等于y,則輸出,則輸出x的值和的值和y的值。的值。(2if (xy) max=x;else max=y; 執(zhí)行上面語
9、句時(shí),如執(zhí)行上面語句時(shí),如x大于大于y成立,則把成立,則把x送給最大值變送給最大值變量量max,如,如x大于大于y不成立,則把不成立,則把y送給最大值變量送給最大值變量max。使。使max變量得到變量得到x、y中的大數(shù)。中的大數(shù)。(3if (score=90) printf(“Your result is an An”);else if (score=80) printf(“Your result is an Bn”);else if (score=70) printf(“Your result is an Cn”);else if (score=60) printf(“Your result
10、 is an Dn”);else printf(“Your result is an En”); 執(zhí)行上面語句后,能夠根據(jù)分?jǐn)?shù)執(zhí)行上面語句后,能夠根據(jù)分?jǐn)?shù)score分別打出分別打出A、B、C、D、E五個(gè)等級(jí)。五個(gè)等級(jí)。switch/case語句語句 if語句通過嵌套可以實(shí)現(xiàn)多分支結(jié)構(gòu),但結(jié)構(gòu)復(fù)雜。語句通過嵌套可以實(shí)現(xiàn)多分支結(jié)構(gòu),但結(jié)構(gòu)復(fù)雜。switch是是C51中提供的專門處理多分支結(jié)構(gòu)的多分支中提供的專門處理多分支結(jié)構(gòu)的多分支選擇語句。它的格式如下:選擇語句。它的格式如下:switch (表達(dá)式)(表達(dá)式)case 常量表達(dá)式常量表達(dá)式1:語句語句1;break;case 常量表達(dá)式常量表達(dá)
11、式2:語句語句2;break;case 常量表達(dá)式常量表達(dá)式n:語句語句n;break;default:語句語句n+1;說明如下:說明如下:(1switch后面括號(hào)內(nèi)的表達(dá)式,可以是整型或字符型表后面括號(hào)內(nèi)的表達(dá)式,可以是整型或字符型表達(dá)式。達(dá)式。(2當(dāng)該表達(dá)式的值與某一當(dāng)該表達(dá)式的值與某一“case后面的常量表達(dá)式的后面的常量表達(dá)式的值相等時(shí),就執(zhí)行該值相等時(shí),就執(zhí)行該“case后面的語句,然后遇到后面的語句,然后遇到break語語句退出句退出switch語句。若表達(dá)式的值與所有語句。若表達(dá)式的值與所有case后的常量表達(dá)后的常量表達(dá)式的值都不相同,則執(zhí)行式的值都不相同,則執(zhí)行default
12、后面的語句,然后退出后面的語句,然后退出switch結(jié)構(gòu)。結(jié)構(gòu)。(3每一個(gè)每一個(gè)case常量表達(dá)式的值必須不同否則會(huì)出現(xiàn)自相常量表達(dá)式的值必須不同否則會(huì)出現(xiàn)自相矛盾的現(xiàn)象。矛盾的現(xiàn)象。(4case語句和語句和default語句的出現(xiàn)次序?qū)?zhí)行過程沒有影語句的出現(xiàn)次序?qū)?zhí)行過程沒有影響。響。(5每個(gè)每個(gè)case語句后面可以有語句后面可以有“break”,也可以沒有。有,也可以沒有。有break語句,執(zhí)行到語句,執(zhí)行到break則退出則退出switch結(jié)構(gòu),若沒有,則會(huì)結(jié)構(gòu),若沒有,則會(huì)順次執(zhí)行后面的語句,直到遇到順次執(zhí)行后面的語句,直到遇到break或結(jié)束。或結(jié)束。【例】【例】 switch/case語句的用法。語句的用法。 對(duì)學(xué)生成績劃分為對(duì)學(xué)生成績劃分為AD,對(duì)應(yīng)不同的百分制,對(duì)應(yīng)不同的百分制分?jǐn)?shù),要求根據(jù)不同的等級(jí)打印出它的對(duì)應(yīng)百分?jǐn)?shù)。分?jǐn)?shù),要求根據(jù)不同的等級(jí)打印出它的對(duì)應(yīng)百分?jǐn)?shù)??梢酝ㄟ^下面的可以通過下面的switch/case語句實(shí)現(xiàn)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 度森林資源使用權(quán)轉(zhuǎn)讓合同
- 裝修工程勞動(dòng)合同合同樣本
- 區(qū)域合作分銷合同協(xié)議
- 合同履行完畢確認(rèn)聲明書
- 黃山風(fēng)景區(qū)國內(nèi)旅游合同
- 私人借款合同樣本及還款細(xì)則
- 境外就業(yè)派遣合同
- 商業(yè)綜合體停車位租賃合同范本
- 商標(biāo)糾紛和解合同細(xì)則
- 木材加工企業(yè)的品牌形象宣傳與公關(guān)活動(dòng)考核試卷
- 2024 年袋鼠數(shù)學(xué)競賽 等級(jí)E(中國區(qū))
- 【《海信電器企業(yè)作業(yè)成本法下的物流成本核算分析》8500字】
- 2024年南京旅游職業(yè)學(xué)院單招職業(yè)適應(yīng)性測試題庫匯編
- 2024年湖南生物機(jī)電職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫及一套參考答案
- 2022年袋鼠數(shù)學(xué)競賽真題一二年級(jí)組含答案
- JJF 2104-2024 海水溶解氧測量儀校準(zhǔn)規(guī)范
- 情緒管理團(tuán)體輔導(dǎo)專項(xiàng)方案
- 一年級(jí)美術(shù)課后輔導(dǎo)方案-1
- 《鍛造安全生產(chǎn)》課件
- 小學(xué)數(shù)學(xué)1-6年級(jí)(含奧數(shù))找規(guī)律專項(xiàng)及練習(xí)題附詳細(xì)答案
- 《同濟(jì)大學(xué)簡介》課件
評(píng)論
0/150
提交評(píng)論