国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

基于AT89C51單片機(jī)的電子密碼鎖設(shè)計(jì)與仿真

這篇具有很好參考價(jià)值的文章主要介紹了基于AT89C51單片機(jī)的電子密碼鎖設(shè)計(jì)與仿真。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

點(diǎn)擊鏈接獲取Keil源碼與Project Backups仿真圖:
https://download.csdn.net/download/qq_64505944/87760996?spm=1001.2014.3001.5503
基于AT89C51單片機(jī)的電子密碼鎖設(shè)計(jì)與仿真

源碼獲取
主要內(nèi)容:
(1)本設(shè)計(jì)為了防止密碼被竊取要求在輸入密碼時(shí)在LCD屏幕上顯示*號。
(2)設(shè)計(jì)開鎖密碼位六位密碼的電子密碼鎖。
(3)能夠LCD顯示在密碼正確時(shí)顯示PASSWORD OK,密碼錯(cuò)誤時(shí)顯示PASSWORD ERROR,輸入密碼時(shí)顯示INPUT PASSWORD。
(4)實(shí)現(xiàn)輸入密碼錯(cuò)誤超過限定的三次電子密碼鎖定。
(5)4×4的矩陣鍵盤其中包括0-9的數(shù)字鍵和A-F的功能鍵
(6)本產(chǎn)品具備報(bào)警功能,當(dāng)輸入密碼錯(cuò)誤時(shí)蜂鳴器響并且LED燈亮。
(7)密碼可以由用戶自己修改設(shè)定(只支持6位密碼),修改密碼之前必須再次輸入密碼,在輸入新密碼時(shí)候需要二次確認(rèn),以防止誤操作 。
基本要求:
1.通過課程設(shè)計(jì),提高程序開發(fā)功能,能運(yùn)用合理的控制流程編寫清晰高效的程序。
2.通過課程設(shè)計(jì),訓(xùn)練C程序調(diào)試能力,能將一個(gè)中小型各級組織系統(tǒng)聯(lián)調(diào)通過。
3.通話課程設(shè)計(jì),培養(yǎng)分析問題、解決實(shí)際問題的能力。

1.設(shè)計(jì)要求;

用電子器件設(shè)計(jì)制作一個(gè)密碼鎖,使之在輸入正確的密碼時(shí)開鎖;
在鎖的控制電路中設(shè)-一個(gè)可以修改的4位代碼,當(dāng)輸入的代碼和控制電路的代碼一致時(shí)打開;
用紅燈亮、綠燈滅表示關(guān)鎖,綠燈亮、紅燈滅表示開鎖。
如5s內(nèi)未能將鎖打開,則電路自動復(fù)位進(jìn)入自鎖狀態(tài),并發(fā)報(bào)警信號。

2.硬件設(shè)計(jì):
基于AT89C51單片機(jī)的電子密碼鎖設(shè)計(jì)與仿真

電子密碼鎖的結(jié)構(gòu)框圖如圖1-1所示,選用單片機(jī)STC89C52作為電子密碼鎖的核心控制器件,在單片機(jī)的外圍電路接矩陣鍵盤,用于輸入密碼并實(shí)現(xiàn)一些控制功能,外接LCD1602顯示模塊顯示開鎖信息,外接繼電器,用繼電器常開觸點(diǎn)閉合模擬開鎖動作,外接指示燈與蜂鳴器作為密碼鎖開鎖成功或不成功的聲光提示。

圖中包括單片機(jī)最簡單應(yīng)用系統(tǒng)、 4╳3矩陣鍵盤、LCD1602顯示電路、繼電器電路和聲光指示電路。
矩陣鍵盤的4根行線接在P2.0P2.3上,3根列線接在P2.4P2.6上。行線作為輸出端,列線作為輸入端,由于P2口內(nèi)部有上拉電阻,無鍵按下時(shí),列線輸入均為高電平。

電子密碼鎖電路原理圖如圖1- 1所示
矩陣鍵盤、LCD1602顯示電路、繼電器電路和聲光指示電路。矩陣鍵盤的4根行線接在P2.0P2.3上,3根列線接在P2.4P2.6上。行線作為輸出端,列線作為輸人端,由于P2口內(nèi)部有上拉電阻,無鍵按下時(shí),列線輸人均為高電平。確定矩陣式鍵盤中的哪個(gè)鍵被按下,采用逐行掃描查詢法,依次將行線置為低電平,再逐行檢測各列線的電平狀態(tài),若某列為低電平,則該列線與置為低電平的行線交叉處的按鍵為閉合鍵。若所有的列線均為高電平,則無按鍵按下。LCD1602字符型液晶顯示器的數(shù)據(jù)端口接單片機(jī)的 P 口,由單片機(jī)的P1.0~P1.2控制 LCD 的 RS 、 RW 和 E 控制端口。
基于AT89C51單片機(jī)的電子密碼鎖設(shè)計(jì)與仿真

開鎖成功的仿真結(jié)果
3.程序設(shè)計(jì)

程序包括主程序、鍵盤掃描子程序、液晶顯示器程序等。主程序進(jìn)行變量及端口初始化定義,調(diào)用鍵盤掃描子程序,將按下的鍵值顯示在液晶屏上,并很快替換為“*”,等六位密碼全部輸完后,進(jìn)行密碼匹配,如果密碼正確,則液晶顯示“ open”,同時(shí)開鎖成功指示燈亮,否則液晶顯示;“ error”,同時(shí)開鎖失敗指示燈亮。

端口初始化定義,調(diào)用鍵盤掃描子程序,將按下的鍵值顯示在液晶屏上,并很快替換為“*”,等六位密碼全部輸完后,進(jìn)行密碼匹配,如果密碼正確,則液晶顯示“open",同時(shí)開鎖成功指示燈亮,否則液晶顯示“ error”,同時(shí)開鎖失敗指示燈亮。
設(shè)計(jì)的程序如下:

#include <reg51.h>
#include<intrins.h>
#define uchar unsigned char
sbit RS=P1^0;
sbit RW=P1^1;
sbit EN=P1^2;
sbit ledg=P1^3;
sbit ledr=P1^7;
sbit relay=P1^4;
sbit buzz=P1^6;
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=P2&0xf0;
	P2=0xfe;
  delay(1);
	temp=P2&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=P2;
			temp=temp&0xf0;
		}
	}
P2=0xfd;
delay(1);
temp=P2&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=P2;
		   temp=temp&0xf0;
	
}
void open()
{
	char m2;
	wcom(0xc6);
	for(m2=0;m2<4;m2++)
	{
	wdat(table1[m2]);
	}
}
void error()
{ char m2;
	wcom(0xc6);
	for(m2=0;m2<5;m2++)
	{ wdat(table0[m2]);
	}
}
void pass()
{
	char m2;
	wcom(0x80);
	for(m2=0;m2<9;m2++)
	{
		wdat(table2[m2]);
	}
}
void change(int m)
{
	delay(500);
	wcom(m);
	wdat('*');
}
void main()
{
	RW=0;
	ledg=0;
	ledr=0;
	relay=1;
	buzz=1;
	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=='1'&&n1=='8'&&n2=='0'&&n3=='1'&&n4=='2'&&n5=='2')
{
	int m3=1;
	open();
	relay=0;
	delay(3000);
	relay=1;
	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=0;
	delay(5000);
}
}

4.仿真與實(shí)驗(yàn)結(jié)果

電子密碼鎖仿真電路及結(jié)果如圖2示,按下預(yù)設(shè)的6位密碼18012”液晶顯示器第1行顯示:“password: *****“, 第2行在中間位置顯示“open”,繼電器后面所接的指示燈PI.3口所接的開鎖成功指示燈亮滅閃爍,如果輸入的密碼不是預(yù)設(shè)的密碼,則液晶第2行在中間位置顯示“error”,表示開鎖失敗,相應(yīng)的指示燈也點(diǎn)亮。
仿真結(jié)果圖如下所示:

基于AT89C51單片機(jī)的電子密碼鎖設(shè)計(jì)與仿真

5.異常現(xiàn)象分析與解決方法

1.由于代碼過多,在編程中容易出錯(cuò),所以在編程過程中要認(rèn)真仔細(xì)。
2.密碼鎖無法輸入密碼,我積極向老師同學(xué)求助,最后在他們的幫助下,完成課程設(shè)計(jì)
3.按鍵不靈敏。
初步想法是:程序里包含了太多的延時(shí)。解決方法:減少延時(shí)時(shí)間盡量不用,將延時(shí)函數(shù)延時(shí)時(shí)間減短,將標(biāo)志數(shù)增加。
輸入數(shù)字時(shí)顯示數(shù)字,并不顯示‘',存在一定的密碼泄露風(fēng)險(xiǎn)。
解決方法:查閱資料,知道‘
’在1602里是0x2a,這樣就可以在顯示的時(shí)候輸入數(shù)據(jù)位“0x2a”
6.心得體會

通過電子密碼鎖的課程設(shè)計(jì)有了很大的收獲。首先,通過學(xué)習(xí)使自己對課本上的知識可以應(yīng)用于實(shí)際,使理論與實(shí)際結(jié)合,加深自己對課本知識的理解。不足道的地方就是因?yàn)闀r(shí)間關(guān)系,沒有能夠?qū)?shí)物做出來驗(yàn)證自己的設(shè)計(jì)。但是在設(shè)計(jì)過程中用到了Multisim仿真驗(yàn)證,對Multisim達(dá)到學(xué)以致用的目的。以前只是泛泛的了解過Multisim 軟件功能,在電路的設(shè)計(jì)過程中通過大量的運(yùn)用,使自己在軟件仿真方面有了很大的提高,有了受益匪淺的感覺。

在做電子密碼鎖的課程設(shè)計(jì)中,我感受到了老師對學(xué)生的悔人不卷的精神,老師細(xì)心的指導(dǎo),使我少走了彎路,學(xué)到了很多電子應(yīng)用技術(shù)的知識,順利完成了課程設(shè)計(jì),在這里對指導(dǎo)老師.表示衷心的感謝!

主要參考資料:
[1]王海軍.一種單片機(jī)和云平臺的電子密碼鎖設(shè)計(jì)[J].電子世界,2020(24):146-147.
[2]郭陽光.基于單片機(jī)的指紋識別電子密碼鎖設(shè)計(jì)[J].電子測試,2020(23):29-30+53.
[3]韓燕楚,余宏.基于51單片機(jī)的電子密碼鎖設(shè)計(jì)與應(yīng)用研究[J].漯河職業(yè)技術(shù)學(xué)院學(xué)報(bào),2020,19(06):21-23.
[4]韓旭,吳華,楊岱霖,鄧昕.基于STC89C52的電子密碼鎖設(shè)計(jì)[J].電子技術(shù),2020,49(10):10-11.
[5]黃田,楊婷婷,姜少維,李佳康,董莉霞.基于單片機(jī)的電子密碼鎖設(shè)計(jì)[J].軟件,2020,41(10):102-104.
[6]孫凱悅.基于單片機(jī)的按鍵電子密碼鎖設(shè)計(jì)[J].科技經(jīng)濟(jì)導(dǎo)刊,2020,28(26):55-56.
[7]陳后全.基于51單片機(jī)設(shè)計(jì)的密碼鎖[J].電子制作,2020(10):37-38.文章來源地址http://www.zghlxwxcb.cn/news/detail-435887.html

到了這里,關(guān)于基于AT89C51單片機(jī)的電子密碼鎖設(shè)計(jì)與仿真的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 基于AT89C51單片機(jī)的電子密碼鎖設(shè)計(jì)與仿真

    基于AT89C51單片機(jī)的電子密碼鎖設(shè)計(jì)與仿真

    點(diǎn)擊鏈接獲取Keil源碼與Project Backups仿真圖: https://download.csdn.net/download/qq_64505944/87760996?spm=1001.2014.3001.5503 源碼獲取 主要內(nèi)容: (1)本設(shè)計(jì)為了防止密碼被竊取要求在輸入密碼時(shí)在LCD屏幕上顯示*號。 (2)設(shè)計(jì)開鎖密碼位六位密碼的電子密碼鎖。 (3)能夠LCD顯示在密碼正確

    2024年02月03日
    瀏覽(28)
  • 基于AT89C51單片機(jī)的電子計(jì)數(shù)器設(shè)計(jì)與仿真

    基于AT89C51單片機(jī)的電子計(jì)數(shù)器設(shè)計(jì)與仿真

    點(diǎn)擊鏈接獲取Keil源碼與Project Backups仿真圖: https://download.csdn.net/download/qq_64505944/87770826 源碼獲取 主要內(nèi)容: 設(shè)計(jì)一個(gè)電子計(jì)時(shí)器,數(shù)碼管初始顯示值為“00”,每隔1s電子秒表加1;秒計(jì)數(shù)到60時(shí)清0,并從00重新開始。 基本要求: 1、電子定時(shí)器電路設(shè)計(jì)圖; 2、電子定時(shí)器設(shè)

    2024年02月15日
    瀏覽(28)
  • 基于 AT89C51 單片機(jī)的數(shù)字時(shí)鐘設(shè)計(jì)

    基于 AT89C51 單片機(jī)的數(shù)字時(shí)鐘設(shè)計(jì)

    目錄 1.設(shè)計(jì)目的、作用 2.設(shè)計(jì)要求 3.設(shè)計(jì)的具體實(shí)現(xiàn) 3.1 設(shè)計(jì)原理 3.2 硬件系統(tǒng)設(shè)計(jì) ????????3.2.1 AT89C51 單片機(jī)原理 3.2.2 晶振電路設(shè)計(jì) 3.2.3 復(fù)位電路設(shè)計(jì) 3.2.4 LED 數(shù)碼管顯示 3.3 系統(tǒng)實(shí)現(xiàn) 3.3.1 系統(tǒng)仿真與調(diào)試 3.3.2 演示結(jié)果 4.總結(jié) 附錄 附錄 1 附錄 2 (1 )掌握 51 系列單片機(jī)的

    2024年02月01日
    瀏覽(26)
  • 基于AT89C51單片機(jī)的溫度計(jì)設(shè)計(jì)

    基于AT89C51單片機(jī)的溫度計(jì)設(shè)計(jì)

    點(diǎn)擊鏈接獲取Keil源碼與Project Backups仿真圖: https://download.csdn.net/download/qq_64505944/87773445 源碼獲取 主要內(nèi)容: 設(shè)計(jì)一個(gè)簡易溫度計(jì);要求電路實(shí)現(xiàn)如下功能: 設(shè)計(jì)通過單片機(jī)和數(shù)碼管、led燈等組成,可以顯示溫度,并且可以顯示大于零度的溫度和小于零度的溫度,還可以超出

    2024年02月05日
    瀏覽(22)
  • 基于AT89C51單片機(jī)的溫度檢測報(bào)警設(shè)計(jì)

    基于AT89C51單片機(jī)的溫度檢測報(bào)警設(shè)計(jì)

    點(diǎn)擊鏈接獲取Keil源碼與Project Backups仿真圖: https://download.csdn.net/download/qq_64505944/87777752?spm=1001.2014.3001.5503 源碼獲取 主要內(nèi)容: 基于51單片機(jī)設(shè)計(jì)一個(gè)溫度檢測報(bào)警器,至少具有以下功能:溫度的檢測和超過設(shè)定值時(shí)的報(bào)警功能 基本要求: 1、功能齊全,要配有功能說明;

    2024年02月03日
    瀏覽(18)
  • 基于AT89C51單片機(jī)的交通燈設(shè)計(jì)

    基于AT89C51單片機(jī)的交通燈設(shè)計(jì)

    點(diǎn)擊鏈接獲取Keil源碼與Project Backups仿真圖: https://download.csdn.net/download/qq_64505944/87779238?spm=1001.2014.3001.5503 源碼獲取 主要內(nèi)容: 在日常生活中,交通燈是一項(xiàng)必不可少的公共設(shè)施,可 以維護(hù)道路的暢通和交通的秩序。如若交通燈發(fā)生故障,那 么后果可想而知。因此,交通燈

    2024年02月08日
    瀏覽(24)
  • 基于AT89C51單片機(jī)的倒數(shù)計(jì)時(shí)器設(shè)計(jì)

    基于AT89C51單片機(jī)的倒數(shù)計(jì)時(shí)器設(shè)計(jì)

    1.設(shè)計(jì)任務(wù) 利用AT89C51單片機(jī)為核心控制元件,設(shè)計(jì)一個(gè)簡易的數(shù)字電壓表,設(shè)計(jì)的系統(tǒng)實(shí)用性強(qiáng)、操作簡單,實(shí)現(xiàn)了智能化、數(shù)字化。 本設(shè)計(jì)采用單片機(jī)為主控芯片,結(jié)合 周邊 電路組成 LED 彩燈的 閃爍 控制系統(tǒng)器,用來控制 紅色 的LED 閃爍 發(fā)光,實(shí)現(xiàn) LED燈在倒計(jì)時(shí)結(jié)束后

    2024年02月03日
    瀏覽(30)
  • 基于AT89C51單片機(jī)的簡易計(jì)算機(jī)設(shè)計(jì)

    基于AT89C51單片機(jī)的簡易計(jì)算機(jī)設(shè)計(jì)

    點(diǎn)擊鏈接獲取Keil源碼與Project Backups仿真圖: https://download.csdn.net/download/qq_64505944/87715642?spm=1001.2014.3001.5503 源碼獲取 主要內(nèi)容: 本設(shè)計(jì)是以單片機(jī)AT89C51為核心的簡易計(jì)算器設(shè)計(jì),要通過芯片AT89C51實(shí)現(xiàn)計(jì)算器程序運(yùn)行來完成加、減、乘和除的簡單計(jì)算功能。 基本要求: 1、采

    2024年02月08日
    瀏覽(26)
  • 基于AT89C51單片機(jī)的智能澆花系統(tǒng)設(shè)計(jì)

    基于AT89C51單片機(jī)的智能澆花系統(tǒng)設(shè)計(jì)

    目 錄 摘 要 I ABSTRACT I 1 緒論 1 1.1 課題背景和意義 1 1.1.1選題背景 1 1.1.2研究意義 1 1.2 國內(nèi)外發(fā)展現(xiàn)狀及趨勢 2 1.3研究主要內(nèi)容 3 2 總體設(shè)計(jì)方案 5 2.1 澆灌系統(tǒng)設(shè)計(jì)的需求 5 2.2 總體設(shè)計(jì)方案選定 5 3 系統(tǒng)硬件設(shè)計(jì) 6 3.1 LCD1602顯示接口線路 6 3.2 ADC0832簡介 6 3.3 濕度傳感器介紹 7

    2024年02月05日
    瀏覽(30)
  • 基于AT89C51單片機(jī)的交通燈設(shè)計(jì)與仿真

    基于AT89C51單片機(jī)的交通燈設(shè)計(jì)與仿真

    點(diǎn)擊鏈接獲取Keil源碼與Project Backups仿真圖: https://download.csdn.net/download/qq_64505944/87763760?spm=1001.2014.3001.5503 源碼獲取 主要內(nèi)容: 設(shè)計(jì)一個(gè)能夠控制十二盞交通信號燈的模擬系統(tǒng),:利用單片機(jī)的定時(shí)器定時(shí),令十字路口的紅綠燈交替點(diǎn)亮和熄滅,并用LED燈顯示倒計(jì)時(shí)間。 基本要

    2024年02月08日
    瀏覽(18)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包