ATMega16內(nèi)部EEPROM存儲器的應(yīng)用
數(shù)字化方向的發(fā)展在給我們的生活帶來巨大便利的同時,也帶給我們一些小小的麻煩:我們需要記憶的密碼越來越多,銀行卡,信用卡,EMAIL,甚至家中的門鎖。由于這些密碼的重要性,即便把它們存儲在電腦的某個角落之中,我們?nèi)匀粨挠捎诜N種原因而造成的密碼泄露或遺失。
ATMega16作為一款嵌入式單片機,用來存儲密碼是非常合適的。首先相對于家用PC,它是工業(yè)級的產(chǎn)品,可以更有效地保證存儲的密碼不會因為外部的溫濕度等環(huán)境條件的變化而被破壞。其次,ATMega16不需要操作系統(tǒng),直接運行用戶自行編寫的程序,具有很好的個體性。再次,其內(nèi)部可加密的EEPROM存儲器相對于外部EEPROM存儲器增加了通過非法手段直接讀取EEPROM中內(nèi)容的難度,從而提高了安全性。
本文中,筆者用ATMega16設(shè)計的密碼保管箱將會是這樣:它有一個4×4小鍵盤供我們操作,并通過串口調(diào)試工具將密碼保管箱對操作的反應(yīng)顯示在電腦上,電路見今年第5期雜志第39頁文章,在硬件上我們不用添加任何器件。它的工作過程是:將各種各樣的密碼存入ATMega16的EEPROM中,然后設(shè)置一個密碼保管箱的密碼,當輸入正確的密碼保管箱密碼,則把所有存儲的密碼通過串口送到電腦上顯示。
要完成該設(shè)計,我們需要首先了解如何操作ATMega16的內(nèi)部EEPROM存儲器。ATMega16內(nèi)部有512個字節(jié)的EEPROM存儲器,可以單獨對每一個字節(jié)進行讀取或?qū)懭?,并且具有至?0萬次寫入/擦除周期的壽命。EEPROM通過相應(yīng)的寄存器進行操作,其中有:
EEPROM的高位地址寄存器EEARH中只有EEAR8位有效,與低地址寄存器EEARL組成9位的地址空間可以尋址到整個512字節(jié),用于指定EEPROM地址。
如果是寫EEPROM操作,則EEDR中包含了將要寫入EEPROM中的數(shù)據(jù)。如果是讀EEPROM操作,讀出的內(nèi)容在EEDR中。
位3-EERIE:EEPROM準備完成中斷允許。如果全局中斷I使能,且置位EERIE,則如果EEPROM準備完成,將引起中斷請求。清零EERIE將屏蔽該中斷。
存儲器相關(guān)文章:存儲器原理
評論