『壹』 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。
『貳』 pic單片機怎麼在MPLAB設定初始EEPROM
用DE偽指令
舉例:
ORG 0x2100 ;這是PIC16F628A的EEPROM虛擬地址,當然
;不同的晶元是不同的
DE 0x00, 0x01, 0x02, 0x03 ;初始化EEPROM數據
picc編譯器
EEPROM 數據
有些PIC單片機支持用外部編程器對內部的EEPROM進行編程。
__EEPROM_DATA()可以將用於初始化的數據放入HEX文件中,如:
__EEPROM_DATA(0, 1, 2, 3, 4, 5, 6, 7)
可將0-7八個數放入HEX文件中,在用外部的編程器進行編程時將 這八個數寫入PIC單片機中。
__EEPROM_DATA不是用於運行時寫入EEPROM數據的,在運行時請用 EEPROM_READ(), EEPROM_WRITE()。
『叄』 給說說PIC單片機當中的EEPROM是做什麼的嗎
EEPROM其實是有專門的晶元的,主要是保存數據用的,有的單片機把這一功能集成到單片機的內部,這樣就使得單片機的外圍電路更簡單,元器件更少。當然要存取信息就要用專門的指令,說明書中有詳細的指令代碼。
『肆』 PIC單片機內部EEPROM數據保存讀取
寫程序的時候是會重新改寫eeprom內容的,這個你需要修改下程序,斷電驗證比較合適。
『伍』 基於PIC單片機對EEPROM讀寫的一種方法
是需要讀寫程序嗎?
從指定地址下讀取一個位元組:
uchar ReadEEPROM(uchar EE_Addr)
{
EEADR=EE_Addr; //給地址
EEPGD=0; //
RD=1; //開始讀
return EEDATA; //直接返回讀取的EEPROM
}
將一個位元組的數據寫入指定地址里:
bool WriteEEPROM(uchar EE_data,uchar EE_addr)
{
uchar j=0;//多次執行
EEIF=0; //clear flag
EEADR=EE_addr; //set address
EEDATA=EE_data; //set data.(one byte)
EEPGD=0; //EEPROM to be the data memory.
while(++j<10) //if there is wrong to write,begin
{
GIE=0; //關中斷,保護
WREN=1; //寫允許
EECON2=0x55;
EECON2=0xaa;
WR=1; //寫開始,寫完後硬體置0寫
WREN=0; //寫使能禁止
GIE=1; //開中斷
while(WR); //等待寫操作完成,沒有判斷EEIF
if(!WRERR) //如果無誤,跳出程序,否則重寫
return true;
}
return false;
}
『陸』 怎樣用pic單片機把字元寫到eeprom裡面
1 把PIC單片機的IIC口和EEPROM的IIC口接起來,加上拉電阻。
2 把字元變成十六進制文件放進數組,用字元轉換單片機工具
3 按照IIC時序寫進EEPROM
『柒』 PIC單片機寫EEPROM時掉電會出現不準嗎,什麼趨勢
EEPROM是按照位元組寫入的。如果是在給EEPROM中寫入數據期間掉電,那麼已經完成寫入的單元其數據會完好的保存,而沒有徹底完成寫入操作的單元,數據是不可預知的,因為你不知道對這個存儲單元來說,在外部掉電後,其實際控制信號還得多久(不但電源入口處有電容,這樣可以延長電壓跌落的時間,而且邏輯電平的門檻是很低的)才能真正無效。
PIC系列是為工業控制而設計的RSIC單片機,而工業環境下工作條件更加惡劣,所以其內部有比較完善的智能電源管理系統。
在操作期間,當晶元檢測到電源電壓太低,它會自動復位內部邏輯,不會出現誤操作以至於影響到其他任何存儲單元數據、I/O口的輸出狀態,而只會復位到默認狀態。
一般的,現在的工業控制晶元,只要電源上加的不是較長時間的較強電壓,肯定是不會對晶元造成損壞的——更何況你的還是掉電。
另外,對於晶元內部的EEPROM單元的實際數據,你可以在目標板正常供電期間,用ICD
II查看晶元內部對應單元的數據即可發現實際數據是怎麼樣的。
『捌』 pic單片機的eeprom問題
我打開其頭文件看了下,包括
EEPROM_WRITE(0x08,buzzValue);EEPROM_READ(0x08)這兩個函數
其原型是EEPROM_WRITE(addr, value),EEPROM_READ(addr)
你要知道PICC包含什麼頭文件最好打開頭文件的文件夾
路徑是HI-TECH Software\PICC\lite\9.60\include
打開pic.h可以看到裡面的內容
PICC包含pic1687x.h,這個看編譯器而定,MPLAB本身沒有這個頭文件
『玖』 pic單片機 的EEPROM 問題
庫文件里有eeprom讀寫函數,直接調用吧。
可以確定你程序有問題。要麼你寫的時候都寫成0x11,
要麼你讀的時候程序有問題