读写24c02里面的数据(IIC通讯)

阅读: 评论:0

读写24c02里面的数据(IIC通讯)

读写24c02里面的数据(IIC通讯)

JSR F_StartMOV #10100000B ;硬件地址+写STR R_Temp0JSR F_Send8Bit;应答位JSR F_Wait_AskLJNC L_MainPress1Key ;应答失败,重新写地址MOV #000H ;           选择00H写数据STR R_Temp0JSR F_Send8Bit;应答位JSR F_Wait_AskLJNC L_MainPress1Key ;应答失败,重新写地址MOV #01010101B ;           把FE写入00HSTR R_Temp0JSR F_Send8Bit;应答位JSR F_Wait_AskLJNC L_MainPress1Key ;应答失败,重新写地址JSR F_SCL_OutLowNOPNOPJSR F_StopNOPNOP                           ;写数据完成L_MainPress1Key1:	JSR F_StartMOV #10100000B ;硬件地址+写STR R_Temp0JSR F_Send8BitJSR F_Wait_AskLJNC L_MainPress1Key ;应答失败,重新写地址MOV #000H ;           选择00H读数据STR R_Temp0JSR F_Send8Bit;应答位JSR F_Wait_AskLJNC L_MainPress1Key1 ;应答失败,重新写地址JSR F_StartMOV #10100001B ;硬件地址+读STR R_Temp0JSR F_Send8BitJSR F_Wait_AskLJNC L_MainPress1Key1 ;应答失败,重新写地址NOPJSR F_SCL_OutLowNOPNOPJSR F_SDA_OutHightNOPNOPJSR F_SDA_InPutHightJSR F_ReadBeatMOV R_Temp2    NOPJSR F_SCL_OutLow             ;给EEprom发送非应答,结束通讯NOPNOPNOPNOPJSR F_SDA_OutHightNOPNOPNOPNOPJSR F_SCL_OutHightNOPNOPNOPNOPJSR F_SCL_OutLowNOPNOPNOPNOPJSR F_SDA_OutLowNOPNOPNOPNOPJSR F_StopMOV R_Temp2NOPJSR F_SCL_OutLowF_ReadBeat:	JSR F_SDA_InPutHightMOV #08STR R_Temp0MOV #00HSTR R_Temp2
L_LOOOP8:	JSR F_SDA_InPutHightNOPNOPJSR F_SCL_OutHightNOPNOPMOV P_P0_DAT	EOR #FFHAND #00001000BLJNZ     L_IS0
L_IS1:	JSR F_SCL_OutLowNOPNOPSET   STATUS,C RCLR  R_Temp2JMP L_CHECKBITL_IS0:		JSR F_SCL_OutLowNOPNOP	CLR   STATUS,C  RCLR  R_Temp2
L_CHECKBIT:MOV R_Temp2DECR 	R_Temp0LJNZ L_LOOOP8RTSF_Stop:	JSR F_SCL_OutHightNOPNOPNOPNOPJSR F_SDA_OutHightNOPNOPNOPNOPRTSF_Wait_Ask:	JSR F_SCL_OutHightNOPNOPJSR F_SDA_InPutHight;JSR F_ScanKeyPortInitJSR	F_ScanDelay	MOV P_P0_DAT	EOR #FFHAND #00001000BLJZ L_Fail
L_AskSucc:JSR F_SDA_OutLowJSR F_SCL_OutLowNOPNOP           SET   STATUS,C  RTS  		
L_Fail:			CLR   STATUS,C  RTS               F_Start:JSR F_SDA_OutHightJSR F_SCL_OutHightNOPNOP	JSR F_SDA_OutLowNOPNOPRTS	F_Send8Bit:MOV #8STR R_Temp1; MOV    R_Temp0L_LOOP8:	RCLR  R_Temp0LJC		L_Send1
L_Send0:	JSR F_SCL_OutLowNOPNOPJSR F_SDA_OutLowNOPNOPJSR F_SCL_OutHightNOPNOPNOPNOPJMP L_DEC_R_Temp1L_Send1:	JSR F_SCL_OutLowNOPNOPJSR F_SDA_OutHightNOPNOPJSR F_SCL_OutHightNOPNOPNOPNOP
L_DEC_R_Temp1:DECR 	R_Temp1LJNZ L_LOOP8NOPNOPNOPNOPNOPJSR  F_SCL_OutLowNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPRTS
F_SDA_InPutHight:		;CWDT					   //清看门狗		默认18ms溢出复位						MOV	  #00001000BSTC	  P0CR       ;1=输入口   有效:BIT 3-0MOV Port0ORA #00001000BSTR	  Port0      ;P0寄存器   有效:BIT 3-0MOV #11110111BSTR	PU2_0      ;0=上拉     有效:BIT 5-0RTS		F_SCL_OutLow:	CWDT	MOV Port0AND #11111011BSTR	  Port0      ;P0寄存器   有效:BIT 3-0; //清看门狗		默认18ms溢出复位						MOV	  #0STC	  P0CR       ;1=输入口   有效:BIT 3-0MOV #FFHSTR	PU2_0      ;0=上拉     有效:BIT 5-0RTS	F_SDA_OutLow:	CWDT		MOV Port0AND #11110111BSTR	  Port0      ;P0寄存器   有效:BIT 3-0			   //清看门狗		默认18ms溢出复位						MOV	  #0STC	  P0CR       ;1=输入口   有效:BIT 3-0MOV #FFHSTR	PU2_0    ;0=上拉     有效:BIT 5-0RTS	F_SDA_OutHight:	CWDT	MOV Port0ORA #00001000BSTR	  Port0      ;P0寄存器   有效:BIT 3-0				   //清看门狗		默认18ms溢出复位						MOV	  #0STC	  P0CR       ;1=输入口   有效:BIT 3-0MOV #FFHSTR	PU2_0  ;0=上拉     有效:BIT 5-0RTS	F_SCL_OutHight:	CWDT	MOV Port0ORA #00000100BSTR	  Port0      ;P0寄存器   有效:BIT 3-0				   //清看门狗		默认18ms溢出复位						MOV	  #0STC	  P0CR       ;1=输入口   有效:BIT 3-0MOV #FFHSTR	PU2_0    ;0=上拉     有效:BIT 5-0RTS		

本文发布于:2024-01-31 16:26:51,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170668961429850.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:通讯   数据   IIC
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23