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