




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第七章第七章 電子電子密碼鎖控制密碼鎖控制系統(tǒng)系統(tǒng)課程目標(biāo)、課程重點(diǎn)及難點(diǎn)課程目標(biāo)、課程重點(diǎn)及難點(diǎn)課程目標(biāo)課程目標(biāo): 了解微機(jī)控制系統(tǒng)了解微機(jī)控制系統(tǒng)鍵盤的鍵盤的構(gòu)建及工作原理;認(rèn)識(shí)微機(jī)控構(gòu)建及工作原理;認(rèn)識(shí)微機(jī)控制系統(tǒng)的制系統(tǒng)的鍵盤設(shè)計(jì)鍵盤設(shè)計(jì),掌握單片機(jī),掌握單片機(jī)鍵盤鍵盤的應(yīng)用。的應(yīng)用。課程重點(diǎn)及難點(diǎn)課程重點(diǎn)及難點(diǎn) 獨(dú)立式鍵盤及其接口電路;矩陣式鍵盤及其接口電路;獨(dú)立式鍵盤及其接口電路;矩陣式鍵盤及其接口電路;按鍵掃描驅(qū)動(dòng)程序的設(shè)計(jì)。按鍵掃描驅(qū)動(dòng)程序的設(shè)計(jì)。7 7.1.1電子密碼鎖電子密碼鎖控制系統(tǒng)任務(wù)分析控制系統(tǒng)任務(wù)分析一、一、 電子密碼鎖電子密碼鎖實(shí)物圖實(shí)物圖: 二、任務(wù)分析二、任務(wù)
2、分析(1 1)狀態(tài))狀態(tài)1 1:開機(jī)復(fù)位,等待輸入,輸入四位密碼,按開機(jī)復(fù)位,等待輸入,輸入四位密碼,按EnterEnter鍵結(jié)束。鍵結(jié)束。(2 2)狀態(tài))狀態(tài)2 2:若密碼輸入正確,則數(shù)碼管顯示若密碼輸入正確,則數(shù)碼管顯示“god”god”。驅(qū)動(dòng)。驅(qū)動(dòng)繼電器,使小馬達(dá)運(yùn)行。延時(shí)五秒返回重新輸入。繼電器,使小馬達(dá)運(yùn)行。延時(shí)五秒返回重新輸入。(3 3)狀態(tài))狀態(tài)3 3:若密碼輸入不正確,則數(shù)碼管第一位顯示輸入若密碼輸入不正確,則數(shù)碼管第一位顯示輸入次數(shù),后二位顯示次數(shù),后二位顯示“ER”ER”,延時(shí)三秒后返回重新輸入。,延時(shí)三秒后返回重新輸入。(4 4)狀態(tài))狀態(tài)4 4:當(dāng)錯(cuò)誤輸入次數(shù)滿三次時(shí),
3、起動(dòng)蜂鳴器報(bào)警。當(dāng)錯(cuò)誤輸入次數(shù)滿三次時(shí),起動(dòng)蜂鳴器報(bào)警。延時(shí)五秒返回重新輸入。延時(shí)五秒返回重新輸入。7 7.1.1電子密碼鎖電子密碼鎖控制系統(tǒng)任務(wù)分析控制系統(tǒng)任務(wù)分析三、硬件控制線路三、硬件控制線路 1234ABCD4321DCBATitleNumberRevisionSizeA4Date:14-Dec-2005Sheet of File:D:電子密碼鎖.ddbDrawn By:12MHzC122ufVCCR41K1MR51KR61KR71KabfcgdeDPYLEDgn1234567abcdefgLED1abfcgdeDPYLEDgn1234567abcdefgLED2abfcgdeDPYL
4、EDgn1234567abcdefgLED3EVCCK10GND9GND8R81KVCCC230uF7R91KC130uF6R11K5R21KR101K4GND32VCCVCCGNDR31K901398C2051RSTP3.0P3.1XTAL2XATL1P3.2P3.3P3.4P3.5ENDVCCP1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0P3.79013R111KGNDVCC7 7.1.1電子密碼鎖電子密碼鎖控制系統(tǒng)任務(wù)分析控制系統(tǒng)任務(wù)分析7 7.1.1電子密碼鎖電子密碼鎖控制系統(tǒng)控制系統(tǒng)7 7.1.1電子密碼鎖電子密碼鎖控制系統(tǒng)控制系統(tǒng)四、項(xiàng)目所需元器件四、項(xiàng)目所需元器
5、件(1 1)實(shí)驗(yàn)控制板。)實(shí)驗(yàn)控制板。(2 2)4 4個(gè)共陽極個(gè)共陽極LEDLED數(shù)碼管、數(shù)碼管、1111個(gè)按鈕。個(gè)按鈕。(3 3)繼電器、電動(dòng)小馬達(dá)、三極管、喇叭等)繼電器、電動(dòng)小馬達(dá)、三極管、喇叭等(4 4)晶振)晶振12M12M,啟振電容,啟振電容30pf230pf2個(gè),復(fù)位電容個(gè),復(fù)位電容22uf,22uf,電阻若干。電阻若干。五、項(xiàng)目所涉及的知識(shí)內(nèi)容五、項(xiàng)目所涉及的知識(shí)內(nèi)容(1 1)鍵盤的構(gòu)成、掃描及編碼。)鍵盤的構(gòu)成、掃描及編碼。(2 2)鍵盤的編程。)鍵盤的編程。 7 7.1.1電子密碼鎖電子密碼鎖控制系統(tǒng)控制系統(tǒng)7.2 7.2 鍵盤及其接口電路鍵盤及其接口電路一、鍵盤的基本概念
6、一、鍵盤的基本概念 鍵盤是一組開關(guān)的集合,是最常用的輸入設(shè)備之一。組鍵盤是一組開關(guān)的集合,是最常用的輸入設(shè)備之一。組成鍵盤的按鍵有觸點(diǎn)式和非觸點(diǎn)式兩種。成鍵盤的按鍵有觸點(diǎn)式和非觸點(diǎn)式兩種。 觸點(diǎn)式按鍵通常是機(jī)械觸點(diǎn)開關(guān),它利用了機(jī)械觸點(diǎn)的觸點(diǎn)式按鍵通常是機(jī)械觸點(diǎn)開關(guān),它利用了機(jī)械觸點(diǎn)的通、斷特性完成信息的輸入。通、斷特性完成信息的輸入。 非觸點(diǎn)式按鈕主要指利用電子器件的通、斷來完成信息非觸點(diǎn)式按鈕主要指利用電子器件的通、斷來完成信息的輸入,如工作在開關(guān)狀態(tài)的三極管、電力電子器件的輸入,如工作在開關(guān)狀態(tài)的三極管、電力電子器件IGBTIGBT等。等。 在單片機(jī)控制系統(tǒng)中常用觸點(diǎn)式開關(guān)來組成鍵盤。在
7、單片機(jī)控制系統(tǒng)中常用觸點(diǎn)式開關(guān)來組成鍵盤。 7.2 7.2 鍵盤及其接口電路鍵盤及其接口電路 在實(shí)際鍵盤接口設(shè)計(jì)時(shí),必須考慮以下一些問題:在實(shí)際鍵盤接口設(shè)計(jì)時(shí),必須考慮以下一些問題: 按鍵開關(guān)的消抖問題按鍵開關(guān)的消抖問題 重鍵重鍵 連擊連擊(1 1)按鍵開關(guān)的抖動(dòng)問題)按鍵開關(guān)的抖動(dòng)問題 由于按鍵的結(jié)構(gòu)為機(jī)械彈性開關(guān),因此按鍵從最初按下由于按鍵的結(jié)構(gòu)為機(jī)械彈性開關(guān),因此按鍵從最初按下到接觸穩(wěn)定需數(shù)毫秒的彈跳時(shí)間,這樣的抖動(dòng)時(shí)間一般到接觸穩(wěn)定需數(shù)毫秒的彈跳時(shí)間,這樣的抖動(dòng)時(shí)間一般在在510ms510ms,松開鍵時(shí)也有同樣的問題。,松開鍵時(shí)也有同樣的問題。7.2 7.2 鍵盤及其接口電路鍵盤及其接
8、口電路 鍵盤消抖動(dòng)的方法有兩種。鍵盤消抖動(dòng)的方法有兩種。 硬件消抖動(dòng):硬件消抖動(dòng):利用雙穩(wěn)態(tài)電利用雙穩(wěn)態(tài)電 路、單穩(wěn)態(tài)電路及路、單穩(wěn)態(tài)電路及RCRC積分電積分電 路去抖。路去抖。 軟件消抖動(dòng):軟件消抖動(dòng):利用延時(shí)子程利用延時(shí)子程 序來完成,既在第一次檢測(cè)序來完成,既在第一次檢測(cè) 到按下按鍵后,經(jīng)過一定抖到按下按鍵后,經(jīng)過一定抖 動(dòng)時(shí)間后再次檢測(cè)按鍵是否動(dòng)時(shí)間后再次檢測(cè)按鍵是否 按下,從而消除抖動(dòng)的影響。按下,從而消除抖動(dòng)的影響。延時(shí)的選擇非常重要,太延時(shí)的選擇非常重要,太快了,起不到消除抖動(dòng)的快了,起不到消除抖動(dòng)的效果,太慢了又讓鍵盤太效果,太慢了又讓鍵盤太不靈活,錯(cuò)過的按鍵信號(hào)不靈活,錯(cuò)過的
9、按鍵信號(hào)7.2 7.2 鍵盤及其接口電路鍵盤及其接口電路 (2 2)重鍵:)重鍵:是指無意同時(shí)或先后按下兩個(gè)以上的鍵。是指無意同時(shí)或先后按下兩個(gè)以上的鍵。 (3 3)連擊:)連擊:是指一次按鍵產(chǎn)生多次擊鍵的結(jié)果。是指一次按鍵產(chǎn)生多次擊鍵的結(jié)果。 通常在單片機(jī)應(yīng)用系統(tǒng)中,對(duì)于重鍵或連擊現(xiàn)象,也通常在單片機(jī)應(yīng)用系統(tǒng)中,對(duì)于重鍵或連擊現(xiàn)象,也多利用軟件來進(jìn)行控制,如采取單鍵按下有效、多個(gè)多利用軟件來進(jìn)行控制,如采取單鍵按下有效、多個(gè)鍵按下無效,并且在某個(gè)鍵被按下時(shí),鍵按下無效,并且在某個(gè)鍵被按下時(shí),CPUCPU等待此鍵等待此鍵釋放的過程中不響應(yīng)其它按鍵等策略來解決。釋放的過程中不響應(yīng)其它按鍵等策略來
10、解決。7.2 7.2 鍵盤及其接口電路鍵盤及其接口電路 二、二、鍵盤的結(jié)構(gòu)方式鍵盤的結(jié)構(gòu)方式 鍵盤有兩種基本類型:鍵盤有兩種基本類型:編碼鍵盤和非編碼鍵盤。編碼鍵盤和非編碼鍵盤。 編碼鍵盤采用硬件線路來產(chǎn)生鍵碼,每按下一個(gè)鍵,鍵盤編碼鍵盤采用硬件線路來產(chǎn)生鍵碼,每按下一個(gè)鍵,鍵盤 能自動(dòng)生成按鍵代碼。能自動(dòng)生成按鍵代碼。 非編碼鍵盤是靠軟件來識(shí)別鍵盤上的閉合鍵,并由軟件編非編碼鍵盤是靠軟件來識(shí)別鍵盤上的閉合鍵,并由軟件編 成來確定按鍵代碼。非編碼鍵盤具有結(jié)構(gòu)簡(jiǎn)單、價(jià)格便宜成來確定按鍵代碼。非編碼鍵盤具有結(jié)構(gòu)簡(jiǎn)單、價(jià)格便宜 等特點(diǎn),因此在單片機(jī)系統(tǒng)中普遍采用非編碼鍵盤。等特點(diǎn),因此在單片機(jī)系統(tǒng)中
11、普遍采用非編碼鍵盤。 非編碼鍵盤按結(jié)構(gòu)方式劃分,有非編碼鍵盤按結(jié)構(gòu)方式劃分,有獨(dú)立式鍵盤和矩陣式鍵盤獨(dú)立式鍵盤和矩陣式鍵盤 兩大類。兩大類。 7.2 7.2 鍵盤及其接口電路鍵盤及其接口電路 1 1、獨(dú)立式鍵盤及其接口、獨(dú)立式鍵盤及其接口 獨(dú)立式鍵盤,是一種最簡(jiǎn)單的鍵盤構(gòu)成方法,它將每個(gè)獨(dú)立式鍵盤,是一種最簡(jiǎn)單的鍵盤構(gòu)成方法,它將每個(gè)按鍵的一端接到單片機(jī)的按鍵的一端接到單片機(jī)的I/OI/O口,另一端接地,如圖所口,另一端接地,如圖所示。示。 主要特點(diǎn)是各個(gè)鍵相互獨(dú)立,每一個(gè)按鍵對(duì)應(yīng)一根輸入主要特點(diǎn)是各個(gè)鍵相互獨(dú)立,每一個(gè)按鍵對(duì)應(yīng)一根輸入口線。鍵盤軟件結(jié)構(gòu)簡(jiǎn)單,但當(dāng)鍵盤數(shù)目較多時(shí),需占口線。鍵盤
12、軟件結(jié)構(gòu)簡(jiǎn)單,但當(dāng)鍵盤數(shù)目較多時(shí),需占用大量的輸入口線,所以在使用上受到了很大的限制。用大量的輸入口線,所以在使用上受到了很大的限制。 7.2 7.2 鍵盤及其接口電路鍵盤及其接口電路 獨(dú)立式鍵盤接口原理圖 矩陣式鍵盤接口原理圖 7.2 7.2 鍵盤及其接口電路鍵盤及其接口電路 2 2、矩陣式鍵盤及其接口、矩陣式鍵盤及其接口 在鍵盤中按鍵數(shù)量較多時(shí),為了減少在鍵盤中按鍵數(shù)量較多時(shí),為了減少I/OI/O口的占用,通??诘恼加茫ǔ存I排列成矩陣形式。將按鍵排列成矩陣形式。 在矩陣式鍵盤中,每條水平線和垂直線在交叉處不直接在矩陣式鍵盤中,每條水平線和垂直線在交叉處不直接連通,而是通過一個(gè)按鍵加以
13、連接,如圖所示。這樣,連通,而是通過一個(gè)按鍵加以連接,如圖所示。這樣,一個(gè)端口(如一個(gè)端口(如P1P1口)就可以構(gòu)成口)就可以構(gòu)成4 4* *4=164=16個(gè)按鍵,比獨(dú)立個(gè)按鍵,比獨(dú)立式鍵盤多出了一倍,而且線數(shù)越多,區(qū)別越明顯,如再式鍵盤多出了一倍,而且線數(shù)越多,區(qū)別越明顯,如再多加一條線就可以構(gòu)成多加一條線就可以構(gòu)成2020鍵的鍵盤,而直接用端口線則鍵的鍵盤,而直接用端口線則只能多出一個(gè)鍵(只能多出一個(gè)鍵(9 9鍵)。鍵)。7.2 7.2 鍵盤及其接口電路鍵盤及其接口電路 (1 1)矩陣式鍵盤的按鍵識(shí)別方法)矩陣式鍵盤的按鍵識(shí)別方法 逐行掃描法:逐行掃描法: 掃描法是一種逐行或逐列判斷是否
14、有鍵按下的方法。掃描法是一種逐行或逐列判斷是否有鍵按下的方法。掃描掃描法又稱為逐行(或列)掃描查詢法,是一種最常用的按鍵法又稱為逐行(或列)掃描查詢法,是一種最常用的按鍵識(shí)別方法。利用行掃描法判斷矩陣鍵盤中被按下的鍵時(shí)主識(shí)別方法。利用行掃描法判斷矩陣鍵盤中被按下的鍵時(shí)主要經(jīng)過以下步驟:要經(jīng)過以下步驟: 第一步,識(shí)別有無鍵按下第一步,識(shí)別有無鍵按下 讓所有的行線均置為讓所有的行線均置為0 0電平,即電平,即P1.4P1.4P1.7P1.7均輸出低電平,均輸出低電平,讀取列線讀取列線P1.0P1.0P1.3P1.3的值,若的值,若P1.0P1.0P1.3P1.3均為高電平,則均為高電平,則表示無鍵
15、按下;若不全為高電平,則表示有鍵按下。表示無鍵按下;若不全為高電平,則表示有鍵按下。7.2 7.2 鍵盤及其接口電路鍵盤及其接口電路 第二步,若有鍵被按下,識(shí)別出具體的按鍵第二步,若有鍵被按下,識(shí)別出具體的按鍵 方法是采用逐行掃描的辦法,即逐行置零電平,檢查各列方法是采用逐行掃描的辦法,即逐行置零電平,檢查各列線的電平。如首先置第一行為線的電平。如首先置第一行為0 0,其余行為,其余行為1 1,也就是讓,也就是讓P P1.41.4P P1.71.7輸出輸出01110111,讀取列線,讀取列線P P1.01.0P P1.31.3的值;若不全為的值;若不全為1 1,則根據(jù)讀取的列值即可判斷出按鍵在
16、第一行第幾列上,從則根據(jù)讀取的列值即可判斷出按鍵在第一行第幾列上,從而識(shí)別出按鍵的位置;若全為而識(shí)別出按鍵的位置;若全為1 1,表示第一行無鍵按下,表示第一行無鍵按下,那么就再置第二行為那么就再置第二行為0 0,其余行為,其余行為1 1,即,即P P1.41.4P P1.71.7輸出輸出10111011,再讀取列值,根據(jù)列值結(jié)果,判斷第二行上有無鍵被按下,再讀取列值,根據(jù)列值結(jié)果,判斷第二行上有無鍵被按下,依此類推,識(shí)別出按鍵的鍵值。依此類推,識(shí)別出按鍵的鍵值。 7.2 7.2 鍵盤及其接口電路鍵盤及其接口電路 掃描法在判斷鍵值時(shí),是采用的逐行掃描法,當(dāng)被按下掃描法在判斷鍵值時(shí),是采用的逐行掃
17、描法,當(dāng)被按下的鍵在最后一行時(shí),需經(jīng)多次掃描才能獲得被按下鍵所的鍵在最后一行時(shí),需經(jīng)多次掃描才能獲得被按下鍵所在的行、列值。在的行、列值。 反線法:反線法: 反線法的特點(diǎn)是無論被按下的鍵處于第一行或最后一行,反線法的特點(diǎn)是無論被按下的鍵處于第一行或最后一行,均只需經(jīng)過兩步便能獲得此按鍵所在的行列值。均只需經(jīng)過兩步便能獲得此按鍵所在的行列值。7.2 7.2 鍵盤及其接口電路鍵盤及其接口電路其操作步驟如下:其操作步驟如下:第一步:第一步:將行線編程為輸入線,列線編程為輸出線,并使將行線編程為輸入線,列線編程為輸出線,并使輸出線輸出為全零電平,則行線中電平由高到低所在輸出線輸出為全零電平,則行線中電
18、平由高到低所在行為按鍵所在行。行為按鍵所在行。第二步:第二步:同第一步完全相反,將行線編程為輸出線,列線同第一步完全相反,將行線編程為輸出線,列線編程為輸入線,并使輸出線輸出為全零電平,則列線編程為輸入線,并使輸出線輸出為全零電平,則列線中電平由高到低所在列為按鍵所在列。中電平由高到低所在列為按鍵所在列。綜合一二兩步的結(jié)果,可確定按鍵所在行和列,從而識(shí)別綜合一二兩步的結(jié)果,可確定按鍵所在行和列,從而識(shí)別出所按的鍵。出所按的鍵。 7.2 7.2 鍵盤及其接口電路鍵盤及其接口電路 假設(shè)假設(shè)3 3號(hào)鍵被按下,那么第一步號(hào)鍵被按下,那么第一步即在即在P P1.01.0P P1.31.3輸出全輸出全0
19、0,然后,然后,讀入讀入P P1.41.4P P1.71.7位,結(jié)果位,結(jié)果P P1.41.4=0=0,而而P P1.51.5、P P1.61.6和和P P1.71.7均為均為1 1,因此,因此,第一行出現(xiàn)電平的變化,說明第一行出現(xiàn)電平的變化,說明第一行有鍵按下;第一行有鍵按下;第二步讓第二步讓P P1.41.4P P1.71.7輸出全輸出全0 0,然后,讀入,然后,讀入P P1.01.0P P1.31.3位,結(jié)位,結(jié)果果P P1.01.0=0=0,而,而P P1.11.1、P P1.21.2和和P P1.31.3均為均為1 1,因此第,因此第4 4列出現(xiàn)電平的列出現(xiàn)電平的變化,說明第變化,說
20、明第4 4列有鍵按下,從而可以得知按鍵在第一行列有鍵按下,從而可以得知按鍵在第一行第四列,即第四列,即3 3號(hào)鍵被按下,如圖所示。號(hào)鍵被按下,如圖所示。7.2 7.2 鍵盤及其接口電路鍵盤及其接口電路(2 2)鍵盤的編碼)鍵盤的編碼 對(duì)于矩陣式鍵盤,按鍵的位置由行號(hào)和列號(hào)確定,所以對(duì)于矩陣式鍵盤,按鍵的位置由行號(hào)和列號(hào)確定,所以分別對(duì)行號(hào)和列號(hào)進(jìn)行二進(jìn)制編碼,然后將兩值合成一分別對(duì)行號(hào)和列號(hào)進(jìn)行二進(jìn)制編碼,然后將兩值合成一個(gè)字節(jié),高個(gè)字節(jié),高4 4位是行號(hào),低位是行號(hào),低4 4位是列號(hào),非常直觀位是列號(hào),非常直觀 。如:。如:3 3號(hào)鍵的編碼號(hào)鍵的編碼1110011111100111,寫成十六
21、進(jìn)制為,寫成十六進(jìn)制為E7HE7H。 無論以何種方式編碼,均應(yīng)以處理問題方便為原則。按無論以何種方式編碼,均應(yīng)以處理問題方便為原則。按鍵所處的位置(即行號(hào)和列號(hào))是各種編碼之間相互轉(zhuǎn)鍵所處的位置(即行號(hào)和列號(hào))是各種編碼之間相互轉(zhuǎn)換的基礎(chǔ)。換的基礎(chǔ)。7.3 7.3 鍵盤程序設(shè)計(jì)鍵盤程序設(shè)計(jì) 一、鍵盤掃描程序的工作方式一、鍵盤掃描程序的工作方式 鍵盤掃描程序的工作方式通常有三種,即編程掃描、定鍵盤掃描程序的工作方式通常有三種,即編程掃描、定時(shí)掃描和中斷掃描。時(shí)掃描和中斷掃描。 編程掃描編程掃描:采用程序采用程序不斷掃描不斷掃描控制方式。當(dāng)進(jìn)入鍵掃描控制方式。當(dāng)進(jìn)入鍵掃描狀態(tài),就反復(fù)地掃描鍵盤,等
22、待用戶從鍵盤上輸入命令狀態(tài),就反復(fù)地掃描鍵盤,等待用戶從鍵盤上輸入命令或數(shù)據(jù)或數(shù)據(jù),在執(zhí)行鍵入命令或處理鍵入數(shù)據(jù)過程中,在執(zhí)行鍵入命令或處理鍵入數(shù)據(jù)過程中,CPUCPU將將不再響應(yīng)鍵入要求,直到不再響應(yīng)鍵入要求,直到CPUCPU返回重新掃描鍵盤為止。返回重新掃描鍵盤為止。7.3 7.3 鍵盤程序設(shè)計(jì)鍵盤程序設(shè)計(jì) 定時(shí)掃描:定時(shí)掃描:利用單片機(jī)內(nèi)部的定時(shí)器產(chǎn)生定時(shí)中斷來進(jìn)行利用單片機(jī)內(nèi)部的定時(shí)器產(chǎn)生定時(shí)中斷來進(jìn)行鍵盤的掃描,當(dāng)有鍵按下時(shí),識(shí)別出該鍵的鍵值并執(zhí)行鍵盤的掃描,當(dāng)有鍵按下時(shí),識(shí)別出該鍵的鍵值并執(zhí)行相應(yīng)的鍵功能程序相應(yīng)的鍵功能程序。 中斷掃描:中斷掃描:當(dāng)有鍵被按下時(shí),鍵盤接口電路就向當(dāng)
23、有鍵被按下時(shí),鍵盤接口電路就向CPUCPU申請(qǐng)申請(qǐng)中斷,若中斷,若CPUCPU響應(yīng)中斷,就執(zhí)行判鍵程序得到鍵值,從而響應(yīng)中斷,就執(zhí)行判鍵程序得到鍵值,從而去執(zhí)行相應(yīng)的鍵功能程序。去執(zhí)行相應(yīng)的鍵功能程序。 7.3 7.3 鍵盤程序設(shè)計(jì)鍵盤程序設(shè)計(jì)二、二、鍵盤掃描程序鍵盤掃描程序 1 1、逐行掃描法、逐行掃描法7.3 7.3 鍵盤程序設(shè)計(jì)鍵盤程序設(shè)計(jì)#include #include reg51.hreg51.h#define uchar#define uchar unsigned char unsigned char;#define uint unsigned int#define uint u
24、nsigned int;void dlmsvoid dlms (void) (void);uchar kbscan(voiduchar kbscan(void) ); /* 函數(shù)說明 */void main (void)void main (void) ucharuchar key key; while (1)while (1) key=kbscankey=kbscan()(); /*調(diào)鍵掃描函數(shù),返回鍵碼送key保存*/ dlms dlms()(); 7.3 7.3 鍵盤程序設(shè)計(jì)鍵盤程序設(shè)計(jì)void dlmsvoid dlms (void) (void) /* 延時(shí) */ ucharucha
25、r i i; for (i=200for (i=200;i i0 0;i- -)i- -); uchar kbscanuchar kbscan (void) (void) /* 鍵盤掃描函數(shù),逐行掃描 */ uchar sccodeuchar sccode, recode, recode; P1=0 xf0; P1=0 xf0; /* P1.0P1.3放全0, P1.4P1.7輸入 */ if(P1 & 0 xf0)!=0 xf0) if(P1 & 0 xf0)!=0 xf0) /* 如P1口高四位不全為1有鍵按下 */ dlmsdlms ( ) ( ); /* 延時(shí)去抖動(dòng) *
26、/ if (P1 & 0 xf0)!=0 xf0) if (P1 & 0 xf0)!=0 xf0) /*再讀輸入值*/ sccodesccode=0 xfe=0 xfe; /*最低位置為0*/7.3 7.3 鍵盤程序設(shè)計(jì)鍵盤程序設(shè)計(jì) while(sccode while(sccode & 0 x10)!=0) & 0 x10)!=0) /*不到最后一行循環(huán)*/ P1=sccodeP1=sccode; /*P1口輸出掃描碼*/ if (P1 & 0 xf0)!=0 xf0) if (P1 & 0 xf0)!=0 xf0) /*如P1.4P1.7不為
27、全1,該行有鍵按下*/ recode=P1 & 0 xf0; recode=P1 & 0 xf0; /* 保留P1口高四位輸入值*/ sccode= sccode sccode= sccode & 0 x0f; & 0 x0f; /*低四位保留,作為列值*/ return (sccode+recode return (sccode+recode); ); /* 行碼+列值=鍵編碼返回主程序*/ elseelse sccode=(sccode sccode=(sccode1)| 0 x010;i-);=200;i0;i-); if(P1&0 xf0)!=0 xf0) if(P1&0 x
溫馨提示
- 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. 人人文庫(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 出租車司機(jī)雇傭合同
- 公司勞動(dòng)合同主體變更工作流程
- 山林租賃合同
- 五金電料采購(gòu)合同
- 消防水鶴安裝工程協(xié)議書
- 產(chǎn)品攝影保密協(xié)議
- 手房購(gòu)房意向定金合同書
- 游戲開發(fā)及運(yùn)營(yíng)授權(quán)協(xié)議
- 項(xiàng)目開發(fā)季度工作總結(jié)與反思報(bào)告
- 北京房屋租賃合同電子版7篇
- 保密基本知識(shí)考試試題(100題含答案)
- 新聞攝影培訓(xùn)PPT
- 露天煤礦防治水管理制度
- 電工電子技術(shù)與技能 程周
- PANTONE潘通色卡C面顏色
- 中藥的性能課件
- 平行四邊形的性質(zhì)說課課件- 人教版八年級(jí)數(shù)學(xué)下冊(cè)
- 2022新教科版科學(xué)六年級(jí)下冊(cè)全一冊(cè)全部課件(含32課)
- 《數(shù)學(xué)物理方程》全冊(cè)配套課件
- 《煤礦安全規(guī)程》專家解讀(詳細(xì)版)
- 招聘面試流程sop
評(píng)論
0/150
提交評(píng)論