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

📄 busio.src

📁 采用台湾MRT晶捷公司的MRT4方案的液晶电视的程序
💻 SRC
📖 第 1 页 / 共 5 页
字号:
;                   	slv += 2;
			; SOURCE LINE # 1101
	INC  	slv?1290
	INC  	slv?1290
;               	}
			; SOURCE LINE # 1102
;               	break;
			; SOURCE LINE # 1103
	SJMP 	?C0108
;               }
			; SOURCE LINE # 1104
;         }
			; SOURCE LINE # 1105
?C0109:
	INC  	i?1291
	MOV  	A,i?1291
	CLR  	C
	SUBB 	A,#08H
	JC   	?C0107
?C0108:
;         SendI2CStop();
			; SOURCE LINE # 1106
	LCALL	SendI2CStop
;         miscDelay(15);
			; SOURCE LINE # 1107
	MOV  	R7,#0FH
	MOV  	R6,#00H
	LCALL	_miscDelay
;   }
			; SOURCE LINE # 1108
	SJMP 	?C0102
; 
;   goto endi2c;
			; SOURCE LINE # 1110
; 
; buserror:
			; SOURCE LINE # 1112
; #if DEBUGMSG
;    printf("BUS error (eepDataOut) !!!!\n");
; #endif   
; 
; endi2c:
			; SOURCE LINE # 1117
?_eepDataOut?endi2c:
;    SendI2CStop();
			; SOURCE LINE # 1118
	LCALL	SendI2CStop
;    miscDelay(15);
			; SOURCE LINE # 1119
	MOV  	R7,#0FH
	MOV  	R6,#00H
	LCALL	_miscDelay
; 
; 	WPPin = 1;
			; SOURCE LINE # 1121
	SETB 	WPPin
; 
; #if DISABLEINT0
; 	/* restove interrupt 0 flag */
; 	EX0 =	IntFlag;
			; SOURCE LINE # 1125
	MOV  	C,IntFlag?1292
	MOV  	EX0,C
; #endif
; 
; 
; 
; #else	//fast out
; 
; 
; 	
;     int data byteCnt;
;    unsigned char slv;
; 	
; 
; #if DISABLEINT0
; 	bit IntFlag;
; 
; 	/* disable interrupt 0 */
; 	IntFlag = EX0;
; 	EX0 = 0;
; #endif
; 
; 	WPPin = 0;
; 
;    if(index < 256)
;       slv = SLAVEADDR_EEPW0;
;    else
;    if(index < 512) {
;       slv = SLAVEADDR_EEPW1;
;       index -= 256;
;    } else
;    if(index < 768) {
;       slv = SLAVEADDR_EEPW2;
;       index -= 512;
;    } else {
;       slv = SLAVEADDR_EEPW3;
;       index -= 768;
;    }
; 
;    for(byteCnt = cnt; byteCnt > 0; byteCnt--) {
;        if (index == 256 )
;        {
;        		index = 0;
;        		slv += 2;
;        }	           	   	
;  	   GoI2CMaster(slv);
; 	   if(NoAck | BusFault) 
;          goto buserror;
; 	   SendI2CByte((unsigned char) index++);
; 	   if(NoAck) 
;          goto buserror;
;       SendI2CByte(*s++);
; //      miscDelay(20);
; 	   if(NoAck) goto buserror;
; 	   SendI2CStop();
;       miscDelay(15);
;   }
;   goto endi2c;
; 
; buserror:
; #if DEBUGMSG
;    printf("BUS error (eepDataOut) !!!!\n");
; #endif   
; 
; endi2c:
;    SendI2CStop();
;    
;    WPPin = 1;
; 
; #if DISABLEINT0
; 	/* restove interrupt 0 flag */
; 	EX0 =	IntFlag;
; #endif
;    
; #endif	//fast out
; }
			; SOURCE LINE # 1199
	RET  	
; END OF _eepDataOut

; 
; #if 0
; /*********************************************
; * Send bytes of data to standard device      *
; **********************************************/
; void eepDataInit(unsigned int index, unsigned char *s)
; {
;    int data byteCnt;
;    unsigned char slv, i;
; 
;    if(index == 256) {
;       slv = SLAVEADDR_EEPW1;
;    } else
;    if(index == 512) {
;       slv = SLAVEADDR_EEPW2;
;    } else {
;       slv = SLAVEADDR_EEPW3;
;    }
;    index = 0;
; 
;    for(i = 0; i < 16/EEPBLOCKSIZE*16; i++) {
;       GoI2CMaster(slv);
;       if(NoAck | BusFault) 
;          goto buserror;
;       SendI2CByte((unsigned char)index);
;       if(NoAck) 
;          goto buserror;
;       for(byteCnt = EEPBLOCKSIZE; byteCnt > 0; byteCnt--) {
;          SendI2CByte(*s++);
;       }
;       SendI2CStop();
;       miscDelay(30);
;       index += 8;
;    }
;    return;
; 
; buserror:
; #if DEBUGMSG
;    printf("BUS error during initializing EEPROM !!!!\n");
; #endif   
;    SendI2CStop();
; }
; 
; void eepBlkDataOut(unsigned int index, unsigned char *s, int cnt)
; {
;    int data byteCnt;
;    unsigned char slv;
; 
;    if(index < 256)
;       slv = SLAVEADDR_EEPW0;
;    else
;    if(index < 512) {
;       slv = SLAVEADDR_EEPW1;
;       index -= 256;
;    } else
;    if(index < 768) {
;       slv = SLAVEADDR_EEPW2;
;       index -= 512;
;    } else {
;       slv = SLAVEADDR_EEPW3;
;       index -= 768;
;    }
; 
; loop:
;    if(cnt >= 8) {
; 	  GoI2CMaster(slv);
; 	  if(NoAck | BusFault) 
;         goto buserror;
; 	  SendI2CByte((unsigned char) index);
; 	  if(NoAck) 
;         goto buserror;
;      for(byteCnt = 8; byteCnt > 0; byteCnt--)
;         SendI2CByte1(*s++);
;      SendI2CStop();
;      miscDelay(20);
;      index += 8;
;      cnt -= 8;
;      goto loop;
;    }
;    
;    if(cnt > 0) {
; 	  GoI2CMaster(slv);
; 	  if(NoAck | BusFault) 
;          goto buserror;
; 	  SendI2CByte((unsigned char) index);
; 	  if(NoAck) 
;          goto buserror;
;       for(byteCnt = cnt; byteCnt > 0; byteCnt--)
;          SendI2CByte1(*s++);
;       SendI2CStop();
;   }
;   return;
; 
; buserror:
;    printf("BUS error !!\n");
;    SendI2CStop();
; }
; #endif
; 
; #if (USE_EXTERNALOSD | DEBUGTOOL)
; /*********************************************
; * Read one byte of data from MC141544 (OSD)  *
; **********************************************/
; unsigned char MCByteIn(unsigned char row, unsigned char coln)
; {
; 	unsigned char val;
; 
; 	/* I2C Start and send WRITE slave address */
;  	GoI2CMaster(SLAVEADDR_MCW);
; 	if(NoAck | BusFault) goto buserror;
; 
; 	/* Send row */
; 	SendI2CByte(row);
; 	if(NoAck) goto buserror;
; 
; 	/* Send coln */
; 	SendI2CByte(coln);
; 	if(NoAck) goto buserror;
; 
; 	/* I2C Start and send READ slave address */
;  	GoI2CMaster(SLAVEADDR_MCW | 0x01);
; 	if(NoAck) goto buserror;
; 
; 	/* data transmit */
; 	val = RcvI2CByte(1);
; 
; buserror:	
; 	/* Finish transmition */
; 	SendI2CStop();
; 
; 	return(val);
; }
; 
; /*********************************************
; * Write one byte of data to MC141544 (OSD)   *
; **********************************************/
; void MCByteOut(unsigned char row, unsigned char coln, unsigned char val)
; {
; 	/* I2C Start and send WRITE slave address */
;  	GoI2CMaster(SLAVEADDR_MCW);
; 	if(NoAck | BusFault) goto buserror;
; 
; 	/* Send row */
; 	SendI2CByte(row);
; 	if(NoAck) goto buserror;
; 
; 	/* Send coln */
; 	SendI2CByte(coln);
; 	if(NoAck) goto buserror;
; 
; 	/* data transmit */
; 	SendI2CByte(val);
; 
; buserror:	
; 	/* Finish transmition */
; 	SendI2CStop();
; }
; 
; /*********************************************
; * Read bytes of data from MC141544 (OSD)  *
; **********************************************/
; void MCDataIn(unsigned char row, unsigned char coln, unsigned char *s, int cnt)
; {
; 	unsigned int data byteCnt;
; 
; 	/* I2C Start and send WRITE slave address */
;  	GoI2CMaster(SLAVEADDR_MCW);
; 	if(NoAck | BusFault) goto buserror;
; 
; 	/* Send row */
; 	SendI2CByte(row);
; 	if(NoAck) goto buserror;
; 
; 	/* Send coln */
; 	SendI2CByte(coln);
; 	if(NoAck) goto buserror;
; 
; 	/* I2C Start and send READ slave address */
;  	GoI2CMaster(SLAVEADDR_MCW | 0x01);
; 	if(NoAck) goto buserror;
; 
; 	/* data transmit */
; 	for(byteCnt = cnt; byteCnt > 0; byteCnt--) {
; 		*s++ = RcvI2CByte(byteCnt);
; 	}
; 
; buserror:	
; 	/* Finish transmition */
; 	SendI2CStop();
; }
; #endif
; 
; #if USE_EXTERNALOSD
; /*********************************************
; * Write bytes of data to MC141544 (OSD)      *
; **********************************************/
; void MCDataOut(unsigned char row, unsigned char coln, unsigned char *s, int cnt)
; {
; 	int data byteCnt;
; 
; 	/* I2C Start and send WRITE slave address */
;  	GoI2CMaster(SLAVEADDR_MCW);
; 	if(NoAck | BusFault) goto buserror;
; 
; 	/* Send row */
; 	SendI2CByte(row);
; 	if(NoAck) goto buserror;
; 
; 	/* Send coln */
; 	SendI2CByte(coln);
; 	if(NoAck) goto buserror;
; 
; 	/* data transmit */
; 	for(byteCnt = cnt; byteCnt > 0; byteCnt--) {
; 		SendI2CByte(*s++);
; 		if(NoAck) goto buserror;
; 	}
; 
; buserror:	
; 	/* Finish transmition */
; 	SendI2CStop();
; }
; 
; /*********************************************
; * Write same byte of data to MC141544 (OSD)  *
; **********************************************/
; void MCLoopOut(unsigned char row, unsigned char coln, unsigned char val, int cnt)
; {
; 	int data byteCnt;
; 
; 	/* I2C Start and send WRITE slave address */
;  	GoI2CMaster(SLAVEADDR_MCW);
; 	if(NoAck | BusFault) goto buserror;
; 
; 	/* Send row */
; 	SendI2CByte(row);
; 	if(NoAck) goto buserror;
; 
; 	/* Send coln */
; 	SendI2CByte(coln);
; 	if(NoAck) goto buserror;
; 
; 	/* data transmit */
; 	for(byteCnt = cnt; byteCnt > 0; byteCnt--) {
; 		SendI2CByte(val);
; 		if(NoAck) goto buserror;
; 	}
; 
; buserror:	
; 	/* Finish transmition */
; 	SendI2CStop();
; }
; #endif
; 
; 
; #if SRC_TV
; /*********************************************
; * Send a byte to standard I2C device         *
; **********************************************/
; void I2cByteOut(unsigned char i2caddr, unsigned char index, unsigned char val)
; {
; 	/* I2C Start and send slave address */
;  	GoI2CMaster(i2caddr);
; 	if(NoAck | BusFault) goto buserror;
; 
; 	/* Send index */
; 	SendI2CByte(index);
; 	if(NoAck) goto buserror;
; 
; 	SendI2CByte(val);
; 	if(NoAck) goto buserror;
; 
; buserror:	
; 	SendI2CStop();
; }
; #endif
; 
; #if 0
; /*********************************************
; * Send bytes of data to standard I2C device      *
; **********************************************/
; void I2cDataOut(unsigned char i2caddr, unsigned char *s, char cnt)
; {
; 	/* I2C Start and send slave address */
;  	GoI2CMaster(i2caddr);
; 	if(NoAck | BusFault) goto buserror;
; 
; 	/* Send index */
; 	SendI2CByte(*s++);
; 	if(NoAck) goto buserror;
; 
; 	/* data transmit */
;     while (cnt-- > 0) {
; 		SendI2CByte(*s++);
; 		if(NoAck) goto buserror;
; 	}
; 
; buserror:	
; 	SendI2CStop();
; }
; #endif
; 
; #if (SRC_TV && USE_SAA7114)
; /**********************************************
; * Send Table data to I2C device               *
; ***********************************************/
; void I2cDataTableOut(unsigned char i2caddr, unsigned char *s)
; {
; 	unsigned char cnt;
; 
; 	while ((cnt = *s++) != -1) {
;         I2cDataOut(i2caddr, s, cnt);
; 		s += cnt;
; 	}
; }
; #endif //USE_SAA7114
; 
; #if SRC_TV
; /**********************************************
; * Receive a byte from Standard device         *
; ***********************************************/
; unsigned char I2cByteIn(unsigned char i2caddr, unsigned char index)
; {
; 	unsigned char val;
; 
; 	/* I2C Start and send slave address */
;  	GoI2CMaster(i2caddr);
; 	if(NoAck | BusFault) goto buserror;
; 
; 	/* Send index */
; 	SendI2CByte(index);
; 	if(NoAck) goto buserror;
; 
; 	/* I2C Start and send slave address */
;  	GoI2CMaster(i2caddr | 1);
; 	if(NoAck) goto buserror;
; 
; 	/* data transmit */
; 	val = RcvI2CByte(1);
; 
; buserror:	
; 	/* Finish trasmition */
; 	SendI2CStop();
; 
; 	return val;
; }
; 
; /**********************************************
; * Receive bytes of data from Standard device  *
; ***********************************************/
; void I2cDataIn(unsigned char i2caddr, unsigned char *s, char cnt)
; {
; 	/* I2C Start and send slave address */
;  	GoI2CMaster(i2caddr);
; 	if(NoAck | BusFault) goto buserror;
; 
; 	/* Send index */
; 	SendI2CByte(*s++);
; 	if(NoAck) goto buserror;
; 
; 	/* I2C Start and send slave address */
;  	GoI2CMaster(i2caddr | 1);
; 	if(NoAck) goto buserror;
; 
; 	/* data transmit */
; 	for(; cnt > 0; cnt--) {
; 		*s++ = RcvI2CByte(cnt);
; 	}
; 
; buserror:	
; 	/* Finish trasmition */
; 	SendI2CStop();
; }
; #endif
; 
; 
; 
; #if MRT_VITESSE2
; 
; #if MASCOT_V
; /*********************************************
; * Send a byte to MascotV ADC                 *
; **********************************************/
; void TDAByteOut(unsigned char index, unsigned char val)

	RSEG  ?PR?_TDAByteOut?BUSIO
	USING	0
_TDAByteOut:
;---- Variable 'index?1393' assigned to Register 'R7' ----
;---- Variable 'val?1394' assigned to Register 'R5' ----
			; SOURCE LINE # 1583
; {
			; SOURCE LINE # 1584
;     RegByteOut(index+0x12, val);    //vxz
			; SOURCE LINE # 1585
	MOV  	A,R7
	ADD  	A,#012H
	MOV  	R7,A
	LCALL	_RegByteOut
; }
			; SOURCE LINE # 1586
	RET  	
; END OF _TDAByteOut

; 
; /*********************************************
; * Send data table to Philips TDA8752         *
; **********************************************/
; void TDADataTableOut(unsigned char *tbl)

	RSEG  ?PR?_TDADataTableOut?BUSIO
	USING	0
_TDADataTableOut:
;---- Variable 'tbl?1495' assigned to Register 'R1/R2/R3' ----
			; SOURCE LINE # 1591
; {
			; SOURCE LINE # 1592
; #if MASCOT_VXZ
; 	RegDataOut(0x18, tbl, 4);
			; SOURCE LINE # 1594
	MOV  	R7,#018H
	MOV  	?_RegDataOut?BYTE+04H,#00H
	MOV  	?_RegDataOut?BYTE+05H,#04H
	LCALL	_RegDataOut
; #else	
;     RegDataOut(0x18, tbl+9, 5);
; #endif    
; }
			; SOURCE LINE # 1598
	RET  	
; END OF _TDADataTableOut

; 
; unsigned char TDAByteIn(unsigned char index)

	RSEG  ?PR?_TDAByteIn?BUSIO
	USING	0
_TDAByteIn:
;---- Variable 'index?1596' assigned to Register 'R7' ----
			; SOURCE LINE # 1600
; {
			; SOURCE LINE # 1601
;     return RegByteIn(index+0x12);
			; SOURCE LINE # 1602
	MOV  	A,R7
	ADD  	A,#012H
	MOV  	R7,A
	LCALL	_RegByteIn
; }
			; SOURCE LINE # 1603
?C0118:
	RET  	
; END OF _TDAByteIn

	END

⌨️ 快捷键说明

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