ME Labs, Inc.
719-520-5323
 
Home:
  Developer Resources:

Programming Clues
    Sample Programs
   
    PICBASIC PRO™
Compiler Manual
    PICBASIC™ Compiler
Manual
    Serin2/Serout2 Modes
    ASCII Character Set
    Number Conversion
    Floating Point
Routines
    PBP Debug Monitor
    Articles and Tutorials

Hardware Clues
    Parts / Vendor List
    PICPROTO™ Boards
    LAB-X1 Docs
    LAB-X2 Docs
    LAB-X20 Docs
    LAB-X3 Docs
    LAB-X4 Docs
    LAB-XUSB Docs
    LAB-XT Docs
     
 

microEngineering Labs, Inc. | 1-719-520-5323 | Example Program - I2CEE674.pbp

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 MCUs.
' 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

           

Download the program file.