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

📄 iic_protocol.asm

📁 i2c protocol,this program to 8951 hardware systems
💻 ASM
字号:
/********************************************************
*	Author: hq.yin                                  *
*	Copyright: HQ.YIN MicroProcessor Laboratory     *
********************************************************/

SCL EQU P1.0
SDA EQU P1.1

/*start*/
START:
	SET SDA
	SET SCL
	CALL DELAY
	CLR SDA
	CALL DELAY
	CLR SCL
	CALL DELAY
	RET

/*stop*/
STOP:
	CLR SDA
	CLR SCL
	CALL DELAY
	SET SCL
	CALL DELAY
	SET SDA
	CALL DELAY
	RET

/*
****************************************
* send data
* reference: R6 is you want to send data
****************************************
*/
SEND:
	MOV R7,#0x09
	MOV A,R6
	CLR SDA
	CLR SCL
	CALL DELAY
blop:	RRC A		/*8th loop*/
	MOV SDA,C
	CALL DELAY
	SET SCL
	CALL DELAY
	CLR SCL
	CALL DELAY
	DJNZ R7,blop
	RET

/*
*****************************************
* receive data
* reference: R6 is you receive register
*****************************************
*/
RECEIVE:
	CLR A
	CLR C
	MOV R7,A
	CLR SCL
	SET SDA
	CALL DELAY
wch:	SET SCL		/*8th loop*/
	CALL DELAY
	INC R7
	MOV C,SDA
	RLC A
	CALL DELAY
	CLR SCL
	CALL DELAY
	CJNE R7,#0x08,wch
	MOV R6,A
	RET

/*answer*/
ANS:
	CLR SCL
	CLR SDA
	CALL DELAY
	SET SCL
	CALL DELAY
	CLR SCL
	CALL DELAY
	RET

/*check ANS*/
CANS:
	RET

/*delay*/
DELAY:	/*24 Mhz,total time :0.1 ms*/
	MOV A,#0x0c8
	MOV R7,A
del:	DJNZ R7,del
	RET




⌨️ 快捷键说明

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