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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

真正的適用的電子密碼鎖

[復制鏈接]
跳轉到指定樓層
樓主
真正的適用的電子密碼鎖

摘自張志良編著《80C51單片機實用教程基于Keil cProteus

由單片機控制的電子密碼鎖是一種智能化的電子產品,近年來得到較多應用。

電路設計

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

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

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

蜂鳴器(警報發聲)接80C51P2.0。

功能設計

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

開鎖。

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

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

8位密碼輸入完畢,按確認鍵Enter(鍵編號11)后,系統核對密碼。

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

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

若鍵入8位密碼有誤,16021行顯示:error,try again(錯,再輸入一次),允許用戶輸錯3次(有error1、error2、error3提示)。

若連續4次輸入錯誤,16021行顯示:inputfail!(輸入失。l出警車聲,報警燈VD2(黃)閃爍,中間不能打斷。

開鎖操作有時限,從按下開鎖鍵后,60秒內未鍵入正確密碼,聲光報警。

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

設置。

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

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

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

若不能鍵入原有效密碼,則不能進入設置程序。并在第4次輸入錯誤后,聲光報警。

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

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

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

若二次密碼不相同,16021行顯示:error,try again(錯,再輸入一次),允許用戶輸錯2次(有error1、error2提示)。若第3次輸入錯誤,16021行顯示:input fail!(輸入失。。

設置操作有時限,從按下設置鍵后,60秒內未鍵入正確密碼,聲光報警。

復位。用于用戶忘記密碼,無法開鎖時,由生產廠商高級維修人員將密碼鎖初始化。因此,復位操作的功能需要保密和隱蔽,并不對用戶和無關人員公開,以防被非法利用。

按復位鍵Reset(鍵編號14),1602LED燈均無反應(對無關人員表示Reset鍵無作用),但若按下復位鍵后10秒內,不能進行正確的第二步操作,立刻聲光報警。

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

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

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

復位操作進入第三步操作后,仍有時限要求,若30秒內未正確鍵入8位復位密碼,聲光報警。

關閉。用于上述幾種操作完成后退出。

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

程序設計

程序流程圖

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



C51程序

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

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

涉及程序如下:

void  STAT ( );                     //啟動信號子函數STAT,7.4.2

void  STOP ( );                     //終止信號子函數STOP,7.4.2

void  ACK ( );                      //發送應答A子函數ACK7.4.2

void  NACK ( );                     //發送應答子函數NACK7.4.2

bit  CACK ( );                      //檢查應答子函數CACK,7.4.2

void  WR1B ( );                     //寫一字節子函數WR1B,形參x:發送數據7.4.2

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

void  WRNB ( );                    //AT24Cxx n字節子函數,7.4.3

void  RDNB ( );                     //AT24Cxx n字節子函數,7.4.3

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

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

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

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

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

void  alm ( );                        //警報子函數

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

void  set ( );                         //設置子函數

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

void  reset ( );                        //復位子函數

void  main ( );                      //主函數

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

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

void  t0 ( ) interrupt 1 { }             //T0中斷函數(警報聲中斷)

Proteus仿真

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

左鍵雙擊Proteus ISIS仿真電路中AT89C51,裝入Keil調試后自動生成的Hex文件。

8.3.3節電子密碼鎖功能設計要求,可逐條驗證開鎖、設置、復位、閉鎖、顯示、嘟聲、亮燈、出錯和超時報警等功能,此處不再重復。

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

終止程序運行,可按停止按鈕。

讀者可先下載Proteus ISIS仿真電路DSN文件和驅動程序Hex文件,在電腦上仿真驗證,確認有效后,再購買《80C51單片機實用教程基于Keil cProteus》,查看程序。

歡迎質詢,張志良Emailzzlls@126.com,有信必復。

1.gif (5.79 KB, 下載次數: 33)

1.gif

2.gif (7.04 KB, 下載次數: 44)

2.gif

3.gif (16.27 KB, 下載次數: 49)

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

使用道具 舉報

地板
ID:148321 發表于 2017-2-23 08:59 | 只看該作者
謝謝分享 樓主能上傳電路圖和程序嗎?
回復

使用道具 舉報

板凳
ID:111634 發表于 2016-4-13 08:39 | 只看該作者
admin 發表于 2016-4-11 21:35
謝謝分享 樓主能上傳電路圖和程序嗎?

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



回復

使用道具 舉報

沙發
ID:1 發表于 2016-4-11 21:35 | 只看該作者
謝謝分享 樓主能上傳電路圖和程序嗎?
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品免费一区二区三区四区 | 久久久久久久av | 一区精品国产欧美在线 | 久久日韩精品 | 亚洲成色777777在线观看影院 | 久久久久亚洲精品 | 日本成人在线网址 | 日本在线免费视频 | 国产精品av久久久久久久久久 | 国产精品美女久久久久久不卡 | 黑色丝袜三级在线播放 | 久久av.com | 蜜月aⅴ免费一区二区三区 99re在线视频 | 99热最新网址 | 色综合天天综合网国产成人网 | 手机av在线| 国产三级大片 | 成人在线视频一区 | 视频一区二区中文字幕 | 国产精品一区二区不卡 | 国产高清视频 | h片在线免费观看 | 中文字幕在线一区二区三区 | 亚洲综合久久久 | 一级毛毛片 | 国产亚洲精品久久久久动 | 中文字幕成人在线 | 亚洲人成在线播放 | 日韩一区av | 久久成人精品视频 | 亚洲日本一区二区三区四区 | 91中文字幕在线 | 色偷偷噜噜噜亚洲男人 | 人人看人人草 | 国产免费高清 | 你懂的av| 超碰97人人人人人蜜桃 | 国产成人在线观看免费 | 九九热在线视频免费观看 | japan21xxxxhd美女| 毛片一级黄色 |