EEPROM with CCS

5:12:00 AM
Chào các bạn.
Hôm nay mình sẽ hướng dẫn các bạn sử dụng eeprom nội bên trong chip PIC 16F877A.
1. EEPROM
EEPROM được sử dụng với những mục đíc đặc biệt, để lưu trữ dữ liệu có nhớ (không bị mất khi mất điện), hoặc lưu trữ cấu hình cứng (ví dụ lưu trữ cấu hình FPGA). Trong chip PIC16F877A có khả năng lưu trữ 256bytes EEPROM. Trong CCS có hỗ trợ hai hàm đọc và viết dữ liệu EEPROM.
Hàm viết dữ liệu data vào địa chỉ addr:

write_eeprom(addr,data);
hàm đọc dữ liệu ở địa chỉ addr:
read_eeprom(addr);
2. Ví dụ: 
Trong ví dụ sau ta sẽ viết chuỗi kí tự “MinhHaGroup” vào eeprom sau đó đọc lại chuỗi kí tự đó và hiển thị lên LCD 16x2.
Hàm viết một chuỗi kí tự vào địa chỉ addr.

void eeprom_write_string(unsigned int8 addr,unsigned char*str)
{
  while(*str)
  {
  write_eeprom(addr,*str);
  addr++;
  str++;
  }
}
Hàm đọc len kí tự từ eeprom bắt đầu từ địa chỉ addr.
void eeprom_read_string(unsigned int8 addr, unsigned char* str,unsigned int8 len)
{
  unsigned int8 i;
  for(i=0;i<len;i++)
  {
      str[i]=read_eeprom(addr+i);
  }
  str[len]=0;
}
Nội dung chương trình chính:
void main()
{
  unsigned char str[20];
  unsigned char str2[20];
  LCD_Init();
  sprintf(str,"  DEMO EEPROM");
  delay_ms(10);
  LCD_Puts(str);
  delay_ms(1000);
  LCD_Clear();
  sprintf(str,"chiasedientu");
  LCD_Gotoxy(0,0);
  LCD_Puts(str);
  sprintf(str,"by lam huynh");
  eeprom_write_string(0x04,str);
  while(TRUE)
  {
      eeprom_read_string(0x04,str2,11);
      LCD_Gotoxy(2,1);
      LCD_Puts(str2);
  }
}
Ảnh mô phỏng protues.

Share this

Related Posts

Previous
Next Post »

2 nhận xét

Write nhận xét
9/30/2015 delete

anh cho em cái gmail, em có chương trình này muốn hỏi liên qquan tới eeprom ạ

Reply
avatar
9/30/2015 delete

Link facebook : https://www.facebook.com/profile.php?id=100009232056390

Reply
avatar