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

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

如何用單片機制作電子密碼鎖電路

電子設計 ? 來源:xx ? 2019-02-15 16:06 ? 次閱讀

電子密碼鎖按照輸入密碼方式的不同可分為好多種,其中最常用的一種是用數字鍵盤輸入密碼的電子密碼鎖。這一講主要介紹用ATmega8和LCD1602液晶顯示器等組成的電子密碼鎖,這個電子密碼鎖能夠由用戶自行修改密碼,掉電后密碼不丟失。通過實驗和學習使大家掌握電子密碼鎖的工作原理和ATmega8中EEPROM存儲器的使用方法。

一,EEPROM數據存儲器簡介ATmega8的存儲器由可分別獨立尋址的程序存儲器Flash、片內數據存儲器SRAM和EEPROM三部分組成。

ATmega8包含512字節的EEPROM數據存儲器,可用于保存系統的設定參數、掉電后數據保存等。EEPROM可以按字節為單位進行讀寫,至少可進行100000次擦寫操作。EEPROM的訪問由地址寄存器、數據寄存器和控制寄存器決定。

在程序中EEPROM的訪問是通過I/O空間的寄存器來實現的,EEPROM的編程時間典型值為8.5ms。

為了防止無意的EEPROM寫入,必須遵照規范的寫入順序。當讀取EEPROM時,單片機將暫停4個時鐘周期再執行下一條指令;當寫EEPROM時,單片機將暫停2個時鐘周期再執行下一條指令。

下面介紹與EEPROM相關的幾個寄存器。

1.EEPROM地址寄存器

EEARH、EEARL因為ATmega8有512(2的9次方)字節的EEPROM,所以要用兩個8位寄存器來作地址寄存器,編址為0x0000~0x01FF。地址寄存器EEAR可讀可寫,EEAR的初始值沒有定義,在訪問EEPROM之前必須寫入一個正確的地址值。

EEAR的定義見下表。

2.EEPROM數據寄存器

EEDR數據寄存器EEDR用來存放即將寫入EEPROM或者從EEPROM讀出的某個單元的數據,寫入或讀出的地址由地址寄存器EEAR給出。EEDR的初始值為0x00。

3.EEPROM控制寄存器EECREECR的定義見下表。

EERIE位為EEPROM中斷準備好使能位,當EERIE置位而且SREG寄存器中的全局中斷位I置位時,若EEWE為0,則單片機產生一個中斷。

EEMWE位為EEPROM主機寫入使能位,EEMWE決定了EEWE置位是否可以啟動EEPROM寫操作。當EEMWE為置位時,在4個時鐘周期內EEWE置位將把數據寫入EEPROM的指定地址;若EEMWE為0,則操作EEWE不起作用。EEMWE置位后4個周期,硬件對其清零。

EEWE位為EEPROM寫使能位,當EEPROM數據和地址設置好之后,需置位EEWE以便將數據寫入EEPROM。此時EEMWE必須置位,否則EEPROM寫操作將不會發生。寫時序如下:

(1)等待EEWE位變為零。

(2)將新的EEPROM地址寫入EEAR(可選)。

(3)將新的EEPROM數據寫入EEDR(可選)。

(4)置位EEMWE。

(5)在置位EEMWE的4個周期內,置位EEWE。

EERE位為EEPROM讀使能位,當EEPROM地址設置好之后,需置位EERE以便將數據讀入EEDR。

EEPROM數據的讀取只需要一條指令。讀取EEPROM后CPU要停止4個時鐘周期才可以執行下一條指令。

二、電子密碼鎖實驗

1.實驗電路

電子密碼鎖主要由單片機ATmega8、液晶顯示器LCD1602和電磁鐵鎖芯等部分組成。實驗板上與電子密碼鎖有關的電路部分見下圖。圖中SB1、SB2、SB3為輸入按鍵,用于輸入數字密碼。VD6、R7、VT4等組成電磁鐵驅動電路,由ATmega8的PD7腳進行控制,實際使用時只要將VT4的負載由繼電器換成電子密碼鎖的電磁鐵吸合線圈即可,當然也可以用繼電器的常開觸點去控制電磁鐵吸合線圈。

2.程序設計

程序有主函數、初始化函數、LCD顯示函數、鍵盤掃描函數、密碼設置函數、EEPROM讀寫函數和延時函數等部分組成。

程序中共使用了6個數組,其中數組Datal[]用來存儲按鍵值,它存儲在SRAM數據存儲區,用來記錄輸入的。

按鍵值。其中數組a[]用來存儲密碼值,為了防止密碼值掉電丟失,a[]存儲在EEPROM數據存儲區,a[]的初始值為a[]={0,0,0,0,0,0,0,0,0,0,0,0},即初始密碼為000000000000。

實驗板上的SB1、SB2兩個按鈕作數字輸入鍵,SB1輸入數字0,SB2輸人數字1。SB3為確認鍵。由于只有兩個數字輸入按鈕,因此密碼只能采用二進制數,密碼長度為12位。輸入的12位密碼存儲在數組Datal口中,按一下確認鍵SB3后,程序將數組Datal口的各元素和數組a[]的對應元素進行比較,如果兩個數組相等,說明密碼正確,LCD顯示屏顯示:RIGHT,PD7輸出高電平,由VT4推動電磁鐵吸合打開電子密碼鎖;反之,如果密碼錯誤,LCD顯示屏顯示:ERROR,打不開電子密碼鎖。輸入密碼時輸入幾個數字LCD顯示屏就顯示幾個·號。

為了程序設計方便,引入了一個特征值Key,沒有任何鍵按下時,令Key=0;當SB1、SB2有鍵按下時,令Key=1;當SB3按下時,令Key=2;當密碼不正確時,令Key=3。特征值Key作為主函數和按鍵掃描函數之間聯系的一條紐帶。

輸入密碼由按鍵掃描函數完成,按鍵掃描函數的流程圖見下圖。

密碼設置函數用來重新設置密碼,新的密碼仍然保存在EEPROM數據存儲區,這樣掉電后新設置的密碼就不會丟失了。密碼設置函數的流程圖見下圖。

在驗證密碼和重新設置密碼時要對EEPROM進行讀寫,這可以用EEPROM讀寫函數來完成,兩個函數的語句如下。

寫EEPROM數據函數:

Void Write-EEPROM(ucharData,uintAddress)

(if(EECR&0x20)//判斷寫使能是否為0

Delay Ms(10);//延時10ms

EEARH=Address》》8;//送高地址

EEARL=Address&0x0000ff;//送低地址

EEDR=Data;//送數據

EECR=EECR|0x04;//主寫使能置位

EECR=EECR|0x02;//寫使能置位

Delay Ms(10);//延時10ms

}

讀EEPROM數據函數:

UcharRead_EEPROM(uint Address)

{uchar i;

if(EECR&0x01)//判斷讀使能是否為0

Delay Ms(10);//延時10ms

EEARH=Address》》8;//送高地址

EEARL=Address&0x00ff;//送高地址

EECR=EECR|0x01;//讀使能置位

Delay Ms(10);//延時10ms

i=EEDR;//讀數據

return(i);//返回數據

}

上面只對幾個主要的函數作了介紹,詳細的源程序見本期配刊光盤。

3.電子密碼鎖實驗首先將程序目標文件寫入單片機,為了防止密碼掉電后丟失,同時使密碼能夠重新修改,必須將密碼寫入EEPROM數據存儲器。由于程序中使用了EEPROM數據存儲器,因此程序在編譯時除了生成HEX目標文件外,還會產生EEP目標文件。HEX目標文件寫入Flash程序存儲器,EEP目標文件寫入EEPROM數據存儲器。所以用PonyProg2000寫芯片時,在打開目標文件時要分別打開目標文件Lock.hex和lock.eep,具體操作過程是:

(1)對芯片進行擦除;(2)用工具欄上的“Open Pro—gram Memory(FLASH)File按鈕打開lock.hex文件;(3)用工具欄上的“Open Data Memory(EEPROM)File”按鈕打開lock.eep文件;(4)單擊工具欄中的“寫器件”按鈕即可把兩個目標文件分別寫入Flash程序存儲器和EEPROM數據存儲器。操作過程如下圖(略)所示。

接下來接通實驗板的電源,通過SB1、SB2輸入12位密碼,按一下確認鍵SB3,如果密碼正確的話,LCD顯示屏會顯示“RIGHT”,同時PD7輸出5秒鐘的高電平,使發光二極管VD6點亮,電磁鐵吸合,電子密碼鎖被打開,如下圖(略)所示。如果密碼不正確,LCD顯示屏會顯示“ERROR”,PD7輸出仍為低電平,電子密碼鎖不能被打開。

如果要修改密碼,必須先輸入正確的密碼,在VD7沒有熄滅前按下SB3,并在VD7熄滅后再保持3秒鐘,到時LCD顯示屏會顯示“SET_PASSWORD”,這時即可用SB1、SB2輸入新的12位密碼。下次使用時必須輸入新的密碼才能打開鎖,這樣經常變更密碼可提高鎖的安全性。

由于受按鍵數量的限制,密碼采用了二進制,12位密碼的組合也只有4096種,為了提高破解的難度,有兩種方法:一種方法是修改程序使得連續輸入幾次密碼錯誤后將電路鎖定一段時間,延長破解的時間;另一種方法是密碼采用十進制數,但這就要使用更多的按鍵,從而使用較多的I/0接口,電路必須進行調整。上述兩種方法如何實施留給讀者自己思考。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 寄存器
    +關注

    關注

    31

    文章

    5343

    瀏覽量

    120379
  • 密碼鎖
    +關注

    關注

    6

    文章

    249

    瀏覽量

    35007
  • 電子密碼鎖
    +關注

    關注

    8

    文章

    90

    瀏覽量

    20618
收藏 人收藏

    評論

    相關推薦

    如何利用AT89C51單片機制作簡易密碼鎖

    如何利用AT89C51單片機制作簡易密碼鎖
    發表于 10-08 06:27

    基于單片機電子密碼鎖設計

    單片機電子密碼鎖Proteus仿真+程序3.6 開鎖機構在基于單片機電子密碼鎖設計中,用戶需要輸入密碼
    發表于 11-30 08:24

    PIC單片機設計電子密碼鎖

    介紹用PIC16F84單片機制作電子密碼鎖。PIC16F84單片機共18個引腳,13個可用I/O接口。芯片內有1K×14的FLASHROM程序存儲器,36×8的靜態RAM的通用寄存器
    發表于 06-11 15:05 ?131次下載

    采用單片機電子密碼鎖控制電路

    采用單片機電子密碼鎖控制電路,有需要的下來看看。
    發表于 02-17 16:51 ?20次下載

    基于單片機電子安全密碼鎖的設計

    基于單片機電子安全密碼鎖的設計,有需要的下來看看。
    發表于 02-17 16:50 ?28次下載

    基于單片機電子密碼鎖設計程序

    基于單片機電子密碼鎖設計,經測試之后,好用
    發表于 03-14 15:04 ?7次下載

    ##單片機電子密碼鎖+新

    密碼鎖,6為密碼,報警電路,輸錯3次報警,單片機stc89C52
    發表于 05-19 15:32 ?65次下載

    基于51單片機電子密碼鎖的Proteus仿真設計

    基于51單片機電子密碼鎖的Proteus仿真設計
    發表于 06-17 16:00 ?79次下載

    用PIC單片機設計電子密碼鎖

    用PIC單片機設計電子密碼鎖
    發表于 01-04 14:16 ?3次下載

    基于單片機與串行通信的電子密碼鎖設計

    基于單片機與串行通信的電子密碼鎖設計
    發表于 01-21 12:00 ?4次下載

    基于單片機電子密碼鎖設計與實現

    基于單片機電子密碼鎖設計與實現
    發表于 01-21 12:00 ?27次下載

    基于單片機密碼鎖設計方案

    一種能防止多次試探密碼的基于單片機密碼鎖設計方案,根據用戶的10條總體要求,給出了該單片機密碼鎖的硬件電路和軟件程序,同時給出了
    的頭像 發表于 02-14 16:46 ?1.8w次閱讀
    基于<b class='flag-5'>單片機</b>的<b class='flag-5'>密碼鎖</b>設計方案

    使用單片機制作密碼鎖電路圖和程序與流程圖的詳細說明

    本文檔的主要內容詳細介紹的是使用單片機制作密碼鎖電路圖和程序與流程圖的詳細說明。
    發表于 09-09 16:08 ?47次下載
    使用<b class='flag-5'>單片機制作</b><b class='flag-5'>密碼鎖</b>的<b class='flag-5'>電路</b>圖和程序與流程圖的詳細說明

    使用單片機實現電子密碼鎖的設計資料說明

    隨著電子技術的發展,具有防盜報警等功能的電子密碼鎖代替密碼量少、安全性差的機械式密碼鎖已是必然趨勢。電子
    發表于 10-23 16:10 ?28次下載
    使用<b class='flag-5'>單片機</b>實現<b class='flag-5'>電子</b><b class='flag-5'>密碼鎖</b>的設計資料說明

    單片機制作的新型安全密碼鎖

    單片機制作的新型安全密碼鎖(單片機課程設計)-該文檔為單片機制作的新型安全密碼鎖簡介資料,講解的還不錯,感興趣的可以下載看看……………………
    發表于 07-22 16:24 ?32次下載
    <b class='flag-5'>單片機制作</b>的新型安全<b class='flag-5'>密碼鎖</b>
    主站蜘蛛池模板: 国模绪| 在线免费影视| 无毒在线| 在线观看视频一区二区三区| 午夜欧美视频| 国产久爱青草视频在线观看| 久草在线资源网| 中文字幕不卡在线播放| 久青草国产观看在线视频| 深夜影院一级毛片| 国产亚洲欧美日韩俺去了| 免费人成激情视频在线观看冫| 天堂8资源在线官网资源| 女的扒开尿口让男人桶爽| 免费在线观看一级毛片| 奇米影视7777| 一级做a爰片久久毛片人呢| 国产又黄又免费aaaa视频| 成人在线黄色| 四虎国产精品永久在线网址| 最近在线视频免费观看2019| 在线观看日本亚洲一区| 欧美一区二区三区免费高| 日韩天天操| 亚洲毛片大全| 99色吧| 免费看18污黄| 国产欧美日韩综合精品无毒| 黄色午夜影院| 女人张开腿给人桶免费视频| 精品视频一区在线观看| 性欧美大胆高清视频| 午夜视频网站| 最近2018中文字幕免费看2019| 国产女乱淫真高清免费视频| 91黄视频在线观看| 久久综合精品视频| 免费又黄又硬又大爽日本| 免费国产zzzwww色| 1024手机最新手机在线| 欧美性天天影视|