單片機(jī)原理與c51編程課件7第七章電子密碼鎖控制系統(tǒng)_第1頁(yè)
單片機(jī)原理與c51編程課件7第七章電子密碼鎖控制系統(tǒng)_第2頁(yè)
單片機(jī)原理與c51編程課件7第七章電子密碼鎖控制系統(tǒng)_第3頁(yè)
單片機(jī)原理與c51編程課件7第七章電子密碼鎖控制系統(tǒng)_第4頁(yè)
單片機(jī)原理與c51編程課件7第七章電子密碼鎖控制系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩31頁(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、,第七章 電子密碼鎖控制系統(tǒng),課程目標(biāo)、課程重點(diǎn)及難點(diǎn),課程目標(biāo): 了解微機(jī)控制系統(tǒng)鍵盤的構(gòu)建及工作原理;認(rèn)識(shí)微機(jī)控制系統(tǒng)的鍵盤設(shè)計(jì),掌握單片機(jī)鍵盤的應(yīng)用。 課程重點(diǎn)及難點(diǎn) 獨(dú)立式鍵盤及其接口電路;矩陣式鍵盤及其接口電路;按鍵掃描驅(qū)動(dòng)程序的設(shè)計(jì)。,7.1電子密碼鎖控制系統(tǒng)任務(wù)分析,一、 電子密碼鎖實(shí)物圖:,二、任務(wù)分析 (1)狀態(tài)1:開(kāi)機(jī)復(fù)位,等待輸入,輸入四位密碼,按Enter鍵結(jié)束。 (2)狀態(tài)2:若密碼輸入正確,則數(shù)碼管顯示“god”。驅(qū)動(dòng)繼電器,使小馬達(dá)運(yùn)行。延時(shí)五秒返回重新輸入。 (3)狀態(tài)3:若密碼輸入不正確,則數(shù)碼管第一位顯示輸入次數(shù),后二位顯示“ER”,延時(shí)三秒后返回重新輸入。

2、 (4)狀態(tài)4:當(dāng)錯(cuò)誤輸入次數(shù)滿三次時(shí),起動(dòng)蜂鳴器報(bào)警。延時(shí)五秒返回重新輸入。,7.1電子密碼鎖控制系統(tǒng)任務(wù)分析,三、硬件控制線路,7.1電子密碼鎖控制系統(tǒng)任務(wù)分析,7.1電子密碼鎖控制系統(tǒng),7.1電子密碼鎖控制系統(tǒng),四、項(xiàng)目所需元器件 (1)實(shí)驗(yàn)控制板。 (2)4個(gè)共陽(yáng)極LED數(shù)碼管、11個(gè)按鈕。 (3)繼電器、電動(dòng)小馬達(dá)、三極管、喇叭等 (4)晶振12M,啟振電容30pf2個(gè),復(fù)位電容22uf,電阻若干。 五、項(xiàng)目所涉及的知識(shí)內(nèi)容 (1)鍵盤的構(gòu)成、掃描及編碼。 (2)鍵盤的編程。,7.1電子密碼鎖控制系統(tǒng),7.2 鍵盤及其接口電路,一、鍵盤的基本概念 鍵盤是一組開(kāi)關(guān)的集合,是最常用的輸入

3、設(shè)備之一。組成鍵盤的按鍵有觸點(diǎn)式和非觸點(diǎn)式兩種。 觸點(diǎn)式按鍵通常是機(jī)械觸點(diǎn)開(kāi)關(guān),它利用了機(jī)械觸點(diǎn)的通、斷特性完成信息的輸入。 非觸點(diǎn)式按鈕主要指利用電子器件的通、斷來(lái)完成信息的輸入,如工作在開(kāi)關(guān)狀態(tài)的三極管、電力電子器件IGBT等。 在單片機(jī)控制系統(tǒng)中常用觸點(diǎn)式開(kāi)關(guān)來(lái)組成鍵盤。,7.2 鍵盤及其接口電路,在實(shí)際鍵盤接口設(shè)計(jì)時(shí),必須考慮以下一些問(wèn)題: 按鍵開(kāi)關(guān)的消抖問(wèn)題 重鍵 連擊 (1)按鍵開(kāi)關(guān)的抖動(dòng)問(wèn)題 由于按鍵的結(jié)構(gòu)為機(jī)械彈性開(kāi)關(guān),因此按鍵從最初按下到接觸穩(wěn)定需數(shù)毫秒的彈跳時(shí)間,這樣的抖動(dòng)時(shí)間一般在510ms,松開(kāi)鍵時(shí)也有同樣的問(wèn)題。,7.2 鍵盤及其接口電路,鍵盤消抖動(dòng)的方法有兩種。 硬

4、件消抖動(dòng):利用雙穩(wěn)態(tài)電 路、單穩(wěn)態(tài)電路及RC積分電 路去抖。 軟件消抖動(dòng):利用延時(shí)子程 序來(lái)完成,既在第一次檢測(cè) 到按下按鍵后,經(jīng)過(guò)一定抖 動(dòng)時(shí)間后再次檢測(cè)按鍵是否 按下,從而消除抖動(dòng)的影響。,延時(shí)的選擇非常重要,太快了,起不到消除抖動(dòng)的效果,太慢了又讓鍵盤太不靈活,錯(cuò)過(guò)的按鍵信號(hào),7.2 鍵盤及其接口電路,(2)重鍵:是指無(wú)意同時(shí)或先后按下兩個(gè)以上的鍵。 (3)連擊:是指一次按鍵產(chǎn)生多次擊鍵的結(jié)果。 通常在單片機(jī)應(yīng)用系統(tǒng)中,對(duì)于重鍵或連擊現(xiàn)象,也多利用軟件來(lái)進(jìn)行控制,如采取單鍵按下有效、多個(gè)鍵按下無(wú)效,并且在某個(gè)鍵被按下時(shí),CPU等待此鍵釋放的過(guò)程中不響應(yīng)其它按鍵等策略來(lái)解決。,7.2 鍵盤

5、及其接口電路,二、鍵盤的結(jié)構(gòu)方式 鍵盤有兩種基本類型:編碼鍵盤和非編碼鍵盤。 編碼鍵盤采用硬件線路來(lái)產(chǎn)生鍵碼,每按下一個(gè)鍵,鍵盤 能自動(dòng)生成按鍵代碼。 非編碼鍵盤是靠軟件來(lái)識(shí)別鍵盤上的閉合鍵,并由軟件編 成來(lái)確定按鍵代碼。非編碼鍵盤具有結(jié)構(gòu)簡(jiǎn)單、價(jià)格便宜 等特點(diǎn),因此在單片機(jī)系統(tǒng)中普遍采用非編碼鍵盤。 非編碼鍵盤按結(jié)構(gòu)方式劃分,有獨(dú)立式鍵盤和矩陣式鍵盤 兩大類。,7.2 鍵盤及其接口電路,1、獨(dú)立式鍵盤及其接口 獨(dú)立式鍵盤,是一種最簡(jiǎn)單的鍵盤構(gòu)成方法,它將每個(gè)按鍵的一端接到單片機(jī)的I/O口,另一端接地,如圖所示。 主要特點(diǎn)是各個(gè)鍵相互獨(dú)立,每一個(gè)按鍵對(duì)應(yīng)一根輸入口線。鍵盤軟件結(jié)構(gòu)簡(jiǎn)單,但當(dāng)鍵盤

6、數(shù)目較多時(shí),需占用大量的輸入口線,所以在使用上受到了很大的限制。,7.2 鍵盤及其接口電路,獨(dú)立式鍵盤接口原理圖 矩陣式鍵盤接口原理圖,7.2 鍵盤及其接口電路,2、矩陣式鍵盤及其接口 在鍵盤中按鍵數(shù)量較多時(shí),為了減少I/O口的占用,通常將按鍵排列成矩陣形式。 在矩陣式鍵盤中,每條水平線和垂直線在交叉處不直接連通,而是通過(guò)一個(gè)按鍵加以連接,如圖所示。這樣,一個(gè)端口(如P1口)就可以構(gòu)成4*4=16個(gè)按鍵,比獨(dú)立式鍵盤多出了一倍,而且線數(shù)越多,區(qū)別越明顯,如再多加一條線就可以構(gòu)成20鍵的鍵盤,而直接用端口線則只能多出一個(gè)鍵(9鍵)。,7.2 鍵盤及其接口電路,(1)矩陣式鍵盤的按鍵識(shí)別方法 逐行

7、掃描法: 掃描法是一種逐行或逐列判斷是否有鍵按下的方法。掃描法又稱為逐行(或列)掃描查詢法,是一種最常用的按鍵識(shí)別方法。利用行掃描法判斷矩陣鍵盤中被按下的鍵時(shí)主要經(jīng)過(guò)以下步驟: 第一步,識(shí)別有無(wú)鍵按下 讓所有的行線均置為0電平,即P1.4P1.7均輸出低電平,讀取列線P1.0P1.3的值,若P1.0P1.3均為高電平,則表示無(wú)鍵按下;若不全為高電平,則表示有鍵按下。,7.2 鍵盤及其接口電路,第二步,若有鍵被按下,識(shí)別出具體的按鍵 方法是采用逐行掃描的辦法,即逐行置零電平,檢查各列線的電平。如首先置第一行為0,其余行為1,也就是讓P1.4P1.7輸出0111,讀取列線P1.0P1.3的值;若不

8、全為1,則根據(jù)讀取的列值即可判斷出按鍵在第一行第幾列上,從而識(shí)別出按鍵的位置;若全為1,表示第一行無(wú)鍵按下,那么就再置第二行為0,其余行為1,即P1.4P1.7輸出1011,再讀取列值,根據(jù)列值結(jié)果,判斷第二行上有無(wú)鍵被按下,依此類推,識(shí)別出按鍵的鍵值。,7.2 鍵盤及其接口電路,掃描法在判斷鍵值時(shí),是采用的逐行掃描法,當(dāng)被按下的鍵在最后一行時(shí),需經(jīng)多次掃描才能獲得被按下鍵所在的行、列值。 反線法: 反線法的特點(diǎn)是無(wú)論被按下的鍵處于第一行或最后一行,均只需經(jīng)過(guò)兩步便能獲得此按鍵所在的行列值。,7.2 鍵盤及其接口電路,其操作步驟如下: 第一步:將行線編程為輸入線,列線編程為輸出線,并使輸出線輸

9、出為全零電平,則行線中電平由高到低所在行為按鍵所在行。 第二步:同第一步完全相反,將行線編程為輸出線,列線編程為輸入線,并使輸出線輸出為全零電平,則列線中電平由高到低所在列為按鍵所在列。 綜合一二兩步的結(jié)果,可確定按鍵所在行和列,從而識(shí)別 出所按的鍵。,7.2 鍵盤及其接口電路,假設(shè)3號(hào)鍵被按下,那么第一步即在P1.0P1.3輸出全0,然后,讀入P1.4P1.7位,結(jié)果P1.4=0,而P1.5、P1.6和P1.7均為1,因此,第一行出現(xiàn)電平的變化,說(shuō)明第一行有鍵按下;,第二步讓P1.4P1.7輸出全0,然后,讀入P1.0P1.3位,結(jié)果P1.0=0,而P1.1、P1.2和P1.3均為1,因此第

10、4列出現(xiàn)電平的變化,說(shuō)明第4列有鍵按下,從而可以得知按鍵在第一行第四列,即3號(hào)鍵被按下,如圖所示。,7.2 鍵盤及其接口電路,(2)鍵盤的編碼 對(duì)于矩陣式鍵盤,按鍵的位置由行號(hào)和列號(hào)確定,所以分別對(duì)行號(hào)和列號(hào)進(jìn)行二進(jìn)制編碼,然后將兩值合成一個(gè)字節(jié),高4位是行號(hào),低4位是列號(hào),非常直觀 。如:3號(hào)鍵的編碼11100111,寫(xiě)成十六進(jìn)制為E7H。 無(wú)論以何種方式編碼,均應(yīng)以處理問(wèn)題方便為原則。按鍵所處的位置(即行號(hào)和列號(hào))是各種編碼之間相互轉(zhuǎn)換的基礎(chǔ)。,7.3 鍵盤程序設(shè)計(jì),一、鍵盤掃描程序的工作方式 鍵盤掃描程序的工作方式通常有三種,即編程掃描、定時(shí)掃描和中斷掃描。 編程掃描:采用程序不斷掃描控

11、制方式。當(dāng)進(jìn)入鍵掃描狀態(tài),就反復(fù)地掃描鍵盤,等待用戶從鍵盤上輸入命令或數(shù)據(jù),在執(zhí)行鍵入命令或處理鍵入數(shù)據(jù)過(guò)程中,CPU將不再響應(yīng)鍵入要求,直到CPU返回重新掃描鍵盤為止。,7.3 鍵盤程序設(shè)計(jì),定時(shí)掃描:利用單片機(jī)內(nèi)部的定時(shí)器產(chǎn)生定時(shí)中斷來(lái)進(jìn)行鍵盤的掃描,當(dāng)有鍵按下時(shí),識(shí)別出該鍵的鍵值并執(zhí)行相應(yīng)的鍵功能程序。 中斷掃描:當(dāng)有鍵被按下時(shí),鍵盤接口電路就向CPU申請(qǐng)中斷,若CPU響應(yīng)中斷,就執(zhí)行判鍵程序得到鍵值,從而去執(zhí)行相應(yīng)的鍵功能程序。,7.3 鍵盤程序設(shè)計(jì),二、鍵盤掃描程序 1、逐行掃描法,7.3 鍵盤程序設(shè)計(jì),#include reg51.h #define uchar unsigned

12、char; #define uint unsigned int; void dlms (void); uchar kbscan(void); /* 函數(shù)說(shuō)明 */ void main (void) uchar key; while (1) key=kbscan(); /*調(diào)鍵掃描函數(shù),返回鍵碼送key保存*/ dlms(); ,7.3 鍵盤程序設(shè)計(jì),void dlms (void) /* 延時(shí) */ uchar i; for (i=200;i0;i- -); uchar kbscan (void) /* 鍵盤掃描函數(shù),逐行掃描 */ uchar sccode, recode; P1=0 xf0; /* P1.0P1.3放全0, P1.4P1.7輸入 */ if(P1 /* P1.0P1.3放全0, P1

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論