在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

怎么設(shè)計一個能夠?qū)崿F(xiàn)上鎖開鎖功能的簡易電子鎖?

冬至子 ? 來源:好吶好吶 ? 作者:好吶好吶 ? 2023-05-02 16:02 ? 次閱讀

1 概述

1.1 選題背景

安全是現(xiàn)代社會更加關(guān)注的現(xiàn)象之一。盜竊事件常有發(fā)生,因此更需要一種工具來維護門戶安全。在此之前,掛鎖、子彈鎖和插入式鎖被廣泛使用。這些鎖結(jié)構(gòu)簡單、安全性低。撬鎖入室和入室盜竊的案件越來越多。因此,我們的團隊設(shè)計了一款電子智能密碼鎖。產(chǎn)品的設(shè)計主要考慮了保證人們安全使用、使用方便、使用方便等綜合因素。電路產(chǎn)品設(shè)計包括防探鍵盤輸入、智能控制解鎖、鎖定、報警、密碼重置等功能。其次,由于采用多位密鑰設(shè)置,具有保密性好、靈敏度高等優(yōu)點。

1.2 方案描述

(1)輸入密碼功能。輸入密碼時,用“*”代替真實的密碼以防密碼泄露。在輸入密碼時,具有清除前一位/或多位的密碼功能(用清除鍵)。密碼輸入完畢,按(確認/開鎖鍵)確認并生效。

(2)上鎖功能。在鎖開狀態(tài)下,通過上鎖鍵上鎖。

(3)在鎖合的狀態(tài)下,通過輸入密碼開鎖功能。開鎖時,先按確認/開鎖鍵后,再在鍵盤上輸入六位密碼,然后按確認/開鎖鍵,如果密碼正確,進入鎖開狀態(tài)。

(4)在鎖開狀態(tài)下,設(shè)置新密碼功能。按設(shè)置新密碼鍵,在鍵盤上輸入六位新的密碼,按(確認/開鎖)鍵確認,代替舊密碼。

(5)在開鎖時,如果輸入密碼三次錯誤,產(chǎn)生聲、光報警功能。每錯誤一次,告警一次, 若連續(xù)三次錯誤,則系統(tǒng)屏蔽輸入功能,直到系統(tǒng)復(fù)位后重新開始。

1.3 設(shè)計的目的

信息產(chǎn)業(yè)迅速發(fā)展的今天,我們生活中必不可少的設(shè)備都向著小型化、微型化、智能化、自動化的方向發(fā)展。避免用鑰匙開啟旋芯式鎖的一切煩惱。安全性能高,成本低,功耗低,易操作,從而實現(xiàn)了對鎖的電子控制,突破了傳統(tǒng)的機械鎖的單一性,保密性低,易撬性的缺點,具有使用靈活性好,安全系數(shù)高的優(yōu)點。它的主要工作部分是將輸入密碼與設(shè)定密碼進行比較,密碼正確時,控制繼電器開鎖,密碼錯誤時,數(shù)碼管清屏,繼電器保持關(guān)閉狀態(tài)。它的電路結(jié)構(gòu)簡單,密碼破譯難度較大,操作簡單。

2 方案設(shè)計

2.1 硬件選擇

基于AT89C51單片機的電子密碼鎖硬件設(shè)計選用AT89C51單片機作為本設(shè)計的核心元件, 于AT89C51單片機的電子密碼鎖硬件設(shè)計利用AT89C51單片機靈活的編程設(shè)計和豐富的I/O端口, 及其控制的準確性, 基于AT89C51單片機的電子密碼鎖實現(xiàn)基本的密碼鎖功能。在AT89C51單片機的外圍電路外接輸入鍵盤用于密碼的輸入和一些功能的控制,基于AT89C51單片機的電子密碼鎖硬件設(shè)計選用LM016L用于顯示作用。

2.2 功能介紹

當用戶需要開鎖時, 先按基于AT89C51單片機的電子密碼鎖的鍵盤開鎖鍵之后按鍵盤的數(shù)字鍵0-9輸入密碼。基于AT89C51單片機的電子密碼鎖的密碼輸完后按下確認鍵, 如果基于AT89C51單片機的電子密碼鎖的密碼輸入正確則開鎖, 不正確顯示密碼錯誤重新輸入密碼, 當三次密碼錯誤則發(fā)出報警;當用戶需要修改基于AT89C51單片機的電子密碼鎖的密碼時, 先按下基于AT89C51單片機的電子密碼鎖的鍵盤設(shè)置鍵后可以設(shè)置新密碼。新密碼輸入無誤后按基于AT89C51單片機的電子密碼鎖的確認鍵使新密碼將得到存儲, 密碼修改成功。

2.3 總體設(shè)計

圖片

圖2-1 電子密碼鎖結(jié)構(gòu)框架圖

3 硬件設(shè)置

3.1 硬件組成

基于AT89C51單片機的電子密碼鎖的外圍電路包括基于AT89C51單片機的電子密碼鎖鍵盤輸入部分、基于AT89C51單片機的電子密碼鎖的顯示部分、基于AT89C51單片機的電子密碼鎖的報警部分、基于AT89C51單片機的電子密碼鎖的開鎖知識部分組成, 根據(jù)基于AT89C51單片機的電子密碼鎖的實際情況鍵盤輸入部分選擇4*4矩陣鍵盤, 基于AT89C51單片機的電子密碼鎖的顯示部分選擇字符型液晶顯示LM016L。

3.2 LCD顯示器設(shè)置

LM016L液晶模塊采用HD44780控制器,hd44780具有簡單而功能較強的指令集,可以實現(xiàn)字符移動,閃爍等功能,LM016L與單片機MCU通訊可采用8位或4位并行傳輸兩種方式,hd44780控制器由兩個8位寄存器,指令寄存器(IR)和數(shù)據(jù)寄存器(DR)忙標志(BF),顯示數(shù)RAMDDRAM),字符發(fā)生器ROMA(CGOROM)字符發(fā)生器RAM(CGRAM),地址計數(shù)器RAM(AC)。

圖片

圖3-1 LCD顯示器

3.3 矩陣按鍵電路設(shè)計

本設(shè)計中采用的4*4矩陣共有16個鍵位,4根行線連PI口低4位,4根列線連PI口高4位。在按鍵未被按下時,每條行線與列線的交叉處互不相通,當莫格按鍵被按下后,該鍵所在的行線和列線連通。這樣PI口的高4位和低4位中各有一位互相連通。通過行列掃描檢測出這兩位,即可識別出被按下的鍵。

圖片

圖3-2 矩陣按鍵設(shè)計

基于AT89C51單片機的電子密碼鎖的輸入密碼輸入過程中可以進行退格, 輸入完成后按下確認鍵, 電子密碼鎖會將所輸入與系統(tǒng)密碼進行比對。若輸入密碼正確則顯示“Open”開鎖, 按下電子密碼鎖的B選擇上鎖, 鎖重新回到閉鎖狀態(tài), 電子密碼鎖LCD液晶顯示回到初始化狀態(tài)。電子密碼鎖如果密碼輸入錯誤, 基于AT89C51單片機的電子密碼鎖的錯誤警告燈亮,電子密碼鎖的LCD液晶顯示器會顯示錯誤, 并顯示輸入錯誤限制次數(shù)。一段時間后, 進入閉鎖狀態(tài)。若連續(xù)在電子密碼鎖上操作錯誤超過3次, 一定時間內(nèi)電子密碼鎖的系統(tǒng)會鎖定鍵盤, 并報警用以防止惡意試探密碼。如果在規(guī)定次數(shù)以內(nèi)密碼輸入正確, 則鎖開, 且錯誤次數(shù)清空, 不會影響到下一次的開鎖。

3.4 報警器設(shè)置

蜂鳴器模塊部分的電路如下圖3-2 報警器設(shè)置,就是用P2.1口控制一個有源蜂鳴器發(fā)聲,作為提示音或報警音。蜂鳴器有兩個引腳,其中長腳為正極,短腳為負極。其發(fā)聲原理是電流通過電磁線圈,使電磁線圈產(chǎn)生磁場來驅(qū)動振動膜發(fā)聲的,因此需要一定的電流才能驅(qū)動它。由于單片機I/O引腳輸出的電流較小,基本上驅(qū)動不了蜂鳴器,因此需要增加一個電流放大的電路,一般使用三極管來放大電流就可以了。本設(shè)計中使用三極管,P2.1口高電平時三極管截至,蜂鳴器不發(fā)聲;P2.1口低電平時,三極管導(dǎo)通,這樣蜂鳴器的電流形成回路,發(fā)出聲音。因此,我們可以通過程序控制P2.1腳的電平來使蜂鳴器發(fā)出聲音和關(guān)閉。

圖片

圖3-3 報警器設(shè)置

3.5 系統(tǒng)電路設(shè)置

下圖為基于AT89C51單片機的電子密碼鎖的系統(tǒng)主電路圖:

圖片

圖3-4 電子密碼鎖主電路

4 程序設(shè)計

4.1 系統(tǒng)流程

系統(tǒng)初始化并讀取密碼完成后,液晶顯示"Password:”,提示用戶可以輸入密碼。此時程序即不斷測試按鍵,檢査是否有按鍵被按下。如果有,則進行按鍵識別:行列掃描法識別出的鍵位與對應(yīng)BUFF的值。如果沒有按鍵按下,或者按下的按鍵沒有被識別,BUFF賦值0FFH,并跳轉(zhuǎn)至按鍵測試。

圖片

4.2 源程序

#include

#include

#define uchar unsigned char

#define uint unsigned int

#define GPIO_KEY P1

sbit RS=P2^2;

sbit RW=P2^3;

sbit E=P2^4;

sbit LED = P2^0;

sbit BEEZ = P2^1;

uchar welcome[]="Hello Welcom";

uchar pw_error[]="Password Error";

uchar Lock[]="XXXXXXXXXXXXXXXX";

uchar set_pw[]="Set PassWord";

uchar input_pw[]="Please Input";

uchar pw[6]={0,0,0,0,0,0};

uchar temp_pw[6]={0,0,0,0,0,0};

uchar KeyValue;

uchar flag=0;

uchar pw_count;

uchar pw_errnum=0;

void lcd_int();

void lcd_w_cmd(unsigned char com);

void lcd_w_dat(unsigned char dat);

unsigned char lcd_r_start();

void show_Status(uchar *str);

void show_pw(uchar num);

void Input_Key();

void KeyDown(void);

void open();

void alarm();

void Lock_Device();

void delay(uint j)

{ uint x;

for(x=0;x

}

void main()

{ lcd_int();

show_Status(&input_pw);

show_pw(0);

while(1){

Input_Key();

}

}

void KeyDown(void)

{

GPIO_KEY=0x0f;

if(GPIO_KEY!=0x0f)

{ delay(3);

if(GPIO_KEY!=0x0f)

{ GPIO_KEY=0X0F;

switch(GPIO_KEY)

{

case(0X07): KeyValue=0;break;

case(0X0b): KeyValue=1;break;

case(0X0d): KeyValue=2;break;

case(0X0e): KeyValue=3;break;

}

GPIO_KEY=0XF0;

switch(GPIO_KEY)

{

case(0X70): KeyValue=KeyValue;break;

case(0Xb0): KeyValue=KeyValue+4;break;

case(0Xd0): KeyValue=KeyValue+8;break;

case(0Xe0): KeyValue=KeyValue+12;break;

}

while(GPIO_KEY!=0xf0);

return ;

}

}

KeyValue = 0xff;

}

void open() { }

void alarm()

{ uchar i;

LED = 0;

for(i = 0;i<100;i++)

{ BEEZ = ~BEEZ;

delay(100);

}

LED = 1;

}

void Lock_Device()

{ while(1)

{ alarm();

}

}

void Input_Key()

{ KeyDown();

if(KeyValue == 0xff||pw_errnum>=3)return;

if(KeyValue>=0&&KeyValue<=9)

{ if((flag == 0 || flag ==2)&&pw_count<6)

{ pw_count++;

temp_pw[pw_count] = KeyValue;

show_pw(pw_count);

}

}

else if(KeyValue == 12)

{ if(flag == 1)

{ flag = 0;

show_Status(&input_pw);

}

}

else if(KeyValue == 13)

{ if(pw_count>0)pw_count--;

show_pw(pw_count);

}

else if(KeyValue == 14)

{ if(pw_count == 6)

{ if(flag == 0)

{if(temp_pw[0] == pw[0]&&temp_pw[1] == pw[1]&&temp_pw[2] == pw[2]&&temp_pw[3] == pw[3]&&temp_pw[4] == pw[4]&&temp_pw[5] == pw[5]){

show_Status(&welcome);

flag = 1;

pw_count = 0;

pw_errnum = 0;

show_pw(pw_count);

open();

}

else{ pw_errnum++;

pw_count = 0;

show_pw(pw_count);

show_Status(&pw_error);

alarm();

if(pw_errnum>=3)

{ show_Status(&Lock);

Lock_Device();

}

}

}

else if(flag == 1)

{ }

else if(flag == 2)

{ pw[0] = temp_pw[0];

pw[1] = temp_pw[1];

pw[2] = temp_pw[2];

pw[3] = temp_pw[3];

pw[4] = temp_pw[4];

pw[5] = temp_pw[5];

show_Status(&welcome);

flag = 1; pw_count = 0; show_pw(pw_count);

}

}else{ LED = 0;

}

}

else if(KeyValue == 15)

{ if(flag == 1)

{ show_Status(set_pw);

flag = 2;

}

}

}

void show_pw(uchar num)

{ uchar i;

lcd_w_cmd(0xC5);

for(i=0;i<6;i++)

{ lcd_w_dat(' ');

}

lcd_w_cmd(0xC5);

for(i=0;i

{ lcd_w_dat('*');

}

}

void show_Status(uchar *str)

{ uchar i=0;

lcd_w_cmd(0x80);

for(i=0;str[i]!='\\0';i++)

{ lcd_w_dat(str[i]);

}

}

void lcd_int()

{ lcd_w_cmd(0x3c);

lcd_w_cmd(0x0c);

lcd_w_cmd(0x01);

lcd_w_cmd(0x06);

lcd_w_cmd(0x80);

}

void lcd_w_cmd(unsigned char com)

{ unsigned char i;

do

{i=lcd_r_start();

i&=0x80;

delay(2);

}while(i!=0);

RW=0;

delay(1);

RS=0;

delay(1);

E=1;

delay(1);

P0=com;

delay(1);

E=0;

delay(1);

RW=1;

delay(2);

}

void lcd_w_dat(unsigned char dat)

{ unsigned char i;

do

{i=lcd_r_start();

i&=0x80;

delay(2);

}while(i!=0);

RW=0;

delay(1);

RS=1;

delay(1);

E=1;

delay(1);

P0=dat;

delay(1)

E=0;

delay(1);

RW=1;

delay(2);

}

unsigned char lcd_r_start()

{ unsigned char s;

RW=1;

delay(1);

RS=0;

delay(1);

E=1;

delay(1);

s=P0;

delay(1);

E=0;

delay(1);

RW=0;

delay(1);

return(s);

}

5 仿真測試

(1)點擊proteus軟件下方最左邊按鈕,使電路開始運行,圖5-1為電路運行后狀態(tài),LCD液晶顯示出Please Input,輸入密碼進行開鎖:

圖片

圖5-1 初始化界面

(2)通過矩陣按鍵,輸入數(shù)據(jù),會顯示在LCD液晶上,按C按鍵可以刪除上個輸入數(shù)字。連續(xù)輸入6個數(shù)后,按D鍵系統(tǒng)自動判斷密碼的對錯,如圖 5-2輸入錯誤密碼后,會提示密碼錯誤,并提示點擊任意按鍵退出:

圖片

圖5-2 輸入錯誤密碼

(3)按鍵輸入000000后,LCD液晶會顯示密碼正確,同時LED“鎖”被打開,LED顯示Hello Welcome:

圖片

圖5-3 輸入正確密碼

(4)在開鎖狀態(tài)下,點擊F鍵,此時聽到兩聲提示,輸入新的六位密碼并按“D”(重設(shè))鍵,會聽到兩聲提示音,表示重設(shè)密碼成功。

圖片

圖5-4 重新設(shè)置密碼

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 繼電器
    +關(guān)注

    關(guān)注

    132

    文章

    5363

    瀏覽量

    149631
  • 控制器
    +關(guān)注

    關(guān)注

    112

    文章

    16468

    瀏覽量

    179638
  • LCD顯示器
    +關(guān)注

    關(guān)注

    0

    文章

    87

    瀏覽量

    20283
  • AT89C51單片機
    +關(guān)注

    關(guān)注

    1

    文章

    56

    瀏覽量

    18120
收藏 人收藏

    評論

    相關(guān)推薦

    基于安卓手機的FPGA藍牙通信技術(shù)智能電子鎖控制系統(tǒng)

    ,使用FPGA藍牙通信技術(shù)設(shè)計了基于FPGA藍牙通信技術(shù)的智能電子鎖系統(tǒng)。通過手機APP直接控制電子鎖,對電子鎖進行雙重加密處理,具有開鎖、修改密碼,管理員控制用戶
    的頭像 發(fā)表于 11-27 14:59 ?5092次閱讀
    基于安卓手機的FPGA藍牙通信技術(shù)智能<b class='flag-5'>電子鎖</b>控制系統(tǒng)

    誰能告訴我 做一個語音電子鎖,就能夠用特定人的聲音開...

    誰能告訴我 ,設(shè)計語音電子鎖,要能夠用特定人的聲音開鎖,用什么語音識別芯片可以做到呢?
    發(fā)表于 11-15 20:46

    智能電子鎖

    控,大家隨時隨地都會帶著手機,但是鑰匙不定會每次都帶,在很多時候鑰匙忘記帶的時候很難講門打開,但是我就是想通過手機的控制去打開鎖,目前只是想法的階段,還沒有想好具體的技術(shù)路線,希
    發(fā)表于 04-25 11:38

    電路設(shè)計,簡易電子鎖

    求高人指點:簡易電子鎖(二)功能要求如下:插入電子“鑰匙”后“”打開(LED燈亮),鑰匙拔出或插入的鑰匙不對
    發(fā)表于 11-22 17:17

    汽車電子鎖有什么功能

    汽車電子鎖有多種形式,常見的是電子鑰匙式電子鎖。這種電子鎖的鑰匙內(nèi)藏電子電路存儲密碼,通過光、電和磁性等多種形式和主控電路聯(lián)系。
    發(fā)表于 03-19 09:01

    基于stm32c8t6的電子鎖設(shè)計

    基于stm32的電子鎖項目總結(jié)所做的小項目,記錄下出現(xiàn)的問題項目材料1、stm32f103c8t6最小系統(tǒng)板2、1.8寸LCD屏幕3、四位二相步進電機4、MPU6050六軸陀螺儀
    發(fā)表于 08-06 09:14

    電子鎖原理圖

    電子鎖是學(xué)習(xí)單片機的好的項目,畢業(yè)設(shè)計什么的多可以用這電子鎖
    發(fā)表于 12-09 16:58 ?33次下載

    基于單片機的短信收發(fā)智能電子鎖的設(shè)計與實現(xiàn)

    的智能電子鎖。 防盜已進入電子時代,原有的彈子、將軍將被淘汰,指紋、錄像
    發(fā)表于 11-04 10:27 ?6次下載
    基于單片機的短信收發(fā)智能<b class='flag-5'>電子鎖</b>的設(shè)計與<b class='flag-5'>實現(xiàn)</b>

    電子鎖原理與電子鎖的組成及應(yīng)用

    電子鎖種通過密碼輸入來控制電路或是芯片工作(訪問控制系統(tǒng)),從而控制機械開關(guān)的閉合,完成開鎖、閉鎖任務(wù)的電子產(chǎn)品。現(xiàn)在應(yīng)用較廣的電子門鎖
    發(fā)表于 06-08 14:07 ?9491次閱讀

    電子鎖的組成及原理介紹

    電子鎖的種類很多,有簡易的電路產(chǎn)品,也有基于芯片的性價比較高的產(chǎn)品。現(xiàn)在應(yīng)用較廣的電子密碼是以芯片為核心,通過編程來實現(xiàn)的。
    發(fā)表于 06-20 11:30 ?4.1w次閱讀

    隨著技術(shù)的不斷普及 智能電子鎖也開始逐漸普及

    隨著技術(shù)的不斷普及,智能電子鎖是在近幾年也開始逐漸普及,并大范圍使用。智能電子鎖開鎖功能多樣,是消費者選擇它的主要原因之,畢竟忘帶鑰匙這
    發(fā)表于 05-23 15:03 ?788次閱讀

    智能家居電子鎖方案原理電路

    智能家居電子鎖是當代物聯(lián)網(wǎng)(LOT)的智能產(chǎn)品之,目前的智能功能包括遠程開鎖、智能防盜、指紋開鎖
    的頭像 發(fā)表于 06-29 10:59 ?6360次閱讀

    不是所有的電子鎖都叫智能

    充其量是電子鎖,或者更準確地說它是電子鎖。? 那么電子鎖有什么功能呢?
    發(fā)表于 10-09 15:10 ?979次閱讀

    電子鎖防水測試機如何確定電子鎖防水性能

    電子鎖電子鎖防水測試機是怎么確定電子鎖防水性能的?指的是種通過輸入“密碼”來控制鎖具內(nèi)的電路或者是芯片工作,進而控制實現(xiàn)
    發(fā)表于 09-30 09:58 ?780次閱讀

    Yale耶魯電子鎖好用嗎,耶魯電子鎖的七功能

    Yale耶魯電子鎖將鎖具的便利性提升到了新的高度。尤其是很多實用功能的植入,使得這款經(jīng)典耶魯電子鎖YDM7116成為安全、便利的鎖具產(chǎn)品
    的頭像 發(fā)表于 11-15 10:18 ?4231次閱讀
    Yale耶魯<b class='flag-5'>電子鎖</b>好用嗎,耶魯<b class='flag-5'>電子鎖</b>的七<b class='flag-5'>個</b>新<b class='flag-5'>功能</b>
    主站蜘蛛池模板: 成人免费淫片95视频观看网站 | 国产成人高清精品免费5388密 | 国产三级视频在线播放 | 天天干视频在线 | 久久精品国产免费高清 | 喷潮白浆直流在线播放 | 特级淫片aaaa毛片aa视频 | 男女视频在线观看免费 | 国产一区美女视频 | 亚洲欧洲精品成人久久曰影片 | 三级在线国产 | 欧美性第一页 | 亚洲成人在线网站 | 亚洲黄色三级网站 | 色综合亚洲| 一区二区三区四区在线视频 | 欧美一级片免费在线观看 | 国产手机在线观看视频 | 精品四虎免费观看国产高清午夜 | 国产69久久精品成人看 | 色综合97天天综合网 | 人人爱操 | 国产又粗又大又爽又免费 | a一级黄 | 欧美日剧在线免费 | 91国内在线观看 | 久热首页 | 色色视频免费网 | 天天看天天摸色天天综合网 | 夜夜操天天射 | 五月婷婷激情在线 | 国产精品秒播无毒不卡 | 性天堂网 | 2018天堂视频免费观看 | 三级视频在线 | 色婷婷综合缴情综六月 | 日本中文字幕在线播放 | 久久成人综合网 | 国内亚州视频在线观看 | 男人日女人免费视频 | 午夜在线观看cao |