標題: 真正的適用的電子密碼鎖 [打印本頁]
作者: zl2168 時間: 2016-4-11 20:38
標題: 真正的適用的電子密碼鎖
真正的適用的電子密碼鎖
摘自張志良編著《80C51單片機實用教程—基于Keil c和Proteus》
由單片機控制的電子密碼鎖是一種智能化的電子產品,近年來得到較多應用。
⒈ 電路設計
電子密碼鎖電路如圖8-27所示,該電路具有EPROM存儲開鎖密碼、LCD顯示、4×4矩陣鍵盤輸入和聲光報警功能。
⑴ 右半部分為4×4矩陣式鍵盤電路,與圖8-26電路相同。其中,K0~K9為密碼數字鍵,其余6鍵為功能鍵:K10為開鎖鍵Open,K11為確認鍵Enter,K12為設置鍵Set,K13為閉鎖鍵Close,K14為復位鍵Reset,K10為清除鍵Clear。
⑵ 左上部分為LED燈狀態顯示電路,VD0為閉鎖燈,VD1為開鎖燈,VD2為報警燈,分別由P2.3、P2.2、P2.1控制,開鎖燈VD1模擬開鎖機械動作。
⑶ 左中部分為LCD1602顯示屏電路,與圖8-10電路相同(控制端改為P2.5~P2.7)。
⑷ 左下部分為串行EPROM AT24C02存儲開鎖密碼電路,與圖7-28b電路相同(數據線和時鐘線分別為P3.6、P3.7)。
⑸ 蜂鳴器(警報發聲)接80C51P2.0。
⒉ 功能設計
⑴ 開機。閉鎖燈VD0亮(紅),表示閉鎖;其余燈滅。
⑵ 開鎖。
① 按開鎖鍵Open(鍵編號10),發按鍵嘟聲,LCD1602第1行顯示:inputpassword(輸入密碼)。
② 鍵入8位密碼,1602第2行依次顯示鍵入的8位隱形密碼:********。每鍵入一位密碼數字,發一次按鍵嘟聲。
③ 8位密碼輸入完畢,按確認鍵Enter(鍵編號11)后,系統核對密碼。
④ 若密碼正確,1602第1行顯示:password ok。艽a正確通過),閉鎖燈VD0滅(紅),開鎖燈VD1亮(綠),表示已開鎖。
⑤ 若鍵入密碼中途發現鍵入有誤,可按清除鍵Clear(鍵編號15)。按一次Clear鍵,已鍵入的隱形密碼“*”退一格。
⑥ 若鍵入8位密碼有誤,1602第1行顯示:error,try again(錯,再輸入一次),允許用戶輸錯3次(有error1、error2、error3提示)。
⑦ 若連續4次輸入錯誤,1602第1行顯示:inputfail!(輸入失敗),并發出警車聲,報警燈VD2(黃)閃爍,中間不能打斷。
⑧ 開鎖操作有時限,從按下開鎖鍵后,60秒內未鍵入正確密碼,聲光報警。
⑨ 警車聲停后,仍可正常操作(為便于驗證操作演示,警車聲頻率升降循環3次,實用時可大大延長警車聲時間,用作鎖定功能)。
⑶ 設置。
本例初始密碼為12345678,由生產廠商在出廠前錄入串行EPROM AT24C02,用戶使用時,可設置新的密碼;或者用戶需要修改原用密碼,前提是先用原有效密碼打開密碼鎖。
① 按設置鍵Set(鍵編號12),1602第1行顯示:input password(輸入密碼)。
② 先按開鎖操作步驟和過程鍵入8位有效密碼,密碼驗證正確后,1602第1行顯示:password ok!(密碼正確通過),第2行顯示:set new password(設置新密碼)。
③ 若不能鍵入原有效密碼,則不能進入設置程序。并在第4次輸入錯誤后,聲光報警。
④ 系統提示設置新密碼后,鍵入8位新密碼,1602第2行依次顯示鍵入的8位隱形密碼:********。操作步驟和功能同開鎖過程。
⑤ 按Enter鍵后,1602第1行顯示:input again(再輸入一遍)。
⑥ 再次輸入第一次鍵入的8位新密碼,按Enter鍵后,若二次密碼相同,1602第1行顯示:new password ok!(新密碼設置完成)。
⑦ 若二次密碼不相同,1602第1行顯示:error,try again(錯,再輸入一次),允許用戶輸錯2次(有error1、error2提示)。若第3次輸入錯誤,1602第1行顯示:input fail!(輸入失。。
⑧ 設置操作有時限,從按下設置鍵后,60秒內未鍵入正確密碼,聲光報警。
⑷ 復位。用于用戶忘記密碼,無法開鎖時,由生產廠商高級維修人員將密碼鎖初始化。因此,復位操作的功能需要保密和隱蔽,并不對用戶和無關人員公開,以防被非法利用。
① 按復位鍵Reset(鍵編號14),1602及LED燈均無反應(對無關人員表示Reset鍵無作用),但若按下復位鍵后10秒內,不能進行正確的第二步操作,立刻聲光報警。
② 正確的第二步操作是在10秒內,按下清除鍵Clear(鍵編號15)。
③ 正確的第三步操作是鍵入8位復位密碼(81815151)。若依次鍵入密碼中,有一位出錯,1602第1行立刻顯示:error,并聲光報警。出錯后,須再次按復位鍵Reset,才能重新進入復位操作。
④ 正確鍵入8位復位密碼后,開鎖燈VD1亮(綠),1602第1行顯示:reset ok!(復位成功),第2行顯示:12345678(初始密碼)。
⑤ 復位操作進入第三步操作后,仍有時限要求,若30秒內未正確鍵入8位復位密碼,聲光報警。
⑸ 關閉。用于上述幾種操作完成后退出。
按閉鎖鍵Close(鍵編號13),停顯示、停嘟聲、滅燈。但在進入上述4種鍵操作程序或報警過程中,按閉鎖鍵無效,需待程序和報警執行完畢,才有效。
⒊ 程序設計
⑴ 程序流程圖
密碼鎖程序流程圖如圖8-28所示。
⑵ C51程序
C51程序見張志良編著《80C51單片機實用教程—基于Keil c和Proteus》(高等教育出版社ISBN 978-7-04-044532-9)P.332。
程序條例清晰,每條語句均有注釋,真實可靠可信可行,便于閱讀理解。
涉及程序如下:
void STAT ( ); //啟動信號子函數STAT,見7.4.2節
void STOP ( ); //終止信號子函數STOP,見7.4.2節
void ACK ( ); //發送應答A子函數ACK,見7.4.2節
void NACK ( ); //發送應答
子函數NACK,見
7.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節電子密碼鎖功能設計要求,可逐條驗證開鎖、設置、復位、閉鎖、顯示、嘟聲、亮燈、出錯和超時報警等功能,此處不再重復。
4.jpg (461 Bytes, 下載次數: 34)
下載附件
2021-9-14 18:45 上傳
需要說明的是,本例初始密碼為12345678,已錄入電子密碼鎖仿真DSN文件隨帶的AT24C02片內ERROM 50H中,打開AT24C02片內Memory(左鍵單擊暫停按鈕“ ”,然后左鍵單擊主菜單“Debug”→“I2C Memory Internal Memory –U3”),可看到該AT24C02片內Memory 0x50~0x57區域已存有該初始密碼:01、02、03、04、05、06、07、08。設置新的密碼后,可再次打開AT24C02片內Memory,查看寫入AT24C02的新密碼。但是,關閉Proteus軟件時,并不能一并將新密碼留存,必須左鍵單擊主菜單“File”→“Save Design”保存,才能實際保存新密碼。這樣,下次啟動Proteus軟件,打開電子密碼鎖仿真DSN文件,隨帶的AT24C02片內ERROM 50H中,就是新密碼了,否則還是原密碼。
⑷ 終止程序運行,可按停止按鈕。
讀者可先下載Proteus ISIS仿真電路DSN文件和驅動程序Hex文件,在電腦上仿真驗證,確認有效后,再購買《80C51單片機實用教程—基于Keil c和Proteus》,查看程序。
歡迎質詢,張志良Email:zzlls@126.com,有信必復。
-
1.gif
(5.79 KB, 下載次數: 33)
下載附件
2021-9-14 18:45 上傳
-
2.gif
(7.04 KB, 下載次數: 44)
下載附件
2021-9-14 18:45 上傳
-
3.gif
(16.27 KB, 下載次數: 49)
下載附件
2021-9-14 18:45 上傳
作者: admin 時間: 2016-4-11 21:35
謝謝分享 樓主能上傳電路圖和程序嗎?
作者: zl2168 時間: 2016-4-13 08:39
電路圖(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。以前很少上網,現在擬逐步上傳我書中的一些案例。
作者: chenwqq 時間: 2017-2-23 08:59
謝謝分享 樓主能上傳電路圖和程序嗎?
歡迎光臨 (http://www.zg4o1577.cn/bbs/) |
Powered by Discuz! X3.1 |
主站蜘蛛池模板:
国产精品久久久久久一级毛片
|
可以免费观看的av片
|
一级aaaa毛片
|
野狼在线社区2017入口
|
国产成人午夜高潮毛片
|
小草久久久久久久久爱六
|
国产91精品久久久久久久网曝门
|
日韩一区和二区
|
国产成人高清
|
福利视频一区二区
|
日本成人中文字幕在线观看
|
欧美成人精品激情在线观看
|
99国产精品久久久久
|
久久久久成人精品
|
欧美日韩精品一区二区三区视频
|
日本电影网站
|
久久综合入口
|
亚洲精品一区二区网址
|
男人天堂av网
|
天天亚洲|
av中文字幕在线播放
|
男女性毛片
|
精品视频999
|
亚洲免费观看视频
|
伊人久久大香线
|
国产美女视频黄
|
日韩综合在线视频
|
久久伊
|
欧美日韩一区二区三区在线观看
|
久久综合久色欧美综合狠狠
|
日韩免费网站
|
精品视频一区二区三区
|
欧美日韩亚洲系列
|
免费国产一区
|
我要看黄色录像一级片
|
欧美一区二区综合
|
亚洲天堂精品久久
|
国产乱码久久久久久
|
欧美一区二区三区日韩
|
色综合久久久久
|
成人在线h
|