單片機課程設(shè)計報告 密碼鎖設(shè)計_第1頁
單片機課程設(shè)計報告 密碼鎖設(shè)計_第2頁
單片機課程設(shè)計報告 密碼鎖設(shè)計_第3頁
單片機課程設(shè)計報告 密碼鎖設(shè)計_第4頁
單片機課程設(shè)計報告 密碼鎖設(shè)計_第5頁
已閱讀5頁,還剩17頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

《單片機原理與接口技術(shù)》課程設(shè)計(報告)題目:密碼鎖設(shè)計

摘要本文主要設(shè)計了可用LCD1602顯示密碼的電子密碼鎖。該設(shè)計的硬件平臺是單片機AT89C52。編程軟件采用Keiluvision2,仿真軟件采用ISIS7Professional。本設(shè)計采用的是以單片機作為核心元件,結(jié)合矩形鍵盤電路、指紋模組、數(shù)碼顯示電路等,利用其靈活的編程設(shè)計和豐富的I/O端口,以及控制的準確性,實現(xiàn)豐富的密碼鎖功能。在單片機的外圍電路外接輸入鍵盤用于密碼的輸入,外接LCD1602用于顯示密碼的作用,以及三次輸錯密碼自動鎖死鍵盤的設(shè)計。電子密碼鎖在當前社會廣泛應(yīng)用于各個場所,此次設(shè)計是具有實在性意義的。本次項目研究設(shè)計方法合理、成本極低、簡單易行、安全實用等特點,具有可持續(xù)發(fā)展的空間。關(guān)鍵詞:89C51矩陣鍵盤自動鎖死仿真測試

目錄第1章概述 41.1課題背景及意義 41.2設(shè)計任務(wù)以及要求 5第2章總體設(shè)計方案 62.1總體設(shè)計框架圖 62.2總體設(shè)計方案 6第3章硬件設(shè)計以及器件選擇 73.1硬件設(shè)計 73.2矩陣按鍵 73.3顯示器 83.4蜂鳴器,即報警裝置 93.5AT89C52 93.6復(fù)位電路。 103.7時鐘電路。 11第四章軟件設(shè)計 124.1軟件及軟件總設(shè)計 124.2各功能模塊的軟件設(shè)計 17第五章系統(tǒng)調(diào)試 19總結(jié) 20參考文獻 21

第1章概述1.1課題背景及意義電子密碼鎖是一種通過輸入密碼來控制電路或者芯片工作,從而控制機械開關(guān)的閉合。完成開鎖、閉鎖任務(wù)的電子產(chǎn)品。其性能和安全性大大超過了機械鎖,具有以下特點:保密性好,編碼量多,隨機開鎖成功率幾乎為零;密碼可變,用戶可以經(jīng)常更改密碼,防止密碼被盜,同時也可以避免因人員的更替而使鎖的密級下降;誤碼輸入保護。當輸入密碼多次錯誤時,密碼鎖自動鎖定,報警系統(tǒng)自動啟動;此外,電子密碼鎖的操作簡單易學(xué),大多數(shù)人都可以輕松上手和熟練掌握使用。如今,隨著社會物質(zhì)財富的日益增長和人民水平的提高,安全防盜已成為現(xiàn)代居民最關(guān)心的社會問題之一,人們對鎖的需求越來越大,要求也越來越高,電子密碼鎖應(yīng)運而生。電子智能密碼鎖,是代指一類可以經(jīng)過操控電子電路或控制器的內(nèi)部操控芯片,從而達到操控電子密碼鎖的機械鎖芯開關(guān)或閉合的電子設(shè)備。其類型上既有結(jié)構(gòu)相對簡單的集成電路產(chǎn)品,又有大量應(yīng)用集成電路晶片的高價格比的電子設(shè)備,但現(xiàn)在,在市場上使用比較普遍的就是以芯片為內(nèi)核的電子密碼鎖,應(yīng)用了C語言程序設(shè)計,將程序燒錄進芯片中,再聯(lián)系各個模組完成開鎖的智能電子密碼鎖。日常生活和工作中,住宅與部門的安全防范、單位的文件檔案、財務(wù)報表以及一些個人資料的保存多以加鎖的辦法來解決。目前門鎖主要用彈子鎖,其鑰匙容易丟失;保險箱主要用機械密碼鎖,其結(jié)構(gòu)較為復(fù)雜,制造精度要求高,成本高,且易出現(xiàn)故障,人們常需攜帶多把鑰匙,使用極不方便,且鑰匙丟失后安全性即大打折扣。針對這些鎖具給人們帶來的不便若使用機械式鑰匙開鎖,為滿足人們對鎖的使用要求,增加基安全性,甩密碼代替鑰匙的密碼鎖應(yīng)運而生。電于電子器件所限,以前開發(fā)的電子密碼鎖,其種類不多,保密性差,最基本的就是只依靠最簡單的模擬電子開關(guān)來實現(xiàn)的,制作簡單但很不安全,在后為多是基于EDA來實現(xiàn)的,其電路結(jié)構(gòu)復(fù)雜,電子元件繁多,也有使用早先的20引角的2051系列單片機來實現(xiàn)的,但密碼簡單,易破解。隨著電子元件的進一步發(fā)展,電子密碼鎖也出現(xiàn)了很多的種類,功能日益強大,使用更加方便,安全保密性更強,由以前的單密碼輸入發(fā)展到現(xiàn)在的,密碼加感應(yīng)元件,實現(xiàn)了真真的電子加密,用戶只有密碼或電子鑰匙中的一樣,是不能開鎖的,隨著電子元件的發(fā)展及人們對保密性需求的提高出現(xiàn)了越來越多的電子密碼鎖。出于安全、方便等方面的需要許多電子密碼鎖已相繼問世。但這類產(chǎn)品的特點是針對特定有效卡、指紋或聲音有效,且不能實現(xiàn)遠程控制,只能適用于保密要求高,且僅供個人使用的箱、柜、房間等。由于數(shù)字、字符、圖形圖像、人體生物特征和時間等要素均可成為鑰匙的電子信息,組合使用這些信息能夠使電子防盜鎖獲得高度的保密性,如防范森嚴的金庫,需要使用復(fù)合信息密碼的電子防盜鎖,組合使用信息也能夠使電子防盜鎖獲得無窮擴展的可能,使產(chǎn)品多樣化,對用戶而言是“千挑百選、自得其所”。可以看出組合使用電子信息是電子密碼鎖以后的發(fā)展趨勢。1.2設(shè)計任務(wù)以及要求設(shè)計任務(wù):使用編程軟件:Keiluvision2,和仿真軟件:ISIS7Professional,設(shè)計一個電子密碼鎖并且仿真運行。設(shè)計要求:可用LCD1602顯示密碼;密碼鎖的密碼由密碼矩陣鍵盤輸入,輸入完密碼后進行對比;輸入錯誤三次后鎖死鍵盤。

第2章總體設(shè)計方案2.1總體設(shè)計框架圖圖2.1總體設(shè)計框架圖2.2總體設(shè)計方案由于單片機的種類繁多,各種型號的單片機都有一定的應(yīng)用環(huán)境,因此在選用單片機時需要多加比較,綜合考慮,以此獲得最佳的性能比。一般來說,在選擇單片機時需要從以下幾個方面來考慮:性能、存儲器、運行速度、I/O端口、串行接口、模擬電路功能、工作電壓、功耗等性能因素,綜合考慮,本課程設(shè)計最終選擇AT89C51單片機作為核心元件,利用單片機靈活的編程設(shè)計和豐富的I/O端口,以及控制的準確性,實現(xiàn)基本的密碼控制功能。在單片機的外圍電路外接輸入鍵盤用于密碼的輸入和一些功能的控制,外接芯片用于密碼的儲存,外接LCD1602顯示器用于顯示作用。當用戶需要開鎖時,先按鍵盤輸入密碼,密碼輸入完成之后,按下確認鍵,如果用戶密碼輸入正確則開鎖,如果用戶輸入密碼不正確,則重新輸入密碼,當三次輸入密碼錯誤之后,鍵盤鎖定,此時用戶不能再次輸入密碼。

第3章硬件設(shè)計以及器件選擇3.1硬件設(shè)計硬件設(shè)計采用ISIS7Professional仿真軟件,主要用到了AT89C52,LCD1602等等重要器件,總體設(shè)計如下圖所示:圖3.1總體設(shè)計圖3.2矩陣按鍵矩陣按鍵部分包括數(shù)字按鍵1~9,密碼輸入之后的確定按鍵,輸錯密碼之后的重置按鍵,輸入密碼之后的向左/向右修改按鍵,以及可以修改密碼的按鍵。(1)OK鍵。當用戶完成密碼輸入之后,按下OK鍵,若密碼輸入正確,則可以開鎖,若密碼輸入錯誤,則需要重新輸入密碼。(2)SET鍵。當用戶輸入正確密碼之后,按下SET鍵,就可以輸入新密碼,新密碼起作用,從而達到修改密碼的作用。(3)LET鍵和RIGHT鍵。當用戶在輸入密碼的過程中,發(fā)現(xiàn)輸錯密碼需要修改時,按下LET鍵,就可以修改當前字符左邊一個數(shù)字,按下RIGHT鍵,就可以修改當前字符右邊的一個數(shù)字。(4)CLEAR鍵。重置鍵。當用戶輸錯多為密碼時,用戶按下CLEAR鍵,可以直接重置已經(jīng)輸入的密碼,用戶重新輸入密碼即可。圖3.2矩陣按鍵圖3.3顯示器使用液晶顯示器LCD1602取代普通的數(shù)碼管來完成,用以顯示用戶輸入的密碼。只有按下電源開關(guān)后,顯示器才處于開啟狀態(tài),同理只有按下電源開關(guān)之后,顯示器才能處于關(guān)閉狀態(tài),否則顯示器將一直處于初始狀態(tài)。用戶在輸入密碼的過程中可以看見自己所輸入的密碼,便于隨時修改和確認。當用戶輸入正確的密碼之后,可以看見顯示器部分顯示正確(即出現(xiàn)八個八),當用戶輸入錯誤的密碼之后,可以看見顯示器部分顯示錯誤(即在出現(xiàn)短暫的八個小橫線之后,隨即出現(xiàn)八個零)。圖3.3LCD1602顯示器圖圖3.4用戶密碼輸入正確之后的圖3.4蜂鳴器,即報警裝置由發(fā)聲裝置和外圍電路組成,加電后不發(fā)聲,當用戶輸入錯誤的密碼之后,報警器發(fā)出報警,發(fā)出報警聲響持續(xù)一秒。報警器工作狀態(tài)下,上面的小藍等變?yōu)榧t色。圖3.5報警裝置圖3.5AT89C52AT89C52是一個低電壓,高性能CMOS8位單片機,片內(nèi)含8kbytes的可反復(fù)擦寫的Flash只讀程序存儲器和256bytes的隨機存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標準MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲單元,AT89C52單片機在電子行業(yè)中有著廣泛的應(yīng)用。AT89C52有40個引腳,32個外部雙向輸入/輸出(I/O)端口,同時內(nèi)含2個外中斷口,3個16位可編程定時計數(shù)器,2個全雙工串行通信口,2個讀寫口,AT89C52可以按照常規(guī)方法進行編程,也可以在線編程。其將通用的微處理器和Flash存儲器結(jié)合在一起,特別是可反復(fù)擦寫的Flash存儲器可有效地降低開發(fā)成本。在本次設(shè)計中,重點用于儲存密碼。圖3.6AT89C523.6復(fù)位電路。單片機復(fù)位是使CPU和系統(tǒng)的其他功能部件處在于一個正確的初始狀態(tài),并且從這個狀態(tài)開始工作。本設(shè)計中,當用戶三次輸錯密碼,鍵盤鎖定之后,可以手動按下復(fù)位鍵,即可重新輸入密碼。圖3.7復(fù)位電路3.7時鐘電路。時鐘電路的工作原理是單片機外部接上振蕩器提供高頻脈沖經(jīng)過分頻處理后,成為單片機內(nèi)部時鐘信號,作為片內(nèi)各部件協(xié)調(diào)工作的控制信號。其作用是來配合外部晶體實現(xiàn)振蕩的電路,這樣可以為單片機提供運行時鐘。本設(shè)計采用外部時鐘電路。圖3.8時鐘電路

第四章軟件設(shè)計4.1軟件及軟件總設(shè)計(1)軟件采用KeiluVision2編程軟件。KeiluVision2是德國KeilSoftware公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),使用接近于傳統(tǒng)c語言的語法來開發(fā),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學(xué)易用,而且大大的提高了工作效率和項目開發(fā)周期,他還能嵌入?yún)R編,您可以在關(guān)鍵的位置嵌入,使程序達到接近于匯編的工作效率。KEILC51標準C編譯器為8051微控制器的軟件開發(fā)提供了C語言環(huán)境,同時保留了匯編代碼高效,快速的特點。C51編譯器的功能不斷增強,使你可以更加貼近CPU本身,及其它的衍生產(chǎn)品。C51已被完全集成到uVision2的集成開發(fā)環(huán)境中,這個集成開發(fā)環(huán)境包含:編譯器,匯編器,實時操作系統(tǒng),項目管理器,調(diào)試器。uVision2IDE可為它們提供單一而靈活的開發(fā)環(huán)境。(2)程序見附錄4.2各功能模塊的軟件設(shè)計圖4.1模塊詳解1在截圖中可以看見數(shù)碼管0~9的程序、密碼輸入錯誤后“-”的顯示、密碼輸入正確之后“8”的顯示、蜂鳴器的設(shè)置、用戶輸錯密碼的次數(shù)記錄設(shè)置、將“123456”設(shè)置為萬能密碼的設(shè)置。圖4.2模塊詳解2在截圖中可以看見比較模塊的作用,即比較正確密碼與用戶輸入密碼,使用到的命令為judge。

第五章系統(tǒng)調(diào)試當系統(tǒng)通電之后,各部分都通電且穩(wěn)定運行,系統(tǒng)調(diào)試時,復(fù)位按鍵,密碼輸入按鍵,重置按鍵,LCD1602顯示器都正常穩(wěn)定運行。如圖下:圖5.1系統(tǒng)調(diào)試圖下面幾個調(diào)試圖,分別是用戶輸入密碼過程中,用戶輸入正確之后,初始密碼,以及修改之后的密碼調(diào)試,最終測試結(jié)果都非常成功。圖5.2調(diào)試圖一圖5.3調(diào)試圖二圖5.4調(diào)試圖三圖5.5調(diào)試圖四

總結(jié)這周單片機課程設(shè)計給我?guī)砹嗽S多磨練,在寫程序時往往因為粗心大意而導(dǎo)致不少的問題,在尋找合適的硬件時,考慮因數(shù)復(fù)雜,最終本此單片機課程設(shè)計從經(jīng)濟實用的角度出發(fā),采用美國Atmel公司的單片機AT89C52作為主控芯片與數(shù)據(jù)存儲單元,結(jié)合外圍的鍵盤輸入、顯示、報警、開鎖等電路并用匯編語言編寫主控芯片的控制程序,設(shè)計的一款可以供用戶使用可多次更改密碼具有報警功能的電子密碼鎖。設(shè)計完全可行可以達到設(shè)計目的。使用單片機制作的電子密碼鎖,具有軟硬件設(shè)計簡單,易于開發(fā),成本低,安全可靠,操作方便等特點,可用于住宅、辦公室的保險箱等需要防盜的場所,有一定的實用性。該電路設(shè)計還具有按鍵有效提示,輸入錯誤提示,控制開鎖電平,控制報警電路,修改密碼,等功能??稍谝馔庑姑艿那闆r下隨時修改密碼。保密性強,靈活性高,特別適用于家庭、辦公室、學(xué)生宿舍及賓館等場所。使用說明:本密碼鎖初始密碼為123456,當用戶要開鎖時,輸入正確的密碼,按下確定鍵后就能實現(xiàn)開鎖,如果連續(xù)3次輸入不正確,密碼鎖就會報警;當用戶要重設(shè)密碼時,按下重設(shè)鍵,緊接著輸入原先的密碼,按下確定鍵后如果密碼正確才能輸入新密碼,輸入新密碼按下確定鍵后還要重新輸入一次新密碼,當兩次輸入新密碼相同時,按下確定鍵后密碼修改成功,否則不成功,需重新修改。經(jīng)過本次課程設(shè)計,我對各個集成模塊電路有了更加深刻的認識,實踐出真知,經(jīng)過這一次課程設(shè)計,我將書本上的理論知識運用到實踐中,更加明白了其中的道理,這警醒我自己要注重實踐,將理論知識回歸到實踐中去,以便于更好的學(xué)習(xí)知識,同時也激發(fā)了我對電子設(shè)計的濃厚興趣。

參考文獻[1]劉佳樂.基于單片機的電子密碼鎖設(shè)計[J].中國新技術(shù)新產(chǎn)品.2018(23).[2]沈小倩.基于單片機的電子密碼鎖的設(shè)計與制作[J].機電工程技術(shù).2018(06).[3]麻銳敏.基于單片機的電子安全密碼鎖的設(shè)計初探[J].科技風(fēng).2018(23).[4]鄒健.基于單片機的電子密碼鎖系統(tǒng)設(shè)計[J].無線互聯(lián)科技.2022(05).[5]朱彥龍,房新荷.基于51單片機的指紋電子密碼鎖的設(shè)計與實現(xiàn)分析[J].電子元器件與信息技術(shù).2018(10).[6]有德義.基于單片機指紋識別電子密碼鎖的設(shè)計[J].電子測試.2016(09).[7]陳軍.單片機數(shù)字密碼鎖的設(shè)計與實現(xiàn)[J].2019(06).[8]陳建軍.基于單片機制作的新型安全密碼鎖分析[J].2018(14).[9]徐萬明,楊敏,楊思陽,田紹東,陳克林.基于單片機的多功能電子密碼鎖設(shè)計[J].2018(04).[10梅麗鳳.單片機原理及接口技術(shù)[M].北京交通大學(xué)出版社.2018.[11]劉柳.一種特色矩陣鍵盤的設(shè)計方法[P].中國專利:CN102637075A.

附錄(1)軟件程序表#include<reg52.h>#defineucharunsignedcharucharcodetab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf,0x00};ucharcodetab1[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,0xbf,0x00};uchartemp;sbitp=P3^6;unsignedintt=0;intN=0,num;intflag=0;intflag1=0;intoldpassw[8]={1,2,3,4,5,6,7,8};intpassw[8];newpass[8];intlr;voiderror();intkeyscan();voidsetpass();voiddelay_ms(intx){intj;while(--x!=0)for(j=0;j<120;j++);}voiddisplay(){inti;P2=0x80;for(i=0;i<8;i++){if(0==i){if(i==(7-lr))P0=tab1[passw[7]];elseP0=tab[passw[7]];}if(1==i){if(i==(7-lr))P0=tab1[passw[6]];elseP0=tab[passw[6]];}if(2==i){if(i==(7-lr))P0=tab1[passw[5]];elseP0=tab[passw[5]];}if(3==i){if(i==(7-lr))P0=tab1[passw[4]];elseP0=tab[passw[4]];}if(4==i){if(i==(7-lr))P0=tab1[passw[3]];elseP0=tab[passw[3]];}if(5==i){if(i==(7-lr))P0=tab1[passw[2]];elseP0=tab[passw[2]];}if(6==i){if(i==(7-lr))P0=tab1[passw[1]];elseP0=tab[passw[1]];}if(7==i){if(i==(7-lr))P0=tab1[passw[0]];elseP0=tab[passw[0]];}delay_ms(2);P2>>=1;}}voidinit(){TMOD=0x01;TH0=0x3C;TL0=0X0B0;ET0=1;TR0=0;EA=1;}voidjudge(){inti,m=0;if(flag1==1){for(i=0;i<8;i++){if(passw[i]!=newpass[i])break;m++;}if(m!=8){m=0;for(i=0;i<8;i++){if(passw[i]!=oldpassw[i])break;m++;}if(m!=8){for(i=0;i<8;i++)passw[i]=0;N++;flag=0;error();lr=0;}if(m==8){for(i=0;i<8;i++){passw[i]=11;}flag=1;N=0;m=0;display();}}if(m==8){for(i=0;i<8;i++){passw[i]=11;}flag=1;N=0;display();}}else{for(i=0;i<8;i++){if(passw[i]!=oldpassw[i])break;m++;}if(m!=8){for(i=0;i<8;i++)passw[i]=0;N++;flag=0;error();lr=0;}if(m==8){for(i=0;i<8;i++){passw[i]=11;}flag=1;N=0;m=0;display();}}}delay_ms(2);temp=P1;temp=temp&0x0f;while(temp!=0x0f){temp=P1;switch(temp){case0xe7:num=1;passw[lr]=1;break;case0xeb:num=2;passw[lr]=2;break;case0xed:num=3;passw[lr]=3;break;case0xee:num=4;passw[lr]=4;break;}lr++;if(lr>=8)lr=0;while(temp!=0x0f){temp=P1;temp=temp&0x0f;}}}voidsetpass(){inti;if(flag==1){for(i=0;i<8;i++)newpass[i]=passw[i];for(i=0;i<8;i++)passw[i]=0;lr=0;display();flag=0;flag1=1;}else{for(i=0;i<8;i++)passw[i]=10;lr=0;display();}}intkeyscan(){inti;P1=0xef;temp=P1;temp=temp&0x0f;while(temp!=0x0f){temp=P1;temp=temp&0x0f;}}}P1=0xbf;temp=P1;temp=temp&0x0f;while(temp!=0x0f){delay_ms(2);temp=P1;temp=temp&0x0f;while(temp!=0x0f){temp=P1;switch(temp){case0xb7:num=9;passw[lr]=9;lr++;if(lr>=8)lr=0;break;case0xbd:num=11;judge();break;case0xbe:num=12;for(i=0;i<8;i++)passw[i]=0;lr=0;}{P1=0xdf;temp=P1;temp=temp&0x0f;while(tem

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論