⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 at24.h

📁 ATmel24系列
💻 H
字号:
;===============================================================================
;
;		headfile for at24
;		R_AddrAt2404:	000h~078H	;31
;				100H~1F0	;61
;		R_AmCh 	R_FmCh
;		R_AddrAt2404
;		R_At2404_Dat1
;		R_At2404_Dat2
;		R_At2404_Dat3
;		R_At2404_Dat4	
;				 Device	Address
;24C02A  2K	256 * 8		 1010 A2 A1 A0 R/W(1/0)
;24C04A  4K	512 * 8          1010 A2 A1 P0 R/W(1/0)
;24C08A  8K	1024 * 8         1010 A2 P1 P0 R/W(1/0)
;24C16A  16K	2048 * 8         1010 P2 P1 P0 R/W(1/0)
;ok
;===============================================================================

StoreToAt24:
			CALL		SetI2cStart

			MOVLW		0A0H			;DEVICE ADDR	00H
			MOVWF		DataB0
			goto		L_StoreTo2404_Sub

StoreToAt24_B:
			CALL		SetI2cStart
			MOVLW		0A2H			;DEVICE ADDR  100H
			MOVWF		DataB0

L_StoreTo2404_Sub:
			CALL		WriteI2cEightBits

			MOVFW		R_AddrAt2404		;WORD ADDR
			MOVWF		DataB0
			CALL		WriteI2cEightBits

			MOVFW		R_At2404_Dat1		;data 1
			MOVWF		DataB0
			CALL		WriteI2cEightBits

			MOVFW		R_At2404_Dat2		;data 2
			MOVWF		DataB0
			CALL		WriteI2cEightBits

			MOVFW		R_At2404_Dat3		;data 3
			MOVWF		DataB0
			CALL		WriteI2cEightBits

			MOVFW		R_At2404_Dat4		;data 4
			MOVWF		DataB0
			CALL		WriteI2cEightBits

			CALL		SetI2cStop

			RET
			
;------------------------------------------------------------------------------------
;
;
;
;------------------------------------------------------------------------------------
;24 PAGE 0
ReadFromAt24:
			CALL		SetI2cStart

			MOVLW		0A0H			;DEVICE ADDR WR
			MOVWF		DataB0
			CALL		WriteI2cEightBits

			MOVFW		R_AddrAt2404		;WORD ADDR
			MOVWF		DataB0
			CALL		WriteI2cEightBits

			CALL		SetI2cStart

			MOVLW		0A1H			;DEVICE ADDR RD
			MOVWF		DataB0
			CALL		WriteI2cEightBits
			goto		L_ReadFromAt24_Sub

;24 PAGE 1
ReadFromAt24_B:			
			CALL		SetI2cStart
			MOVLW		0A2H			;DEVICE ADDR WR
			MOVWF		DataB0
			CALL		WriteI2cEightBits

			MOVFW		R_AddrAt2404		;WORD ADDR
			MOVWF		DataB0
			CALL		WriteI2cEightBits

			CALL		SetI2cStart

			MOVLW		0A3H			;DEVICE ADDR RD
			MOVWF		DataB0
			CALL		WriteI2cEightBits

L_ReadFromAt24_Sub:
			CALL		ReadI2cEightBits
			CALL		SendI2cAck
			MOVFW		DataB0
			MOVWF		R_At2404_Dat1
			
			CALL		ReadI2cEightBits
			CALL		SendI2cAck
			MOVFW		DataB0
			MOVWF		R_At2404_Dat2
			
			CALL		ReadI2cEightBits
			CALL		SendI2cAck
			MOVFW		DataB0
			MOVWF		R_At2404_Dat3
			
			CALL		ReadI2cEightBits
			CALL		SendI2cNoAck
			MOVFW		DataB0
			MOVWF		R_At2404_Dat4
			
			CALL		SetI2cStop
			
			RET

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -