' Name : I2CEE674.pbp ' Compiler : PICBASIC PRO Compiler 2.6 ' Assembler : PM or MPASM ' Target PIC : PIC12CE67x or similar with internal I2C EEPROM ' Hardware : Non specific ' Oscillator : internal or external ' Keywords : INTERNAL I2C, EEPROM, I2CREAD, I2CWRITE, SEROUT, STEP ' Description : PICBASIC PRO program to demonstate the I2CREAD and I2WRITE Commands. ' Writes to the first 16 locations of internal I2C EEPROM. Reads first 16 locations ' back and send to serial out repeatedly. Note: for PIC12CE67x MCU's. ' Include "modedefs.bas" ' Include serial modes Define I2C_INTERNAL 1 ADCON1 = 7 ' Set ADC pins to digital operation SO Con 1 ' Define serial output pin DPIN Var GPIO.6 ' Data line to internal EEPROM CPIN Var GPIO.7 ' Clock line to internal EEPROM B0 Var byte B1 Var byte B2 Var byte For B0 = 0 To 15 ' Loop 16 times I2CWRITE DPIN,CPIN,$A0,B0,[B0] ' Write each location's address to itself Pause 10 ' Delay 10ms after each write Next B0 mainloop: For B0 = 0 To 15 step 2 ' Loop 8 times I2CREAD DPIN,CPIN,$A0,B0,[B1,B2] ' Read 2 locations in a row Serout SO,T2400,[#B1," ",#B2," "] ' Print 2 locations Next B0 Serout SO,T2400,[10] ' Print linefeed Goto mainloop End