PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Cơ bản về vi điều khiển và PIC

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 24-05-2010, 11:00 AM   #1
sit_alone76816
Đệ tử 2 túi
 
Tham gia ngày: Aug 2008
Bài gửi: 38
:
Lưu data vào EEPROM trong PIC18

Em thấy trong con PIC có vùng EEPROM khoảng 128Bytes. Thế là em định dùng nó để lưu data, nhưng khổ nỗi, em Write và Read thì ok hết, nhưng khi tắt nguồn và On lại thì chăng thấy data đâu nữa, không biết làm thế nào để dữ liệu không bị mất nữa. Code của em như sau :

//Write
EEADR=0x01;
EEDATA=27;
EECON1bits.EEPGD=0;
EECON1bits.CFGS=0;
EECON1bits.WREN=1;

EECON2=0x55;
EECON2=0xaa;
EECON1bits.WR=1;
Delay10KTCYx(150);

EECON1bits.WREN=0;

//Read
EECON1bits.WREN=0;
EEADR=0x01;
EECON1bits.EEPGD=0;
EECON1bits.CFGS=0;
EECON1bits.RD=1;
Delay10KTCYx(150);

c=EEDATA;

Kính mong các anh chị hướng dẫn cho em. Chân thành cảm ơn các anh chị !
sit_alone76816 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 26-05-2010, 04:38 PM   #2
Mr.Bi
Đệ tử 7 túi
 
Tham gia ngày: Jul 2007
Nơi Cư Ngụ: Đà Nẵng
Bài gửi: 188
:
- ghi dữ liệu vào eeprom : write_eeprom( địa chỉ , dữ liệu)
vd : mún ghi dữ liệu 0x55 vào ô nhớ thứ 2 ta làm như sau write_eeprom(2,0x55)
- đọc dữ liệu ra : biến = read(địa chỉ)
vd : đọc dữ liệu từ ô nhớ thứ 5 ta viết a = read(5);
Mr.Bi vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 26-05-2010, 11:52 PM   #3
sit_alone76816
Đệ tử 2 túi
 
Tham gia ngày: Aug 2008
Bài gửi: 38
:
Bạn hổng hiểu ý của mình rồi, ý của bạn là lưu vào rom ngoài, cho nên dùng thư viện có sẵn đó. Nhưng mình dùng là rom nội của PIC nên không thể dùng theo cách đó đuợc đâu !!!
sit_alone76816 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 29-05-2010, 09:44 AM   #4
Mr.Bi
Đệ tử 7 túi
 
Tham gia ngày: Jul 2007
Nơi Cư Ngụ: Đà Nẵng
Bài gửi: 188
:
Trích:
Nguyên văn bởi sit_alone76816 View Post
Bạn hổng hiểu ý của mình rồi, ý của bạn là lưu vào rom ngoài, cho nên dùng thư viện có sẵn đó. Nhưng mình dùng là rom nội của PIC nên không thể dùng theo cách đó đuợc đâu !!!
ek , u còn k phân biệt đc đâu là internal ROM , external ROM mà cũng phán bừa thế . ROM ngoài làm j thực hiện đc những câu lệnh write_eeprom , read_eeprom dễ dàng thế . Những câu lệnh t đưa là áp dụng cho internal ROM đó u . Lạy lun .
Mr.Bi vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 29-05-2010, 09:01 PM   #5
sit_alone76816
Đệ tử 2 túi
 
Tham gia ngày: Aug 2008
Bài gửi: 38
:
ok, tại vì U đang nói vế cách lập trình bằng CCS thì phải. Thật xin lỗi vì mình đã không nói rõ là mình đang dùng MPLAB --> C18, nhưng vấn đề đó không quan tâm. Vì phần ghi và đọc data mình làm ok hết. Nhưng vấn đề là ở chỗ khi mình reset hoặc tắt nguồn thì data lại không còn nữa. Mình hổng biết có vấn đề gì nữa .
sit_alone76816 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 30-05-2010, 09:37 AM   #6
Mr.Bi
Đệ tử 7 túi
 
Tham gia ngày: Jul 2007
Nơi Cư Ngụ: Đà Nẵng
Bài gửi: 188
:
Trích:
Nguyên văn bởi sit_alone76816 View Post
ok, tại vì U đang nói vế cách lập trình bằng CCS thì phải. Thật xin lỗi vì mình đã không nói rõ là mình đang dùng MPLAB --> C18, nhưng vấn đề đó không quan tâm. Vì phần ghi và đọc data mình làm ok hết. Nhưng vấn đề là ở chỗ khi mình reset hoặc tắt nguồn thì data lại không còn nữa. Mình hổng biết có vấn đề gì nữa .
- điều đó có nghĩa u chưa ghi đc vào eeprom nội của PIC .
- Chú í sau mỗi lần nạp code , eeprom trong PIC sẽ bị xóa . có thể u rơi vào trường hợp này . Để khắc phục , trên mạch thiét kế nút bấm, hoặc thiết kế giao diện trên PC , load dữ liệu từ PC xuống PIC .
Mr.Bi vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 30-05-2010, 12:04 PM   #7
sit_alone76816
Đệ tử 2 túi
 
Tham gia ngày: Aug 2008
Bài gửi: 38
:
Cảm ơn U ! Vậy bạn có ghi vào EEprom của pic bao giờ chưa vậy, có thể share cho mình được không ?? Tham khảo thêm !!
sit_alone76816 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 31-05-2010, 12:52 AM   #8
Mr.Bi
Đệ tử 7 túi
 
Tham gia ngày: Jul 2007
Nơi Cư Ngụ: Đà Nẵng
Bài gửi: 188
:
Trích:
Nguyên văn bởi sit_alone76816 View Post
Cảm ơn U ! Vậy bạn có ghi vào EEprom của pic bao giờ chưa vậy, có thể share cho mình được không ?? Tham khảo thêm !!

tui đưa cách ghi đọc eeprom nội dùng trình dịch CCS , còn viết trong MPLAB thì chưa dùng nên k bik rõ

Trích:
Nguyên văn bởi Mr.Bi View Post
- ghi dữ liệu vào eeprom : write_eeprom( địa chỉ , dữ liệu)
vd : mún ghi dữ liệu 0x55 vào ô nhớ thứ 2 ta làm như sau write_eeprom(2,0x55)
- đọc dữ liệu ra : biến = read(địa chỉ)
vd : đọc dữ liệu từ ô nhớ thứ 5 ta viết a = read(5);
Mr.Bi vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


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


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam