電子電路 功放電路 電子制作 集成塊資料 電子報 pcb 變壓器 元器件知識 逆變器 電路圖 開關電源 傳感器技術 led 電磁兼容
電子電路圖
當前位置: 首頁 > 電子電路 > 設計編程

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

時間:2019-02-15 16:50:22來源:不詳 作者:admin 點擊:
電子密碼鎖按照輸入密碼方式的不同可分為好多種,其中最常用的一種是用數字鍵盤輸入密碼的電子密碼鎖。這一講主要介紹用ATmega8和LCD1602液晶顯示器等組成的電子密碼鎖,這

電子密碼鎖按照輸入密碼方式的不同可分為好多種,其中最常用的一種是用數字鍵盤輸入密碼的電子密碼鎖。這一講主要介紹用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顯示屏就顯示幾個·號。www.gyzrof.tw

本文地址:http://www.gyzrof.tw/dz/22/15502206593162.shtml

本文標簽:

頂一下
0%
返回首頁
0
0%

------分隔線----------------------------
發表評論
請自覺遵守互聯網相關的政策法規,嚴禁發布色情、暴力、反動的言論。
表情:
名稱: E-mail: 驗證碼: 匿名發表
推薦內容
  • 特斯拉線圈原理揭秘解讀

    特斯拉線圈原理揭秘解讀特斯拉線圈是一種射頻 振蕩器,可驅動空芯雙調諧振變壓器,在低電流時產生高壓。特斯拉的原始電路以及大多數現代線圈使用簡單的火花隙來激發調諧變

  • 51單片機對LCD1602液晶顯示器的控

    51單片機對LCD1602液晶顯示器的控制 要想實現人機交互,顯示裝置是不可缺少的。這篇文章主要關于如何控制液晶顯示,并在此基礎上加上定時器的功能,把原來已用數碼管顯示

  • 介紹編碼器的工作原理和作用

    編碼器的工作原理和功能:它是一個旋轉傳感器,將旋轉位移轉換為一系列數字脈沖信號。這些脈沖可用于控制角位移。如果編碼器與齒輪桿或螺釘組合,可用于測量線性位移。

熱門標簽
 
福利彩票3d开机号码查询