PIC16C74B单片机与AT24C64通讯程序
点击数:7974 次 录入时间:03-04 11:46:02 整理:http://www.55dianzi.com PIC单片机
GOTO TX_FAIL
CALL TX_DATA_ADDR
BTFSS BUSSTA,TX_SUCCESS
GOTO TX_FAIL
MOVLW I2CBUF
MOVWF FSR
MOVLW 07
MOVWF COUNT
T_BYTE_LOOP
MOVF INDF,W
MOVWF TXBUF
CALL I2CTXB
BTFSS BUSSTA,TX_SUCCESS
GOTO TX_FAIL
INCF FSR,F
DECFSZ COUNT,F
GOTO T_BYTE_LOOP
GOTO TX_PASS
TX_FAIL CALL I2CSTOP
BCF BUSSTA,TX_PROGRESS
BCF BUSSTA,TX_SUCCESS
RETLW FALSE
TX_PASS
CALL I2CSTOP
BCF BUSSTA,TX_PROGRESS
RETLW TRUE
;---------------------------------------
;从 EEPROM 中读出数据到 I2CBUF 寄存器
;---------------------------------------
I2CREAD BCF STATUS,RP0
BCF BUSSTA,RX_SUCCESS
CALL I2CSTART
BTFSS BUSSTA,BUS_BUSY
GOTO RX_FAIL
BCF BUSCON,SLAVE_RW
CALL TX_SLAVE_ADDR
BTFSS BUSSTA,TX_SUCCESS
GOTO RX_FAIL
CALL TX_DATA_ADDR
BTFSS BUSSTA,TX_SUCCESS
GOTO RX_FAIL
CALL I2CSTART
BSF BUSCON,SLAVE_RW
CALL TX_SLAVE_ADDR
BTFSS BUSSTA,TX_SUCCESS
GOTO RX_FAIL
BCF BUSSTA,LAST_BYTE_RX
MOVLW I2CBUF
MOVWF FSR
MOVLW 07
MOVWF COUNT
R_BYTE_LOOP
MOVLW 0X01
XORWF COUNT,W
BTFSC STATUS,Z
BSF BUSSTA,LAST_BYTE_RX
CALL I2CRXB
BTFSS BUSSTA,RX_SUCCESS
GOTO RX_FAIL
MOVF RXBUF,W
MOVWF INDF
INCF FSR,F
DECFSZ COUNT,F
GOTO R_BYTE_LOOP
GOTO RX_PASS
RX_FAIL CALL I2CSTOP
BCF BUSSTA,RX_PROGRESS
BCF BUSSTA,RX_SUCCESS
RETLW FALSE
RX_PASS CALL I2CSTOP
BCF STATUS,RP0
BCF BUSSTA,TX_PROGRESS
BCF BUSSTA,RX_PROGRESS
BSF BUSSTA,RX_SUCCESS
RETLW TRUE
;=======================================
; I2C 初始化
;=======================================
上一页 [1] [2] [3] [4] [5] [6] 下一页
本文关键字:单片机 程序 PIC单片机,单片机-工控设备 - PIC单片机