View Single Post
Old 25-02-2009, 12:42 PM   #2
saoden1102
Nhập môn đệ tử
 
saoden1102's Avatar
 
Tham gia ngày: Sep 2006
Bài gửi: 10
:
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.
__________________
Đỉnh của lòng chảo.

thay đổi nội dung bởi: namqn, 26-02-2009 lúc 09:11 PM.
saoden1102 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn