Datasheet
Programming PIC Microcontrollers in BASIC - mikroElektronika
Our following program sends data to EEPROM at address 2. To verify transfer, we’ll read data via 
I2C from EEPROM and send its value to PORTD. For more information on I2C Library consult 
Chapter 5: Built-in and Library Routines.
program EEPROM_test
dim EE_adr as byte
dim EE_data as byte
dim jj as word
main:
 I2C_init(100000) ' Initialize full master mode
 TRISD = 0 ' PORTD is output
 PORTD = $ff ' Initialize PORTD
 I2C_Start ' Issue I2C start signal
 I2C_Wr($a2) ' Send byte via I2C(command to 24cO2)
 EE_adr = 2
 I2C_Wr(EE_adr) ' Send byte(address of EEPROM)
 EE_data = $aa
 I2C_Wr(EE_data) ' Send data(data that will be written)
 I2C_Stop ' Issue I2C stop signal
 for jj = 0 to 65500 ' Pause while EEPROM writes data
 nop
 next jj
 I2C_Start ' Issue I2C start signal
 I2C_Wr($a2) ' Send byte via I2C
 EE_adr = 2
 I2C_Wr(EE_adr) ' Send byte(address for EEPROM)
 I2C_Repeated_Start ' Issue I2C repeated start signal
 I2C_Wr($a3) ' Send byte(request data from EEPROM)
 EE_data = I2C_Rd(1) ' Read the data
 I2C_Stop ' Issue I2C_Stop signal
 PORTD = EE_data ' Print data on PORTD
noend: ' Endless loop
 goto noend
http://www.mikroelektronika.co.yu/english/product/books/picbasicbook/08.htm (4 sur 12)05/11/2004 02:28:29










