




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、I / 36摘摘 要要在日常的生活和工作中, 住宅與部門的安全防、單位的文件檔案、財(cái)務(wù)報(bào)表以與一些個(gè)人資料的保存多以加鎖的辦法來解決。若使用傳統(tǒng)的機(jī)械式鑰匙開鎖,人們常需攜帶多把鑰匙, 使用極不方便, 且鑰匙丟失后安全性即大打折扣。隨著科學(xué)技術(shù)的不斷發(fā)展,人們對(duì)日常生活中的安全保險(xiǎn)器件的要求越來越高。為滿足人們對(duì)鎖的使用要求,增加其安全性,用密碼代替鑰匙的密碼鎖應(yīng)運(yùn)而生。密碼鎖具有安全性高、成本低、功耗低、易操作等優(yōu)點(diǎn)。在安全技術(shù)防領(lǐng)域,具有防盜報(bào)警功能的電子密碼鎖逐漸代替?zhèn)鹘y(tǒng)的機(jī)械式密碼鎖,克服了機(jī)械式密碼鎖密碼量少、安全性能差的缺點(diǎn),使密碼鎖無論在技術(shù)上還是在性能上都大大提高一步。隨著大規(guī)
2、模集成電路技術(shù)的發(fā)展,特別是單片機(jī)的問世,出現(xiàn)了帶微處理器的智能密碼鎖,它除具有電子密碼鎖的功能外,還引入了智能化管理、專家分析系統(tǒng)等功能,從而使密碼鎖具有很高的安全性、可靠性,應(yīng)用日益廣泛。隨著人們對(duì)安全的重視和科技的發(fā)展,許多電子智能鎖(指紋識(shí)別、IC 卡辨認(rèn))已在國(guó)外相繼面世。但是這些產(chǎn)品的特點(diǎn)是針對(duì)特定的指紋和有效卡,只能適用于要求的箱、柜、門等。而且指紋識(shí)識(shí)別器若在公共場(chǎng)所使用存在容易機(jī)械損壞,IC 卡還存在容易丟失、損壞等特點(diǎn)。加上其成本較高,一定程度上限制了這類產(chǎn)品的普與和推廣。鑒于目前的技術(shù)水平與市場(chǎng)的接收程度,電子密碼鎖是這類電子防盜產(chǎn)品的主流。電子密碼鎖的設(shè)計(jì)主要由三部分組
3、成:44 矩陣鍵盤接口電路、密碼鎖的控制電路、輸出八段顯示電路。另外系統(tǒng)還有 LED 提示燈,報(bào)警蜂鳴器等。關(guān)鍵詞:關(guān)鍵詞:44 矩陣鍵盤;AT89C51;密碼鎖;密碼二次確認(rèn)II / 36目目 錄錄一、緒一、緒論論 1 11.1 背景 11.2 電子密碼鎖 11.3 電子密碼鎖的特點(diǎn) 11.4 電子密碼鎖的發(fā)展趨勢(shì) 2二、方案論證與比較二、方案論證與比較 3 32.1 數(shù)字電路控制的密碼鎖 32.2 單片機(jī)控制的密碼鎖 3三、系統(tǒng)總體設(shè)計(jì)三、系統(tǒng)總體設(shè)計(jì) 5 53.1 設(shè)計(jì)要求 53.2 設(shè)計(jì)構(gòu)想 53.3 系統(tǒng)結(jié)構(gòu) 53.4 系統(tǒng)組成 63.5 系統(tǒng)可行性分析 6四、硬件電路設(shè)計(jì)四、硬件電
4、路設(shè)計(jì) 7 74.1 單片機(jī) AT89C51 簡(jiǎn)介 74.1.1 主要特性 74.1.2 管腳說明 74.1.3 震蕩特性 94.1.4 芯片擦除 94.2 44 矩陣鍵盤輸入電路 94.3 復(fù)位電路 104.4 振蕩電路 114.5 數(shù)碼管顯示電路 124.6 顯示方式 134.7 開鎖電路 144.8 報(bào)警電路 154.9 上拉電阻的作用 154.10 按鍵去抖動(dòng)的方法 164.11 部分元器件列表 16III / 36五、軟件程序設(shè)計(jì)五、軟件程序設(shè)計(jì) 17175.1 軟件設(shè)計(jì)流程圖 185.2 具體功能軟件實(shí)施 195.2.1 開始等待流程 195.2.2 密碼檢查功能 195.2.3
5、鍵盤掃描 205.2.4 修改密碼 21六、結(jié)論六、結(jié)論 2222七、七、參考文獻(xiàn)參考文獻(xiàn) 2323附錄一總原理圖附錄一總原理圖 2424附錄二電子密碼鎖源程序附錄二電子密碼鎖源程序 25251 / 36一、緒論一、緒論1.11.1 背景背景隨著社會(huì)物質(zhì)財(cái)富的日益增長(zhǎng),安全防盜已成為社會(huì)問題。而鎖自古以來就是把守門戶的鐵將軍,人們對(duì)它要求甚高,既要安全可靠地防盜,又要使用方便,這也是制鎖者長(zhǎng)期以來研制的主題。目前國(guó),大部分人使用的還是傳統(tǒng)的機(jī)械鎖。然而,眼下假冒偽劣的機(jī)械鎖泛濫成災(zāi),互開率非常之高。所謂互開率,是各種鎖具的一個(gè)技術(shù)質(zhì)量標(biāo)準(zhǔn),也就是1把鑰匙能開幾把鎖的比率。經(jīng)國(guó)家工商局、國(guó)家貿(mào)局
6、、中國(guó)消協(xié)等部門對(duì)鎖具市場(chǎng)的調(diào)查,發(fā)現(xiàn)個(gè)別產(chǎn)品的互開率居然超標(biāo)26倍。為何彈子鎖的“互開率”會(huì)如此之高?據(jù)有關(guān)專家人士剖析,彈子鎖質(zhì)量好壞主要取決于彈子數(shù)量的多少以與彈子的大小,而彈子的多少和大小受一定條件的限制。此外,即使是一把質(zhì)量過關(guān)的機(jī)械鎖,通過急開鎖,甚至可以在不損壞鎖的前提下將鎖打開。機(jī)械鎖的這些弊端為一種新型的鎖-電子密碼鎖,提供了發(fā)展的空間。隨著社會(huì)的發(fā)展和人們生活水平的提高,人們的安全意識(shí)也逐步加強(qiáng)。密碼鎖以其安全性高、成本低、功耗低、易操作等優(yōu)點(diǎn)受到越來越多人的歡迎。1.21.2 電子密碼鎖電子密碼鎖電子密碼鎖是采取電子電路控制,以電磁鐵或者衛(wèi)星電機(jī)和鎖體作為執(zhí)行裝置的機(jī)電一
7、體化鎖具,相比傳統(tǒng)的機(jī)械鎖具,電子密碼鎖不使用金屬鑰匙,性、精度都有很大提高。 電子密碼鎖的發(fā)明思路,源自古代發(fā)明的自動(dòng)機(jī)械,例如古希臘數(shù)學(xué)家赫倫的液壓自動(dòng)門,中國(guó)古代諸亮的木牛流馬,它們以重力或蒸汽壓力驅(qū)動(dòng),最廣泛的用途乃是用在古代墓道的地下機(jī)關(guān)。電子工業(yè)的誕生,使得以微小電量驅(qū)動(dòng)機(jī)械成為可能,于是有了電子鎖一日千里的躍進(jìn)。1.31.3 電子密碼鎖的特點(diǎn)電子密碼鎖的特點(diǎn)電子密碼鎖是一種通過密碼輸入來控制電路或是芯片工作,從而控制機(jī)械開關(guān)的閉合,完成開鎖、閉鎖任務(wù)的電子產(chǎn)品。它的種類很多,有簡(jiǎn)易的電路產(chǎn)品,也有基于芯片的性價(jià)比較高的產(chǎn)品?,F(xiàn)在應(yīng)用較廣的電子密碼鎖是以芯片為核心,通過編程來實(shí)現(xiàn)的
8、。其性能和安全性已大大超過了機(jī)械鎖,主要特點(diǎn)如下:1)性好,編碼量多,遠(yuǎn)遠(yuǎn)大于彈子鎖。隨機(jī)開鎖成功率幾乎為零。2)密碼可變,用戶可以經(jīng)常更改密碼,防止密碼被盜,同時(shí)也可以避免因人2 / 36員的更替而使鎖的密級(jí)下降。 3)電子密碼鎖操作簡(jiǎn)單易行,一學(xué)即會(huì)。 4)干擾碼功能,在輸入正確密碼前可輸入任意碼。 5)誤碼輸入保護(hù),當(dāng)輸入密碼多次錯(cuò)誤,報(bào)警電路啟動(dòng),防止試探密碼。6)入侵感應(yīng)功能,在門上鎖的狀態(tài)下,有人破鎖而入,會(huì)發(fā)出報(bào)警音。 7)火災(zāi)報(bào)警功能,在室如果溫度達(dá)到 75左右,將會(huì)發(fā)出強(qiáng)力的報(bào)警音,同時(shí)鎖會(huì)自動(dòng)開啟。 8)雙重鎖定功能 外部強(qiáng)制鎖定:在部不能開啟,適用于外出時(shí),防止有人入侵。
9、 部強(qiáng)制鎖定:在外部不能開啟,讓您在家時(shí)更安心、安全。 9)弱電提醒,當(dāng)電量不足時(shí),在啟動(dòng)開門時(shí),會(huì)有美妙的音樂提示您與時(shí)更換電池。 10)自動(dòng)上鎖功能,采用全自動(dòng)鎖芯,門關(guān)后 6 秒自動(dòng)上鎖,外出更安全。 11)外部顯示功能,當(dāng)密碼輸入錯(cuò)誤,鎖舌沒正常鎖到位,室反鎖,弱電等情況下,外部都有提示功能。 1.41.4 電子密碼鎖的發(fā)展趨勢(shì)電子密碼鎖的發(fā)展趨勢(shì)從目前的技術(shù)水平和市場(chǎng)認(rèn)可程度看,使用最廣泛的是鍵盤式電子密碼鎖,該產(chǎn)品主要應(yīng)用于保險(xiǎn)箱、保險(xiǎn)柜和金庫,還有一部分應(yīng)用于保管箱和運(yùn)鈔車。鍵盤式電子密碼在鍵盤上輸入,與打差不多,因而易于掌握,其突出優(yōu)點(diǎn)是“密碼”是記在被授權(quán)人腦子里的數(shù)字和字符
10、,既準(zhǔn)確又可靠,不會(huì)丟失,難以被竊。但是密碼不能太簡(jiǎn)單,太簡(jiǎn)單了就容易被他人在鍵盤上試探出來,或者可能被旁觀者窺測(cè)出來,造成性不足。當(dāng)然,密碼又不能太復(fù)雜,太復(fù)雜了可能自己都糊涂了,或者輸入密碼操作成功率低,造成使用不便。因此,為了發(fā)揚(yáng)優(yōu)點(diǎn)、克服弱點(diǎn),鍵盤式電子密碼也在不斷發(fā)展中,如“任意設(shè)定密碼”技術(shù)使得被授權(quán)人可以根據(jù)自己的需要或喜好設(shè)定密碼,常用常新;而“自動(dòng)更改密碼”技術(shù)使得本次輸入的密碼將自動(dòng)更改成下次應(yīng)輸入的密碼,更改的規(guī)律不為他人所知,因而不怕旁觀者窺測(cè);獨(dú)出心裁的“鍵盤亂序顯示”技術(shù)使得鍵盤上的固定鍵位每次顯示出的字符不固定,并且顯示的窄小角度只能由操作者正面看得到,因而即使旁
11、觀者看見操作動(dòng)作也難以窺測(cè)出密碼;“多重密碼設(shè)定”技術(shù)使得單組密碼不一定有效,適合多人分權(quán)使用,需要輸入兩組以上的密碼才被認(rèn)可,大大提高了性,如果限定輸入這些密碼的先后順序或時(shí)間區(qū)段,則性還可提高。在輸入密碼的過程中,為了限制試探密碼的企圖,通常輸入錯(cuò)誤碼若干次或若干時(shí)間輸入不正確,即“封鎖”鍵盤,不再接受輸入操作。總之,盡管新式電子防盜鎖層出不窮,但鍵盤式電子密碼防盜鎖不僅在市場(chǎng)上居于主流地位,而且,還經(jīng)常作為3 / 36其他類型電子防盜鎖的輔助輸入手段。二、方案論證與比較二、方案論證與比較2.12.1 數(shù)字電路控制的密碼鎖數(shù)字電路控制的密碼鎖方案一:采用數(shù)字電路控制。其原理方框圖如圖 2.
12、1 所示圖 2.1.1 數(shù)字密碼鎖電路方案采用數(shù)字密碼鎖電路以 74LS112 雙 JK 觸發(fā)器構(gòu)成的數(shù)字邏輯電路作為密碼鎖的核心控制,共設(shè)了 9 個(gè)用戶輸入鍵,其中只有 4 個(gè)是有效的密碼按鍵,其它的都是干擾按鍵,若按下干擾鍵,鍵盤輸入電路自動(dòng)清零,原先輸入的密碼無效,需要重新輸入;如果用戶輸入密碼的時(shí)間超過 40 秒(一般情況下,用戶不會(huì)超過40 秒,若用戶覺得不便,還可以修改)電路將報(bào)警 80 秒,若電路連續(xù)報(bào)警三次,電路將鎖定鍵盤 5 分鐘,防止他人的非法操作。電路由兩大部分組成:密碼鎖電路和備用電源(UPS),其中設(shè)置 UPS 電源是為了防止因?yàn)橥k娫斐傻拿艽a鎖電路失效,使用戶免遭麻
13、煩。密碼鎖電路包含:鍵盤輸入、密碼修改、密碼檢測(cè)、開鎖電路、執(zhí)行電路、報(bào)警電路、鍵盤輸入次數(shù)鎖定電路。2.22.2 單片機(jī)控制的密碼鎖單片機(jī)控制的密碼鎖方案二:由于單片機(jī)品種繁多,各種型號(hào)都有一定的應(yīng)用環(huán)境,因此在選用4 / 36時(shí)要多加比較,合理選擇,以期獲得最佳性價(jià)比。一般來說在選擇單片機(jī)時(shí)從下面幾個(gè)方面考慮:性能、存儲(chǔ)器、運(yùn)行速度、I/O 口、定時(shí)/計(jì)數(shù)器、串行接口、模擬電路功能、工作電壓、功耗、封裝形式、抗干擾性、性,除了以上的一些還有一些最基本的,比如:中斷源的數(shù)量和優(yōu)先級(jí)、工作溫度圍、有沒有低電壓檢測(cè)功能、單片機(jī)有無時(shí)鐘振蕩器、有無上電復(fù)位功能等。在開發(fā)過程中單片機(jī)還受到:開發(fā)工具
14、、編程器、開發(fā)成本、開發(fā)人員的適應(yīng)性、技術(shù)支持和服務(wù)等因素。基于以上因素本設(shè)計(jì)選用單片機(jī) AT89C51 作為本設(shè)計(jì)的核心元件,利用單片機(jī)靈活的編程設(shè)計(jì)和豐富的 I/O 端口,與其控制的準(zhǔn)確性,實(shí)現(xiàn)基本的密碼控制功能。在單片機(jī)外圍電路外接輸入鍵盤用于密碼的輸入和一些功能的控制,外接LED 用于顯示。當(dāng)用戶需要開鎖時(shí),先按開鎖鍵之后輸入密碼,密碼輸入完確認(rèn)。如果密碼輸入正確則開鎖,不正確顯示密碼錯(cuò)誤重新輸入密碼,當(dāng)三次密碼錯(cuò)誤則發(fā)出報(bào)警;當(dāng)用戶需要修改密碼時(shí),先按下鍵盤設(shè)置鍵后輸入原來密碼,只有當(dāng)輸入的原密碼正確才能設(shè)置新密碼。新密碼輸入無誤后按確認(rèn)鍵使新密碼得到存儲(chǔ),密碼修改成功。可以看出方案
15、二的控制靈活,準(zhǔn)確性好,且性強(qiáng)還具有擴(kuò)展功能,根據(jù)現(xiàn)實(shí)生活的需要此方案。其原理框圖如圖 2.2 所示。AT89C51數(shù)碼管電源報(bào)警電路振蕩電路開鎖電路復(fù)位電路44 鍵盤圖 2.2.1 單片機(jī)控制方案通過比較以上兩種方案,單片機(jī)方案有較大的活動(dòng)空間,不但能實(shí)現(xiàn)所要求的功能而且能在很大的程度上擴(kuò)展功能,所以我們采用后一種方案。5 / 36三、三、 系統(tǒng)總體設(shè)計(jì)系統(tǒng)總體設(shè)計(jì)3.13.1 設(shè)計(jì)要求設(shè)計(jì)要求本次設(shè)計(jì)使用 ATMEL 公司的 AT89C51 實(shí)現(xiàn)一基于單片機(jī)的電子密碼鎖的設(shè)計(jì),其主要具有如下功能:(1)設(shè)置 4 位密碼,密碼通過鍵盤輸入,若密碼正確,則將鎖打開。(2)密碼可由用戶自己修改設(shè)
16、定(只支持 4 位密碼) ,鎖打開后才能修改密碼。修改密碼前必須再次輸入密碼,在輸入新密碼時(shí)候需二次確認(rèn),防止誤操作。(3)報(bào)警、鎖定鍵盤功能。密碼輸入錯(cuò)誤數(shù)碼顯示器會(huì)出現(xiàn)錯(cuò)誤提示,若密碼輸入錯(cuò)誤次數(shù)超過 3 次,蜂鳴器報(bào)警并且鎖定鍵盤。3.23.2 設(shè)計(jì)構(gòu)想設(shè)計(jì)構(gòu)想電子密碼鎖的設(shè)計(jì)主要由三部分組成:44 矩陣鍵盤接口電路、密碼鎖的控制電路、輸出八段顯示電路。另外系統(tǒng)還有 LED 提示燈,報(bào)警蜂鳴器等。密碼鎖設(shè)計(jì)的關(guān)鍵問題是實(shí)現(xiàn)密碼的輸入、清除、更改、開鎖等功能:(1)密碼輸入功能:按下一個(gè)數(shù)字鍵,一個(gè)“”就顯示在最右邊的數(shù)碼管上,同時(shí)將先前輸入的所有“”向左移動(dòng)一位。(2)密碼清除功能:按下
17、清除鍵,清除前面輸入的值,并清除所有顯示。(3)密碼更改功能:將輸入的值作為新的密碼。(4)開鎖功能:當(dāng)按下開鎖鍵,系統(tǒng)將輸入與密碼進(jìn)行檢查核對(duì),如果正確鎖打開,否則不打開。主要的設(shè)計(jì)實(shí)施過程:首先,選用 ATMEL 公司的單片機(jī) AT89C51,以與選購(gòu)其他電子元器件。第二步,使用 Altium Designer 6 設(shè)計(jì)硬件電路原理圖。第三步,使用 Keil uVision3 編譯軟件將 C 語言程序輸入并進(jìn)行編譯得到 HEX 格式的機(jī)器碼文件。第四步,使用 A51 編程器與 FX-51pro 編程器軟件將機(jī)器碼文件燒錄道單片機(jī) AT89C51 中并且進(jìn)行模擬、調(diào)試。最后,聯(lián)合軟、硬件調(diào)試
18、電路板,完成本次課程設(shè)計(jì)。3.33.3 系統(tǒng)結(jié)構(gòu)系統(tǒng)結(jié)構(gòu)本設(shè)計(jì)主要由單片機(jī)、矩陣鍵盤、數(shù)碼管顯示和開鎖電路等部分組成。其中矩陣鍵盤用于輸入數(shù)字密碼和進(jìn)行各種功能的實(shí)現(xiàn)。由用戶通過連接單片機(jī)的矩陣鍵盤輸入密碼,然后經(jīng)單片機(jī)對(duì)用戶輸入的密碼與自己保存的密碼進(jìn)行對(duì)比,從而判斷密碼是否正確,然后控制引腳的高低電平傳到開鎖電路或者報(bào)警電路控制開鎖還是報(bào)警。本系統(tǒng)由兩部分組成,即硬件部分與軟件部分。其中硬件部分6 / 36由鍵盤輸入部分、復(fù)位部分、顯示部分、報(bào)警部分等組成。軟件部分由主程序、鍵盤掃描程序、延時(shí)程序等組成。AT89C51數(shù)碼管電源報(bào)警電路振蕩電路開鎖電路復(fù)位電路44 鍵盤圖 3.3.1 系統(tǒng)
19、結(jié)構(gòu)框圖3.43.4 系統(tǒng)組成系統(tǒng)組成如圖 3.3.1 所示系統(tǒng)主要由 AT89C51(51 系列)、八位數(shù)碼管、報(bào)警電路、44 矩陣鍵盤、復(fù)位電路等組成。3.53.5 系統(tǒng)可行性分析系統(tǒng)可行性分析系統(tǒng)工作原理分析:使用 AT59C51 單片機(jī)、44 矩陣鍵盤、報(bào)警電路等。矩陣鍵盤分別為0、1、2、3、4、5、6、7、8、9、*、Clear、Enter、Modify。系統(tǒng)開始顯示“INPUT”提示輸入密碼;輸入密碼時(shí),數(shù)碼管顯示電路顯示為“-” ,當(dāng)密碼輸入完畢按下 Enter 鍵時(shí),對(duì)輸入密碼與設(shè)定的密碼進(jìn)行比較,若密碼正確則數(shù)碼管顯示電路顯示為“ON”提示鎖打開;若密碼不正確,數(shù)碼管顯示電
20、路顯示提示“OFF” ,若連續(xù) 3 次輸入不正確,則發(fā)出警報(bào)聲同時(shí)鎖定鍵盤。在輸入正確密碼后,按下修改鍵時(shí),數(shù)碼管顯示電路顯示“old”提示“輸入舊密碼” ,此時(shí)輸入正確的舊密碼,則顯示電路會(huì)有提示輸入新密碼在輸入新密碼后,顯示電路會(huì)再次提示“再次輸入新密碼”若兩次輸入密碼不一致,則修改密碼失敗,一致則成功。在修改密碼的過程中,如果一開始輸入的舊密碼錯(cuò)誤顯示電路會(huì)顯示提示,同時(shí)系統(tǒng)返回到開始。若在“再次輸入新密碼”的時(shí)候輸入新密碼與前次不一致,則會(huì)返回到系統(tǒng)開始。修改密碼完成后,系統(tǒng)自動(dòng)清零上鎖。要再次開鎖則需要輸入正確的密碼。系統(tǒng)中 Clear 鍵用于退格,在輸入密碼時(shí),若輸入錯(cuò)誤且未按下
21、Enter 鍵,7 / 36按下 Clear 可以刪除剛輸入的密碼,然后再次輸入。 為了防止惡意嘗試,系統(tǒng)才用若連續(xù)輸入 3 次錯(cuò)誤密碼則發(fā)出報(bào)警聲,且鎖定鍵盤,可以提高系統(tǒng)的安全系數(shù),同時(shí)也能夠保護(hù)合法用戶的正常使用。四、四、 硬件電路設(shè)計(jì)硬件電路設(shè)計(jì)4.14.1 單片機(jī)單片機(jī) AT89C51AT89C51 簡(jiǎn)介簡(jiǎn)介AT89C51 是美國(guó) ATMEL 公司生產(chǎn)的低電壓,高性能 CMOS8 位單片機(jī),片含 4K bytes 的可反復(fù)擦寫的只讀程序存儲(chǔ)器(EPROM)和 128bytes 的隨機(jī)存取數(shù)據(jù)序存器(RAM) ,器件采用 ATMEL 公司的高密度/非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-
22、51 指令系統(tǒng),片置通用 8 位中央處理器(CPU)和 FLASH 存儲(chǔ)單元,由于將多功能 8 位 CPU 和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL 的 AT89C51 是一種高效微控制器,AT89C51 單片機(jī)為許多嵌入式控制系統(tǒng)提供了一種靈活行高且價(jià)廉的方案。其引腳排列如圖 4.1.1 所示。4.1.14.1.1 主要特性主要特性 8031 CPU 與 MCS-51 兼容 4K 字節(jié)可編程 FLASH 存儲(chǔ)器(壽命:1000 寫/擦循環(huán)) 全靜態(tài)工作:0Hz-24KHz 三級(jí)程序存儲(chǔ)器鎖定 128*8 位部 RAM 32 條可編程 I/O 線 兩個(gè) 16 位定時(shí)器/計(jì)數(shù)器 5 個(gè)中斷源 可
23、編程串行通道 低功耗的閑置和掉電模式 片振蕩器和時(shí)鐘電路 4.1.24.1.2 管腳說明管腳說明VCC:供電電壓。圖 4.1.1 芯片管腳排列GND:接地。 P0 口:P0 口為一個(gè) 8 位漏級(jí)開路雙向 I/O 口,每腳可吸收 8TTL 門電流。當(dāng)P1 口的管腳第一次寫 1 時(shí),被定義為高阻輸入。P0 能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在 FIASH 編程時(shí),P0 口作為原碼輸入口,EA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P0138P0
24、237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30TXD11RXD10U2AT89C518 / 36當(dāng) FIASH 進(jìn)行校驗(yàn)時(shí),P0 輸出原碼,此時(shí) P0 外部必須被拉高。 P1 口:P1 口是一個(gè)部提供上拉電阻的 8 位雙向 I/O 口,P1 口緩沖器能接收輸出 4TTL 門電流。P1 口管腳寫入 1 后,被部上拉為高,可用作輸入,P1 口被外部下拉為低電平時(shí),將輸出電流,這是由于部上拉的緣故。在 FLASH 編程和校驗(yàn)時(shí),P1 口作為第八位地址接收。 P2 口:P2 口為一個(gè)部上
25、拉電阻的 8 位雙向 I/O 口,P2 口緩沖器可接收,輸出 4 個(gè) TTL 門電流,當(dāng) P2 口被寫“1”時(shí),其管腳被部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2 口的管腳被外部拉低,將輸出電流。這是由于部上拉的緣故。P2 口當(dāng)用于外部程序存儲(chǔ)器或 16 位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2 口輸出地址的高八位。在給出地址“1”時(shí),它利用部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2 口輸出其特殊功能寄存器的容。P2 口在 FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。 P3 口:P3 口管腳是 8 個(gè)帶部上拉電阻的雙向 I/O 口,可接收輸出 4 個(gè) TTL 門電流。當(dāng)
26、 P3 口寫入“1”后,它們被部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3 口將輸出電流(ILL)這是由于上拉的緣故。P3 口也可作為 AT89C51 的一些特殊功能口,如下表所示:管腳 備選功能:P3.0 RXD(串行輸入口)P3.1 TXD(串行輸出口)P3.2 /INT0(外部中斷 0)P3.3 /INT1(外部中斷 1)P3.4 T0(定時(shí)/計(jì)數(shù)器 0 外部輸入)P3.5 T1(定時(shí)/計(jì)數(shù)器 1 外部輸入)P3.6 /WR(外部數(shù)據(jù)存儲(chǔ)器寫選通)P3.7 /RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)P3 口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器
27、件時(shí),要保持 RST 腳兩個(gè)機(jī)器周期的高電平時(shí)間。ALE/PROG:當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在 FLASH 編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE 端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的 1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過一個(gè) ALE 脈沖。如想禁止 ALE 的輸出可在 SFR8EH 地址上置 0。此時(shí), ALE 只有在執(zhí)行 MOVX,MOVC 指令是 ALE 才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài) ALE 禁止,置位無效。 /PSEN:外
28、部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器9 / 36周期兩次/PSEN 有效。但在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN 信號(hào)將不出現(xiàn)。 /EA/VPP:當(dāng)/EA 保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有部程序存儲(chǔ)器。注意加密方式 1 時(shí),/EA 將部鎖定為RESET;當(dāng)/EA 端保持高電平時(shí),此間部程序存儲(chǔ)器。在 FLASH 編程期間,此引腳也用于施加 12V 編程電源(VPP)。 XTAL1:反向振蕩放大器的輸入與部時(shí)鐘工作電路的輸入。 XTAL2:來自反向振蕩器的輸出。4.1.34.1.3 震蕩特性震蕩特性XTAL1 和 XT
29、AL2 分別為反向放大器的輸入和輸出。該反向放大器可以配置為片振蕩器。石晶振蕩和瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,XTAL2 應(yīng)不接。有余輸入至部時(shí)鐘信號(hào)要通過一個(gè)二分頻觸發(fā)器,因此對(duì)外部時(shí)鐘信號(hào)的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。4.1.44.1.4 芯片擦除芯片擦除整個(gè) PEROM 陣列和三個(gè)鎖定位的電擦除可通過正確的控制信號(hào)組合,并保持ALE 管腳處于低電平 10ms 來完成。在芯片擦操作中,代碼陣列全被寫“1”且在任何非空存儲(chǔ)字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。此外,AT89C51 設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。
30、在閑置模式下,CPU 停止工作。但 RAM,定時(shí)器,計(jì)數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存 RAM 的容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個(gè)硬件復(fù)位為止。4.24.2 4444 矩陣鍵盤矩陣鍵盤輸入電路輸入電路鍵盤可以分為獨(dú)立連接式和矩陣式兩類。由于設(shè)計(jì)所用到的按鍵數(shù)量多而不適合獨(dú)立式按鍵,采用矩陣式按鍵,按鍵位于行列的交叉點(diǎn)上,密碼鎖的密碼由鍵盤輸入完成。本電路設(shè)計(jì)采用 44 行列式鍵盤,同時(shí)也能減少鍵盤與單片機(jī)接口時(shí)所占用的 I/O 線的數(shù)目判別鍵盤中有無按鍵按下,由單片機(jī) I/O 口向鍵盤送(輸出)全掃描字,然后讀入(輸入)行線狀態(tài)來判斷。方法是:向列線輸出全掃描
31、字 00H,把全部列線置為低電平,然后將行線的電平狀態(tài)讀入累加器 A 中。如果有鍵按下,總會(huì)有一根行線電平拉至低電平,從而使列輸入不全為 1。鍵盤中哪一個(gè)鍵按下,是由列線逐列置低電平后,檢查行輸入狀態(tài)實(shí)現(xiàn)的,其方法是:依次給列線送低電平,然后查所有行線狀態(tài),如果全為 1,則所按下的鍵不在此列,如果不全為 1,則所按下的鍵必在此列,而且是在與零電平行線相交的交點(diǎn)10 / 36上的那個(gè)鍵。如圖 4.2.1 所示,本系統(tǒng)采用 44 矩陣鍵盤,16 個(gè)按鍵分為輸入數(shù)字鍵:*、0、#、1、2、3、4、5、6、7、8、9;功能鍵 lock(鎖?。?、modify(修改) 、clear(清除)、Enter(
32、確認(rèn))。矩陣鍵盤。S7SW-PBS4SW-PBS1SW-PBS*SW-PBS-ModifySW-PBS8SW-PBS5SW-PBS2SW-PBS0SW-PBS-EnterSW-PBS9SW-PBS6SW-PBS3SW-PBS#SW-PBS-ClearSW-PBS-lockSW-PBP2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7圖 4.2.1 矩陣鍵盤圖4.34.3 復(fù)位電路復(fù)位電路圖 4.3.1 復(fù)位電路圖復(fù)位是使 CPU 和系統(tǒng)中的其他功能部件都處在一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)開始工作。無論是單片機(jī)剛開始接上電源時(shí),還是斷電后或者發(fā)生故障后都要復(fù)位。該電路在最簡(jiǎn)單的復(fù)位
33、電路下增加了手動(dòng)復(fù)位按鍵,在接通電源瞬間 電容 C1 上電壓很小,復(fù)位下拉電阻上的電壓接近電源電壓,即 RST 位高電平。在電容充電的過程中 RST 端電壓逐漸下降,當(dāng) RST 端的電壓小于某一數(shù)值后,CPU脫離復(fù)位狀態(tài),由于電容 C1 足夠大,可以保證 RST 高電平有效時(shí)間大于兩個(gè)機(jī)器周期(即 24 個(gè)振蕩周期 ) ,CPU 能夠可靠復(fù)位。 增加手動(dòng)復(fù)位按鍵是為了避免死機(jī)時(shí)無法可靠復(fù)位,當(dāng)復(fù)位按鍵按下后電容 C1 通過 R4 放電。當(dāng)電容 C1 放電結(jié)11 / 36束之后 ,RST 端的電位由 R4 與 R5 分壓比決定,由于 R4R5 因此 RST 為高電平,CPU 處于復(fù)位狀態(tài)。松手后
34、,電容 C1 充電,RST 端電位下降,CPU 脫離復(fù)位狀態(tài)。R4 的作用在于限制按鍵按下瞬間電容 C1 的放電電流,避免產(chǎn)生火花,以保護(hù)按鍵觸電。芯片部開始進(jìn)行初始復(fù)位,此次設(shè)計(jì)用到的是按鍵復(fù)位(如圖 4.3.1) 。4.44.4 振蕩電路振蕩電路圖 4.4.1 振蕩電路圖AT89C51 的引腳 XTAL1 和 XTAL2 與晶體振蕩器與電容 C2、C3 按圖 4.4 所示方式連接。晶振、電容 C2 和 C3 與片與非門(作為反饋、放大元件)構(gòu)成了電容三點(diǎn)式振蕩器,振蕩信號(hào)頻率與晶振頻率與電容 C2、C3 的容量有關(guān),但主要由晶振頻率決定,圍在 0 到 33MHz 之間。本設(shè)計(jì)晶振選擇頻率為
35、 12MHZ,電容選擇 30pF經(jīng)計(jì)算得單片機(jī)工作的機(jī)器周期為: 12(112M)=1us。12 / 364.54.5 數(shù)碼管數(shù)碼管顯示電路顯示電路123456789101112*U1123456789101112*U2Q3Q4Q527KR627KR727KR827KR927KR1327KR1027KR1127KR12Q6Q7Q8Q9Q10VCCP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7P3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7圖 4.5.1 數(shù)碼管顯示電路圖由于液晶顯示器價(jià)格昂貴,而且顯示部分不是本系統(tǒng)的重要部分,因此采用LED 數(shù)碼管作為顯示器件
36、本設(shè)計(jì)采用兩個(gè) 4 位 8 段共陰極數(shù)碼管。由于由單片機(jī)直接驅(qū)動(dòng)的直流電流不夠,數(shù)碼管亮度顯得不足,所以加上三極管用以放大電流。因?yàn)?LED 數(shù)碼管合適的驅(qū)動(dòng)電流大約為 9mA 到 20mA 左右,為了適 LED 數(shù)碼管工作電流在 10mA 左右,根據(jù)圖 4.5.2 具體計(jì)算如下: Ib=(5V-1.4V-0.7V)/27K=0.110-3A Ie= Ib(+1)=10 mA 使用的 9013 的放大倍數(shù) 為 100 13 / 36 圖 4.5.2 三極管電路4.64.6 顯示顯示方式方式本系統(tǒng)使用共陰極數(shù)碼管顯示(如圖 4.5.1)。選段由 P3 口輸出高電平有效,選位由 P1 口輸出低電平
37、有效。顯示方式分別有靜態(tài)顯示與動(dòng)態(tài)顯示兩種。在顯示提示信息如:輸入密碼“INPUT”,操作通過“PASS”,操作錯(cuò)誤“ERROR”,輸入舊密碼“OLD”,輸入新密碼“NE”,再次輸入“AGAIN”等信息時(shí)使用的是動(dòng)態(tài)顯示。靜態(tài)顯示應(yīng)用在輸入密碼時(shí)數(shù)碼管的顯示進(jìn)行輸入密碼操作時(shí),每輸入一位密碼數(shù)碼管顯示一個(gè)“”,實(shí)施方法為:當(dāng)有第一個(gè)按鍵時(shí),第八個(gè)數(shù)碼管的位選信號(hào)為低電平,其他為高。當(dāng)有第二個(gè)按鍵時(shí),第八、第七個(gè)數(shù)碼管的位選信號(hào)為低,其他為高,如此類推。由于 8 個(gè)顯示器的同名端是連接在一起的,如果選位的管腳(本系統(tǒng)中為P1)都為 0,那么 8 個(gè)顯示器則顯示同一字符。要使各個(gè)數(shù)碼管出現(xiàn)不同字符
38、必須采用“分時(shí)動(dòng)態(tài)掃描”的方法顯示。即每次點(diǎn)亮一個(gè) LED 顯示器,延時(shí)一段時(shí)間再點(diǎn)亮下一個(gè) LED 顯示器周而復(fù)始,8 個(gè) LED 顯示器輪流動(dòng)態(tài)掃描。利用人視覺余輝的暫留效應(yīng),看起來好像幾個(gè)顯示器上“同時(shí)”顯示不同的字符。4.74.7 開鎖開鎖電路電路圖 4.7.1 開鎖電路圖電磁式繼電器的工作原理和特性:14 / 36電磁式繼電器一般由鐵芯、線圈、銜鐵、觸點(diǎn)簧片等組成的。只要在線圈兩端加上一定的電壓,線圈中就會(huì)流過一定的電流,從而產(chǎn)生電磁效應(yīng),銜鐵就會(huì)在電磁力吸引的作用下克服返回彈簧的拉力吸向鐵芯,從而帶動(dòng)銜鐵的動(dòng)觸點(diǎn)與靜觸點(diǎn)(常開觸點(diǎn))吸合。當(dāng)線圈斷電后,電磁的吸力也隨之消失,銜鐵就會(huì)
39、在彈簧的反作用力返回原來的位置,使動(dòng)觸點(diǎn)與原來的靜觸點(diǎn)(常閉觸點(diǎn))吸合。這樣吸合、釋放,從而達(dá)到了在電路中的導(dǎo)通、切斷的目的。對(duì)于繼電器的“常開、常閉”觸點(diǎn),可以這樣來區(qū)分:繼電器線圈未通電時(shí)處于斷開狀態(tài)的靜觸點(diǎn),稱為“常開觸點(diǎn)”;處于接通狀態(tài)的靜觸點(diǎn)稱為“常閉觸點(diǎn)”。開鎖控制電路的功能是輸入正確的密碼后將鎖打開。系統(tǒng)使單片機(jī)其中一引腳線發(fā)出信號(hào),經(jīng)三極管放大后,由繼電器驅(qū)動(dòng)電磁閥動(dòng)作將鎖打開。用戶通過鍵盤任意設(shè)置密碼,并儲(chǔ)存在 EPROM 中作為密碼指令。開鎖步驟如下:首先按下鍵盤上的開鎖按鍵,然后利用鍵盤上的數(shù)字 0 到 9 輸入密碼,最后按下確認(rèn)鍵。當(dāng)用戶輸入密碼后單片機(jī)自動(dòng)識(shí)別密碼,如
40、果密碼三次不符合,則報(bào)警。只有密碼正確,單片機(jī)才能使繼電器處于開鎖狀態(tài)。其原理如下:當(dāng)用戶輸入的密碼正確并且是在按下確定鍵的話,單片機(jī)便輸出開門信號(hào),送到開鎖驅(qū)動(dòng)電路,然后驅(qū)動(dòng)電磁鎖,達(dá)到開門的目的。電路驅(qū)動(dòng)和開鎖兩級(jí)組成。由 D2、R1、Q1 組成驅(qū)動(dòng)電路,其中 Q1 可以選擇普通的小功率三極管如 9014、9018 都可以滿足要求。D2 作為開鎖的提示;由 D1、C4、Q11 組成。其中 D1、C4 是為了消除電磁鎖可能產(chǎn)生的反向高電壓以與可能產(chǎn)生的電磁干擾。Q11 可選用中功率的三極管如 8050,電磁鎖的選用要視情況而定,但是吸合力要足夠且由一定的余量。4.84.8 報(bào)警電路報(bào)警電路圖
41、 4.8.1 報(bào)警電路圖由于報(bào)警電路使用 P0 口驅(qū)動(dòng)要加上上拉電阻如圖 4.8.1三極管是一種控制元件,主要用來控制電流的大小,以共發(fā)射極接法為例(信號(hào)從基極輸入,從集電極輸出,發(fā)射極接地),當(dāng)基極電壓 UB 有一個(gè)微小的變化時(shí),基極電流 IB 也會(huì)隨之有一小的變化,受基極電流 IB 的控制,集電極電流 IC 會(huì)有一個(gè)很大的變化,基極電流 IB 越大,集電極電流 IC 也越大,反之,基極電流越小,集電極電流也越小,即基極電流控制集電極電流的變化。但是集電極電流的變化比基極電流的變化大得多,這就是三極管的放大作用。報(bào)警部分由瓷壓電發(fā)聲裝置與外圍電路組成,加電后不發(fā)聲,有按鍵按下時(shí),15 / 3
42、6發(fā)叮聲,每按一下,發(fā)聲一次,密碼輸入正確不發(fā)聲,當(dāng)密碼輸入錯(cuò)誤時(shí),單片機(jī)的 P0.3 位低電平,三極管導(dǎo)通,蜂鳴器發(fā)出蜂鳴聲報(bào)警。4.94.9 上拉電阻的作用上拉電阻的作用1)TTL 驅(qū)動(dòng) CMOS 時(shí),如果 TTL 輸出最低高電平低于 CMOS 最低高電平時(shí),提高輸出高電平值 2) 加大輸出的驅(qū)動(dòng)能力(單片機(jī)較常用) 3) CMOS 芯片中(特別是門的芯片),為防靜電干擾,不用的引腳也不懸空,一般上拉,降低阻抗,提供泄荷通路 4) 提高輸出電平,提高芯片輸入信號(hào)的噪聲容限,增強(qiáng)抗干擾 5) 提高總線抗電磁能力,空腳易受電磁干擾 6) 長(zhǎng)線傳輸中加上拉,是阻抗匹配抑制反射干擾 原則: 1)
43、從節(jié)約功耗和芯片的電流、能力應(yīng)是電阻盡量大,R 大,I 小啊 2) 從確保驅(qū)動(dòng)能力,應(yīng)當(dāng)電阻足夠小,R 小,I 大啊 3 )對(duì)高速電路,加上拉可能邊沿平緩(上升時(shí)間延長(zhǎng)) 建議可以在 1K-10K 之間選(可根據(jù)實(shí)際情況)4.104.10 按鍵去抖動(dòng)的方法按鍵去抖動(dòng)的方法機(jī)械式按鍵在按下或釋放時(shí),由于機(jī)械彈性作用的影響,通常伴隨有一定時(shí)間的觸點(diǎn)機(jī)械抖動(dòng),然后其觸電才能穩(wěn)定下來,抖動(dòng)時(shí)間一般為 5ms 到 10ms,在觸電抖動(dòng)期間檢測(cè)按鍵的通與斷狀態(tài),可能導(dǎo)致判斷出錯(cuò)。1) 硬件電路去抖動(dòng):按鍵的機(jī)械抖動(dòng)可采用硬件電路來消,較為適用于按鍵較少的情況。2)軟件去抖動(dòng):在檢測(cè)到有按鍵按下時(shí),先執(zhí)行
44、10ms 的延時(shí)程序,然后再重新檢測(cè)該按鍵是否仍然按下,以確認(rèn)該按鍵按下不是因抖動(dòng)引起的。同理,在檢測(cè)到該按鍵釋放時(shí),也采用先延時(shí)再判斷的方法消除抖動(dòng)的影響。 在此次設(shè)計(jì)中采用軟件去抖動(dòng)。4.114.11 部分元器件列表部分元器件列表元器件規(guī)格/型號(hào)數(shù)量四位八段共陰數(shù)碼管3461AFR1-B101四位八段共陰數(shù)碼管SR420361三極管NPN916 / 36三極管PNP1電阻27k8電阻4701電阻4.7K1電解電容0.47uF1瓷片電容30pF2單片機(jī)AT89C511表 4.11 部分元器件列表五、軟件程序設(shè)計(jì)五、軟件程序設(shè)計(jì)本系統(tǒng)程序部分使用 C 語言編寫,C 語言是一種高級(jí)程序設(shè)計(jì)語言,
45、它的優(yōu)點(diǎn)是簡(jiǎn)潔明了、可移植性高。主要完成,開始時(shí)數(shù)碼管顯示提示“INPUT”輸入密碼。輸入密碼后按下確認(rèn)鍵,系統(tǒng)會(huì)將所輸入與系統(tǒng)密碼進(jìn)行比對(duì)。若輸入密碼正確則顯示“PASS”開鎖。然后可以選擇上鎖或者修改密碼。開鎖后,按下上鎖“LOCK”鍵,系統(tǒng)上鎖并返回;選擇修改密碼則可以對(duì)系統(tǒng)進(jìn)行修改密碼操作。在修改密碼前要輸入正確舊的密碼。正確輸入舊密碼之后,會(huì)有提示輸入兩次新密碼,若兩次密碼一致,則修改成功。期間操作出現(xiàn)失誤,系統(tǒng)會(huì)返回初始狀態(tài),操作錯(cuò)誤超過 3 次,系統(tǒng)會(huì)鎖定鍵盤,并報(bào)警用以防止惡意試探密碼17 / 365.15.1 軟件設(shè)計(jì)流程圖軟件設(shè)計(jì)流程圖開始輸入密碼正確否?開鎖判斷按鍵LOC
46、KModify 鍵上鎖結(jié)束輸入密碼正確否?輸入新密碼再次輸入一致否?修改密碼YesNoNoYesNoYes圖 5.1.1 軟件設(shè)計(jì)流程圖18 / 365.25.2 具體功能軟件實(shí)施具體功能軟件實(shí)施5.2.15.2.1 開始等待流程開始等待流程系統(tǒng)開始一直顯示提示“INPUT”,并判斷有否按鍵,當(dāng)有鍵按下跳出等待。開始顯示“INPUT”判斷是否有按鍵?結(jié)束NoYes圖 5.2.1 開始等待流程圖5.2.25.2.2 密碼檢查功能密碼檢查功能本系統(tǒng)使用數(shù)組 PASSWORD6存儲(chǔ)密碼,系統(tǒng)初始化對(duì)數(shù)組負(fù)值 PASSWORD65,6,7,9,10,11相當(dāng)于鍵盤上的 1,2,3,4,5,6。輸入密碼
47、的時(shí)候,先將輸入的每一位密碼分別放置在數(shù)組 check6中,然后再將 check6與PASSWORD6的每一位分別對(duì)照。若每一位都相等,密碼檢查通過。19 / 36開始輸入一位密碼,數(shù)碼管顯示“”K=6?k=0按鍵為Clear?結(jié)束YesNoNoYes圖 5.2.2 密碼檢查流程圖5.2.35.2.3 鍵盤掃描鍵盤掃描如圖 4.2.1,本系統(tǒng)使用 44 矩陣鍵盤當(dāng)沒有鍵按下時(shí),行線和列線之間是不相連的,若第 N 行與第 M 列的鍵被按下,那么第 N 行與第 M 列的線就被接通。20 / 36根據(jù)上述原理,本系統(tǒng)的鍵盤掃描方法是利用 P2 口的低四位作為列掃描線,P2 口的高四位作為行回掃線。具
48、體實(shí)施方法為:先使 P2.0 口輸出低電平,P2 口其他口輸出高電平,然后對(duì) P2.4、P2.5、P2.6、P2.7 四個(gè)口分別作判斷。若此四口都為高電平,則沒有鍵按下;若有鍵按下,P2.4、P2.5、P2.6、P2.7 四個(gè)口必定有一個(gè)口輸入為低電平,再判斷 P2.4、P2.5、P2.6、P2.7 哪個(gè)口為低電平則可判斷按鍵在哪行上。如 P2.4、P2.5、P2.6、P2.7 沒有低電平,再使 P2.1 為低電平,其他口為高電平,依次掃描下去,找到按鍵所在的列,再判斷 P2 口的高四位哪一位為低,便可知道鍵在哪一行上。5.2.45.2.4 修改密碼修改密碼本系統(tǒng)設(shè)定的修改密碼過程為,在輸入正
49、確的密碼后,按 modify,此時(shí)提示輸入舊密碼“old”,輸入正確的舊密碼后,可以輸入新密碼。此時(shí)鍵入的六位新密碼將保存到數(shù)組 check6中。然后顯示器提示再次輸入,輸入完畢后,第二次輸入的密碼將保存在 check26中,然后將 check6中六位分別與 check26中的六位比對(duì),若兩次密碼輸入一直,即將新的密碼,也就是 check26和check26中的六位賦值到 PASSWORD6中。此時(shí)修改密碼工作完成,系統(tǒng)將跳翻到開始,即提示輸入密碼“INPUT”。21 / 36六、六、 結(jié)論結(jié)論通過這次畢業(yè)設(shè)計(jì),讓我對(duì)設(shè)計(jì)有了一定的邏輯順序,通過查閱圖書館中的資料讓我對(duì)著方面的知識(shí)有了更系統(tǒng)的
50、了解,讓我復(fù)習(xí)了很多學(xué)過的舊知識(shí),同時(shí)鍛煉了自己的動(dòng)手能力和查閱資料。尤其是解決在實(shí)際中解決排查問題的能力。1、通過這次的設(shè)計(jì),我熟悉了使用 Protel 的技巧,學(xué)會(huì)了制作電路板的一些技巧,并且熟悉了如何選購(gòu)使用電子元器件。2、 在設(shè)計(jì)中,我學(xué)到了如何使用 C 語言對(duì)單片機(jī)進(jìn)行編寫程序,熟悉了使用 KEIL C 軟件,并且加深了對(duì)單片機(jī)的編程技巧。3、 在做這個(gè)設(shè)計(jì)的過程中,我遇到了不少的問題。這鍛煉了我篩選、查閱資料,并將理論結(jié)合到自己的設(shè)計(jì)中的能力。一步一步的排除故障原因,找到故障的原因并解決故障。4、 這次的設(shè)計(jì)使我對(duì)模擬電子、數(shù)字電子、單片機(jī)、C 語言等知識(shí)加深了了解,通過對(duì)以往知識(shí)
51、的復(fù)習(xí)鞏固,將問題解決。這次的設(shè)計(jì)有很多的不足,和市場(chǎng)上的產(chǎn)品有一定的差距,例如沒有使用液晶顯示屏,電動(dòng)鎖的部分在實(shí)物中使用一個(gè) LED 代替等,還可以做得更好,還請(qǐng)老師同學(xué)們提出寶貴意見!在做本次課程設(shè)計(jì)的過程中,我感觸最深的當(dāng)屬查閱大量的設(shè)計(jì)資料了。為了讓自己的設(shè)計(jì)更加完善,查閱這方面的設(shè)計(jì)資料是十分必要的,同時(shí)也是必不可少的。我們是在做單片機(jī)課程設(shè)計(jì),但我們不是藝術(shù)家,他們可以拋開實(shí)際盡情在幻想的世界里翱翔,而我們一切都要有據(jù)可依,有理可尋,不切實(shí)際的構(gòu)想永遠(yuǎn)只能是構(gòu)想,永遠(yuǎn)無法升級(jí)為設(shè)計(jì)。要做好一個(gè)課程設(shè)計(jì),就必須做到:在設(shè)計(jì)程序之前,對(duì)所用單片機(jī)的部結(jié)構(gòu)有一個(gè)系統(tǒng)的了解,知道該單片機(jī)
52、有哪些資源;要有一個(gè)清晰的思路和一個(gè)完整的的軟件流程圖;在設(shè)計(jì)程序時(shí),不能妄想一次就將整個(gè)程序設(shè)計(jì)好,反復(fù)修改、不斷改進(jìn)是程序設(shè)計(jì)的必經(jīng)之路;要養(yǎng)成注釋程序的好習(xí)慣,一個(gè)程序的完美與否不僅僅是實(shí)現(xiàn)功能,而應(yīng)該讓人一看就能明白你的思路,這樣也為資料的保存和交流提供了方便;在設(shè)計(jì)課程過程中遇到問題是很正,但我們應(yīng)該將每次遇到的問題記錄下來,并分析清楚,以免下次再碰到同樣的問題。在本次設(shè)計(jì)完成之際,在這里要衷心感我的畢業(yè)設(shè)計(jì)指導(dǎo)老師老師在設(shè)計(jì)中對(duì)我的指導(dǎo)、幫助,并且提出了很多非常寶貴的意見。感在本次設(shè)計(jì)中給予我?guī)椭母魑煌瑢W(xué)。還要感大學(xué)三年來教導(dǎo)我的各位老師,不計(jì)較浪費(fèi)自己學(xué)習(xí)時(shí)間幫助我的同學(xué)。感老
53、師百忙之中對(duì)我本次設(shè)計(jì)的閱覽與指導(dǎo)!22 / 36七、七、參考文獻(xiàn)參考文獻(xiàn)1 當(dāng)方微型計(jì)算機(jī)控制技術(shù)M中國(guó)水利水電,2001 年2 胡漢才單片機(jī)原理與其借口技術(shù)M清華大學(xué),1996 年3 新民智能儀器設(shè)計(jì)基礎(chǔ)M工業(yè)大學(xué),1999 年4 新,民王,燕芳微型計(jì)算機(jī)控制技術(shù)M電子工業(yè),2003 年5 鐘實(shí)實(shí)用電子報(bào)警器精選百例:科技技術(shù)文獻(xiàn),2002 年6 愛弟Protel99se 實(shí)用培訓(xùn)教程M人民郵電,2000 年。7 閻石數(shù)字電子技術(shù)基礎(chǔ)M高等教育,1998 年8 童詩白模擬電子技術(shù)基礎(chǔ)M高等教育,1998 年9 候振鵬嵌入式 C 語言程序設(shè)計(jì)M:人民郵電,2006 年10 徐士良C 語言程序
54、設(shè)計(jì)教程M:人民郵電,2001 年11 平. 單片機(jī)應(yīng)用開發(fā)與實(shí)踐 :機(jī)械工業(yè),2008 年12 志旺. 51 系列單片機(jī)系統(tǒng)設(shè)計(jì)與實(shí)踐 :電子工業(yè),2010 年13 萍.AT89S51 單片機(jī)原理開發(fā)與應(yīng)用實(shí)例 :中國(guó)電力,2008 年14康萬新.畢業(yè)設(shè)計(jì)指導(dǎo)與案例剖析 :清華大學(xué),2007 年15王靜霞.單片機(jī)應(yīng)用技術(shù)(C 語言版):電子工業(yè),2009 年23 / 36附錄一附錄一S7SW-PBS4SW-PBS1SW-PBS*SW-PBS-ModifySW-PBS8SW-PBS5SW-PBS2SW-PBS0SW-PBS-EnterSW-PBS9SW-PBS6SW-PBS3SW-PBS#SW
55、-PBS-ClearSW-PBS-lockSW-PBLS11KR310KR5Q2VCC0.47uFC1470R4S10SW-PBVCC123456789101112*U1123456789101112*U2Q3Q4Q527KR627KR727KR827KR927KR1327KR1027KR1127KR12Q6Q7Q8Q9Q10VCCP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7P3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.71KR2VCC30pFC230pFC312Y1VCCP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7P3.0P3.1P3.
56、2P3.3P3.4P3.5P3.6P3.7P2.7P0.3P1.0T0EA31XTAL119RDWRP2.4P1.1P1.2P1.3P1.4RST9INT1P2.2INT0T1PSEN29P2.5ALE30P2.1P1.7P1.6TXDRXDXTAL218P1.5P2.3P2.0P0.4P0.2P0.1P0.0P2.6P0.5P0.6P0.7Vss20Vcc40AT89C51Q1Q113.3KR1C4D1D212345K1VCCGND圖一圖一 總原理圖總原理圖24 / 36附錄二附錄二電子密碼鎖源程序:#includevoid view_input_password(void);void vi
57、ew_input_error(void);void key1(void);void key2(void);void key3(void);void newpassword(void);void again(void);void key(void);void input_view(void);void voice(void);void view_again(void);void oldpassword(void);unsigned int x,y,i,j,k,falg;unsigned int counter=0;unsigned int password6=5,6,7,9,10,11;unsi
58、gned int check6;unsigned int check26;void delay();void newpassword(void);main() P0=0;EA=0;start:falg=0; delay(); while(1) P0=0; key1(); if(counter=3) /輸入錯(cuò)誤超過 3 次報(bào)警 P0_1=1;P0_2=0; voice();25 / 36 counter=0; for(i=0;i255;i+) for(j=0;j255;j+) view_input_error(); P3_0=1; goto start; for(k=0;k6;k+) key()
59、; checkk=falg; if(falg=8)k=0;P1=0 xFF;goto start;/取消 if(falg=4) /輸入未夠 6 位都視作錯(cuò)誤k=0;P1=0 xFF;counter+;P0_1=1;P0_2=0;voice(); for(y=0;y100;y+) view_input_error();goto start; input_view(); delay(); key(); if(falg=8)k=0;P1=0XFF;continue; if(falg=4)/按下確認(rèn)鍵盤,密碼開始比對(duì) for(k=0;k6;k+) if(checkk=passwordk)falg=1;
60、continue; if(checkk!=passwordk) falg=0;counter+;P0_1=1;P0_2=0;voice(); for(i=0;i100;i+) view_input_error();goto start; if(falg=1)/6 位都正確,開鎖 P0_1=0;P0_2=1;voice(); for(k=0;k100;k+) for(i=0;i200;i+)26 / 36 P3=0Xcd;P1=0X7F;/P for(i=0;i200;i+) P3=0Xcf;P1=0XBF;/A for(i=0;i200;i+) P3=0Xab;P1=0XDF;/S for(i
溫馨提示
- 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. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司勞務(wù)合同范本模板
- 代理合同范本 日文
- 住房拆除合同范本
- 南京社保合同范本
- 占用綠地賠償合同范本
- 抵押個(gè)人汽車借款合同范本
- 勞務(wù)外協(xié)施工合同范本
- 廚房承包職務(wù)合同范本
- 吊裝費(fèi)合同范本
- 貓砂購(gòu)銷合同范本
- 國(guó)企工程施工分包管理2019(67P+PPT)
- 成人大專畢業(yè)論文怎么寫(通用6篇)
- 醫(yī)院高壓氧艙室施工方案
- 質(zhì)量問題檢出獎(jiǎng)勵(lì)申請(qǐng)表模板
- 中職學(xué)生日常行為規(guī)范主題班會(huì)講稿
- 《大數(shù)據(jù)分析與應(yīng)用》教學(xué)大綱
- 2022年中國(guó)遠(yuǎn)洋海運(yùn)集團(tuán)有限公司招聘考試題庫及答案解析
- 供應(yīng)鏈管理課件第5章供應(yīng)鏈合作伙伴選擇與評(píng)價(jià)
- 4D現(xiàn)場(chǎng)管理培訓(xùn)ppt課件(PPT 45頁)
- 餐飲店面投資預(yù)算(900平方米)
- 小學(xué)生個(gè)人簡(jiǎn)歷WORD模板
評(píng)論
0/150
提交評(píng)論