




版權(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)鍵盤的構(gòu)建及工作原理;了解微機(jī)控制系統(tǒng)鍵盤的構(gòu)建及工作原理;認(rèn)識(shí)微機(jī)控制系統(tǒng)的鍵盤設(shè)計(jì),掌握單片機(jī)鍵認(rèn)識(shí)微機(jī)控制系統(tǒng)的鍵盤設(shè)計(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.17.1電子密碼鎖控制系統(tǒng)任務(wù)分析電子密碼鎖控制系統(tǒng)任務(wù)分析一、一、 電子密碼鎖實(shí)物圖:電子密碼鎖實(shí)物圖: 二、任務(wù)分析二、任
2、務(wù)分析(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í),起動(dòng)蜂鳴
3、器報(bào)警。:當(dāng)錯(cuò)誤輸入次數(shù)滿三次時(shí),起動(dòng)蜂鳴器報(bào)警。延時(shí)五秒返回重新輸入。延時(shí)五秒返回重新輸入。7.17.1電子密碼鎖控制系統(tǒng)任務(wù)分析電子密碼鎖控制系統(tǒng)任務(wù)分析三、硬件控制線路三、硬件控制線路 1234ABCD4321DCBATitleNumberRevisionSizeA4Date:14-Dec-2005Sheet of File:D:電子密碼鎖.ddbDrawn By:12MHzC122ufVCCR41K1MR51KR61KR71KabfcgdeDPYLEDgn1234567abcdefgLED1abfcgdeDPYLEDgn1234567abcdefgLED2abfcgdeDPYLEDgn
4、1234567abcdefgLED3EVCCK10GND9GND8R81KVCCC230uF7R91KC130uF6R11K5R21KR101K4GND32VCCVCCGNDR31K901398C2051RSTP3.0P3.1XTAL2XATL1P3.2P3.3P3.4P3.5ENDVCCP1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0P3.79013R111KGNDVCC7.17.1電子密碼鎖控制系統(tǒng)任務(wù)分析電子密碼鎖控制系統(tǒng)任務(wù)分析7.17.1電子密碼鎖控制系統(tǒng)電子密碼鎖控制系統(tǒng)7.17.1電子密碼鎖控制系統(tǒng)電子密碼鎖控制系統(tǒng)四、項(xiàng)目所需元器件四、項(xiàng)目所需元器件(1 1實(shí)驗(yàn)
5、控制板。實(shí)驗(yàn)控制板。(2 24 4個(gè)共陽(yáng)極個(gè)共陽(yáng)極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.17.1電子密碼鎖控制系統(tǒng)電子密碼鎖控制系統(tǒng)7.2 7.2 鍵盤及其接口電路鍵盤及其接口電路一、鍵盤的基本概念一、鍵盤的基本概念 鍵盤是一組開關(guān)的集
6、合,是最常用的輸入設(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)來組成鍵盤。在單片機(jī)控制系統(tǒng)中常用觸點(diǎn)式開關(guān)來組成鍵
7、盤。 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 鍵盤及其接口電路鍵盤及其接口電路 鍵盤消抖動(dòng)的方法有兩種。鍵盤消抖動(dòng)
8、的方法有兩種。 硬件消抖動(dòng):利用雙穩(wěn)態(tài)電硬件消抖動(dòng):利用雙穩(wěn)態(tài)電 路、單穩(wěn)態(tài)電路及路、單穩(wěn)態(tài)電路及RC積分電積分電 路去抖。路去抖。 軟件消抖動(dòng):利用延時(shí)子程軟件消抖動(dòng):利用延時(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ò)過的按鍵信號(hào)7.2 7.2 鍵盤及其接口電路鍵盤及
9、其接口電路 (2重鍵:是指無意同時(shí)或先后按下兩個(gè)以上的鍵。重鍵:是指無意同時(shí)或先后按下兩個(gè)以上的鍵。 (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í),CPU等待此等待此鍵釋放的過程中不響應(yīng)其它按鍵等策略來解決。鍵釋放的過程中不響應(yīng)其它按鍵等策略來解決。7.2 7.2 鍵盤及其接口電路鍵盤及其接口電路 二、鍵盤的結(jié)
10、構(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)中普遍采用非編碼鍵盤。 非編碼鍵盤按結(jié)構(gòu)方式劃分,有獨(dú)立式鍵盤和矩陣式
11、鍵盤非編碼鍵盤按結(jié)構(gòu)方式劃分,有獨(dú)立式鍵盤和矩陣式鍵盤 兩大類。兩大類。 7.2 7.2 鍵盤及其接口電路鍵盤及其接口電路 1、獨(dú)立式鍵盤及其接口、獨(dú)立式鍵盤及其接口 獨(dú)立式鍵盤,是一種最簡(jiǎn)單的鍵盤構(gòu)成方法,它將每個(gè)獨(dú)立式鍵盤,是一種最簡(jiǎn)單的鍵盤構(gòu)成方法,它將每個(gè)按鍵的一端接到單片機(jī)的按鍵的一端接到單片機(jī)的I/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í),需占口線。鍵盤軟件結(jié)構(gòu)簡(jiǎn)單,但當(dāng)鍵盤數(shù)目較多時(shí),需占用大量的輸入口線,所以在使用上受到了很大的限
12、制。用大量的輸入口線,所以在使用上受到了很大的限制。 7.2 7.2 鍵盤及其接口電路鍵盤及其接口電路 獨(dú)立式鍵盤接口原理圖 矩陣式鍵盤接口原理圖 7.2 7.2 鍵盤及其接口電路鍵盤及其接口電路 2、矩陣式鍵盤及其接口、矩陣式鍵盤及其接口 在鍵盤中按鍵數(shù)量較多時(shí),為了減少在鍵盤中按鍵數(shù)量較多時(shí),為了減少I/O口的占用,通??诘恼加?,通常將按鍵排列成矩陣形式。將按鍵排列成矩陣形式。 在矩陣式鍵盤中,每條水平線和垂直線在交叉處不直接連在矩陣式鍵盤中,每條水平線和垂直線在交叉處不直接連通,而是通過一個(gè)按鍵加以連接,如下圖。這樣,一個(gè)通,而是通過一個(gè)按鍵加以連接,如下圖。這樣,一個(gè)端口如端口如P1口
13、就可以構(gòu)成口就可以構(gòu)成4*4=16個(gè)按鍵,比獨(dú)立個(gè)按鍵,比獨(dú)立式鍵盤多出了一倍,而且線數(shù)越多,區(qū)別越明顯,如再式鍵盤多出了一倍,而且線數(shù)越多,區(qū)別越明顯,如再多加一條線就可以構(gòu)成多加一條線就可以構(gòu)成20鍵的鍵盤,而直接用端口線則鍵的鍵盤,而直接用端口線則只能多出一個(gè)鍵只能多出一個(gè)鍵9鍵)。鍵)。7.2 7.2 鍵盤及其接口電路鍵盤及其接口電路 (1矩陣式鍵盤的按鍵識(shí)別方法矩陣式鍵盤的按鍵識(shí)別方法 逐行掃描法:逐行掃描法: 掃描法是一種逐行或逐列判斷是否有鍵按下的方法。掃描法又稱為逐行掃描法是一種逐行或逐列判斷是否有鍵按下的方法。掃描法又稱為逐行或列掃描查詢法,是一種最常用的按鍵識(shí)別方法。利用行
14、掃描法或列掃描查詢法,是一種最常用的按鍵識(shí)別方法。利用行掃描法判斷矩陣鍵盤中被按下的鍵時(shí)主要經(jīng)過以下步驟:判斷矩陣鍵盤中被按下的鍵時(shí)主要經(jīng)過以下步驟: 第一步,識(shí)別有無鍵按下第一步,識(shí)別有無鍵按下 讓所有的行線均置為讓所有的行線均置為0電平,即電平,即P1.4P1.7均輸出低電平,讀取列線均輸出低電平,讀取列線P1.0P1.3的值,若的值,若P1.0P1.3均為高電平,則表示無鍵按下;均為高電平,則表示無鍵按下;若不全為高電平,則表示有鍵按下。若不全為高電平,則表示有鍵按下。7.2 7.2 鍵盤及其接口電路鍵盤及其接口電路 第二步,若有鍵被按下,識(shí)別出具體的按鍵第二步,若有鍵被按下,識(shí)別出具體
15、的按鍵 方法是采用逐行掃描的辦法,即逐行置零電平,檢查各列方法是采用逐行掃描的辦法,即逐行置零電平,檢查各列線的電平。如首先置第一行為線的電平。如首先置第一行為0 0,其余行為,其余行為1 1,也就是讓,也就是讓P1.4P1.4P1.7P1.7輸出輸出01110111,讀取列線,讀取列線P1.0P1.0P1.3P1.3的值;若不全的值;若不全為為1 1,則根據(jù)讀取的列值即可判斷出按鍵在第一行第幾列,則根據(jù)讀取的列值即可判斷出按鍵在第一行第幾列上,從而識(shí)別出按鍵的位置;若全為上,從而識(shí)別出按鍵的位置;若全為1 1,表示第一行無鍵,表示第一行無鍵按下,那么就再置第二行為按下,那么就再置第二行為0
16、0,其余行為,其余行為1 1,即,即P1.4P1.4P1.7P1.7輸出輸出10111011,再讀取列值,根據(jù)列值結(jié)果,判斷第二行上有,再讀取列值,根據(jù)列值結(jié)果,判斷第二行上有無鍵被按下,依此類推,識(shí)別出按鍵的鍵值。無鍵被按下,依此類推,識(shí)別出按鍵的鍵值。 7.2 7.2 鍵盤及其接口電路鍵盤及其接口電路 掃描法在判斷鍵值時(shí),是采用的逐行掃描法,當(dāng)被按下掃描法在判斷鍵值時(shí),是采用的逐行掃描法,當(dāng)被按下的鍵在最后一行時(shí),需經(jīng)多次掃描才能獲得被按下鍵所的鍵在最后一行時(shí),需經(jīng)多次掃描才能獲得被按下鍵所在的行、列值。在的行、列值。 反線法:反線法: 反線法的特點(diǎn)是無論被按下的鍵處于第一行或最后一行,反
17、線法的特點(diǎn)是無論被按下的鍵處于第一行或最后一行,均只需經(jīng)過兩步便能獲得此按鍵所在的行列值。均只需經(jīng)過兩步便能獲得此按鍵所在的行列值。7.2 7.2 鍵盤及其接口電路鍵盤及其接口電路其操作步驟如下:其操作步驟如下:第一步:將行線編程為輸入線,列線編程為輸出線,并使第一步:將行線編程為輸入線,列線編程為輸出線,并使輸出線輸出為全零電平,則行線中電平由高到低所在輸出線輸出為全零電平,則行線中電平由高到低所在行為按鍵所在行。行為按鍵所在行。第二步:同第一步完全相反,將行線編程為輸出線,列線第二步:同第一步完全相反,將行線編程為輸出線,列線編程為輸入線,并使輸出線輸出為全零電平,則列線編程為輸入線,并使
18、輸出線輸出為全零電平,則列線中電平由高到低所在列為按鍵所在列。中電平由高到低所在列為按鍵所在列。綜合一二兩步的結(jié)果,可確定按鍵所在行和列,從而識(shí)別綜合一二兩步的結(jié)果,可確定按鍵所在行和列,從而識(shí)別出所按的鍵。出所按的鍵。 7.2 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)電平的變化,說明第一行有鍵按下;第二步讓第二步讓P1.4P1.4P1.7P1.7輸出全輸出全0 0,然后,讀入,然后,讀入P1.0P1.0P1.3P1.3位,位,結(jié)果結(jié)
19、果P1.0=0P1.0=0,而,而P1.1P1.1、P1.2P1.2和和P1.3P1.3均為均為1 1,因此第,因此第4 4列出現(xiàn)列出現(xiàn)電平的變化,說明第電平的變化,說明第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è)字
20、節(jié),高4 4位是行號(hào),低位是行號(hào),低4 4位是列號(hào),非常直觀位是列號(hào),非常直觀 。如:。如:3 3號(hào)鍵的編碼號(hào)鍵的編碼1110011111100111,寫成十六進(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í)掃描
21、和中斷掃描。時(shí)掃描和中斷掃描。 編程掃描:采用程序不斷掃描控制方式。當(dāng)進(jìn)入鍵掃描編程掃描:采用程序不斷掃描控制方式。當(dāng)進(jìn)入鍵掃描狀態(tài),就反復(fù)地掃描鍵盤,等待用戶從鍵盤上輸入命令狀態(tài),就反復(fù)地掃描鍵盤,等待用戶從鍵盤上輸入命令或數(shù)據(jù),在執(zhí)行鍵入命令或處理鍵入數(shù)據(jù)過程中,或數(shù)據(jù),在執(zhí)行鍵入命令或處理鍵入數(shù)據(jù)過程中,CPUCPU將將不再響應(yīng)鍵入要求,直到不再響應(yīng)鍵入要求,直到CPUCPU返回重新掃描鍵盤為止。返回重新掃描鍵盤為止。7.3 7.3 鍵盤程序設(shè)計(jì)鍵盤程序設(shè)計(jì) 定時(shí)掃描:利用單片機(jī)內(nèi)部的定時(shí)器產(chǎn)生定時(shí)定時(shí)掃描:利用單片機(jī)內(nèi)部的定時(shí)器產(chǎn)生定時(shí)中斷來進(jìn)行鍵盤的掃描,當(dāng)有鍵按下時(shí),識(shí)別中斷來進(jìn)行
22、鍵盤的掃描,當(dāng)有鍵按下時(shí),識(shí)別出該鍵的鍵值并執(zhí)行相應(yīng)的鍵功能程序。出該鍵的鍵值并執(zhí)行相應(yīng)的鍵功能程序。 中斷掃描:當(dāng)有鍵被按下時(shí),鍵盤接口電路就中斷掃描:當(dāng)有鍵被按下時(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 u
23、nsigned char#define uchar unsigned char;#define uint unsigned int#define uint unsigned int;void dlms (void)void dlms (void);uchar kbscan(void)uchar kbscan(void); / /* * 函數(shù)說明函數(shù)說明 * */ /void main (void)void main (void) uchar keyuchar key; while (1)while (1) key=kbscan()key=kbscan(); / /* *調(diào)鍵掃描函數(shù),返回鍵碼送
24、調(diào)鍵掃描函數(shù),返回鍵碼送keykey保存保存* */ / dlms() dlms(); 7.3 7.3 鍵盤程序設(shè)計(jì)鍵盤程序設(shè)計(jì)void dlms (void) /void dlms (void) /* * 延時(shí)延時(shí) * */ / uchar iuchar i; for (i=200for (i=200;i i0 0;i- -)i- -); uchar kbscan (void) /uchar kbscan (void) /* * 鍵盤掃描函數(shù),逐行掃描鍵盤掃描函數(shù),逐行掃描 * */ / uchar sccode, recodeuchar sccode, recode; P1=0 xf0;
25、/P1=0 xf0; /* * P1.0 P1.0P1.3P1.3放全放全0 0, P1.4P1.4P1.7P1.7輸入輸入 * */ / if(P1 & 0 xf0)!=0 xf0) / if(P1 & 0 xf0)!=0 xf0) /* * 如如P1P1口高四位不全為口高四位不全為1 1有鍵按下有鍵按下 * */ / dlms ( )dlms ( ); / /* * 延時(shí)去抖動(dòng)延時(shí)去抖動(dòng) * */ / if (P1 & 0 xf0)!=0 xf0) /if (P1 & 0 xf0)!=0 xf0) /* *再讀輸入值再讀輸入值* */ / sccode=0
26、xfesccode=0 xfe; / /* *最低位置為最低位置為0 0* */ /7.3 7.3 鍵盤程序設(shè)計(jì)鍵盤程序設(shè)計(jì) while(sccode & 0 x10)!=0) / while(sccode & 0 x10)!=0) /* *不到最后一行循環(huán)不到最后一行循環(huán)* */ / P1=sccodeP1=sccode; / /* *P1P1口輸出掃描碼口輸出掃描碼* */ / if (P1 & 0 xf0)!=0 xf0) /if (P1 & 0 xf0)!=0 xf0) /* *如如P1.4P1.4P1.7P1.7不為全不為全1 1,該行有鍵按,該行有鍵按下下* */ / recode=P1 & 0 xf0; /recode=P1 & 0 xf0; /* * 保留保留P1P1口高四位輸入值口高四位輸入值* */ / sccode= sccode & 0 x0f; / sccode= sccod
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 電梯贈(zèng)予合同7篇
- 小產(chǎn)權(quán)轉(zhuǎn)讓合同6篇
- 國(guó)際貿(mào)易之間合作合同
- 公司技術(shù)合作合同協(xié)議書
- 2025年中山貨運(yùn)資格證模擬考試題庫(kù)
- 2025年揚(yáng)州貨運(yùn)從業(yè)資格證模擬考試下載安裝
- 室內(nèi)裝修合同二5篇
- 的擔(dān)保借款合同7篇
- 觀看湖北消防119宣傳月節(jié)目心得感悟集合4篇
- 在民主生活會(huì)上的點(diǎn)評(píng)講話模板
- 新質(zhì)生產(chǎn)力與產(chǎn)品創(chuàng)新
- 能力素質(zhì)模型的正確打開方式(分享)
- 2024年河北省公務(wù)員錄用考試《行測(cè)》真題及答案解析
- 安保服務(wù)行業(yè)市場(chǎng)調(diào)研分析報(bào)告
- 吉林大學(xué)《微積分AⅠ》2021-2022學(xué)年第一學(xué)期期末試卷
- 現(xiàn)代家政導(dǎo)論-課件 6.1.1認(rèn)識(shí)道德與職業(yè)道德
- 《建筑工程施工許可管理辦法》2021年9月28日修訂
- 普通話培訓(xùn)教案1(共5篇)
- 大慶醫(yī)學(xué)高等??茖W(xué)校單招參考試題庫(kù)(含答案)
- 綿陽(yáng)市三臺(tái)縣鄉(xiāng)鎮(zhèn)地圖矢量可編輯課件行政區(qū)劃邊界高清(四川省)
- 新疆城市綠地養(yǎng)護(hù)管理標(biāo)準(zhǔn)
評(píng)論
0/150
提交評(píng)論