PIC:读写I2C程序

嵌入式设计应用

134人已加入

描述

PIC:读写I2C程序

I2CCTR EQU 10H
I2CAD EQU 11H
REG3 EQU 12H
REG2 EQU 13H
REG1 EQU 14H
REG0 EQU 15H

GENR0 EQU 8H
GENR1 EQU 9H
BIT_COUNT EQU 9H
GENR2 EQU 0AH
BYTE_COUNT EQU 0AH


 movlw 4H
write
 MOVWF BYTE_COUNT
 MOVLW B8583W
WR_ABC
 MOVWF I2CCTR
 MOVFW GENR0
;
WR_MEM
 MOVWF I2CAD
WR_MEM0
 MOVLW IORA
 TRIS RA
 BSF RA,SCL
 MOVLW I2CCTR+$20
 MOVWF FSR
M_START
 NOP
 BTFSS RA,SDA
 RETLW 0FFH
; GOTO ^-1

 MOVLW E2OUT
 TRIS RA
 NOP
 BCF RA,SDA  ; to start
NXBY
WR_BYTE
 MOVLW 8H
 MOVWF BIT_COUNT
BIT_LOOP
 nop
 RLF 0H
 BCF RA,SCL
 BTFSS 3,0
 GOTO ^+3
 BSF RA,SDA
 GOTO ^+2
 BCF RA,SDA
 NOP
 NOP

 BSF RA,SCL
 DECFSZ BIT_COUNT
 GOTO BIT_LOOP
 NOP
 NOP
 BCF RA,SCL
 NOP
ACKG
 NOP
 MOVLW IORA
 TRIS RA
 BSF RA,SCL
 NOP
 BTFSC RA,SDA
 GOTO ACKG

 INCF FSR
 NOP
 bcf RA,SCL
 MOVLW E2OUT
 TRIS RA
 DECFSZ BYTE_COUNT
 GOTO NXBY
;
W_STOP
 MOVLW I2CAD+$0A2
 SUBWF FSR,W
 BTFSS 3,0
 RETLW 0H
M_STOP
 BCF RA,SDA
 NOP
 BSF RA,SCL
 MOVLW IORA
 NOP
 NOP
 NOP
 BSF RA,SDA
 TRIS RA
 RETLW 0H

;------------------------------
;
ST_CMEMAD
 MOVFW GENR0
 MOVWF I2CAD
 MOVLW C02W
 MOVWF I2CCTR
 MOVLW C02R
 MOVWF REG3
;
ST_MEMAD
 MOVLW 2
 MOVWF BYTE_COUNT
 CALL WR_MEM0
 MOVLW 1
 MOVWF BYTE_COUNT
 MOVFW REG3
 MOVWF I2CCTR
 CALL WR_MEM0
 RETLW 0H
;--------------------------

RD_BYTES
 MOVWF BYTE_COUNT
 MOVLW REG3+$20
 MOVWF FSR
RNXTB
 BCF RA,SCL
 MOVLW IORA
 tris RA
 MOVLW 8H
 MOVWF BIT_COUNT
RNX
 BCF RA,SCL
 NOP
 BCF 3H,0
 BTFSC RA,SDA
 BSF 3H,0
 RLF 0H

 BSF RA,SCL
 NOP
 DECFSZ BIT_COUNT
 GOTO RNX

 INCF FSR
 MOVLW E2OUT
 BCF RA,SCL
 TRIS RA
 DECFSZ BYTE_COUNT
 GOTO T_ACKG
R_STOP
 CALL M_STOP
 RETLW 0H
;
T_ACKG
 BCF RA,SDA
 NOP
 BSF RA,SCL
 XORLW 0FFH
 XORLW 0FFH
 XORLW 0FFH
 GOTO RNXTB

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
评论(0)
发评论
BDLM235 2022-08-23
0 回复 举报
http://house.china.com.cn/sousou/%25C9%25CF%25B7%25D6%252C%2B%25C3%25E5%25B1%25B1%25C5%25B7%25D1%25C7%25C6%25BD%25CC%25A8B2024.cN%252C%25CB%25C4%25C6%25BD%25CC%25FA%25CD%25A8_4s.htm http://house.china.com.cn/sousou/%25D4%25DA%25CF%25DF%25BF%25CD%25B7%25FE%252C%2B%25F6%25CE%25B0%25D9%25C0%25FB%25D3%25E9%25C0%25D6B2024.cN%252C%25D0%25EC%25D6%25DD%25B5%25E7%25CA%25D3%25CC%25A8_2s.htm http://house.china.com.cn/sousou/%25B9%25D9%25B7%25BD%25CD%25F8%25D5%25BE%252C%2B%25C0%25CF%25B0%25D9%25CA%25A4%25BC%25AF%25CD%25C5B2024.cN%252C%25C0%25C8%25B7%25BB%25BD%25DA%25C4%25BF%25D7%25E9_2s.htm http://house.china.com.cn/sousou/%25CA%25D7%25D2%25B3%252C%2B%25C3%25E5%25B1%25B1%25D3%25F1%25BA%25CD%25C6%25BD%25CC%25A8B2024.cN%252C%25B2%25D7%25D6%25DD%25D2%25C6%25B6%25AF_2s.htm http://house.china.com.cn/sousou/%25C9%25CF%25B7%25D6%252C%2B%25B5%25CF%25CD%25FE%25D3%25E9%25C0%25D6%25B3%25C7B2024.cN_8s.htm 收起回复
  • 相关推荐
  • 热点推荐
  • 写I2C

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分