DINH THANH SANG
25-09-2011, 12:27 AM
chào các anh chị và các bạn trong diễn đàn.
mình đang gặp vẫn đề về eeprom mà không biết còn thiếu sót gì nữa không.
mình khai báo để sử dụng eeprom của PIC 16f886 như sau mà không thấy eeprom hoạt động.
mình dùng ngôn ngữ C HtPic để viết chương trình.
mong các anh chị và các bạn hướng dẫn mình thêm.
mình cảm ơn các anh chị và các bạn.
code mình viết như sau.
void khaibaoeeprom()
{
EEDAT=1;
EEADR=1;
EEPGD=0;
WRERR=0;
WREN=1;
WR=1;
RD=1;
}
//Read from EEPROM
unsigned char readEEPROM(unsigned char dataR_ADR){
EEADR = dataR_ADR; //data Read AdDRess
EEPGD = 0;
RD = 1;
return(EEDAT);
}
//Write to EEPROM
void writeEEPROM(unsigned char dataW_ADR, unsigned char dataW_DAT){
EEADR = dataW_ADR; //data Write AdDRess
EEDAT = dataW_DAT; //data Write DATa
EEPGD = 0;
WREN = 1;
GIE = 0;
while(GIE==1){
GIE = 0;
}
EECON2 = 85;
EECON2 = 170;
WR = 1;
GIE = 1;
while(WR==1){
}
WREN = 0;
}
void main()
{
khaibaoeeprom();
while(1)
{
....................
writeEEPROM(0x01,l1);
RC6=readEEPROM(0x01);
}
}
mình đang gặp vẫn đề về eeprom mà không biết còn thiếu sót gì nữa không.
mình khai báo để sử dụng eeprom của PIC 16f886 như sau mà không thấy eeprom hoạt động.
mình dùng ngôn ngữ C HtPic để viết chương trình.
mong các anh chị và các bạn hướng dẫn mình thêm.
mình cảm ơn các anh chị và các bạn.
code mình viết như sau.
void khaibaoeeprom()
{
EEDAT=1;
EEADR=1;
EEPGD=0;
WRERR=0;
WREN=1;
WR=1;
RD=1;
}
//Read from EEPROM
unsigned char readEEPROM(unsigned char dataR_ADR){
EEADR = dataR_ADR; //data Read AdDRess
EEPGD = 0;
RD = 1;
return(EEDAT);
}
//Write to EEPROM
void writeEEPROM(unsigned char dataW_ADR, unsigned char dataW_DAT){
EEADR = dataW_ADR; //data Write AdDRess
EEDAT = dataW_DAT; //data Write DATa
EEPGD = 0;
WREN = 1;
GIE = 0;
while(GIE==1){
GIE = 0;
}
EECON2 = 85;
EECON2 = 170;
WR = 1;
GIE = 1;
while(WR==1){
}
WREN = 0;
}
void main()
{
khaibaoeeprom();
while(1)
{
....................
writeEEPROM(0x01,l1);
RC6=readEEPROM(0x01);
}
}