EEPROM( E 電上 E 可刮擦的 P 可擦寫的 R ead- O nly M emory )是一種非易失性存儲器,可以在電路板上進行電編程,擦除和重新編程。大多數PIC微控制器都帶有一些內置的EEPROM,是存儲系統掉電時不會丟失的數據的好地方。一個很好的例子是一個數字鎖系統,其中的訪問代碼可以存儲在微控制器的EEPROM中,這樣即使斷開電源后內容仍保持完整。在我的“ 初學者的數據記錄器”項目中,我使用了PIC12F683的內部EEPROM來存儲測得的溫度值。在今天的實驗中,我們將學習如何對PIC16F628A的內部EEPROM執行基本的讀寫操作。
使用PIC的內部EEPROM進行讀/寫操作
理論
PIC16F628A單片機具有128字節的數據EEPROM,地址范圍為00h至7Fh。有四個用于讀取和寫入此存儲器的特殊功能寄存器,分別是EECON1,EECON2,EEDATA和EEADR。 EEADR將您希望讀取或寫入的地址保存在EEPROM中,而EEDATA將您剛剛讀取的或希望寫入EEPROM的8位數據保存。 EECON1和EECON2是控制寄存器,用于啟用EEPROM讀/寫操作。我們將在這里忽略這些寄存器的詳細信息,因為我們將使用mikroC編譯器進行編程,其中用于EEPROM操作的內置庫例程負責配置這些寄存器。但是,您可以在PIC16F628A的數據手冊中找到這些寄存器的詳細信息。
電路設置
此實驗需要一個16×2字符的LCD進行顯示和三個用于用戶輸入的觸覺開關。下面的電路圖顯示了LCD和PIC16F628A微控制器的開關的連接。
實驗13的電路圖
三個輕觸開關分別連接到RB0,RB1和RB3引腳。 LCD以4位模式工作,數據引腳由PIC16F628A的RB4至RB7引腳驅動。 LCD RS和E控制引腳連接到RA0和RA1引腳。在軟件部分討論了這三個輕觸開關的功能。
實驗板上的實驗電路設置
軟件
我們將為PIC16F628A編寫一個小型應用程序軟件,該軟件將對PIC16F628A的選定內部EEPROM位置(00h至0Fh)執行讀,寫和刪除操作。按下“讀取”按鈕時,將讀取00h-0Fh位置存儲的16字節信息,并將其顯示在LCD屏幕上。按下“寫入”按鈕會將字符串“ Embedded-Lab.com”寫入這些位置,而如果按下“清零”按鈕,則這些位置中的值將全部替換為0。
mikroC Pro用于PIC編譯器的EEPROM讀寫操作提供以下功能:
無符號短 EEPROM_Read(無符號短地址):-從指定地址
無效 EEPROM_Write(無符號短地址,無符號短數據):-將數據寫入指定地址
您可以從下面的鏈接下載完整的源代碼和十六進制文件。
下載mikroC項目文件
輸出
已擦除的EEPROM位置中的默認值為FFh(255)。當此值(FFh)顯示在LCD上時,屏幕上所有5×10點均處于活動狀態。因此,當您第一次讀取處于擦除狀態的EEPROM時,將讀取所有FFh(請參見下圖)。一旦完成寫入操作,請關閉電源幾秒鐘,然后再次將其關閉,然后按讀取按鈕。您會看到字符串(Embedded-Lab.com)仍保留在EEPROM中。
主菜單
讀取開頭的所有FF
寫操作
再次讀取新存儲的值a
歸零位置
讀取全零
責任編輯:wv
-
存儲器
+關注
關注
38文章
7629瀏覽量
166326 -
PIC16F628A
+關注
關注
1文章
9瀏覽量
10146
發布評論請先 登錄
如果不使用EEPROM的話,使用bios,BIOS來寫驅動填這個eeprom的值?
我是Microchip 的代理商,有PIC16F1829T-I/SS 技術問題可以咨詢我,微信:A-chip-Ti
SLB628D 底啟動電壓2.2V-16V支持升壓9V、12、18V升壓恒壓應用電源芯片
EEPROM讀寫程序詳解
eeprom存儲原理、存儲結構及讀寫操作

評論