欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 5173|回復(fù): 3
收起左側(cè)

真正的適用的電子密碼鎖

[復(fù)制鏈接]
ID:111634 發(fā)表于 2016-4-11 20:38 | 顯示全部樓層 |閱讀模式
真正的適用的電子密碼鎖

摘自張志良編著《80C51單片機(jī)實(shí)用教程基于Keil cProteus

由單片機(jī)控制的電子密碼鎖是一種智能化的電子產(chǎn)品,近年來得到較多應(yīng)用。

電路設(shè)計(jì)

電子密碼鎖電路如8-27所示,該電路具有EPROM存儲(chǔ)開鎖密碼、LCD顯示、4×4矩陣鍵盤輸入和聲光報(bào)警功能。
右半部分為4×4矩陣式鍵盤電路,與8-26電路相同。其中,K0K9為密碼數(shù)字鍵,其余6鍵為功能鍵:K10為開鎖鍵OpenK11為確認(rèn)鍵EnterK12為設(shè)置鍵SetK13為閉鎖鍵CloseK14為復(fù)位鍵ResetK10為清除鍵Clear
左上部分為LED燈狀態(tài)顯示電路,VD0為閉鎖燈,VD1為開鎖燈,VD2為報(bào)警燈,分別由P2.3P2.2P2.1控制,開鎖燈VD1模擬開鎖機(jī)械動(dòng)作。

左中部分為LCD1602顯示屏電路,8-10電路相同(控制端改為P2.5P2.7)。

左下部分為串行EPROM AT24C02存儲(chǔ)開鎖密碼電路,7-28b電路相同(數(shù)據(jù)線和時(shí)鐘線分別為P3.6P3.7)。

蜂鳴器(警報(bào)發(fā)聲)接80C51P2.0

功能設(shè)計(jì)

開機(jī)。閉鎖燈VD0亮(紅),表示閉鎖;其余燈滅。

開鎖。

按開鎖鍵Open(鍵編號(hào)10),發(fā)按鍵嘟聲,LCD16021行顯示:inputpassword(輸入密碼)。

鍵入8位密碼,16022行依次顯示鍵入的8位隱形密碼:********。每鍵入一位密碼數(shù)字,發(fā)一次按鍵嘟聲。

8位密碼輸入完畢,按確認(rèn)鍵Enter(鍵編號(hào)11)后,系統(tǒng)核對(duì)密碼。

若密碼正確,16021行顯示:password ok!(密碼正確通過),閉鎖燈VD0滅(紅),開鎖燈VD1亮(綠),表示已開鎖。

若鍵入密碼中途發(fā)現(xiàn)鍵入有誤,可按清除鍵Clear(鍵編號(hào)15)。按一次Clear鍵,已鍵入的隱形密碼“*”退一格。

若鍵入8位密碼有誤,16021行顯示:errortry again(錯(cuò),再輸入一次),允許用戶輸錯(cuò)3次(有error1error2error3提示)。

若連續(xù)4次輸入錯(cuò)誤,16021行顯示:inputfail!(輸入失敗),并發(fā)出警車聲,報(bào)警燈VD2(黃)閃爍,中間不能打斷。

開鎖操作有時(shí)限,從按下開鎖鍵后,60秒內(nèi)未鍵入正確密碼,聲光報(bào)警。

警車聲停后,仍可正常操作(為便于驗(yàn)證操作演示,警車聲頻率升降循環(huán)3次,實(shí)用時(shí)可大大延長(zhǎng)警車聲時(shí)間,用作鎖定功能)。

設(shè)置。

本例初始密碼為12345678,由生產(chǎn)廠商在出廠前錄入串行EPROM AT24C02,用戶使用時(shí),可設(shè)置新的密碼;或者用戶需要修改原用密碼,前提是先用原有效密碼打開密碼鎖。

按設(shè)置鍵Set(鍵編號(hào)12),16021行顯示:input password(輸入密碼)。

先按開鎖操作步驟和過程鍵入8位有效密碼,密碼驗(yàn)證正確后,16021行顯示:password ok!(密碼正確通過),第2行顯示:set new password(設(shè)置新密碼)。

若不能鍵入原有效密碼,則不能進(jìn)入設(shè)置程序。并在第4次輸入錯(cuò)誤后,聲光報(bào)警。

系統(tǒng)提示設(shè)置新密碼后,鍵入8位新密碼,16022行依次顯示鍵入的8位隱形密碼:********。操作步驟和功能同開鎖過程。

Enter鍵后,16021行顯示:input again(再輸入一遍)。

再次輸入第一次鍵入的8位新密碼,按Enter鍵后,若二次密碼相同,16021行顯示:new password ok!(新密碼設(shè)置完成)。

若二次密碼不相同,16021行顯示:errortry again(錯(cuò),再輸入一次),允許用戶輸錯(cuò)2次(有error1error2提示)。若第3次輸入錯(cuò)誤,16021行顯示:input fail!(輸入失敗)。

設(shè)置操作有時(shí)限,從按下設(shè)置鍵后,60秒內(nèi)未鍵入正確密碼,聲光報(bào)警。

復(fù)位。用于用戶忘記密碼,無法開鎖時(shí),由生產(chǎn)廠商高級(jí)維修人員將密碼鎖初始化。因此,復(fù)位操作的功能需要保密和隱蔽,并不對(duì)用戶和無關(guān)人員公開,以防被非法利用。

按復(fù)位鍵Reset(鍵編號(hào)14),1602LED燈均無反應(yīng)(對(duì)無關(guān)人員表示Reset鍵無作用),但若按下復(fù)位鍵后10秒內(nèi),不能進(jìn)行正確的第二步操作,立刻聲光報(bào)警。

正確的第二步操作是在10秒內(nèi),按下清除鍵Clear(鍵編號(hào)15)。

正確的第三步操作是鍵入8位復(fù)位密碼(81815151)。若依次鍵入密碼中,有一位出錯(cuò),16021行立刻顯示:error,并聲光報(bào)警。出錯(cuò)后,須再次按復(fù)位鍵Reset,才能重新進(jìn)入復(fù)位操作。

正確鍵入8位復(fù)位密碼后,開鎖燈VD1亮(綠),16021行顯示:reset ok!(復(fù)位成功),第2行顯示:12345678(初始密碼)。

復(fù)位操作進(jìn)入第三步操作后,仍有時(shí)限要求,若30秒內(nèi)未正確鍵入8位復(fù)位密碼,聲光報(bào)警。

關(guān)閉。用于上述幾種操作完成后退出。

按閉鎖鍵Close(鍵編號(hào)13),停顯示、停嘟聲、滅燈。但在進(jìn)入上述4種鍵操作程序或報(bào)警過程中,按閉鎖鍵無效,需待程序和報(bào)警執(zhí)行完畢,才有效。

程序設(shè)計(jì)

程序流程圖

密碼鎖程序流程圖如8-28所示。



C51程序

C51程序見張志良編著《80C51單片機(jī)實(shí)用教程基于Keil cProteus》(高等教育出版社ISBN 978-7-04-044532-9P.332

程序條例清晰,每條語句均有注釋,真實(shí)可靠可信可行,便于閱讀理解。

涉及程序如下:

void  STAT ( );                     //啟動(dòng)信號(hào)子函數(shù)STAT7.4.2節(jié)

void  STOP ( );                     //終止信號(hào)子函數(shù)STOP7.4.2節(jié)

void  ACK ( );                      //發(fā)送應(yīng)答A子函數(shù)ACK7.4.2節(jié)

void  NACK ( );                     //發(fā)送應(yīng)答子函數(shù)NACK7.4.2節(jié)

bit  CACK ( );                      //檢查應(yīng)答子函數(shù)CACK7.4.2節(jié)

void  WR1B ( );                     //寫一字節(jié)子函數(shù)WR1B,形參x:發(fā)送數(shù)據(jù)7.4.2節(jié)

unsigned char  RD1B ( );              //讀一字節(jié)子函數(shù)RD1B,返回值:接收數(shù)據(jù)7.4.2節(jié)

void  WRNB ( );                    //AT24Cxx n字節(jié)子函數(shù),7.4.3節(jié)

void  RDNB ( );                     //AT24Cxx n字節(jié)子函數(shù),7.4.3節(jié)

void  in1602 (unsigned char  x);       //并行數(shù)據(jù)輸入1602子函數(shù),形參:輸入數(shù)據(jù)x見例8-7

void  init1602 ( );                    //1602初始化設(shè)置子函數(shù),見例8-7

void  wr1602(unsigned char d[],a);      //1602子函數(shù),形參:寫入數(shù)組d[],地址a見例8-7

unsignedchar  k_scan ( );              //鍵掃描子函數(shù),返回值:閉合鍵序號(hào)見例8-11

void  input ( );                       //入密碼子函數(shù)

void  alm ( );                        //警報(bào)子函數(shù)

void  open ();                       //開鎖子函數(shù)

void  set ( );                         //設(shè)置子函數(shù)

void  clos ( );                        //閉鎖子函數(shù)

void  reset ( );                        //復(fù)位子函數(shù)

void  main ( );                      //主函數(shù)

void  t1 ( ) interrupt 3 { }             //T1中斷函數(shù)(50ms定時(shí)中斷)

void  int0 ( ) interrupt 0{ }            //外中斷0中斷函數(shù)(鍵閉合中斷)

void  t0 ( ) interrupt 1 { }             //T0中斷函數(shù)(警報(bào)聲中斷)

Proteus仿真

實(shí)驗(yàn)1所述Proteus仿真步驟,打開Proteus軟件,按8-17選擇和放置元器件,并連接線路,畫出Proteus仿真電路如8-39所示。

左鍵雙擊Proteus ISIS仿真電路中AT89C51,裝入Keil調(diào)試后自動(dòng)生成的Hex文件。

8.3.3節(jié)電子密碼鎖功能設(shè)計(jì)要求,可逐條驗(yàn)證開鎖、設(shè)置、復(fù)位、閉鎖、顯示、嘟聲、亮燈、出錯(cuò)和超時(shí)報(bào)警等功能,此處不再重復(fù)。

4.jpg 需要說明的是,本例初始密碼為12345678,已錄入電子密碼鎖仿真DSN文件隨帶的AT24C02片內(nèi)ERROM 50H中,打開AT24C02片內(nèi)Memory(左鍵單擊暫停按鈕“    ”,然后左鍵單擊主菜單“Debug”→“I2C Memory Internal Memory –U3”),可看到該AT24C02片內(nèi)Memory 0x50~0x57區(qū)域已存有該初始密碼:0102030405060708。設(shè)置新的密碼后,可再次打開AT24C02片內(nèi)Memory,查看寫入AT24C02的新密碼。但是,關(guān)閉Proteus軟件時(shí),并不能一并將新密碼留存,必須左鍵單擊主菜單“File”→“Save Design”保存,才能實(shí)際保存新密碼。這樣,下次啟動(dòng)Proteus軟件,打開電子密碼鎖仿真DSN文件,隨帶的AT24C02片內(nèi)ERROM 50H中,就是新密碼了,否則還是原密碼。

終止程序運(yùn)行,可按停止按鈕。

讀者可先下載Proteus ISIS仿真電路DSN文件和驅(qū)動(dòng)程序Hex文件,在電腦上仿真驗(yàn)證,確認(rèn)有效后,再購買《80C51單片機(jī)實(shí)用教程基于Keil cProteus》,查看程序。

歡迎質(zhì)詢,張志良Emailzzlls@126.com,有信必復(fù)。

1.gif
2.gif
3.gif

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

ID:1 發(fā)表于 2016-4-11 21:35 | 顯示全部樓層
謝謝分享 樓主能上傳電路圖和程序嗎?
回復(fù)

使用道具 舉報(bào)

ID:111634 發(fā)表于 2016-4-13 08:39 | 顯示全部樓層
admin 發(fā)表于 2016-4-11 21:35
謝謝分享 樓主能上傳電路圖和程序嗎?

電路圖(word文檔圖)和Proteus仿真電路圖已經(jīng)上傳了,但不知為什么貴站未顯示?請(qǐng)告訴我上傳方法。還有怎樣上傳rar壓縮文件?
我是一個(gè)老師,已經(jīng)編著了十幾本單片機(jī)和電工、電子教材。其中有《單片機(jī)實(shí)驗(yàn)實(shí)訓(xùn)100例—基于Keil c和Proteus》北航社2015.1出版ISBN 978-7-5124-1603-1、《80C51單片機(jī)實(shí)用教程—基于Keil c和Proteus》高教社2016.1出版ISBN 978-7-04-044532-9、《單片機(jī)原理與控制技術(shù)—雙解匯編和C51》(第3版)機(jī)工社2013.8出版ISBN 978-7-111-42393-5、《80C51單片機(jī)Proteus仿真設(shè)計(jì)實(shí)例教程——基于Keil C和Proteus》清華社2016.5出版ISBN 978-7-302-41682-1。以前很少上網(wǎng),現(xiàn)在擬逐步上傳我書中的一些案例。



回復(fù)

使用道具 舉報(bào)

ID:148321 發(fā)表于 2017-2-23 08:59 | 顯示全部樓層
謝謝分享 樓主能上傳電路圖和程序嗎?
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表