PDA

View Full Version : Eeprom


Daohuytien.tdh
03-04-2008, 05:56 PM
mình đang tìm hiểu về PIC877 mà chưa biết sử dụng EEPROM của nó như thế nào
bác nào đã nghiên cứu về đọc/ ghi dữ liệu vào EEPROM có thể chỉ cho mình nguyên lí đọc / ghi vào EEPROM với

LeDuc
03-04-2008, 07:00 PM
mình đang tìm hiểu về PIC877 mà chưa biết sử dụng EEPROM của nó như thế nào
bác nào đã nghiên cứu về đọc/ ghi dữ liệu vào EEPROM có thể chỉ cho mình nguyên lí đọc / ghi vào EEPROM với

Bạn sử dụng trình biên dịch nào? nếu là CCS thì chỉ đơn giản thế này thôi :
ghi vào eeprom :
write_eeprom(address,value);
address : dịa chỉ vùng nhớ eeporm ( với 16f877 là 256 ô nhớ , mỗi ô nhớ la giá trị 8bit
value : giá trị muốn lưu vào vùng nhớ .
đọc eeprom :
read_eeprom(address);
Có gì thì trao đổi thêm ...

davidquan73
13-03-2011, 10:30 PM
cho minh hoi la address va value co phai khai bao ko

pucapuca123
14-03-2011, 12:39 AM
Bạn sử dụng trình biên dịch nào? nếu là CCS thì chỉ đơn giản thế này thôi :
ghi vào eeprom :
write_eeprom(address,value);
address : dịa chỉ vùng nhớ eeporm ( với 16f877 là 256 ô nhớ , mỗi ô nhớ la giá trị 8bit
value : giá trị muốn lưu vào vùng nhớ .
đọc eeprom :
read_eeprom(address);
Có gì thì trao đổi thêm ...

bạn ơi.mình sử dụng hitechPIC vậy phải khởi tạo như nào để có thể đọc và ghi được vào bộ nhớ EEPROOM của pic 16f886
cám ơn bạn!

pvhieu_di02
21-03-2011, 11:10 PM
May ban oi? Minh co chuong trinh ngat Rb0 doc encoder+ hien thi led 7 doan. su dung qêut led ok roi. Nhung muon luu gia tri vào eefrom Pic. Nhung khi ghi vao eefrom thi led no cu nhay 1 phat roi hien lai tu dau. Ko hieu noi muon lam led ko nhay nua ma van nap vao eprom thi lam sao. May bac chi giao dum nha. Minh xap nop roi mong may anh chi chi cho.

/* ---------- khai bao ngat ------------*/

ext_int_edge(h_to_l);// khai bao suon ngat
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_256); //khai bao timer0 bo dinh thoi, ty le chia tan 64
enable_interrupts(int_ext);
enable_interrupts(int_timer0);//cho phep ngat timer0
enable_interrupts(global);
set_timer0(178);// T_dinhthi = 64*(256 - 100)*0.5us = 5000us

/* ------ bat dau chuong trinh chinh---------- */



while(true)
{

while(!erro)// khiem tra co loi ko
{



tach_lay_so(xung_dem);

for(i=0;i<3;i++)
{

output_a(255);// tat tat ca led
IF(thoigian_ghi==30)// muon 1 thoai gian nao di ghi vao eprom.
{
thoigian_ghi=0;
disable_interrupts(GLOBAL); // all interrupts OFF
write_eeprom(add_donvi,led0);// ghi vao eprom
write_eeprom(add_chuc,led1);
write_eeprom(add_tram,led2);
enable_interrupts(GLOBAL); // all interrupts OFF
enable_interrupts(INT_EXT); //
enable_interrupts(INT_TIMER0); //
}

Nhung ghi la led no chop cai roi moi sang, ghi nua la chop nua.
anh em chi giao nha. Thanks

pvhieu_di02
21-03-2011, 11:12 PM
Ghi eprom trong main cung bi luon, ngat cung bi. Ko biet sao ca. Mong cac bac chi giao

tdm
22-03-2011, 08:49 PM
Ghi eprom trong main cung bi luon, ngat cung bi. Ko biet sao ca. Mong cac bac chi giao
tại vì thời gian ghi vào eeprom mất 5ms.(lúc này led không được quét)