0989033444

Liên kết website

  • đào tạo điện tử tự động hóa cơ khí
  • đào tạo điện tử tự động hóa cơ khí

 

Giao tiếp eeprom 24C512

Các ứng dụng trong thực tế hiện nay việc sử dụng vi mạch nhớ eeprom trở nên rất phổ biến

 

 

 

Nó là vi mạch mở rộng bộ nhớ chương trình, ngoài ra chức năng nổi bật của nó là lưu dữ liệu khi mất nguồn điện. Bài hôm nay chúng ta đi tìm hiểu cách sử dụng một vi mạch nhớ đó eeprom 24c512.
Loại chip này có bộ nhớ 64K x 8 (512 Kbit), giao tiếp chuẩn I2C, khả năng ghi xóa 100000 lần .

Sơ đồ:

Trong đó các chân A0 -> A2 để chọn chip, nếu có 1 chip thì nối gnd .
Chân 7 WR cho phép ghi đọc tích cực ở mức thấp -> nối gnd.
Địa chỉ chip trên bus I2C mặc định là là 0xa0.
Địa chỉ dữ liệu là thanh ghi 16 bit bắt đầu từ địa chỉ 0×0000 đến 0xffff. Việc ghi đọc phải tách ra thực hiện thành 2 giá trị 8 bit. Ghi phần giá trị cao trước, thấp sau.

Dưới đây là một ứng dụng sử dụng eeprom trong mạch đếm sản phẩm. Giá trị sản phẩm đếm được sẽ được lưu khi mất điện . Các bạn xem video để biết thêm thông tin.

Mạch mô phỏng :

Code:

#include
#include "24xx512.h"
#include "lcd.h"

unsigned int x,dat;
void init()
{
unsigned char inner, outer;

for (outer = 0x00; outer < 0x10; outer++)
{
for (inner = 0x00; inner < 0xFF; inner++);
}

LCD_init();

for (inner = 0; inner < 10; inner++)
LCD_delay(2);
}

/*****************************Mainfunction*************************************/
void main(void)
{
IE=0x81;// su dung ngat ngoai chan INT0
IT0=1;// ngat suon âm
init();
LCD_row1(); LCD_puts("http://");
LCD_row2(); LCD_puts(" machdientu.net");
LCD_delay(100);
LCD_clear();
LCD_row1(); LCD_puts("Test EEPROM 24xx");
LCD_row2(); LCD_puts("Waiting...");
LCD_delay(50);
LCD_clear();
while(1)
{
LCD_row1(); LCD_puts("So san pham:");
dat = EEPROM_get(0xffff);// doc san pham da luu hien thi len LCD
LCD_row2(); LCD_command(0xc0+2);LCD_number(dat);
LCD_command(0xc0+5);LCD_puts(" SP");
x=dat;// doc lai gia tri bien x khi mat dien
}
} /* End main */

void ngat0(void) interrupt 0
{
x++;
EEPROM_set(0xffff,x);// luu bien san pham eeprom
if(x==999)x=0;
}


http://www.actech.edu.vn