版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
SingleChipMicrocomputer第
章
鍵盤(pán)和顯示
接口
7.2鍵盤(pán)接口常見(jiàn)的按鍵開(kāi)關(guān)彈性按鍵自鎖按鍵撥動(dòng)開(kāi)關(guān)撥碼開(kāi)關(guān)電源開(kāi)關(guān)鍵盤(pán)按照接口原理可分為編碼鍵盤(pán)和非編碼鍵盤(pán)。編碼鍵盤(pán):指鍵盤(pán)上閉合鍵的識(shí)別由專(zhuān)用的硬件編碼器實(shí)現(xiàn),來(lái)產(chǎn)生鍵編碼號(hào)或鍵值,如計(jì)算機(jī)鍵盤(pán)。非編碼鍵盤(pán):是指靠軟件編程來(lái)識(shí)別的鍵盤(pán)。在單片機(jī)組成的系統(tǒng)中,用的較多的是非編碼鍵盤(pán)。非編碼鍵盤(pán)又分為獨(dú)立式鍵盤(pán)和矩陣式(行列式)鍵盤(pán)。鍵盤(pán)接口需要解決的問(wèn)題1.是否有鍵按下按鍵識(shí)別:按鍵抖動(dòng)及消除:機(jī)械按鍵抖動(dòng)時(shí)間在5ms~10ms之間軟件方案——延時(shí)10ms~20ms后再次判斷消除方法:2.求鍵號(hào)獨(dú)立式按鍵接口電路:特點(diǎn):一線(xiàn)一鍵,按鍵識(shí)別(編程)簡(jiǎn)單;但占用較多口線(xiàn),適合8鍵以下使用。例1:用P1口檢測(cè)8個(gè)按鍵的狀態(tài)并完成相應(yīng)的功能解:鍵盤(pán)檢測(cè)流程圖#include<reg51.h>voidmain(){P1=0xff;while(1){while(P1==0xff);delayms(10);
voiddelayms(unsignedintt){ unsignedinti,j; for(i=0;i<t;i++) for(j=0;j<120;j++);}
while(P1==0xff);switch(P1){case0xfe:key1();break;case0xfd;key2();break;case0xfb:key3();break;case0xf7;key4();break;case0xef:key5();break;case0xdf;key6();break;case0xbf:key7();break;case0x7f;key8();break;default:break;}while(P1!=0xff);//等待鍵釋放}}矩陣式鍵盤(pán)每個(gè)按鍵有它的行值和列值,行值和列值的組合就是識(shí)別這個(gè)按鍵的編碼。矩陣鍵盤(pán)掃描子程序包括以下幾個(gè)步驟:
1.判別有無(wú)鍵按下;
2.掃描獲取閉合鍵的行、列值,確定哪一個(gè)鍵按下;
3.保存閉合鍵號(hào);
4.確定鍵的功能是什么。判斷有無(wú)鍵按下:行線(xiàn)輸出,列線(xiàn)輸入。向所有的行線(xiàn)上輸出低電平,再讀入所有的列線(xiàn)信號(hào)。如果列線(xiàn)電平有變化,說(shuō)明有鍵按下;如果列線(xiàn)電平?jīng)]有變化,說(shuō)明無(wú)鍵按下。判斷具體的按鍵:@逐行送低電平,檢查列線(xiàn)電平的變化。@先送第0行為“0”,第1、2、3行為“1”,再讀列狀態(tài)值,若讀入的列值全為“1”,表示第0行無(wú)鍵按下。若讀入的列值不全為“1”,表示第0行有鍵按下,并根據(jù)列值判斷具體的按鍵。@再送第1行為“0”,第0、2、3行為“1”,再讀列狀態(tài)值,依次類(lèi)推,直至4行全部掃描完,再重新從第0行開(kāi)始。unsignedcharscan_key(){P1=0xf0;if(P1!=0xf0){delayms(10);if(P1!=0xf0){
P1=0xfe;switch(P1){case0xee:key=0;break;case0xde:key=1;break;case0xbe:key=2;break;case0x7e:key=3;break;}
矩陣鍵盤(pán)識(shí)別方法1:掃描法
P1=0xfd;switch(P1){case0xed:key=4;break;case0xdd:key=5;break;case0xbd:key=6;break;case0x7d:key=7;break;}unsignedcharkey;
P1=0xfb;switch(P1){case0xeb:key=8;break;case0xdb:key=9;break;case0xbb:key=10;break;case0x7b:key=11;break;}
P1=0xf0;while(P1!=0xf0);//等待按鍵釋放}}return(key);}
P1=0xf7;switch(P1){case0xe7:key=12;break;case0xd7:key=13;break;case0xb7:key=14;break;case0x77:key=15;break;}unsignedcharscan_key()//鍵盤(pán)掃描
{ unsignedcharhang,lie;P1=0x0f;//列線(xiàn)輸出低電平 if(P1!=0x0f) delay(10); if(P1!=0x0f) { switch(P1&0x0f)//檢測(cè)行號(hào) { case0x0e:hang=0;break; case0x0d:hang=1;break; case0x0b:hang=2;break; case0x07:hang=3;break; }矩陣鍵盤(pán)識(shí)別方法2:掃描法unsignedcharkey; P1=0xf0;//行線(xiàn)輸出低電平,檢測(cè)列號(hào)switch(P1&0xf0) { case0xe0:lie=0;break; case0xd0:lie=1;break; case0xb0:lie=2;break; case0x70:lie=3;break; }P1=0x0f; while(P1!=0x0f);//等待按鍵釋放 key=hang*4+lie; } return(key); }要求按下某個(gè)按鍵時(shí),數(shù)碼管上顯示對(duì)應(yīng)的按鍵字符(“0-F”)。#include<reg51.h>unsignedcharscan_key();voiddisplay(unsignedchari);voiddelayms(unsignedintt);unsignedcharkey;unsignedchara[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};voidmain(){while(1){scan_key();display(key);}}voiddisplay(unsignedchari){P2=a[i];}voiddelayms(unsignedintt){ unsignedinti,j; for(i=0;i<t;i++) for(j=0;j<120;j++);}unsignedcharscan_key(){
參考前面}要求在最右端數(shù)碼管上顯示每個(gè)按鍵的“0-F”字符。#include<reg51.h>unsignedcharcodeseg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};unsignedcharkey;voiddelay(unsignedchara){ unsignedchari; while(a--) for(i=120;i>0;i--) ;}unsignedcharscan_key(){
參考前面}
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 尉氏縣2023年事業(yè)單位考試《公共基礎(chǔ)知識(shí)》巔峰沖刺試卷含解析
- 第一單元學(xué)情評(píng)估卷(含答案)2024-2025學(xué)年部編版七年級(jí)語(yǔ)文下冊(cè)
- 第9課 辛亥革命(分層作業(yè))(解析版)
- 第1單元 中國(guó)開(kāi)始淪為半殖民地半封建社會(huì)(A卷·知識(shí)通關(guān)練)(解析版)
- 2025車(chē)輛定點(diǎn)維修合同樣本
- 2024年郵局窗口服務(wù)收銀員職務(wù)聘任協(xié)議3篇
- 廚房改造翻新項(xiàng)目合作協(xié)議
- 智能化工程建造師勞動(dòng)合同模板
- 煤礦運(yùn)輸車(chē)駕駛員招聘協(xié)議
- 親子運(yùn)動(dòng)會(huì)免責(zé)承諾書(shū)
- 家庭教育指導(dǎo)師考試復(fù)習(xí)(重點(diǎn))題庫(kù)(150題)
- 大學(xué)英語(yǔ)語(yǔ)法專(zhuān)項(xiàng)練習(xí)題及答案
- 高中英語(yǔ)高頻詞匯拓展延伸
- 班主任名工作室個(gè)人工作總結(jié)6篇 名班主任工作室總結(jié)
- 大連理工2023物理化學(xué)期末(下) A
- 巧克畢業(yè)論文(南昌大學(xué))超星爾雅學(xué)習(xí)通網(wǎng)課章節(jié)測(cè)試答案
- 知識(shí)產(chǎn)權(quán)法(重慶工商大學(xué))智慧樹(shù)知到答案章節(jié)測(cè)試2023年
- 大象版二年級(jí)科學(xué)上冊(cè)期末試卷(及答案)
- 對(duì)外漢語(yǔ)初中級(jí)HSK4級(jí)語(yǔ)言點(diǎn)
- AutoCAD計(jì)算機(jī)繪圖全套教程
- 活動(dòng)會(huì)議就餐簽到表
評(píng)論
0/150
提交評(píng)論