版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上實(shí)驗(yàn)四 鍵盤顯示程序設(shè)計(jì)實(shí)驗(yàn)?zāi)康?、理解串行接口鍵盤單片機(jī)c語言程序的基本結(jié)構(gòu)2、了解單片機(jī)c語言程序的設(shè)計(jì)和調(diào)試方法3、掌握幾個(gè)的基本的傳送類、控制類指令的使用方法實(shí)驗(yàn)儀器單片機(jī)開發(fā)板、穩(wěn)壓電源、計(jì)算機(jī)實(shí)驗(yàn)原理1按鍵下圖為一個(gè)典型的接觸式按鍵(又稱輕觸開關(guān))。下圖是該按鍵的工作特性圖。其中藍(lán)色的線表示按鍵未被按下之時(shí)的狀態(tài),我成為初始狀態(tài),它是不導(dǎo)通的;而綠色的線是卻永久導(dǎo)通的。所以我們?nèi)。?,2)、(1,4)、(3,2)、(3,4)四種組合,都可以起到我們預(yù)期的開關(guān)作用。2按鍵電平的判定。先看下圖當(dāng)按鍵按下以后,請問如果這時(shí)用萬用表測量導(dǎo)線上任何一處的電壓,得到的
2、結(jié)果是VCC 還是GND 的電壓?答案是:GND,即表示測出的電壓為0V。因?yàn)閷?dǎo)線上,對于兩端的電平是一種類似于程序語言邏輯運(yùn)算里面的“與”,即對于導(dǎo)線兩端:有零即為零,只有全為一是才為一。3獨(dú)立按鍵鍵盤分為編碼鍵盤和非編碼鍵盤。鍵盤上閉合鍵的識別由專用的硬件編碼器實(shí)現(xiàn),并產(chǎn)生鍵編碼號或鍵值的稱為編碼鍵盤,如計(jì)算機(jī)鍵盤。而靠軟件編程來識別的鍵盤稱為非編碼鍵盤,在單片機(jī)組成的各種系統(tǒng)中,用的較多的是非編碼鍵盤。非編碼鍵盤又分為獨(dú)立鍵盤和行列式鍵盤(常說的矩陣鍵盤)。單片機(jī)的IO口既可作為輸出也可作為輸入使用,當(dāng)檢測按鍵時(shí)用的是它的輸入功能,我們把按鍵的一端接地,另一端與單片機(jī)的某個(gè)I/O口相連,
3、開始時(shí)先給該IO口賦一高電平,然后讓單片機(jī)不斷地檢測該I/O口是杏變?yōu)榈碗娖?,?dāng)按鍵閉合時(shí),即相當(dāng)于該I/O口通過按鍵與地相連,變成低電平,程序一旦檢測到I/O口變?yōu)榈碗娖絼t說明按鍵被按下,然后執(zhí)行相應(yīng)的指令。(2)按鍵抖動(dòng)理論上講,按鍵按下去后的點(diǎn)評應(yīng)該為上圖,實(shí)際上是下圖。在高低電平直接有一段鋸齒一樣的波形,這就是所謂的按鍵抖動(dòng)。一般手動(dòng)按下一次鍵然后接著釋放,按鍵兩片金屬膜接觸的時(shí)間大約為50ms 左右,在按下瞬間到穩(wěn)定的時(shí)間為5-10ms,在松開的瞬間到穩(wěn)定的時(shí)間也為5-10ms,如果我們再首次檢測到鍵被按下后延時(shí)10ms 左右再去檢測,這時(shí)如果是干擾信號將不會被檢測到,如果確實(shí)是有鍵
4、被按下,則可確認(rèn),以上為按鍵識別去抖動(dòng)的原理。(3)獨(dú)立按鍵開發(fā)板獨(dú)立按鍵電路圖如下:獨(dú)立按鍵一共5個(gè),分別連接在單片機(jī)的P3.0到P3.4口。去抖動(dòng)的方式,我們采用軟件延時(shí)的方法。過程如下:1先設(shè)置IO口為高電平(一般上電默認(rèn)就為高)2讀取IO口電平確認(rèn)是否有按鍵按下3如有IO電平為低電平后,延時(shí)幾個(gè)ms4再讀取該IO電平,如果任然為低電平,說明對應(yīng)按鍵按下5執(zhí)行相應(yīng)按鍵的程序4矩陣按鍵獨(dú)立鍵盤與單片機(jī)連接時(shí),每一個(gè)按鍵都需要單片機(jī)的一個(gè)I/O口若某單片機(jī)系統(tǒng)需較多按鍵,如果用獨(dú)立按鍵便會占用過多的I/O口資源。單片機(jī)系統(tǒng)中I/O口資源往往比較寶貴,當(dāng)用到多個(gè)按鍵時(shí)為了節(jié)省I/O口口線,我們
5、引入矩陣鍵盤。我們以4X4矩陣鍵盤為例講解其工作原理和檢測方法。將16個(gè)按鍵排成4行4列,第一行將每個(gè)按鍵的一端連接在一起構(gòu)成行線,第一列將每個(gè)按鍵的另一端連接在一起構(gòu)成列線,這樣便一共有4行4列共8根線,我們將這8根線連接到單片機(jī)的8個(gè)I/O口上,通過程序掃描鍵盤就可檢測16個(gè)鍵。首先看一下電路圖上圖是一個(gè)4X4 的矩陣鍵盤,一共是16 個(gè)按鍵。我們照習(xí)慣稱橫為“行”,“豎”為列。那么5、6、7、8 我們稱之為“行線”,則1、2、3、4 稱為“列線”。要正確記住各個(gè)行列線各自對應(yīng)的IO。現(xiàn)在詳細(xì)講述一下矩陣鍵盤掃描的原理和步驟:掃描矩陣鍵盤,即是把某一條(只有一條)行線置為低電平,而列線全部
6、置為輸入方向,然后檢測列線,如果檢測到某一條列線是低電平,那么就表示位于這條列線與輸出低電平的行線的交點(diǎn)處的按鍵被按下了。要掃描16個(gè)按鍵,就依次以這樣的方法掃描16次,之后就可以確定哪一個(gè)按鍵被按下了。當(dāng)然這里也少不了延時(shí)消除按鍵抖動(dòng)的環(huán)節(jié)。實(shí)驗(yàn)內(nèi)容:P0口連接數(shù)碼管,P1口連接矩陣鍵盤。實(shí)驗(yàn)連接圖如下請大家根據(jù)以上內(nèi)容和提示,編寫程序,完成實(shí)驗(yàn)。實(shí)驗(yàn)功能是數(shù)碼管靜態(tài)顯示矩陣按鍵數(shù)值0F.顯示順序如下:F EDCBA9876543210#include<reg51.h>#define GPIO_DIG P0/定義P0口為GPIO_DIG#define GPIO_KEY P1/定義
7、P1口為GPIO_KEY unsigned char code DIG_CODE17=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;數(shù)碼管靜態(tài)共陰極編碼unsigned char KeyValue; /(KeyValue什么作用?)void Delay10ms(unsigned int c); /延時(shí)10ms(完成下面的延時(shí)程序)void KeyDown(); /檢測按鍵函數(shù)void main(void)while(1)KeyDown();GPIO_DIG = DIG_CODEKe
8、yValue;void KeyDown(void)char a = 0;GPIO_KEY=0x0f;if(GPIO_KEY!=0x0f)/讀取按鍵是否按下Delay10ms(1);/延時(shí)10ms進(jìn)行消抖if(GPIO_KEY!=0x0f)/再次檢測鍵盤是否按下/測試列GPIO_KEY=0X0F;switch(GPIO_KEY)case(0X07):KeyValue=0;break;case(0X0b):KeyValue=1;break;case(0X0d): KeyValue=2;break;case(0X0e):KeyValue=3;break;/測試行GPIO_KEY=0XF0;switc
9、h(GPIO_KEY)case(0X70):KeyValue=KeyValue;break;case(0Xb0):KeyValue=KeyValue+4;break;case(0Xd0): KeyValue=KeyValue+8;break;case(0Xe0):KeyValue=KeyValue+12;break;while(a<50) && (GPIO_KEY!=0xf0) /檢測按鍵松手檢測Delay10ms(1);a+;void Delay10ms(unsigned int c) unsigned char a, b; for (;c>0;c-)for (b=38;b>0;b-)for (a=130;a>0;a-); 寧可累死在路上,也不能閑死在家里!寧可去碰壁,也不能面
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度安徽省租賃房屋租賃合同解除協(xié)議2篇
- 二零二五版多功能會議場地租賃服務(wù)合同模板3篇
- 二零二五版廢渣運(yùn)輸合同環(huán)保評估與整改方案3篇
- 二零二五版公積金貸款個(gè)人公積金提取借款合同3篇
- 二零二五版工業(yè)自動(dòng)化生產(chǎn)線改造項(xiàng)目承包合同范本3篇
- 二零二五版房屋屋頂光伏發(fā)電系統(tǒng)檢測維修合同范本3篇
- 二零二五年度智慧能源管理系統(tǒng)集成合同2篇
- 二零二五年機(jī)床設(shè)備采購與客戶項(xiàng)目整體解決方案合同3篇
- 二零二五年抖音廣告創(chuàng)意策劃與投放服務(wù)合同3篇
- 二零二五年新型環(huán)保建材生產(chǎn)與建筑垃圾回收處理合同3篇
- 常用靜脈藥物溶媒的選擇
- 2023-2024學(xué)年度人教版一年級語文上冊寒假作業(yè)
- 當(dāng)代西方文學(xué)理論知到智慧樹章節(jié)測試課后答案2024年秋武漢科技大學(xué)
- 2024年預(yù)制混凝土制品購銷協(xié)議3篇
- 2024-2030年中國高端私人會所市場競爭格局及投資經(jīng)營管理分析報(bào)告
- GA/T 1003-2024銀行自助服務(wù)亭技術(shù)規(guī)范
- 《消防設(shè)備操作使用》培訓(xùn)
- 新交際英語(2024)一年級上冊Unit 1~6全冊教案
- 2024年度跨境電商平臺運(yùn)營與孵化合同
- 2024年電動(dòng)汽車充電消費(fèi)者研究報(bào)告-2024-11-新能源
- 湖北省黃岡高級中學(xué)2025屆物理高一第一學(xué)期期末考試試題含解析
評論
0/150
提交評論