PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Cơ bản về vi điều khiển và PIC (http://www.picvietnam.com/forum/forumdisplay.php?f=8)
-   -   Hỏi về eeprom pic16f877 (http://www.picvietnam.com/forum/showthread.php?t=4559)

dongphutho 17-07-2009 11:14 AM

Hỏi về eeprom pic16f877
 
Có bạn nào biết cho mình hỏi?
pic 16f877 có 256 bye vậy giá trị địa chỉ pic bắt đầu từ 0 và kết thúc ở 255, giá trị data la những so 8bit phải ko?

set_tris_b(0);
write_program_eeprom(0,0xf0);
value= read_eeprom(0);
output_b(valuve);

Mình viết thử cách lưu và đọc chương trình từ eeprom nhưng mô phỏng không thấy bít xuất ra chân b(11110000)? bạn nào biết giải thích rùm mình nhé

lequocbao 17-07-2009 05:56 PM

Trích:

Nguyên văn bởi dongphutho (Post 27781)
Có bạn nào biết cho mình hỏi?
pic 16f877 có 256 bye vậy giá trị địa chỉ pic bắt đầu từ 0 và kết thúc ở 255, giá trị data la những so 8bit phải ko?

set_tris_b(0);
write_program_eeprom(0,0xf0);
value= read_eeprom(0);
output_b(valuve);

Mình viết thử cách lưu và đọc chương trình từ eeprom nhưng mô phỏng không thấy bít xuất ra chân b(11110000)? bạn nào biết giải thích rùm mình nhé

write_program_eeprom(0,0xf0);----------->bạn thử thay = write_eeprom(0,0xf0);
Bạn chịu khó post đầy đủ code lên,rùi mình nghâm cứu cho!

dongphutho 19-07-2009 11:23 AM

ý của mình là muốn ghi dữ liệu lên eeprom và đọc thử ra một port nào đó để kiểm tra lại xem đúng không.
#include<16f877.h>
#use delay(clock=20000000)
int8 value;
void main()
{
set_tris_c(0);
write_program_eeprom(0,0xf0);
value=read_eeprom(0);
output_c(value);
}

lequocbao 20-07-2009 12:27 PM

Trích:

Nguyên văn bởi dongphutho (Post 27850)
ý của mình là muốn ghi dữ liệu lên eeprom và đọc thử ra một port nào đó để kiểm tra lại xem đúng không.
#include<16f877.h>
#use delay(clock=20000000)
int8 value;
void main()
{
set_tris_c(0);
write_program_eeprom(0,0xf0);
value=read_eeprom(0);
output_c(value);
}

bít ngay mà!bạn phải để đoạn code của bạn vào vòng while(true) chứ bạn!

Bluetek212 23-07-2009 09:39 AM

bạn chạy mô phỏng bằng Protues phải ko!Nếu đúng vậy thì mô phỏng eeprom trong proteus chạy ko đúng đâu bạn nhé!mình cũng đã thử rồi, cứ nạp chạy thực tế, mô phỏng đôi khi không tin tưởng được đâu!chúc bạn thành công

silvadk2 26-07-2010 05:21 PM

Chú ý việc đưa lệnh ghi và đọc eeprom vào vòng lặp while(), số lần ghi và đọc vào eeprom là có hạn

nbb3i 27-07-2010 10:01 AM

write_program_eeprom(add,value) là dùng cho dòng 16bit
bạn dùng hàm write_eeprom(add,value) giống như lequocbao nói ý.
Và nên cẩn thận với ghi đọc eeprom vì nó chỉ ghi/xóa được vài trăm nghìn lần thôi à :)
1ms ghi/đọc 1 lần thì chắc dùng được 1 ngày :-P


Múi giờ GMT. Hiện tại là 04:57 PM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam