Làm eeprom 24cxx đi anh. em cũng đang muốn làm con này. mà em ko hiểu tại sao em ko ghi được vào rom. em noi 2 chan A0,A1 voi dat. su dung CCs để viết
Code:
#include <16F877A.h>
#include <DEFS_16F877A.h>
#include <def_877a.h>
//#include <pic.h>
#device *=16// ADC=10
#fuses NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT
#use delay(clock=20000000)
#use rs232(baud=19200,parity=N,xmit=PIN_C6,rcv=PIN_C7)
#use i2c(master,sda=PIN_C4, scl=PIN_C3, force_hw,Slow)
void write_eeprom(long int address,unsigned char data)
{
int upper_addr;
int lower_addr;
upper_addr=(int)(address >> 8);
lower_addr=(int)(address & 0x00FF);
i2c_start();
i2c_write(0xa0);
i2c_write(upper_addr);
i2c_write(lower_addr);
i2c_write(data);
i2c_stop();
delay_ms(11);
}
//********************************************************
unsigned char read_eeprom(long int address)
{
unsigned char data;
int upper_addr;
int lower_addr;
upper_addr=(int)(address >> 8);
lower_addr=(int)(address & 0x00FF);
i2c_start();
i2c_write(0xa0);
i2c_write(upper_addr);
i2c_write(lower_addr);
i2c_start();
i2c_write(0xa1);
data=i2c_read(0);
i2c_stop();
return(data);
}
//------------------------ax25---------------------------
main()
{
//lam gi thi lam
}
các cao thu xem họ em hai hàm ghi và đọc rom(24c512) có gì sai ko mà em ko đoc được với a.