導航:首頁 > 軟體知識 > 怎麼向eeprom寫入程序

怎麼向eeprom寫入程序

發布時間:2023-01-13 20:20:06

⑴ 如何將數據寫入EEPROM

很多工藝過程需要對一些變數做長久保存。比如某些控制參數,在程序運行過程中可能會被修改,在改變後必須再一次永久保存以防掉電丟失。自然,這些參數不能由數據塊或初始化予以預置。因此,S7-200提供了將數據寫入EEPROM的功能。由於寫EEPROM是在每個掃描周期的尾部執行的,我的理解是一次掃描只能寫一個數據。這就帶來一個問題,如果有多個數據需要同時寫入這么辦?按照手冊上提供的方法,重復多寫幾個Network、多用幾個使能標識位可以嗎?這樣簡單的重復顯然會有問題:由於使用上升沿觸發寫EEPROM程序,完成了第一個寫入後程序將進入下一個掃描周期,盡管SM31.7已經被釋放,但後幾個使能位的上升沿已經不存在了;因此還是只能寫一個數據。 為了保證所有數據都能寫入EEPROM,我對手冊上的範例做了一些改動,相關程序請看附件。詳細說明如下: 1、為了將多個數據寫入EEPROM,就必須用多個掃描周期,而且保證每個掃描周期依次寫入一個數據,直到全部寫完。這樣,每個數據寫入的使能標識位在數據尚未寫入時必須處在使能狀態。而在寫入完成後必須退出使能狀態。 2、由於寫入程序的觸發還有一個SM31.7作為判斷條件,按照程序的時序關系,前一個寫入程序被使能後,後面的寫入程序必然會被屏蔽,因此無需擔心寫入條件發生改變。 3、在數據寫入被使能後及時退出本數據的寫入使能,避免下一個掃描周期被再次觸發。同時釋放寫入請求以使下一個數據的寫入請求能被響應。 4、一般來說,寫EEPROM不是一件經常發生的事件,因此不必擔心兩個相鄰掃描周期內同一個寫入使能位被再次觸發。除非程序本身的編寫有誤。 5、實常式序中用M0.0使能VD100的寫入,用M0.1使能VD104的寫入,M0.2同時使能上述兩個標識位(也可以在監控狀態下單獨使能某個位)。這里我們討論兩個標識位同時被使能的情況。 6、M0.0置位後,SM31.7=0,執行VD100的寫入程序;然後置位SM31.7,並立即復位M0.0。由於SM31.7被置位,即使M0.1也處於被使能狀態,在本次掃描周期內VD104的寫入請求被忽略,而M0.1還保持使能狀態。 7、在下一個掃描周期內,由於M0.0已經退出使能狀態,因此VD104的寫入請求將被響應。與M0.0一樣,寫入請求被響應後M0.1也立即退出使能狀態。 8、這樣,在兩個掃描周期內兩個數據被寫入EEPROM。如果有更多的數據需要保存,可以以此類推。 9、檢驗本程序的方法:在系統塊中將V寄存器的掉電保持全部取消,可以看到重新上電後前一次寫入V寄存器的數據會丟失。此時用本程序保存VD100和VD104,重新上電後可以看到這兩個寄存器內的數據依然存在。 10、兩個被寫入的寄存器地址可以隨意改變,無所謂是否連續。 這個程序是我自己琢磨出來的,貼出來供大夥兒拍拍磚。 西門子官方網站提供了一個免費的庫程序,可以一次寫入多個數據。網址是 「 http://support.automation.siemens.com/CN/llisapi.dll/17471561?func=ll&objId=17471561&objAction=csView&nodeid0=10805150&lang=zh&siteid=cseus&aktprim=0&extranet=standard&viewreg=CN&load=content 」。

⑵ 怎樣將數據寫到EEPROM

大神都不說啊,我外行說一下吧。首先看你的EEPROM的介面方式,SPI,還是I2C;然後網上下載個基本驅動函數,SPI的和I2C的到處找的到。然後是寫自己的函數,一般是自己寫的函數中調用基本函數。自己函數讀和寫都有協議和時序的,自己看datasheet;比如:先發0xXX,表示寫,接著發地址0xYY(也可能是0xYYYY),接著發數據,0xZZ。都發完了就表示:把0xZZ寫入0xYY了。可以再讀一下驗證,方法類似就是多一條返回數據的採集。基本驅動函數里就有。

⑶ pic單片機EEPROM怎麼編寫程序

在你的C文件里引用EEPROM函數的頭文件,eeprom_routines.h

然後在程序中使用

voideeprom_write(unsignedcharaddr,unsignedcharvalue);

unsignedchareeprom_read(unsignedcharaddr);

這兩個函數了。

這兩個函數一個讀一個寫。比如你想寫0x10到地址為0x55的EEPROM,

就寫:eeprom_write(0x55,0x10);

同理,如果想讀取0x55地址處的值,

就寫:ee_value=eeprom_read(0x55);

如果編譯時編譯器提示找不到eeprom_routines.h,可以在

X:ProgramFilesHI-TECHSoftwarePICC9.81include目錄下找,然後復制到自己項目文件夾下。

對了,我用的是MPLabIDE,編譯器使用的是PICC。

⑷ stc單片機,如何往eeprom里寫程序,請高手進

eeprom 不是程序區,不能運行程序。
有部分型號, 程序區 和 eeprom區 共用的就可以在運行時修改程序。

⑸ STC89C52單片機如何在運行時向EEPROM內寫入數據,使數據斷電後不消失,下次運行繼續用.

1、首先打開電腦中的keil軟體。

⑹ pic單片機EEPROM怎麼編寫程序

在你的C文件里引用EEPROM函數的頭文件,eeprom_routines.h

然後在程序中使用

void eeprom_write(unsigned char addr, unsigned char value);

unsigned char eeprom_read(unsigned char addr);

這兩個函數了。

這兩個函數一個讀一個寫。比如你想寫0x10到地址為0x55的EEPROM,

就寫:eeprom_write(0x55,0x10);

同理,如果想讀取0x55地址處的值,

就寫:ee_value = eeprom_read(0x55);

如果編譯時編譯器提示找不到eeprom_routines.h,可以在

X:Program FilesHI-TECH SoftwarePICC9.81include 目錄下找,然後復制到自己項目文件夾下。

對了,我用的是MPLab IDE,編譯器使用的是PICC。

⑺ 在proteus裡面,怎樣往Eprom裡面寫入數據啊。。。

EPROM是要高電壓編程的,不知你是什麼型號的晶元。

1、你可以設計電路讓EPROM晶元具備編程所需的要求(下面是M27256功能表)

在對話框中選擇你剛才建立的文件。至此,Protues中EPROM晶元就有數據了。

閱讀全文

與怎麼向eeprom寫入程序相關的資料

熱點內容
哪裡可以免費獲得電商小程序 瀏覽:517
貴州貴陽市場在哪裡 瀏覽:719
柔性磁電技術有限公司怎麼樣 瀏覽:53
幣客迎是什麼交易所 瀏覽:264
西昌蟲草交易市場在哪裡 瀏覽:145
手機數據授權怎麼設置 瀏覽:447
上課數據如何保存 瀏覽:65
美團交易解鎖是什麼意思 瀏覽:803
什麼叫信息化校園環境 瀏覽:714
商品st數據是什麼意思 瀏覽:218
水肌澳分享如何招代理 瀏覽:607
單一農產品如何配送 瀏覽:40
海鮮市場上哪些雜魚好吃 瀏覽:824
釘釘群如何刪除漫遊信息 瀏覽:944
如何通過技術學習賺錢 瀏覽:598
武夷山哪裡招聘信息 瀏覽:810
非洲賣什麼數碼產品好 瀏覽:662
濟南二手房多久可交易 瀏覽:537
投保信息第三者投保在哪裡查 瀏覽:247
達芬奇16資料庫為什麼建不了 瀏覽:567