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

下載本文檔

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

文檔簡介

千里之行,始于足下。第2頁/共2頁精品文檔推薦單片機密碼鎖設(shè)計1引言

1.1設(shè)計目的

隨著電子技術(shù)的進展,各類電子產(chǎn)品應(yīng)運而生,電子密碼鎖算是其中之一。電子密碼鎖算是經(jīng)過鍵盤輸入一組密碼完成開鎖過程。研究這種鎖的初衷,算是為提高鎖的安全性。目前,國內(nèi)自行研制開辟的電子鎖,應(yīng)用還別廣泛。國內(nèi)的很多企業(yè)也引進了世界上先進的技術(shù),進展前景很可觀。希翼經(jīng)過別斷的努力,使電子密碼鎖在我國也能得到廣泛應(yīng)用。

1.2設(shè)計要求本次課程設(shè)計要求使我們可以掌握同時實際運用課本知識。經(jīng)過利用所學的電子技術(shù)知識正確分析并設(shè)計電路,將適當電路運用到實際電路中,將課本知識轉(zhuǎn)化為實際能力。

1.3設(shè)計辦法

(1)系可以從鍵盤中輸入密碼,并相應(yīng)地在顯示器上顯示,*?;可以推斷密碼是否正確,正確則開鎖,錯誤則輸出相應(yīng)信息。(2)密碼由程序直截了當設(shè)定,別可用戶自個兒設(shè)定。(3)具有自動報警功能。密碼別正確,相應(yīng)紅燈亮,蜂鳴器發(fā)出報警聲來提示。(4)具有手動復位功能。2設(shè)計方案及原理

2.1系統(tǒng)總體設(shè)計

依照以上分析,本次電子密碼鎖設(shè)計的要緊重點是以下幾個部分:4x3矩陣鍵盤設(shè)計、LCD信息顯示和密碼的比較和處理。固然,除了這幾個部格外還有報警等功能模塊。其中矩陣鍵盤用于輸入數(shù)字密碼和舉行各種功能的實現(xiàn)。由用戶經(jīng)過連接單片機的矩陣鍵盤輸入密碼,后通過單片機對用戶輸入的密碼與自個兒保存的密碼舉行對照,從而推斷密碼是否正確,然后操縱引足的高低電平傳到開鎖電路或者報警電路是報警。系統(tǒng)整體框圖如圖1所示。

2.2本設(shè)計硬件資源分配

P3.0~P3.7用于LCD液晶顯示作用。P1.6、P1.7用于蜂鳴器和報警燈的操縱。P1.4用于開鎖電路的操縱。P2.0~P2.7用于鍵盤電路的操縱。P1.0~P1.2用于LCD顯示模塊的操縱端口的操縱。

3硬件設(shè)計

3.1.1芯片挑選

本次設(shè)計采納AT89C51貼片芯片,AT89C51是一具低電壓,高性能CMOS8位單片機,經(jīng)過用Keil軟件編寫程序,然后裝到單片機里面去,然后讓它對整個系統(tǒng)舉行信息的處理,如能夠讓它處理矩陣鍵盤傳過來的信息,并依照編好的程序來確定哪個按鍵按下,并處理相應(yīng)按鍵對應(yīng)的功能,然后把相應(yīng)的信息反應(yīng)到單片機的各個引足,來實現(xiàn)按鍵實現(xiàn)的現(xiàn)象,如:顯示是否開啟鎖,報警等。AT89C51提供以下標準功能:4k字節(jié)Flash閃速存儲器128字節(jié)內(nèi)部RAM,32個I/O口線兩個16位定時/計數(shù)器,一具5向量兩級中斷結(jié)構(gòu),一具全雙工串行通信口,片內(nèi)振蕩器及時鐘電路。并且,AT89C51可落至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??障痉绞酵V笴PU的工作,但允許RAM,定時/計數(shù)器,串行通信口及中斷系統(tǒng)接著工作。掉電方式保存RAM中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直到下一具硬件復位。

AT89C51的引足圖如圖2所示。

3.1.2單片機最小系統(tǒng)設(shè)計

單片機最小系統(tǒng)算是指能使單片機工作的最少的器件構(gòu)成的系統(tǒng)。因

為單片機差不多包含了數(shù)據(jù)存儲器和程序存儲器,因此只要在其外部加上時鐘電路

和復位電路就能夠構(gòu)成單片機最小系統(tǒng)。

(1)單片機工作需要晶振給CPU提供頻率,時鐘電路算是給單片機提供晶振頻

率的電路。圖3是時鐘電路的PROTEUS仿真圖。

單片機允許的振蕩晶體可在1.2~24MHz之間挑選,普通為11.0592MHz,電容

C2,C3的取值對振蕩頻率輸出的穩(wěn)定性、大小及振蕩電路起振速度有一定的妨礙,可在20~100pF之間挑選,典型值位30pF

(2)計算機每次開始工作,CPU和系統(tǒng)中的其他部件都必須要有一具確定

的初值,即復位狀態(tài)。圖4是單片機復位電路仿真圖。

單片機RST引足是高電平有效。單片機在上電眨眼C1充電,RST引足端浮現(xiàn)正

脈沖,只要RST斷保持兩個機械周期(大約10ms)以上的高電平,單片機就能復位。在單片機工作后,假如還想再次復位,只需按下開關(guān),單片機就能重新變成

復位狀態(tài)。當晶體振蕩頻率為12MHz時,RC的典型值為C=10μF,R=8.2KΩ。

3.1.3矩陣鍵盤設(shè)計

一組鍵或者一具鍵盤,需要經(jīng)過接口電路和CPU相連接,CPU能夠采納查

詢接口或者中斷的方式了解有沒有鍵被按下,并檢查是哪個鍵被按下。不管是查

詢方式依然中斷方式都要用到單片機的I/O口。由于單片機I/O口較少的緣故,當系統(tǒng)中需要用到較多按鍵時,為了可以更合理更有效地利用單片機的I/O口,普通采

用矩陣鍵盤的方式來實現(xiàn)多按鍵的功能。

圖5是4x3矩陣鍵盤在PROTEUS中的電路原理仿真圖。

矩陣鍵盤又叫做行列式鍵盤。行列式鍵盤的硬件結(jié)構(gòu)比較簡單,由行輸出口

和列輸出口構(gòu)成行列式鍵盤,按鍵設(shè)置在行、列交點上。惟獨當鍵被按下時相應(yīng)

的行和列才干相連。這樣,只要檢測行和列是否相連就能夠懂是否有鍵按下。

由于按鍵設(shè)置在行、列線交點上,行、列分不連接到按鍵開關(guān)的兩端,平常

無鍵按下時,行線處于高電平,假設(shè)列線為低電平,當有鍵按下時,按下的鍵就

會將相應(yīng)的行和列連通,使得對應(yīng)的行線被列線拉低,也變?yōu)榈碗娖?。這算是識

不矩陣鍵盤是否有鍵被按下的關(guān)鍵。

當確定有鍵被按下時,經(jīng)過逐行掃描,讀出I/O口的值能夠懂哪一行的值被

改變了,被改變了的行即是被按下的按鍵所在行。并且,由于每個鍵都有它的行

值和列值,行值和列值得組合算是那個按鍵的編碼,當算法一定時,每個按鍵的

編碼是固定的,且各個按鍵的編碼互別相同,所有經(jīng)過讀I/O的值還能具體懂是

哪一具鍵被按下,如此就實現(xiàn)了鍵盤的識不。

3.1.4LCD顯示模塊設(shè)計

LCD1602是一種字符型液晶顯示器,是一種特意用于顯示字母、數(shù)字、符號等的

點陣式液晶顯示器。LCD1602的顯示容量為16x2個字符(能夠顯示2行,每行顯示16個字符),芯片工作電壓為4.5~5.5V,工作電流為2.0mA(5.0V),模塊最佳

工作電壓是5.0V。

LCD1602具有16個引足。在LCD1602的有關(guān)設(shè)計中,要緊是經(jīng)過編寫程序操縱LCD1602的4、5、6引足來實現(xiàn)數(shù)據(jù)或者指令的寫入和執(zhí)行,再經(jīng)過數(shù)據(jù)或者指令

的寫入和執(zhí)行來進一步實現(xiàn)LCD1602的顯示功能。查資料了解在仿真庫中用

lm016l代替LCD602圖6是PROTEUS中顯示模塊的仿真圖。

由于LCD要正常工作必須提供腳夠的電流,所以在實際應(yīng)用為了保證顯示器可以

正常工作,應(yīng)在數(shù)據(jù)端口接一上拉電阻,只是此次仿真就沒有另外加上拉電阻。

3.1.5報警模塊、開鎖模塊以及表示模塊

開鎖模塊用繼電器帶一具LED管代替電磁鎖。電路如圖7所示;

報警模塊用蜂鳴器表示,電路如圖8所示;

表示模塊用發(fā)光二極管表示開鎖與否。

3.2硬件連接圖

依照電路原理,在PROTEUS中畫出各功能模塊的仿真圖,各個功能模塊驗證正確后,將所有模塊集合到一具電路設(shè)計圖中,畫出具有所有功能的總體硬件仿真圖。

在設(shè)計過程中,采納單片機AT89C51作為主控芯片,結(jié)合鍵盤輸入、顯示電路、報警電路、開鎖電路、時鐘電路、晶振電路,利用合理的連線接成硬件連接圖,在Proteus軟件平臺上選中合適的AT89C51芯片,LCD顯示器,鍵盤,以及其它電子元件,接成電路。3.3設(shè)計原理

系統(tǒng)工作時,用戶經(jīng)過按鍵輸入6位密碼,單片機將輸入密碼與設(shè)定密碼舉行比較,若密碼正確,則相應(yīng)綠燈閃耀,并且發(fā)出開鎖信號,將門打開,系統(tǒng)別報警;若密碼別正確,則相應(yīng)的紅燈亮閃耀,并且蜂鳴器發(fā)出報警聲音。4軟件設(shè)計

4.1程序設(shè)計

C語言編程,源程序清單如附錄1所示。4.2程序流程圖

流程圖如圖4。

5系統(tǒng)仿真及實際調(diào)試

5.1Proteus仿真圖

仿真結(jié)果密碼正確,LCD顯示器顯示“open”,綠燈亮。仿真圖如附錄2所示。

5.2咨詢題分析

電源、晶振電路和復位電路都無異常,LCD顯示時浮現(xiàn)咨詢題:(1)剛開始蜂鳴器聲音太小幾乎聽別清晰,后來加了一具三極管放大后聲音變

大。

(2)接通電源開門燈和報警電路就會工作,分析緣故是單片機剛開始各個管足輸出低電平。(3)開鎖電路完成后繼電器別吸起,后來通過調(diào)試加三極管等等辦法后實現(xiàn)了繼電器吸起LED燈亮。

6總結(jié)

本次設(shè)計,采納單片機AT89C51作為主控芯片,結(jié)合外圍的鍵盤輸入、顯示、報警、開鎖等電路,用C語言編寫主控芯片的操縱程序,設(shè)計了一款具有報警功能的電子密碼鎖。關(guān)于本次單片機課程設(shè)計,我覺得十分故意義且非常有必要。課堂上,我們大多數(shù)接觸的僅僅是專業(yè)課的理論知識,怎么去鍛煉我們的實踐能力?怎么把我們所學的專業(yè)基礎(chǔ)課理論知識運用到實踐中去呢?像此次課程設(shè)計就為我們提供了良好的實踐平臺。過程中我發(fā)覺了非常多咨詢題,看似非常簡單的電路,要動手把它給設(shè)計出來,是非常難的一件事,要緊緣故是我沒有經(jīng)常動手設(shè)計過電路,還有資料的查找也是一大難題,這就要求我在往后的學習中,應(yīng)該注意到這一點,更重要的是我要學會把從書本中學到的知識和實際的電路聯(lián)系起來,這別論是對我往后就業(yè)依然學習,都會起到非常大的促進和幫助,我相信,經(jīng)過這次的畢業(yè)設(shè)計,在往后的學習中我會更加努力,力爭把這門課學好,學精。并且,經(jīng)過本次畢業(yè)設(shè)計,鞏固了我學習過的專業(yè)知識,也使我們把理論與實踐從真正意義。另外,經(jīng)過這兩周對電子密碼鎖的研究和學習,我以為本次設(shè)計中使用的這種鍵盤輸入密碼的方式能夠舉行改革。在越來越高科技化的今天,遙控操縱顯的愈發(fā)重要,今后的電子密碼鎖應(yīng)該具有以紅外技

術(shù)或無線電技術(shù)為輔助的密碼按鍵輸入遠程交互技術(shù),如此就能遠程輸入密碼完成操作。也能夠放棄傳統(tǒng)的按鍵輸入密碼模式,借助傳感器技術(shù)運用聲控來實現(xiàn)密碼輸入,又或者使用人臉識不技術(shù),或者用戶指紋識不技術(shù)代替?zhèn)鹘y(tǒng)的按鍵輸入,這些都能夠使開鎖的時刻更短更方便,并且使鎖更安全。最終也謝謝指導老師這兩周對我課設(shè)中存在的咨詢題舉行詳細的解答與幫助。

參考文獻

[1]謝自美.電子線路設(shè)計實驗測試[M].武漢:華中理工大學出版社,1992.

[2]劉湘濤.江世明.單片機原理與應(yīng)用[M].北京:電子工業(yè)出版社,2006.

[3]李光才.單片機課程設(shè)計實例指導[M].北京:北京航空航天大學出版社,2004.

[4]王思明等編著.單片機原理及應(yīng)用系統(tǒng)設(shè)計.北京:科學出版社,2012.

附錄1源程序

#include

#include

#defineucharunsignedchar

sbitrs=P1^0;//寄存器挑選位將rs定義為p1.0的引足

sbitrw=P1^1;//讀寫挑選位將rw定義為p1.1的引足

sbiten=P1^2;//使能信號位將en定義為p1.2的引足

sbitledg=P2^0;

sbitledr=P2^1;

sbitrelay=P1^4;

sbitbuzz=P1^5;

chartable0[]="error";

chartable1[]="open";

chartable2[]="password:";//

inttemp,ch,m0,m1,p,n0,n1,n2,n3,n4,n5;

voiddelay(intz)

{

intx,c;

for(x=z;x>0;x--)

for(c=100;c>0;c--);

}

keyscan()

{

temp=P1&0xf0;

P1=0xfe;

delay(1);

temp=P1&0xf0;

while(temp!=0xf0)

{switch(temp)

{

case0xe0:ch='7';

case0xd0:ch='8';break;

case0xb0:ch='9';break;

default:ch=p;break;

}

while(temp!=0xf0){

temp=P1;

temp=temp&0xf0;}

}

P1=0xfd;

delay(1);

temp=P1&0xf0;while(temp!=0xf0){

switch(temp){

case0xe0:ch='4';break;

case0xd0:ch='5';break;

case0xb0:ch='6';break;

default:ch=p;break;

}

while(temp!=0xf0){temp=P1;temp=temp&0xf0;}

}

P1=0xfb;

delay(1);

temp=P1&0xf0;while(temp!=0xf0){

switch(temp){

case0xe0:ch='1';

case0xd0:ch='2';

break;

case0xb0:ch='3';

break;

default:ch=p;

break;

}

while(temp!=0xf0)

{

temp=P1;

temp=temp&0xf0;

}

}

P1=0xf7;

delay(1);

temp=P1&0xf0;

while(temp!=0xf0)

{

switch(temp)

{

case0xe0:ch='A';break;

case0xd0:ch='0';break;

case0xb0:ch='B';break;default:ch=p;break;

}

while(temp!=0xf0)

{

temp=P1;temp=temp&0xf0;}

}

returnch;

}

voidwcom(ucharcom)

{rs=0;

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論