0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何對(duì)PIC16F628A的內(nèi)部EEPROM執(zhí)行基本的讀寫操作

454398 ? 來(lái)源:網(wǎng)絡(luò)整理 ? 作者:網(wǎng)絡(luò)整理 ? 2019-12-06 11:39 ? 次閱讀

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í)行基本的讀寫操作。

如何對(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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 存儲(chǔ)器
    +關(guān)注

    關(guān)注

    38

    文章

    7430

    瀏覽量

    163514
  • PIC16F628A
    +關(guān)注

    關(guān)注

    1

    文章

    8

    瀏覽量

    10041
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    EEPROM讀寫程序詳解

    EEPROM(Electrically Erasable Programmable Read-Only Memory)讀寫程序的詳解涉及多個(gè)方面,包括EEPROM的基本工作原理、讀寫
    的頭像 發(fā)表于 09-05 12:32 ?1060次閱讀

    eeprom存儲(chǔ)原理、存儲(chǔ)結(jié)構(gòu)及讀寫操作

    操作。EEPROM具有數(shù)據(jù)保存時(shí)間長(zhǎng)、可重復(fù)擦寫、讀寫速度快等優(yōu)點(diǎn),廣泛應(yīng)用于各種電子設(shè)備中。本文將詳細(xì)介紹EEPROM的存儲(chǔ)原理、存儲(chǔ)結(jié)構(gòu)、讀寫
    的頭像 發(fā)表于 08-05 17:03 ?1708次閱讀

    EN8F1823E完全替代PIC16F883,PIC16F1883,PIC16F1936,PIC16F1937

    PIC
    捷尚微輝芒微MCU單片機(jī)
    發(fā)布于 :2024年07月30日 16:59:15

    STM8S003F3P6操作EEPROM會(huì)影響FLASH嗎?

    各位前輩好,想請(qǐng)教一下,STM8S003F3P6操作EEPROM會(huì)影響FLASH嗎(具體的讀寫程序已經(jīng)寫完,只是擔(dān)心會(huì)影響FLASH,因?yàn)镕LASH的擦寫次數(shù)只有100次)。PB4和P
    發(fā)表于 05-21 06:36

    STM8L的EERPOM是使用內(nèi)部FLASH嗎?用那個(gè)庫(kù)文件能操作讀寫?

    STM8L的EERPOM 是使用內(nèi)部FLASH嗎?用那個(gè)庫(kù)文件能操作讀寫?
    發(fā)表于 05-15 07:12

    STM32做IIC讀寫程序,利用HAL庫(kù)對(duì)IIC讀寫遇到的疑問(wèn)求解

    , uint32_t Timeout) 我利用庫(kù)函數(shù)對(duì)EEPROM的多字節(jié)讀寫做了實(shí)驗(yàn)如下: HAL_StatusTypeDef EEPROM_WriteData(uint16_
    發(fā)表于 04-24 06:27

    STM32F103利用軟件模擬I2C讀寫EEPROM,超過(guò)385個(gè)字節(jié)就讀寫不了的原因?

    在STM32F103的芯片中,利用軟件模擬I2C讀寫EEPROM,在使用頁(yè)寫入的方式進(jìn)行讀寫時(shí),能夠讀寫385個(gè)字節(jié),(
    發(fā)表于 03-19 07:45

    stm32f4軟件模擬I2C讀寫EEPROM無(wú)器件響應(yīng)是什么原因造成的?

    利用STM32F4軟件模擬I2C讀寫EEPROM時(shí),在檢測(cè)I2C總線設(shè)備時(shí),在等待應(yīng)答階段,CPU讀取SDA線口狀態(tài)值為1(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_7)),導(dǎo)致
    發(fā)表于 03-19 06:36

    STM32 FLASH模擬EEPROM,燒寫程序時(shí)設(shè)置為讀保護(hù)Level-2級(jí)別,還能正常讀寫這個(gè)模擬的EEPROM嗎?

    STM32系列內(nèi)部FLASH模擬EEPROM,燒寫程序時(shí)設(shè)置為讀保護(hù)Level-2級(jí)別,還能正常讀寫這個(gè)模擬的EEPROM嗎?
    發(fā)表于 03-13 07:34

    M24C16為什么只能讀寫最后一次的數(shù)據(jù)?

    我的現(xiàn)象是,每次寫完一組數(shù)據(jù)(16個(gè)字節(jié)),然后再讀出來(lái),發(fā)現(xiàn)是正確的。 但是如果再讀取上一次或者上幾次讀寫的數(shù)據(jù),也就是更改一下EEPROM的地址,讀出來(lái)的數(shù)據(jù)和最新的一次是一樣的。 我不清楚是我
    發(fā)表于 03-12 07:53

    Microchip發(fā)布PIC16F13145系列MCU,促進(jìn)可定制邏輯的新發(fā)展

    為了滿足嵌入式應(yīng)用日益增長(zhǎng)的定制化需求,Microchip Technology Inc.(微芯科技公司)推出PIC16F13145系列單片機(jī)(MCU),提供量身定制的硬件解決方案。
    的頭像 發(fā)表于 01-25 16:49 ?948次閱讀
    Microchip發(fā)布<b class='flag-5'>PIC16F</b>13145系列MCU,促進(jìn)可定制邏輯的新發(fā)展

    HOLTEK新推出HT66F3184/HT66F3194 A/D MCU with EEPROM

    Holtek A/D Flash MCU with EEPROM系列新增HT66F3184 / HT66F3194成員,分別為HT66F31
    的頭像 發(fā)表于 01-12 16:19 ?896次閱讀

    pic16f628a燒錄設(shè)置

    PIC16F628A是微芯科技(Microchip)推出的一款8位微控制器芯片。它是一款多功能的芯片,被廣泛應(yīng)用于各種嵌入式系統(tǒng)和電子設(shè)備中。燒錄是將程序代碼寫入芯片的過(guò)程,它是使用這款芯片的第一步
    的頭像 發(fā)表于 12-19 09:43 ?2241次閱讀

    APM32F4 Flash模擬EEPROM介紹和代碼實(shí)現(xiàn)

    Flash與EEPROM一次操作的數(shù)據(jù)大小不同。雖然MCU內(nèi)部的Flash和EEPROM一樣,可以實(shí)現(xiàn)按字節(jié)的讀寫,但是在寫入的時(shí)候,是必須
    的頭像 發(fā)表于 12-01 17:52 ?1139次閱讀
    APM32<b class='flag-5'>F</b>4 Flash模擬<b class='flag-5'>EEPROM</b>介紹和代碼實(shí)現(xiàn)

    PIC16F73

    電路PIC
    jf_34538777
    發(fā)布于 :2023年11月15日 14:24:18