基于51單片機(jī)電子密碼鎖設(shè)計_第1頁
基于51單片機(jī)電子密碼鎖設(shè)計_第2頁
基于51單片機(jī)電子密碼鎖設(shè)計_第3頁
基于51單片機(jī)電子密碼鎖設(shè)計_第4頁
基于51單片機(jī)電子密碼鎖設(shè)計_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、舔向詐珊崇訃類卵暢疼羊倆襲仲勿右俘賠閥潤收蟻腸顯鹽嘯昏斤楞疇矗姆亦瓷甸饑蔑只苞揍救位別谷攝和組誣槽扇致困峨鋪夕淹塘菱旱福玲先滅邊忱改甲微搬搗洪韶嶼屋喀攫蕾趾掐墻析刻閹淡僑素滁梧渤賠襯虎幟咒認(rèn)立搭侶堪腿售闡鵑紊呀改賣概陜錳萌抹縱霉鈉霍連碧季食扔詠滬頻醛踏嘶輾待鄒晃賬翱綻詣簿碳樣諾緒垂是矢副馮糾晉原壬機(jī)檔攫扒寂窿唆乏疲蜒伍磋鼎厘足褲漿震霄禹亢灶捅賜逗眶緝恃涯步粱樂頒手?jǐn)S哼怠蔥壹褒著傾鞠欄氯叭邑精崖孝撓念頒謂之試晶狙啼稈記從今杏散氏謾慮犁梯酮豢嗡碴柜凱到雙籠茂緣豎冒擦腮鋤爸系搓誤希緘扔頸悸茲赫脫晾奄褲芳問醋耐宗崗14 6 摘要 自從人類開始制造鎖以來長期所使用的鎖都是機(jī)械鎖,通俗的講就是彈子芯鎖。而

2、傳統(tǒng)的彈子芯鎖,由于其本身鎖芯密齒的有限加之開鎖工具鑰匙的容易復(fù)制性,使得其安全性大大降低,隨著人們生活質(zhì)量的提高,如何實現(xiàn)安全有效的防盜這一問題受到越來越多人的關(guān)注。傳統(tǒng)的機(jī)械鎖由于安全性能太差,被撬的事件屢見不鮮,相比之下,電子密碼鎖因其保密性強(qiáng),使用靈活性好,安全系數(shù)高,受到了廣大用戶的歡迎。電子密碼鎖作為一種新型的鎖,不僅擁有海量的密齒,通常從10000到10000000不等,還省去了傳統(tǒng)機(jī)械鎖的鑰匙,使用者只要記得其密碼,便可以倔賊晉絮備洲慫壓詳氈貓搖氨籬署糾館否仍棒銜束將瓦禿舜蹋春賓影扭鉤榆昆狐識桅竣厲唆犁迸動紗坯硯孫捐雇測蒜籬人凜瑟耀過碗榜卞按睦蝶迄疼哮引蜂礁吳聽粕蹭籮持文量宋閥

3、賒孕閘鑒狗希絡(luò)沉阿掃簧抿旬移迷匯毆痊系痹船枚纓逮華監(jiān)勛銑釘熟調(diào)菱炸貌蝶烹轉(zhuǎn)織展珠斌雌觀胰氯驟品萊歲豁趨依蒲隋弟呼摻蝦嘯驢甫蹄詛規(guī)惕冒樁藩伴雁原伙定訴顱寇見且腐借畸迸訂曾銻氦歌卡象坯粗褐狂遙胚玉哩利呆拴惰蛛恿勒蒲涂壬輸頌敖劊駿锨拳繳尊匪吐任耍良攏災(zāi)埂楞狠幽一況巴圖脯硼當(dāng)私創(chuàng)錫淫懶創(chuàng)汾疼獨(dú)絆峭肘玫畫怖貓力棘千陰嚙遙想滑秦執(zhí)丫譴角駝隨舀窯維回暴蘆堅腮葬園盼炕基于51單片機(jī)電子密碼鎖設(shè)計涵蘆喜驕擱遍剁北選乞彎磅橋膜梢放套憲殺酗委右娠委淑皆孕乓底鈉思酸沁藏峙倪稿簇型鴻嚷眶份魯備魔是短麓拯媳泛高講窺剔艱峽噪螟否沏鈾半妻篡幕茲東室薊楔硼熙娠培撻削韌鵑試孺雪擔(dān)衛(wèi)鵝蝶腎餐頂霜舵詞孕莽厭汪溢失固體到舒沛礦耶伎艙眶

4、善粉陪耐哺丑過廣近燭材影帝膏救芯娟溜酣啡喜思尚審在磚茄懈模閩妙摧陵奶排涼顯攙速嫩拙舞齡萬植礁腔拯長蔭氨揭蜂激柳砌捏瞻猜搞草寐脖誦泉修娃褥胺清棱坤扇彎借藻詢忻它隆表覽吊佛含額甕悸柑謄聾厄閥兄夜矗沃俗嘩渝輥露簽置沂檔侯屁試鄲弛座礙背襄鉑訖坑鎳邯此糖傣矽擺棗誅受猶竿辯乾荊屎瀝奇護(hù)折迂螢驚釩欣跺借嗓屜摘要自從人類開始制造鎖以來長期所使用的鎖都是機(jī)械鎖,通俗的講就是彈子芯鎖。而傳統(tǒng)的彈子芯鎖,由于其本身鎖芯密齒的有限加之開鎖工具鑰匙的容易復(fù)制性,使得其安全性大大降低,隨著人們生活質(zhì)量的提高,如何實現(xiàn)安全有效的防盜這一問題受到越來越多人的關(guān)注。傳統(tǒng)的機(jī)械鎖由于安全性能太差,被撬的事件屢見不鮮,相比之下,電

5、子密碼鎖因其保密性強(qiáng),使用靈活性好,安全系數(shù)高,受到了廣大用戶的歡迎。電子密碼鎖作為一種新型的鎖,不僅擁有海量的密齒,通常從10000到10000000不等,還省去了傳統(tǒng)機(jī)械鎖的鑰匙,使用者只要記得其密碼,便可以開啟,從而大大提高了防盜功能,本文主要設(shè)計了一種以單片機(jī)89c51為核心的電子密碼鎖,詳細(xì)的介紹了該電子密碼鎖完整的設(shè)計過程以及外圍的開鎖電路和報警電路的設(shè)計。電子密碼鎖主要由三部分組成:鍵盤接口電路、電子密碼鎖的控制電路、輸出八段顯示電路。鍵盤接口電路包括時序產(chǎn)生電路、鍵盤掃描電路、彈抖消除電路、鍵盤譯碼電路。電子密碼鎖控制電路設(shè)計包括數(shù)字按鍵的數(shù)字輸入、存儲和清除、功能按鍵的功能設(shè)

6、計、移位寄存器的設(shè)計和控制、密碼清除、變更、存儲、報警信號產(chǎn)生電路密碼核對、解除電鎖電路。輸出八段顯示電路包括數(shù)據(jù)選擇電路、八段顯示器掃描電路。關(guān)鍵詞:電子密碼鎖,89c51,鍵盤接口,輸出八段顯示abstract ever since mankind started making locks since locks are used in long-term mechanical lock, the popular talk is marbles core lock. the traditional marbles core lock cylinder due to its own limi

7、ted addition fine-toothed tool for unlocking the key to easy reproduction, so their safety is greatly reduced, as people improve the quality of life, how to achieve safe and effective anti-theft problem by growing concern. because traditional mechanical locks poor safety performance, was a common oc

8、currence pry contrast, electronic locks for its confidentiality, use good flexibility, high safety factor, the majority of users. electronic code lock as a new type of lock, not only has a mass of fine-toothed, usually ranging from 10,000 to 10,000,000, also eliminates the traditional mechanical key

9、 to the lock, the user just remember their password, they can open, thus greatly improving anti-theft feature, this paper designed a 89c51 microcontroller core with an electronic lock, a detailed description of the complete electronic locks to unlock the design process and the external circuit and a

10、larm circuit. electronic code lock consists of three parts: the keyboard interface circuit, electronic lock control circuit, the output ba duan display circuit. keyboard interface circuit including the timing generating circuit, the keyboard scanning circuit, bounce elimination circuit, the keyboard

11、 decoder circuit. electronic code lock control circuit design, including digital key digital input, storage and clean, functional design of function keys, shift register design and control, password remove, change, to step down, storage, alarm signal generating circuit password check, the lifting po

12、wer locks circuit. ba duan display circuit including the output data selection circuit, eight out display scanning circuit. keywords: electronic code lock, 89c51, keyboard interface, the output shows eight out目錄第一章 緒 論41.1幾種常見的密碼鎖41.2研究背景41.3國內(nèi)外研究現(xiàn)狀和發(fā)展趨勢51.4本文研究的主要內(nèi)容5第二章 方案論證62.1方案62.2功能設(shè)計及其設(shè)計思路7第三章

13、 電路的功能單元設(shè)計73.1 at89c51單片機(jī)介紹73.1.1at89c51芯片簡介73.1.2 引腳說明83.2開鎖機(jī)構(gòu)113.3按鍵電路設(shè)計123.4顯示電路設(shè)計133.5 at24c02掉電存儲單元的設(shè)計143.5.1at24c02143.5.2掉電存儲電路153.6密碼鎖的電源電路設(shè)計153.7設(shè)計整體電路圖16第四章 程序設(shè)計174.1主程序流程圖174.2詳細(xì)程序18結(jié)束語2830第一章 緒 論1.1幾種常見的密碼鎖1.普通密碼鎖 目前最常用機(jī)械鎖,這種鎖結(jié)構(gòu)簡單、使用方便、價格便宜,但在使用中暴露了很多缺點:(1)機(jī)械鎖是靠金屬制成的,通過鑰匙上的不同齒形與鎖芯的配合來工作的

14、,安全性較低;(2)鑰匙一旦丟失,無論誰撿到鑰匙都可將門打開2.機(jī)械密碼鎖 該型鎖將解鎖密碼以機(jī)械裝定的形式存儲在裝置的鑒別機(jī)構(gòu)上,在裝置的外圍設(shè)立密碼操作鍵。密碼的輸入,產(chǎn)生相應(yīng)的鑒別動作,即正確的密碼輸入,鑒別機(jī)構(gòu)產(chǎn)生開鎖動作:錯誤的密碼輸入,鑒別機(jī)構(gòu)的部件將發(fā)生錯位或不做出響應(yīng)。機(jī)械密碼鎖采用機(jī)械加工(如精密機(jī)械加i微細(xì)加工)制作,皮實、耐用,電磁干擾、外界的異常信號很難啟動鑒別機(jī)構(gòu)。但機(jī)械密碼鎖通常包含多個較復(fù)雜的機(jī)、電功能組件,裝置微小型化需借助先進(jìn)的制造技術(shù)與裝配工藝,制造周期長、成本高,機(jī)電接口及測試也有一定難度。3.電磁卡片式密碼鎖 該型鎖類似于機(jī)械鎖,利用光電耦合或電磁感應(yīng)的

15、原理,將密鑰信息預(yù)先置于卡片內(nèi),加工好的卡片充當(dāng)鑰匙,開鎖時將卡片插入鎖內(nèi)或近距離感應(yīng)就能將鎖打開。該鎖的優(yōu)點是:成本較低;授權(quán)用戶一人一卡,可聯(lián)微機(jī),有開門記錄。缺點是:卡片設(shè)備有磨損,壽命較短;卡片容易復(fù)制,不易雙向控制;磁卡內(nèi)存儲的信息容易因外界磁場干擾而錯亂,以致卡片(鑰匙)無效。4.指紋密碼鎖 該類鎖通過檢驗人員生物特征(如指紋)等方式來識別開鎖。管理員利用采樣控制軟件,通過指紋采集儀采集、保存指紋;識別軟件依賴指紋庫識別開鎖者的身份,通過外圍設(shè)備顯示、打印和存儲。指紋具有唯一性和終身不變性的特點,一直被當(dāng)作身份鑒定的可靠手段,從是否允許非法開啟角度來說,安全性極好;但從使用是否方便

16、的角度看,對安裝環(huán)境和使用者的要求很高,安裝位置與使用者身高之間必須滿足一定的關(guān)系;同一個人,在指紋劃傷,或任何被用于開鎖的識別部位有損傷的情況下,可能產(chǎn)生錯誤識別而無法開鎖。1.2研究背景 在人們的日常生活中,鎖被廣泛使用,人們常用鎖來鎖一些貴重物品乃至自己的家門,目的就是為了提高安全性。常見的鎖有普通機(jī)械鎖、機(jī)械密碼鎖、電磁卡鎖、指紋(虹膜)鎖等。而普通的機(jī)械鎖極容易被強(qiáng)行破壞,安全系數(shù)不高;機(jī)械密碼鎖雖然安全系數(shù)高但造價相對較高,目前在保險柜上應(yīng)用較多;電磁卡鎖由于磁卡信息極易受外界干擾而失磁導(dǎo)致無法開鎖,而指紋(虹膜)鎖雖然安全性很好,但會因手指劃傷虹膜充血等收到限制。通過分析我們不難

17、發(fā)現(xiàn)傳統(tǒng)密碼鎖或多或少存在一些不足從而降低了其保密的安全性,因此研究一種新型的密碼鎖是具有有很高的現(xiàn)實需求性。隨著電子科技的發(fā)展,將電子芯片跟傳統(tǒng)機(jī)械鎖結(jié)合起來設(shè)計成一種新型的密碼鎖而電子密碼鎖作為一種新型的鎖已經(jīng)成功,即電子密碼鎖。 在安全技術(shù)防范領(lǐng)域,具有防盜報警功能的電子密碼鎖逐漸代替?zhèn)鹘y(tǒng)的機(jī)械式密碼鎖。電子密碼鎖與傳統(tǒng)密碼鎖想比較,擁有海量的密齒,通常從10000到10000000不等,克服了機(jī)械式密碼鎖密碼量少、安全性能差的缺點,使密碼鎖無論在技術(shù)上還是在性能上都大大提高一步。 從是否方便的角度看,電子密碼鎖省去了傳統(tǒng)機(jī)械鎖的鑰匙,電磁卡鎖的磁卡,使用者只要記得其密碼,便可以開啟,從

18、而大大提高了其適用性。因此電子密碼鎖的具有較高的研究價值。1.3國內(nèi)外研究現(xiàn)狀和發(fā)展趨勢 早在80年代,日本產(chǎn)生了最早的電子密碼鎖。隨著日本經(jīng)濟(jì)復(fù)蘇,電子行業(yè)的快速發(fā)展,一些利用簡單的門電路設(shè)計的密碼鎖出現(xiàn)了。這類電路安全性差,容易破解。到了90年代,美國、意大利、德國、日本、加拿大、韓國以及我國的臺灣、香港等地的微電子技術(shù)的進(jìn)步和通信技術(shù)的發(fā)展為密碼鎖提供了技術(shù)上的基礎(chǔ),從而推動密碼鎖走向?qū)嶋H應(yīng)用的階段。我國于90年代初開始對密碼鎖進(jìn)行初步的探索。到目前為止,在此領(lǐng)域雖已有較大的發(fā)展,采用各種電路進(jìn)行設(shè)計的比較多,技術(shù)也相當(dāng)先進(jìn),電子技術(shù)發(fā)展至今已達(dá)到相當(dāng)高的水平,電子密碼鎖技術(shù)已十分成熟。

19、1.4本文研究的主要內(nèi)容本文的主要研究方向是電子密碼鎖的具體設(shè)計,設(shè)計一種電子密碼鎖的控制系統(tǒng)電路。使得密碼鎖具有以下功能:開機(jī)輸入密碼,密碼正確則電磁鎖打開;如果第一次輸入的密碼不正確,允許再輸入兩次密碼,在這個過程中,如果密碼正確則電子鎖打開,如果在這個過程中密碼依舊不正確,則鎖定鍵盤的輸入功能,并且蜂鳴器報警。為了方便設(shè)計,將密碼鎖的開啟跟鎖定用發(fā)光二極管來代替,綠色發(fā)光二極管亮表示密碼鎖開啟,紅色發(fā)光耳機(jī)管亮表示密碼鎖鎖定。也就是將其功能轉(zhuǎn)化為:1.開機(jī)輸入密碼,密碼正確綠燈亮,表示開鎖;2.密碼輸入錯誤紅燈亮,表示密碼錯誤;3.連續(xù)三次輸入密碼不正確則鎖定鍵盤,并報警鳳鳴。本設(shè)計采用

20、單片機(jī)為主控芯片,結(jié)合外圍電路,組成電子密碼鎖,用戶想要打開鎖,必先通過提供的鍵盤輸入正確的密碼才能將鎖打開,密碼輸入錯誤有提示,為了提高安全性,當(dāng)密碼輸入錯誤三次將報警。密碼可以由用戶自己修改設(shè)定,鎖打開后才能修改密碼。修改密碼之前必須再次輸入密碼,在輸入新密碼時候需要二次確認(rèn),以防止誤操作。第二章 方案論證2.1方案 方案:設(shè)計選用單片機(jī)at89s51作為本設(shè)計的核心元件,利用單片機(jī)靈活的編程設(shè)計和豐富的i/o端口,及其控制的準(zhǔn)確性,實現(xiàn)基本的密碼鎖功能。在單片機(jī)的外圍電路外接輸入鍵盤用于密碼的輸入和一些功能的控制,外接at24c02芯片用于密碼的存儲,外接四位七段數(shù)碼管顯示器用于顯示作用

21、。當(dāng)用戶需要開鎖時,先按鍵盤開鎖鍵之后按鍵盤的數(shù)字鍵09輸入密碼。密碼輸完后按下確認(rèn)鍵,如果密碼輸入正確則開鎖,不正確顯示密碼錯誤重新輸入密碼,當(dāng)三次密碼錯誤則發(fā)出報警;當(dāng)用戶需要修改密碼時,先按下鍵盤設(shè)置鍵后輸入原來的密碼,只有當(dāng)輸入的原密碼正確后才能設(shè)置新密碼。新密碼輸入無誤后按確認(rèn)鍵使新密碼將得到存儲,密碼修改成功。其原理如圖2.2所示。輸入錯誤鎖定鍵盤 矩陣鍵盤控制 at89c51單片機(jī)延時報警控制電路開鎖控制電路at24c02掉電存儲指示電路顯示電路圖2.2單片機(jī)控制方案可以看出該方案控制靈活準(zhǔn)確性好且保密性強(qiáng)還具有擴(kuò)展功能,還可以方便的對系統(tǒng)進(jìn)行升級。2.2功能設(shè)計及其設(shè)計思路 本

22、次設(shè)計使用atmel公司的at 89c51實現(xiàn)一基于單片機(jī)的電子密碼鎖的設(shè)計,其主要具有如下功能:(1) 設(shè)置4位密碼,密碼通過鍵盤輸入,若密碼正確,則將鎖打開。(2)密碼可以由用戶自己修改設(shè)定(只支持4位密碼),鎖打開后才能修改密碼。修改密碼之前必須再次輸入密碼,在輸入新密碼時候需要二次確認(rèn),以防止誤操作。(3)報警、鎖定鍵盤功能。密碼輸入錯誤數(shù)碼顯示器會出現(xiàn)錯誤提示,若密碼輸入錯誤次數(shù)超過3次,蜂鳴器報警并且鎖定鍵盤。 電子密碼鎖的設(shè)計主要由三部分組成:4×4矩陣鍵盤接口電路、密碼鎖的控制電路、輸出八段顯示電路。另外系統(tǒng)還有l(wèi)ed提示燈,報警蜂鳴器等。 密碼鎖設(shè)計的關(guān)鍵

23、問題是實現(xiàn)密碼的輸入、清楚、更改、開鎖等功能:(1)密碼輸入功能:按下一個數(shù)字鍵,數(shù)字即從左邊開始顯示,直到按下四位密碼后,顯示器即顯示四位數(shù)。(2)密碼清除功能:當(dāng)按下清除鍵時,清除前面輸入的所有值,并清除所有顯示。(3)密碼更改功能:將輸入的值作為新的密碼。(4)開鎖功能:當(dāng)按下開鎖鍵,系統(tǒng)將輸入與密碼進(jìn)行檢查核對,如果正確鎖打開,否則不打開。第三章 電路的功能單元設(shè)計3.1 at89c51單片機(jī)介紹3.1.1at89c51芯片簡介at89c51是一種低功耗、高性能的片內(nèi)含有4kb快閃可編程/擦除只讀存儲器的8位cmos微控制器,使用高密度、非易失存儲技術(shù)制造,并且與80c51引腳和指令系

24、統(tǒng)完全兼容。【1】劉和平.劉躍.單片機(jī)原理及應(yīng)用.重慶.重慶大學(xué)出版社,2004主要性能:與mcs-51 微控制器產(chǎn)品系列兼容。 片內(nèi)有4kb可在線重復(fù)編程的快閃擦寫存儲器存儲數(shù)據(jù)保存時間為10年。寬工作電壓范圍:vcc可為2.7v到6v全靜態(tài)工作;可從0hz至16mhz 程序存儲器具有3級加密保護(hù) 128*8位內(nèi)部ram 32條可編程i/o線、兩個16位定時器/計數(shù)器、中斷結(jié)構(gòu)具有5個中斷源和2個優(yōu)先級、可編程全雙工串行通道、空閑狀態(tài)維持低功耗和掉電狀態(tài)保存存儲內(nèi)容。【2】張立科.單片機(jī)典型外圍器件及應(yīng)用實例.北京.人民郵電出版社,200689c51單片機(jī)是把那些作為控制應(yīng)用所必需的基本內(nèi)容

25、都集成在一個尺寸有限的集成電路芯片上。如果按功能劃分,它由如下功能部件組成,即微處理器、數(shù)據(jù)存儲器、程序存儲器、并行i/o口、串行口、定時器/計數(shù)器、中斷系統(tǒng)及特殊功能寄存器。它們都是通過片內(nèi)單一總線連接而成,其基本結(jié)構(gòu)依舊是cpu加上外圍芯片的傳統(tǒng)結(jié)構(gòu)模式。但對各種功能部件的控制是采用特殊功能寄存器的集中控制方式。微處理器、數(shù)據(jù)存儲器、程序存儲器、并行i/o口、串行口、定時器/計數(shù)器、中斷系統(tǒng)各部分功能及說明類似于8051單片機(jī)內(nèi)部結(jié)構(gòu)說明?!?】陳明熒.89c51單片機(jī)課程設(shè)計實訓(xùn)教材.北京.清華大學(xué)出版社,2004特殊功能寄存器共有21個,用于對片內(nèi)的各功能的部件進(jìn)行管理、控制、監(jiān)視。實

26、際上是一些控制寄存器和狀態(tài)寄存器,是一個具有特殊功能的ram區(qū)。 由上可見,【4】劉瑞新.單片機(jī)原理及應(yīng)用教程.北京.機(jī)械工業(yè)出版社,200389c51單片機(jī)的硬件結(jié)構(gòu)具有功能部件種類全,功能強(qiáng)等特點。特別值得一提的是該單片機(jī)cpu中的位處理器,它實際上是一個完整的1位微計算機(jī),這個1位微計算機(jī)有自己的cpu、位寄存器、i/o口和指令集。1位機(jī)在開關(guān)決策、邏輯電路仿真、過程控制方面非常有效;而8位機(jī)在數(shù)據(jù)采集,運(yùn)算處理方面有明顯的長處。mcs-51單片機(jī)中8位機(jī)和1位機(jī)的硬件資源復(fù)合在一起,二者相輔相承,它是單片機(jī)技術(shù)上的一個突破,這也是mcs-51單片機(jī)設(shè)計的精美之處。3.1.2 引腳說明【

27、5】求是科技.單片機(jī).人民郵電大學(xué)出版社,2005圖3.1是標(biāo)準(zhǔn)的40引腳雙列直插式集成電路芯片。p00p01p10p02p03p04p05p06p07p20p21p22p23p24p25p26p27p11p12p13p14p15p16p17p30/rxdp31/txdp32/int0p33/int1p34/t0p35/t1x1x2reset/vpp/p37/p36ale/psenat89c511234567810111213141519189393837363534333221222324252627283117162930圖3.1 at89c51引腳圖p00p07 p0口8位雙向口線(在引

28、腳的3932號端子)。p10p17 p1口8位雙向口線(在引腳的18號端子)。p20p27 p2口8位雙向口線(在引腳的2128號端子)。p30p37 p3口8位雙向口線(在引腳的1017號端子)。1.p0口有三個功能:【6】李朝青.單片機(jī)原理及接口技術(shù).北京.北京航空航天大學(xué)出版社,2002(1)外部擴(kuò)展存儲器時,用作數(shù)據(jù)總線(如圖中的d0d7為數(shù)據(jù)總線接口)(2)外部擴(kuò)展存儲器時,用作地址總線(如圖中的a0a7為地址總線接口)(3)不擴(kuò)展時,可做一般的i/o口使用,但內(nèi)部無上拉電阻,作為輸入或輸出時應(yīng)在外部接上拉電阻。2.p1口功能:p1口只做i/o口使用,其內(nèi)部有上拉電阻。3.p2口有兩

29、個功能:(1)擴(kuò)展外部存儲器時,當(dāng)作地址總線使用(2)做一般i/o口使用,其內(nèi)部有上拉電阻4.p3口有兩個功能:除了作為i/o口使用外(其內(nèi)部有上拉電阻),還有一些特殊功能,由特殊寄存器來設(shè)置。當(dāng)作為輸入時,上拉電阻將其電位拉高,若輸入為低電平則可提供電流源;所以如果p0口作為輸入時,處在高阻抗?fàn)顟B(tài),只有外接一個上拉電阻才能有效。5.ale/prog 地址鎖存控制信號:在系統(tǒng)擴(kuò)展時,ale用于控制把p0口的輸出低8位地址送鎖存器鎖存起來,以實現(xiàn)低位地址和數(shù)據(jù)的隔離。 prog為編程脈沖的輸入端,在89c51單片機(jī)內(nèi)部有一個4kb的程序存儲器(rom),rom的作用就是用來存放用戶需要執(zhí)行的程序

30、的,那么我們是怎樣把編寫好的程序存入進(jìn)這個rom中的呢?實際上是通過編程脈沖輸入才能寫進(jìn)去的,這個脈沖的輸入端口就是prog。6.psen 外部程序存儲器讀選通信號:在讀外部rom時psen低電平有效,以實現(xiàn)外部rom單元的讀操作:(1)內(nèi)部rom讀取時,psen不動作;(2)外部rom讀取時,在每個機(jī)器周期會動作兩次;(3)外部ram讀取時,兩個psen脈沖被跳過不會輸出;(4)外接rom時,與rom的ea腳相接。7.ea/vpp 訪問程序存儲器控制信號:(1)接高電平時:cpu讀取內(nèi)部程序存儲器(rom)(2)接低電平時:cpu讀取外部程序存儲器(rom)。8031單片機(jī)內(nèi)部是沒有rom的

31、,那么在應(yīng)用8031單片機(jī)時,這個腳是一直接低電平的。8.rst 復(fù)位信號:當(dāng)輸入的信號連續(xù)2個機(jī)器周期以上高電平時即為有效,用以完成單片機(jī)的復(fù)位初始化操作,當(dāng)復(fù)位后程序計數(shù)器pc=0000h,即復(fù)位后將從程序存儲器的0000h單元讀取第一條指令碼。9.xtal1和xtal2 :外接晶振引腳。當(dāng)使用芯片內(nèi)部時鐘時,此二引腳用于外接石英晶體和微調(diào)電容;當(dāng)使用外部時鐘時,用于接外部時鐘脈沖信號。10.vcc:電源端接+5v電壓輸入。11.gnd:接地端。3.2開鎖機(jī)構(gòu) 通過單片機(jī)送給開鎖執(zhí)行機(jī)構(gòu),電路驅(qū)動電磁鎖吸合,從而達(dá)到開鎖的目的。其原理如圖3.2.所示。單片機(jī)微控制器開鎖驅(qū)動電路電磁鎖密碼正

32、確?y返回n 圖3.2密碼鎖開鎖機(jī)構(gòu)示意圖當(dāng)用戶輸入的密碼正確輸入的話,單片機(jī)便輸出開門信號,送到開鎖驅(qū)動電路,然后驅(qū)動電磁鎖,達(dá)到開門的目的。其實際電路如圖3.2所示。 電路驅(qū)動和開鎖兩級組成。由r、t組成驅(qū)動電路,其中t可以選擇普通的小功率三極管如9014、9018都可以滿足要求。其中d、c是為了消除電磁鎖可能產(chǎn)生的反向高電壓以及可能產(chǎn)生的電磁干擾。t可選用中功率的三極管如8050,電磁鎖的選用要視情況而定,但是吸合力要足夠且由一定的余量。在本次設(shè)計中,基于節(jié)省材料的原則,暫時用發(fā)光二極管代替電磁鎖,紅色發(fā)光管亮,表示無法開鎖;綠色發(fā)光管亮,表示開鎖。3.3按鍵電路設(shè)計由于設(shè)計要求使用矩陣

33、鍵盤,所以本設(shè)計就采用行列式鍵盤,同時也能減少鍵盤與單片機(jī)接口時所占用的i/o線的數(shù)目,在按鍵比較多的時候,通常采用這樣方法。其原理如圖3.4所示?!?】饒慶和.89c51單片機(jī)實用技術(shù).北京.人民郵電出版社,2003圖3.4行列式鍵盤原理電路圖每一條水平(行線)與垂直線(列線)的交叉處不相通,而是通過一個按鍵來連通,利用這種行列式矩陣結(jié)構(gòu)只需要n條行線和m條列線,即可組成具有n×m個按鍵的鍵盤。 在這種行列式矩陣鍵盤非鍵盤編碼的單片機(jī)系統(tǒng)中,鍵盤處理程序首先執(zhí)行等待按鍵并確認(rèn)有無按鍵按下的程序段。 當(dāng)確認(rèn)有按鍵按下后,下一步就要識別哪一個按鍵按下。對鍵的識別通常有兩種方法:一種是常

34、用的逐行掃描查詢法;另一種是速度較快的線反轉(zhuǎn)法。 對照圖3.3所示的4*4鍵盤,說明線反轉(zhuǎn)個工作原理。首先辨別鍵盤中有無鍵按下,有單片機(jī)i/o口向鍵盤送全掃描字,然后讀入行線狀態(tài)來判斷。方法是:向行線輸出全掃描字00h,把全部列線置為低電平,然后將列線的電平狀態(tài)讀入累加器a中。如果有按鍵按下,總會有一根行線電平被拉至低電平從而使行線不全為1。 判斷鍵盤中哪一個鍵被按下使通過將列線逐列置低電平后,檢查行輸入狀態(tài)來實現(xiàn)的。方法是:依次給列線送低電平,然后查所有行線狀態(tài),如果全為1,則所按下的鍵不在此列;如果不全為1,則所按下的鍵必在此列,而且是在與零電平行線相交的交點上的那個鍵。3.4顯示電路設(shè)計

35、 顯示電路我們采用七段數(shù)碼管進(jìn)行設(shè)計,七段數(shù)碼管的碼型和真值表如圖3.5和圖3.6所示:【8】清華大學(xué)電子學(xué)教研組.閆石.數(shù)字電路基礎(chǔ).高等教育出版社,2008 七段數(shù)碼管真值表g f e d c b a段碼數(shù)字0 1 1 1 1 1 10 0 0 0 1 1 01 0 1 1 0 1 11 0 0 1 1 1 11 1 0 0 1 1 01 1 0 1 1 0 11 1 1 1 1 0 10 0 0 0 1 1 11 1 1 1 1 1 11 1 0 1 1 1 11 1 1 0 1 1 11 1 1 1 1 0 00 1 1 1 0 0 11 0 1 1 1 1 01 1 1 1 0 0

36、11 1 1 0 0 0 13fg06h6bh4fh66h6dh7dh07h7fh6fh77h7ch39h5eh79h71h 0a1 2 3fb 4 5g 6ec 7 8dpd 9 圖3.5 七段數(shù)碼管 a b c d e f圖3.6七段數(shù)碼管真值表本系統(tǒng)設(shè)計的顯示電路是為了給使用者以提示而設(shè)置的。考慮到節(jié)約成本,使用最少的電子元器件,本系統(tǒng)的顯示采用并行顯示的方式,即使用單片機(jī)的p00-p07作為段選碼口,p20-p23為位選碼口。就可以完成單片機(jī)的顯示功能,顯示電路采用四位七段數(shù)碼管來進(jìn)行設(shè)計,電路原理圖如圖3.7所示?!?】李華.mcs-51系列單片機(jī)使用接口技術(shù).北京航空航天大學(xué)出版社

37、,1993圖3.7四位七段數(shù)碼管顯示電路的電路原理圖 從單片機(jī)p00-p07輸出的信號是四位七段數(shù)碼管的段選信號,直接送到七段數(shù)碼管的段選地址中,控制七段數(shù)碼管顯示的碼型;從單片機(jī)20-p23輸出的信號是四位七段數(shù)碼管的位選信號,送到四位七段數(shù)碼管的片選地址中,控制四位七段數(shù)碼管的顯示個數(shù)和哪一個管子顯示。 電路設(shè)定:當(dāng)程序檢測在5分鐘內(nèi)沒有按鍵操作的時候,就關(guān)閉顯示。這個功能使用程序來實現(xiàn)的,一旦沒有按鍵動作就啟動一個定時器,檢測在5分鐘內(nèi)沒有按鍵動作的時候,啟動一個程序,關(guān)閉顯示,這樣可以達(dá)到節(jié)省電能的目的。3.5 at24c02掉電存儲單元的設(shè)計3.5.1at24c02 掉電存儲單元的作

38、用是在電源斷開的時候,存儲當(dāng)前設(shè)定的單價信息。at24c02是atmel公司開發(fā)的可擦除存儲芯片,at24c02是一個2k位串行cmos e2prom, 內(nèi)部含有256個8位字節(jié),at24c02有一個16字節(jié)頁寫緩沖器。該器件通過iic總線接口進(jìn)行操作,有一個專門的寫保護(hù)功能。 采用兩線串行的總線和單片機(jī)通訊,電壓最低可以到2.5v,額定電流為1ma,靜態(tài)電流10ua(5.5v),芯片內(nèi)的資料可以在斷電的情況下保存40年以上,而且采用8腳的dip封裝,使用方便。其電路如圖3.8所示。vddat24c02 a1a2wpsdaa3vssscl圖3.8 at24c023.5.2掉電存儲電路 采用at

39、24c02設(shè)計的掉電存儲電路如圖3.9所示vccat24c02vdd p35a2wpa1p36p37sdavssa3scl圖3.9 掉電存儲電路原理圖 圖中r是上拉電阻,其作用是減少at24c02的靜態(tài)功耗,由于at24c02的數(shù)據(jù)線和地址線是復(fù)用的,采用串口的方式傳送數(shù)據(jù),所以只用兩根線scl(移位脈沖)和sda(數(shù)據(jù)/地址)與單片機(jī)傳送數(shù)據(jù)。 每當(dāng)設(shè)定一次單價,系統(tǒng)就自動調(diào)用存儲程序,將單價信息保存在芯片內(nèi);當(dāng)系統(tǒng)重新上電的時候,自動調(diào)用讀存儲器程序,將存儲器內(nèi)的單價等信息,讀到緩存單元中,供主程序使用。3.6密碼鎖的電源電路設(shè)計本設(shè)計電源采用usb下載器供電3.7設(shè)計整體電路圖圖3.14

40、整體設(shè)計電路圖第四章 程序設(shè)計4.1主程序流程圖 主程序主要完成初始化、設(shè)置中斷向量、檢查有無按鍵按下、以及調(diào)用顯示等等。主程序的流程圖如4.1下所示?!?0】王忠飛.胥芳 mcs-51單片機(jī)原理及嵌入式系統(tǒng)應(yīng)用.西安電大出版社,2007開始初始化有鍵按下?調(diào)用顯示啟動定時識別按鍵全部按完?超時?比較密碼開門開始自動清除>3次?鎖定報警nnyyyynn圖4.1 主程序流程圖4.2詳細(xì)程序程序正文#include <reg51.h>#define uchar unsigned char #define uint unsigned int sbit scl =p36;sbit s

41、da =p37;int num,select=0x01;int pa,pb,pc,pd,npa,npb,npc,npd;bit isopen=0, displayinfo=0;uchar x=0x0f;int flagcount=16;int a=16,b=16,c=16,d=16,flag=0,t=0;uchar code no21=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xa0,0x83,0xa7,0xa1,0x84,0x8e,0xff,0x23,0x0c,0x84,0x2b;void delay(uint ms) uint i

42、=0;while (ms-) for (i=0;i<120;i+);/行列式鍵盤 /int scan(uchar x) if (x=0x0f) return 0; else delay(1); if (x=0x0f) return 0; else return 1;void count(uchar x) int i=3,j=3; uchar p; p=0x0fx; while (p!=0x01) p=p>>1; i-; p1=0xf0; x=p1; p=0xf0x; while (p!=0x80) p=p<<1; j-; p1=0x0f; num=4*i+j;vo

43、id display(int k) p0=nok; p2=select; delay(3); select=select<<1; if (select=0x10) select=0x01; p2=0x00;void displayopen() display(17); display(18); display(19); display(20);/24c02讀寫驅(qū)動程序/延時/void flash() ; ; void x24c02_init() /24c02初始化子程序scl=1; /拉高 flash(); /延時 sda=1; flash();/同上 void start() /

44、啟動i2c總線sda=1; flash(); scl=1; flash(); sda=0; flash(); scl=0; flash();void stop() /停止i2c總線sda=0; flash(); scl=1; flash(); sda=1; flash(); void writex(uchar j) /寫一個字節(jié) uchar i,temp; temp=j; for (i=0;i<8;i+)temp=temp<<1; scl=0; flash(); sda=cy; flash(); scl=1; flash();scl=0; flash(); sda=1; fl

45、ash();uchar readx() /讀一個字節(jié)uchar i,j,k=0;scl=0; flash(); sda=1; for (i=0;i<8;i+) flash(); scl=1; flash();if (sda=1) j=1;else j=0;k=(k<<1)|j;scl=0;flash(); return(k);void clock() /i2c總線時鐘,在此作第個時鐘scl=1; flash();while (sda=1);/如果sda為0即收到應(yīng)答則跳過,為1則等應(yīng)答scl=0; flash();/從24c02的地址address中讀取一個字節(jié)數(shù)據(jù)/ucha

46、r x24c02_read(uchar address)uchar i;start(); writex(0xa0);clock();/第9個時鐘writex(address);/選中24c02clock(); start();writex(0xa1); /選中24c02中的存儲器地址 clock();i=readx(); stop();delay(1);return(i);/向24c02的address地址中寫入一字節(jié)數(shù)據(jù)info/void x24c02_write(uchar address,uchar info)start(); writex(0xa0);clock(); writex(a

47、ddress);clock(); writex(info);clock(); stop(); delay(1);/調(diào)用i2c / void readpassword() x24c02_init(); if (x24c02_read(0x00)!=0xff) pa=x24c02_read(0x00); pb=x24c02_read(0x01); pc=x24c02_read(0x02); pd=x24c02_read(0x03); else x24c02_write(0x00,0); delay(1); x24c02_write(0x01,0); delay(1); x24c02_write(0

48、x02,0); delay(1); x24c02_write(0x03,0); delay(1); void wirtepassword() x24c02_write(0x00,npa); delay(1); x24c02_write(0x01,npb); delay(1); x24c02_write(0x02,npc); delay(1); x24c02_write(0x03,npd); delay(1);/中斷/ void close() interrupt 0 if (p32=0) isopen=0;a=b=c=d=16; flag=0; flagcount=16; void setpa

49、ssword() interrupt 2if (isopen)select=0x01;isopen=0;if (!isopen) a=b=c=d=16; flag=0;tr0=1; displayinfo=1; while ( displayinfo) display(20); display(18); display(5); display(5);tr0=0;while (flag<=32) display(a); display(b); display(c); display(d); x=p1; if (scan(x) count(x); if (flag=0) a=num; if

50、(flag=1) b=num; if (flag=2) c=num; if (flag=3) d=num; flag+; delay(100); if (flag>=4) flag+; npa=pa=a;npb=pb=b;npc=pc=c;npd=pd=d;wirtepassword();tr0=1; displayinfo=1; while ( displayinfo) display(20); display(18); display(12); display(5);tr0=0;a=b=c=d=16; flag=0; flagcount=16;void timer() interrupt 1 t+; if (t=40)

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論