久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 11131|回復: 2
打印 上一主題 下一主題
收起左側

基于單片機的密碼鎖設計

[復制鏈接]
跳轉到指定樓層
樓主
ID:256678 發表于 2017-12-3 15:15 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式


1 引言
1.1 設計目的
隨著電子技術的發展,各類電子產品應運而生,電子密碼鎖就是其中之一。 電子密碼鎖就是通過鍵盤輸入一組密碼完成開鎖過程。研究這種鎖的初衷,就是 為提高鎖的安全性。 目前,國內自行研制開發的電子鎖,應用還不廣泛。國內的不少企業也引進 了世界上先進的技術,發展前景非常可觀。希望通過不斷的努力,使電子密碼鎖 在我國也能得到廣泛應用。
1.2 設計要求 本次課程設計要求使我們能夠掌握并且實際運用課本知識。 通過利用所學的 電子技術知識正確分析并設計電路 , 將適當電路運用到實際電路中 , 將課本知識轉 化為實際能力。
1.3 設計方法
(1)系能夠從鍵盤中輸入密碼,并相應地在顯示器上顯示, *?;能夠判斷密碼是 否正確,正確則開鎖,錯誤則輸出相應信息。 (2)密碼由程序直接設定,不可用戶自己設定。 (3)具有自動報警功能。密碼不正確,相應紅燈亮,蜂鳴器發出報警聲來提示。 (4)具有手動復位功能。 2 設計方案及原理
2.1 系統總體設計
根據以上分析,本次電子密碼鎖設計的主要重點是以下幾個部分: 4x3 矩陣 鍵盤設計、 LCD 信息顯示和密碼的比較和處理。當然,除了這幾個部分外還 有報警等功能模塊。其中矩陣鍵盤用于輸入數字密碼和進行各種功能的實現。由 用戶通過連接單片機的矩陣鍵盤輸入密碼,后經過單片機對用戶輸入的密碼與自 己保存的密碼進行對比,從而判斷密碼是否正確,然后控制引腳的高低電平傳到 開鎖電路或者報警電路是報警。系統整體框圖如圖 1 所示。

2.2 本設計硬件資源分配
P3.0~P3.7用于 LCD 液晶顯示作用。 P1.6、P1.7用于蜂鳴器和報警燈的控制。 P1.4用于開鎖電路的控制。 P2.0~P2.7用于鍵盤電路的控制。 P1.0~P1.2用于LCD顯示模塊的控制端口的控制。


3 硬件設計
3.1.1 芯片選擇
本次設計采用 AT89C51 貼片芯片, AT89C51是一個低電壓,高性能 CMOS 8 位單片機,通過用 Keil 軟件編寫程序,然后裝到單片機里面去,然后讓它對整個 系統進行信息的處理,如可以讓它處理矩陣鍵盤傳過來的信息,并根據編好的程 序來確定哪個按鍵按下,并處理相應按鍵對應的功能,然后把相應的信息反應到 單片機的各個引腳,來實現按鍵實現的現象,如:顯示是否開啟鎖,報警等。 AT89C51 提供以下標準功能: 4k 字節 Flash 閃速存儲器 128 字節內部 RAM,32 個 I/O 口線兩個 16 位定時 /計數器,一個 5 向量兩級中斷結構,一個全雙工串行 通信口,片內振蕩器及時鐘電路。同時, AT89C51 可降至 0Hz 的靜態邏輯操作, 并支持兩種軟件可選的節電工作模式。空閑方式停止 CPU 的工作,但允許 RAM, 定時/計數器,串行通信口及中斷系統繼續工作。掉電方式保存 RAM 中的內容, 但振蕩器停止工作并禁止其它所有部件工作直到下一個硬件復位。
AT89C51 的引腳圖如圖 2 所示。

3.1.2 單片機最小系統設計
單片機最小系統就是指能使單片機工作的最少的器件構成的系統。因
為單片機已經包含了數據存儲器和程序存儲器,所以只要在其外部加上時鐘電路
和復位電路就可以構成單片機最小系統。
(1)單片機工作需要晶振給 CPU提供頻率,時鐘電路就是給單片機提供晶振頻
率 的 電 路 。 圖 3 是 時 鐘 電 路 的 PROTEUS 仿 真 圖 。

單片機允許的振蕩晶體可在 1.2~24MHz之間選擇,一般為 11.0592MHz,電容
C2,C3的取值對振蕩頻率輸出的穩定性、 大小及振蕩電路起振速度有一定的影響,
可在20~100pF之間選擇,典型值位 30pF
(2)計算機每次開始工作, CPU和系統中的其他部件都必須要有一個確定
的初值,即復位狀態。圖 4是單片機復位電路仿真圖。


單片機 RST引腳是高電平有效。 單片機在上電瞬間 C1充電,RST引腳端出現正
脈沖,只要 RST斷保持兩個機械周期(大約 10ms)以上的高電平,單片機就能復
位。在單片機工作后,如果還想再次復位,只需按下開關,單片機就能重新變成
復位狀態。當晶體振蕩頻率為 12MHz時,RC的典型值為 C=10μF,R=8.2KΩ。
3.1.3 矩陣鍵盤設計
一組鍵或者一個鍵盤,需要通過接口電路和 CPU相連接, CPU可以采用查
詢接口或者中斷的方式了解有沒有鍵被按下,并檢查是哪個鍵被按下。無論是查
詢方式還是中斷方式都要用到單片機的 I/O口。由于單片機 I/O口較少的原因, 當系
統中需要用到較多按鍵時,為了能夠更合理更有效地利用單片機的 I/O口,一般采
用矩陣鍵盤的方式來實現多按鍵的功能。
圖 5 是 4x3 矩 陣 鍵 盤 在 PROTEUS 中 的 電 路 原 理 仿 真 圖 。

矩陣鍵盤又叫做行列式鍵盤。行列式鍵盤的硬件結構比較簡單,由行輸出口
和列輸出口構成行列式鍵盤,按鍵設置在行、列交點上。只有當鍵被按下時相應
的行和列才能相連。如此,只要檢測行和列是否相連就可以知道是否有鍵按下。
由于按鍵設置在行、列線交點上,行、列分別連接到按鍵開關的兩端,平時
無鍵按下時,行線處于高電平,假設列線為低電平,當有鍵按下時,按下的鍵就
會將相應的行和列連通,使得對應的行線被列線拉低,也變為低電平。這就是識
別矩陣鍵盤是否有鍵被按下的關鍵。
當確定有鍵被按下時,通過逐行掃描,讀出 I/O口的值可以知道哪一行的值被
改變了,被改變了的行即是被按下的按鍵所在行。同時,由于每個鍵都有它的行
值和列值,行值和列值得組合就是這個按鍵的編碼,當算法一定時,每個按鍵的
編碼是固定的,且各個按鍵的編碼互不相同,所有通過讀 I/O的值還能具體知道是
哪一個鍵被按下,這樣就實現了鍵盤的識別。
3.1.4 LCD顯示模塊設計
LCD1602是一種字符型液晶顯示器,是一種專門用于顯示字母、數字、符號等的
點陣式液晶顯示器。 LCD1602的顯示容量為 16x2個字符(可以顯示 2行,每行顯示
16個字符),芯片工作電壓為 4.5~5.5V,工作電流為 2.0mA(5.0V),模塊最佳
工作電壓是 5.0V。
LCD1602具有 16個引腳。在 LCD1602的有關設計中,主要是通過編寫程序控制
LCD1602的4、5、6引腳來實現數據或者指令的寫入和執行,再通過數據或者指令
的寫入和執行來進一步實現 LCD1602的顯示功能。 查資料了解在仿真庫中用
lm016l代替LCD602圖6是PROTEUS中顯示模塊的仿真圖。
由于 LCD要正常工作必須提供足夠的電流,因此在實際應用為了保證顯示器能夠
正常工作,應在數據端口接一上拉電阻,不過此次仿真就沒有另外加上拉電阻。
3.1.5報警模塊、開鎖模塊以及表示模塊
開鎖模塊用繼電器帶一個 LED管代替電磁鎖。電路如圖 7所示;
報警模塊用蜂鳴器表示,電路如圖 8所示;
表示模塊用發光二極管表示開鎖與否。
3.2 硬件連接圖
根據電路原理,在 PROTEUS中畫出各功能模塊的仿真圖,各個功能 模塊驗證正確后,將所有模塊集合到一個電路設計圖中,畫出具有所有功能的總 體硬件仿真圖。
在設計過程中,采用單片機 AT89C51作為主控芯片,結合鍵盤輸入、顯示電路、 報警電路、開鎖電路、時鐘電路、晶振電路,利用合理的連線接成硬件連接圖, 在Proteus軟件平臺上選中合適的 AT89C51芯片, LCD顯示器,鍵盤,以及其它電 子元件,接成電路。 3.3 設計原理
系統工作時,用戶通過按鍵輸入 6 位密碼,單片機將輸入密碼與設定密碼進 行比較,若密碼正確,則相應綠燈閃爍,同時發出開鎖信號,將門打開,系統不 報警;若密碼不正確,則相應的紅燈亮閃爍,同時蜂鳴器發出報警聲音。 4 軟件設計
4.1 程序設計
C 語言編程,源程序清單如附錄 1 所示。 4.2 程序流程圖
流程圖如圖 4。
5 系統仿真及實際調試
5.1Proteus 仿真圖
仿真結果密碼正確, LCD 顯示器顯示 “open”,綠燈亮。仿真圖如附錄 2 所示。
5.2 問題分析
電源、晶振電路和復位電路都無異常, LCD 顯示時出現問題: (1)剛開始蜂鳴器聲音太小幾乎聽不清楚,后來加了一個三極管放大后聲音變
大。
(2)接通電源開門燈和報警電路就會工作,分析原因是單片機剛開始各個管腳 輸出低電平。 (3)開鎖電路完成后繼電器不吸起,后來經過調試加三極管等等方法后實現 了繼電器吸起 LED 燈亮。
6 總結
本次設計,采用單片機 AT89C51 作為主控芯片, 結合外圍的鍵盤輸入、 顯示、 報警、開鎖等電路,用 C 語言編寫主控芯片的控制程序,設計了一款具有報警功 能的電子密碼鎖。 對于本次單片機課程設計,我覺得十分有意義且很有必要。課堂上,我們大 多數接觸的僅僅是專業課的理論知識,如何去鍛煉我們的實踐能力?如何把我們 所學的專業基礎課理論知識運用到實踐中去呢?像此次課程設計就為我們提供了 良好的實踐平臺。過程中我發現了很多問題,看似很簡單的電路,要動手把它給 設計出來,是很難的一件事,主要原因是我沒有經常動手設計過電路,還有資料 的查找也是一大難題,這就要求我在以后的學習中,應該注意到這一點,更重要 的是我要學會把從書本中學到的知識和實際的電路聯系起來,這不論是對我以后 就業還是學習,都會起到很大的促進和幫助,我相信,通過這次的畢業設計,在 以后的學習中我會更加努力,力爭把這門課學好,學精。同時,通過本次畢業設 計,鞏固了我學習過的專業知識,也使我們把理論與實踐從真正意義。另外,通 過這兩周對電子密碼鎖的研究和學習,我認為本次設計中使用的這種鍵盤輸入密 碼的方式可以進行改革。在越來越高科技化的今天,遙控控制顯的愈發重要,今 后的電子密碼鎖應該具有以紅外技術或無線電技術為輔助的密碼按鍵輸入遠程交 互技術,這樣就能遠程輸入密碼完成操作。也可以放棄傳統的按鍵輸入密碼模式, 借助傳感器技術運用聲控來實現密碼輸入,又或者使用人臉識別技術,或者用戶 指紋識別技術代替傳統的按鍵輸入,這些都可以使開鎖的時間更短更方便,同時 使鎖更安全。 最后也感謝指導老師這兩周對我課設中存在的問題進行詳細的解答 與幫助。
參考文獻
[1] 謝自美 .電子線路設計實驗測試 [M]. 武漢 :華中理工大學出版社 ,1992.
[2] 劉湘濤 .江世明 .單片機原理與應用 [M]. 北京 :電子工業出版社 ,2006.
[3] 李光才 .單片機課程設計實例指導 [M]. 北京:北京航空航天大學出版社 ,2004.
[4] 王思明等編著 .單片機原理及應用系統設計 .北京:科學出版社, 2012.



附錄 1 源程序
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
sbit rs=P1^0; //寄存器選擇位 將 rs 定義為 p1.0的引腳
sbit rw=P1^1; //讀寫選擇位將 rw 定義為 p1.1的引腳
sbit en=P1^2; //使能信號位將 en定義為 p1.2的引腳
sbit ledg=P2^0;
sbit ledr=P2^1;
sbit relay=P1^4;
sbit buzz=P1^5;
char table0[]="error";
char table1[]="open";
char table2[]="password:"; //
int temp,ch,m0,m1,p,n0,n1,n2,n3,n4,n5;
void delay(int z)
{
int x,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)
{
case 0xe0:ch='7';
break;
case 0xd0:ch='8';
break;
case 0xb0: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)
{
case 0xe0:ch='4';
break;
case 0xd0:ch='5';
break;
case 0xb0: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)

{
case 0xe0:ch='1';
break;
case 0xd0:ch='2';
break;
case 0xb0: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)
{
case 0xe0:ch='A';break;
case 0xd0:ch='0';break;
case 0xb0:ch='B';break;
default:ch=p;break;
}
while(temp!=0xf0)
{
temp=P1; temp=temp&0xf0;
}
}
return ch;
}
void wcom(uchar com)
{ rs=0;
P0=com;
delay(1); //寫命令延時可以為 1
en=1;
delay(1); //寫命令延時可以為 1
en=0;
}
void wdat(uchar dat)

{
rs=1;
P0=dat;
delay(1); //此處寫數據延時可以為 1
en=1; delay(4); //此處寫數據延時至少為 4
en=0;
}
void init()
{
en=0;
wcom(0x38);
wcom(0x0c);
wcom(0x06);
wcom(0x01);
}
void error()
{
char m2;
wcom(0xc6);
for(m2=0;m2<5;m2++)
{
wdat(table0[m2]);
}
}
void open()
{
char m2;
wcom(0xc6);
for(m2=0;m2<4;m2++)
{
wdat(table1[m2]);
}
}
void pass()
{
char m2;
wcom(0x80);
for(m2=0;m2<9;m2++)
{
wdat(table2[m2]);
}
}
change(int m)
{
delay(500);
wcom(m);
wdat('*');
}
main()
{
rw=0;
ledg=0;
ledr=0;
relay=0;
buzz=0;
init();
delay(5);
pass();
wcom(0x89);
while(keyscan()==p)
{
delay(3);
keyscan();
}
wdat(keyscan());
n0=keyscan();
change(0x89);
delay(10);
ch=p;
while(keyscan()==p)
{
delay(3);
keyscan();
}
wdat(keyscan());
n1=keyscan();
change(0x8a);
ch=p;
while(keyscan()==p)
{
delay(3);
keyscan();
}
wdat(keyscan());
n2=keyscan();
change(0x8b);
ch=p;
while(keyscan()==p)
{
delay(3);
keyscan();
}
wdat(keyscan());
n3=keyscan();
change(0x8c);
ch=p;
while(keyscan()==p)
{
delay(3);
keyscan();
}
wdat(keyscan());
n4=keyscan();
change(0x8d);
ch=p;
while(keyscan()==p)
{
delay(3);
keyscan();
}
wdat(keyscan());
n5=keyscan();
change(0x8e);
if(n0=='2'&&n1=='0'&&n2=='1'&&n3=='4'&&n4=='1'&&n5=='9')
{
int m3=1;
open();
relay=1;
delay(3000);
relay=0;
while(m3)
{
int m4,m5;
ledg=0;
for(m4=200;m4>0;m4--)
{
keyscan();
if(keyscan()=='A')
{
m4=0;
m3=0;
}
} ledg=1;
if(m3!=0)
{
for(m5=200;m5>0;m5--)
{
keyscan();
if(keyscan()=='A')
{
m3=0;
}
}
}
}
}
else
{
ledr=1;
error();
buzz=1;
delay(5000);
}
}


基于51單片機的密碼鎖設計.pdf (622.22 KB, 下載次數: 52)




分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:449953 發表于 2018-12-24 21:47 來自手機 | 只看該作者
大佬,能多給點注釋嗎?萬謝了!
回復

使用道具 舉報

板凳
ID:495312 發表于 2019-3-22 22:03 | 只看該作者
用proteus仿不出來啊
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩av成人在线观看 | 激情av免费看 | 美女国产一区 | 人操人免费视频 | 欧美黄a| 中文二区 | 国产精品免费av | 欧美一区二区三 | 久久久久国产 | 国产69久久精品成人看动漫 | www.久草.com| 欧美一区2区三区4区公司 | 久久精品成人热国产成 | 欧美三区 | 一区二区三区中文字幕 | 97免费视频在线观看 | 精品国产乱码久久久久久影片 | 久草院线| 888久久久 | 男女羞羞视频网站 | 不卡一区二区三区四区 | 综合久久综合久久 | 精品成人在线视频 | 一级毛片在线播放 | 欧美精品片 | 亚洲精品一区在线 | 亚洲一区二区三 | 中文字幕av色 | 欧美日韩综合 | 精产嫩模国品一二三区 | 国产美女久久久 | 伊人手机在线视频 | 日本在线免费看最新的电影 | 自拍在线 | 精品一二区 | zzzwww在线看片免费 | 日日摸天天添天天添破 | 欧美国产亚洲一区二区 | 亚洲视频 欧美视频 | 99精品亚洲国产精品久久不卡 | 色又黄又爽网站www久久 |