EEPROM( E 電上 E 可刮擦的 P 可擦寫的 R ead- O nly M emory )是一種非易失性存儲(chǔ)器,可以在電路板上進(jìn)行電編程,擦除和重新編程。大多數(shù)PIC微控制器都帶有一些內(nèi)置的EEPROM,是存儲(chǔ)系統(tǒng)掉電時(shí)不會(huì)丟失的數(shù)據(jù)的好地方。一個(gè)很好的例子是一個(gè)數(shù)字鎖系統(tǒng),其中的訪問(wèn)代碼可以存儲(chǔ)在微控制器的EEPROM中,這樣即使斷開(kāi)電源后內(nèi)容仍保持完整。在我的“ 初學(xué)者的數(shù)據(jù)記錄器”項(xiàng)目中,我使用了PIC12F683的內(nèi)部EEPROM來(lái)存儲(chǔ)測(cè)得的溫度值。在今天的實(shí)驗(yàn)中,我們將學(xué)習(xí)如何對(duì)PIC16F628A的內(nèi)部EEPROM執(zhí)行基本的讀寫操作。
使用PIC的內(nèi)部EEPROM進(jìn)行讀/寫操作
理論
PIC16F628A單片機(jī)具有128字節(jié)的數(shù)據(jù)EEPROM,地址范圍為00h至7Fh。有四個(gè)用于讀取和寫入此存儲(chǔ)器的特殊功能寄存器,分別是EECON1,EECON2,EEDATA和EEADR。 EEADR將您希望讀取或?qū)懭氲牡刂繁4嬖贓EPROM中,而EEDATA將您剛剛讀取的或希望寫入EEPROM的8位數(shù)據(jù)保存。 EECON1和EECON2是控制寄存器,用于啟用EEPROM讀/寫操作。我們將在這里忽略這些寄存器的詳細(xì)信息,因?yàn)槲覀儗⑹褂胢ikroC編譯器進(jìn)行編程,其中用于EEPROM操作的內(nèi)置庫(kù)例程負(fù)責(zé)配置這些寄存器。但是,您可以在PIC16F628A的數(shù)據(jù)手冊(cè)中找到這些寄存器的詳細(xì)信息。
電路設(shè)置
此實(shí)驗(yàn)需要一個(gè)16×2字符的LCD進(jìn)行顯示和三個(gè)用于用戶輸入的觸覺(jué)開(kāi)關(guān)。下面的電路圖顯示了LCD和PIC16F628A微控制器的開(kāi)關(guān)的連接。
實(shí)驗(yàn)13的電路圖
三個(gè)輕觸開(kāi)關(guān)分別連接到RB0,RB1和RB3引腳。 LCD以4位模式工作,數(shù)據(jù)引腳由PIC16F628A的RB4至RB7引腳驅(qū)動(dòng)。 LCD RS和E控制引腳連接到RA0和RA1引腳。在軟件部分討論了這三個(gè)輕觸開(kāi)關(guān)的功能。
實(shí)驗(yàn)板上的實(shí)驗(yàn)電路設(shè)置
軟件
我們將為PIC16F628A編寫一個(gè)小型應(yīng)用程序軟件,該軟件將對(duì)PIC16F628A的選定內(nèi)部EEPROM位置(00h至0Fh)執(zhí)行讀,寫和刪除操作。按下“讀取”按鈕時(shí),將讀取00h-0Fh位置存儲(chǔ)的16字節(jié)信息,并將其顯示在LCD屏幕上。按下“寫入”按鈕會(huì)將字符串“ Embedded-Lab.com”寫入這些位置,而如果按下“清零”按鈕,則這些位置中的值將全部替換為0。
mikroC Pro用于PIC編譯器的EEPROM讀寫操作提供以下功能:
無(wú)符號(hào)短 EEPROM_Read(無(wú)符號(hào)短地址):-從指定地址
無(wú)效 EEPROM_Write(無(wú)符號(hào)短地址,無(wú)符號(hào)短數(shù)據(jù)):-將數(shù)據(jù)寫入指定地址
您可以從下面的鏈接下載完整的源代碼和十六進(jìn)制文件。
下載mikroC項(xiàng)目文件
輸出
已擦除的EEPROM位置中的默認(rèn)值為FFh(255)。當(dāng)此值(FFh)顯示在LCD上時(shí),屏幕上所有5×10點(diǎn)均處于活動(dòng)狀態(tài)。因此,當(dāng)您第一次讀取處于擦除狀態(tài)的EEPROM時(shí),將讀取所有FFh(請(qǐng)參見(jiàn)下圖)。一旦完成寫入操作,請(qǐng)關(guān)閉電源幾秒鐘,然后再次將其關(guān)閉,然后按讀取按鈕。您會(huì)看到字符串(Embedded-Lab.com)仍保留在EEPROM中。
主菜單
讀取開(kāi)頭的所有FF
寫操作
再次讀取新存儲(chǔ)的值a
歸零位置
讀取全零
責(zé)任編輯:wv
-
存儲(chǔ)器
+關(guān)注
關(guān)注
38文章
7430瀏覽量
163514 -
PIC16F628A
+關(guān)注
關(guān)注
1文章
8瀏覽量
10041
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論