digital compass using cmp03 sensor
sample code for compass in assembly
SEND_START: ;
SETB _2W_BUSY ; INDICATE THAT 2WIRE
; OPERATION IN PROGRESS
CLR ACK ; CLEAR STATUS FLAGS
CLR BUS_FAULT ;
JNB SCL,FAULT ; CHECK FOR BUS CLEAR
JNB SDA,FAULT ; BEGIN START CONDITION
SETB SDA ;
LCALL SCL_HIGH ; SDA
CLR SDA ;
;
LCALL DELAY ; SCL ^START CONDITION
CLR SCL ;
RET ;
FAULT:
SETB BUS_FAULT ; SET FAULT STATUS
RET ; AND RETURN
SEND_START: ;
SETB _2W_BUSY ; INDICATE THAT 2WIRE
; OPERATION IN PROGRESS
CLR ACK ; CLEAR STATUS FLAGS
CLR BUS_FAULT ;
JNB SCL,FAULT ; CHECK FOR BUS CLEAR
JNB SDA,FAULT ; BEGIN START CONDITION
SETB SDA ;
LCALL SCL_HIGH ; SDA
CLR SDA ;
;
LCALL DELAY ; SCL ^START CONDITION
CLR SCL ;
RET ;
FAULT:
SETB BUS_FAULT ; SET FAULT STATUS
RET ; AND RETURN

Comments
Post a Comment