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

📄 access.src

📁 Realtek 公司的RTD2523A芯片原厂source code,没有被修改过的。
💻 SRC
📖 第 1 页 / 共 4 页
字号:
; .\Output\Access.SRC generated from: Code\Access.c

$NOMOD51

NAME	ACCESS

P0	DATA	080H
P1	DATA	090H
P2	DATA	0A0H
P3	DATA	0B0H
T0	BIT	0B0H.4
AC	BIT	0D0H.6
T1	BIT	0B0H.5
T2	BIT	090H.0
EA	BIT	0A8H.7
IE	DATA	0A8H
bIR_GPIO	BIT	0B0H.2
EXF2	BIT	0C8H.6
RD	BIT	0B0H.7
ES	BIT	0A8H.4
IP	DATA	0B8H
bVDC_PWR	BIT	0B0H.1
bRTD_IRQ	BIT	080H.6
RI	BIT	098H.0
INT0	BIT	0B0H.2
CY	BIT	0D0H.7
TI	BIT	098H.1
INT1	BIT	0B0H.3
RCAP2H	DATA	0CBH
PS	BIT	0B8H.4
SP	DATA	081H
T2EX	BIT	090H.1
OV	BIT	0D0H.2
RCAP2L	DATA	0CAH
bRTD_RST	BIT	0B0H.1
bRTD_PWR	BIT	090H.4
C_T2	BIT	0C8H.1
WR	BIT	0B0H.6
bRIGHT_KEY	BIT	0B0H.5
bENTER_KEY	BIT	0B0H.4
RCLK	BIT	0C8H.5
bVGA_CONNECT	BIT	0A0H.5
bPANEL_PWR	BIT	090H.0
TCLK	BIT	0C8H.4
SBUF	DATA	099H
PCON	DATA	087H
bDVI_CONNECT	BIT	080H.7
SCON	DATA	098H
TMOD	DATA	089H
TCON	DATA	088H
bLIGHT_PWR	BIT	090H.1
bPOWER_KEY	BIT	0B0H.7
IE0	BIT	088H.1
IE1	BIT	088H.3
B	DATA	0F0H
CP_RL2	BIT	0C8H.0
ACC	DATA	0E0H
ET0	BIT	0A8H.1
ET1	BIT	0A8H.3
TF0	BIT	088H.5
ET2	BIT	0A8H.5
TF1	BIT	088H.7
TF2	BIT	0C8H.7
RB8	BIT	098H.2
TH0	DATA	08CH
EX0	BIT	0A8H.0
IT0	BIT	088H.0
TH1	DATA	08DH
TB8	BIT	098H.3
EX1	BIT	0A8H.2
IT1	BIT	088H.2
TH2	DATA	0CDH
P	BIT	0D0H.0
SM0	BIT	098H.7
TL0	DATA	08AH
SM1	BIT	098H.6
TL1	DATA	08BH
SM2	BIT	098H.5
TL2	DATA	0CCH
PT0	BIT	0B8H.1
PT1	BIT	0B8H.3
RS0	BIT	0D0H.3
PT2	BIT	0B8H.5
TR0	BIT	088H.4
RS1	BIT	0D0H.4
TR1	BIT	088H.6
TR2	BIT	0C8H.2
PX0	BIT	0B8H.0
bLEFT_KEY	BIT	0B0H.6
PX1	BIT	0B8H.2
bRTD_SCSB	BIT	090H.7
bRTD_SCLK	BIT	090H.6
DPH	DATA	083H
DPL	DATA	082H
bMENU_KEY	BIT	0B0H.3
EXEN2	BIT	0C8H.3
REN	BIT	098H.4
bDDC_SDA	BIT	0B0H.0
T2CON	DATA	0C8H
bRTD_SDIO_0	BIT	090H.5
RXD	BIT	0B0H.0
TXD	BIT	0B0H.1
bDDC_SCL	BIT	0B0H.1
bIIC_SDA	BIT	090H.3
F0	BIT	0D0H.5
bTMDS_PWR	BIT	0A0H.2
bLVDS_PWR	BIT	0B0H.7
PSW	DATA	0D0H
bIIC_SCL	BIT	090H.2
?PR?BitDly?ACCESS    SEGMENT CODE 
?PR?_I2CRead?ACCESS  SEGMENT CODE 
?DT?_I2CRead?ACCESS  SEGMENT DATA OVERLAYABLE 
?PR?_I2CWrite?ACCESS SEGMENT CODE 
?DT?_I2CWrite?ACCESS SEGMENT DATA OVERLAYABLE 
?PR?_I2CGetByte?ACCESS                   SEGMENT CODE 
?PR?_I2CSendByte?ACCESS                  SEGMENT CODE 
?PR?_I2CSendAddr?ACCESS                  SEGMENT CODE 
?PR?I2CSendStop?ACCESS                   SEGMENT CODE 
?PR?RTDGetByte?ACCESS                    SEGMENT CODE 
?PR?_RTDSendByte?ACCESS                  SEGMENT CODE 
?PR?_RTDSendAddr?ACCESS                  SEGMENT CODE 
?PR?RTDSendStop?ACCESS                   SEGMENT CODE 
?PR?_RTDRead?ACCESS  SEGMENT CODE 
?PR?_RTDWrite?ACCESS SEGMENT CODE 
?PR?_RTDCodeW?ACCESS SEGMENT CODE 
?DT?_RTDCodeW?ACCESS SEGMENT DATA OVERLAYABLE 
?PR?_RTDOSDW?ACCESS  SEGMENT CODE 
?DT?_RTDOSDW?ACCESS  SEGMENT DATA OVERLAYABLE 
?PR?_RTDSetByte?ACCESS                   SEGMENT CODE 
?PR?_RTDSetBit?ACCESS                    SEGMENT CODE 
?PR?_Load_VLC_Font?ACCESS                SEGMENT CODE 
?DT?_Load_VLC_Font?ACCESS                SEGMENT DATA OVERLAYABLE 
?PR?_Get_VLD?ACCESS  SEGMENT CODE 
?DT?_Get_VLD?ACCESS  SEGMENT DATA OVERLAYABLE 
?BI?_Get_VLD?ACCESS  SEGMENT BIT OVERLAYABLE 
?PR?_Getbit?ACCESS   SEGMENT CODE 
?DT?ACCESS           SEGMENT DATA 
?BI?ACCESS           SEGMENT BIT 
?BA?ACCESS           SEGMENT DATA BITADDRESSABLE 
?ID?_Load_VLC_Font?ACCESS                SEGMENT IDATA OVERLAYABLE 
?PR?ACCESS           SEGMENT CODE 
	EXTRN	CODE (?C?CLDPTR)
	EXTRN	CODE (?C?CLDOPTR)
	PUBLIC	Data?
	PUBLIC	uiCount
	PUBLIC	ucByte_Temp
	PUBLIC	r7?
	PUBLIC	r6?
	PUBLIC	r5?
	PUBLIC	r4?
	PUBLIC	r3?
	PUBLIC	r2?
	PUBLIC	r1?
	PUBLIC	r0?
	PUBLIC	Reg
	PUBLIC	bBit
	PUBLIC	ucCnt
	PUBLIC	_Getbit
	PUBLIC	_Get_VLD
	PUBLIC	_Load_VLC_Font
	PUBLIC	_RTDSetBit
	PUBLIC	_RTDSetByte
	PUBLIC	_RTDOSDW
	PUBLIC	_RTDCodeW
	PUBLIC	_RTDWrite
	PUBLIC	_RTDRead
	PUBLIC	RTDSendStop
	PUBLIC	_RTDSendAddr
	PUBLIC	_RTDSendByte
	PUBLIC	RTDGetByte
	PUBLIC	I2CSendStop
	PUBLIC	_I2CSendAddr
	PUBLIC	_I2CSendByte
	PUBLIC	_I2CGetByte
	PUBLIC	_I2CWrite
	PUBLIC	_I2CRead
	PUBLIC	BitDly

	RSEG  ?DT?_RTDOSDW?ACCESS
?_RTDOSDW?BYTE:
     array?1468:   DS   2

	RSEG  ?DT?_I2CRead?ACCESS
?_I2CRead?BYTE:
       addr?140:   DS   1
      count?142:   DS   1
	ORG  2
          n?143:   DS   1

	RSEG  ?DT?_RTDCodeW?ACCESS
?_RTDCodeW?BYTE:
     array?1365:   DS   2

	RSEG  ?DT?_Load_VLC_Font?ACCESS
?_Load_VLC_Font?BYTE:
     array?1775:   DS   2
     start?1776:   DS   2
    length?1777:   DS   2
	ORG  6
         m?1779:   DS   1
    ucTemp?1780:   DS   3

	RSEG  ?DT?_I2CWrite?ACCESS
?_I2CWrite?BYTE:
      array?244:   DS   3
	ORG  3
          n?245:   DS   1
        len?246:   DS   1

	RSEG  ?DT?_Get_VLD?ACCESS
?_Get_VLD?BYTE:
     array?1882:   DS   2
	ORG  2
ucZero_Cnt?1883:   DS   1

	RSEG  ?BI?_Get_VLD?ACCESS
?_Get_VLD?BIT:
 bSec_Part?1884:   DBIT   1

	RSEG  ?DT?ACCESS
          ucCnt:   DS   1
    ucByte_Temp:   DS   1
        uiCount:   DS   2
          Data?:   DS   16

	RSEG  ?BI?ACCESS
           bBit:   DBIT   1

	RSEG  ?BA?ACCESS
            Reg:   DS   1
r0?	EQU	(Reg+0).0
r1?	EQU	(Reg+0).1
r2?	EQU	(Reg+0).2
r3?	EQU	(Reg+0).3
r4?	EQU	(Reg+0).4
r5?	EQU	(Reg+0).5
r6?	EQU	(Reg+0).6
r7?	EQU	(Reg+0).7

	RSEG  ?ID?_Load_VLC_Font?ACCESS
ucTemp_VLD?1781:   DS   3
; #define __ACCESS__
; 
; #include "reg52.h"
; #include "intrins.h"
; 
; #include "Header\MAIN_DEF.H"
; #include "Header\ACCESS.h"
; #include "Header\CONFIG.H"
; #include "Header\MTV512.H"
; #include "Header\OSD.H"
; #include "Header\Power_Ctrl.h"
; 
; #if (MCU_TYPE == MCU_MTV512)
; ///////////////////////////////////////////////////////////////////////
; // SCL Processor                                                                                                //
; ///////////////////////////////////////////////////////////////////////
; void MCU_WriteI2cScl(bit Status)
; {
;     bIIC_SCL    = Status;
; }	
; ///////////////////////////////////////////////////////////////////////
; // SDA Processor                                                                                               //
; ///////////////////////////////////////////////////////////////////////
; void MCU_WriteI2cSda(bit Status)
; {
;     bIIC_SDA    = Status;
; }	
; 
; bit MCU_ReadI2cSda(void)
; {
;     return (bIIC_SDA);
; }		
; ///////////////////////////////////////////////////////////////////////
; // RTD Reset Processor                                                                                      //
; ///////////////////////////////////////////////////////////////////////
; #if (RESET_TYPE == RESET_IN)
; void MCU_WriteRtdReset(bit Status)
; {
;     bRTD_RST    = Status;
; }
; 
; bit MCU_ReadRtdReset(void)
; {
;     return (bRTD_RST);
; }	
; #endif
; 
; 	
; ///////////////////////////////////////////////////////////////////////
; // RTD SDIO Processor                                                                                       //
; ///////////////////////////////////////////////////////////////////////
; /*
; void MCU_WriteRtdSdio(bit Status)
; {
;        bRTD_SDIO_0 = Status;
; }	
; 
; bit MCU_ReadRtdSdio(void)
; {
;        return(bRTD_SDIO_0);
; }	
; 
; ///////////////////////////////////////////////////////////////////////
; // RTD Sclk Processor                                                                                        //
; ///////////////////////////////////////////////////////////////////////
; void MCU_WriteRtdSclk(bit Status)
; {
;     bRTD_SCLK   = Status;
; }	
; ///////////////////////////////////////////////////////////////////////
; // RTD Scsb Processor                                                                                       //
; ///////////////////////////////////////////////////////////////////////
; void MCU_WriteRtdScsb(bit Status)
; {
;     bRTD_SCSB   = Status;
; }	
; */
; ///////////////////////////////////////////////////////////////////////
; // VIDEO POWER Processor                                                                                //
; ///////////////////////////////////////////////////////////////////////
; #if (VIDEO_CHIP != VDC_NONE)
; void MCU_WriteVideoPower(bit Status)
; {
;     bVDC_PWR    = Status;
; }	
; #endif
; 
; ///////////////////////////////////////////////////////////////////////
; // PANEL POWER Processor                                                                                 //
; ///////////////////////////////////////////////////////////////////////
; void MCU_WritePanelPower(bit Status)
; {
;     bPANEL_PWR  = Status;
; }	
; 
; ///////////////////////////////////////////////////////////////////////
; // BACKLIGHT POWER Processor                                                                         //
; ///////////////////////////////////////////////////////////////////////
; void MCU_WriteBacklightPower(bit Status)
; {	
;     bLIGHT_PWR  = (Status);
; }
; 
; 
; ///////////////////////////////////////////////////////////////////////
; // VGA CONNECT Processor                                                                                //
; ///////////////////////////////////////////////////////////////////////
; bit MCU_ReadVgaConnect(void)
; {
;     return (bVGA_CONNECT);
; }
; 
; #endif
; 

	RSEG  ?PR?ACCESS
Com008D:
L?0142:
	USING	0
	MOV  	bRTD_SDIO_0,C
	SETB 	bRTD_SCLK
	CLR  	bRTD_SCLK
	MOV  	C,ACC.1
	MOV  	bRTD_SDIO_0,C
	SETB 	bRTD_SCLK
	CLR  	bRTD_SCLK
	MOV  	C,ACC.2
	MOV  	bRTD_SDIO_0,C
	SETB 	bRTD_SCLK
	CLR  	bRTD_SCLK
	MOV  	C,ACC.3
	MOV  	bRTD_SDIO_0,C
	SETB 	bRTD_SCLK
	CLR  	bRTD_SCLK
	MOV  	C,ACC.4
	MOV  	bRTD_SDIO_0,C
	SETB 	bRTD_SCLK
	CLR  	bRTD_SCLK
	MOV  	C,ACC.5
	MOV  	bRTD_SDIO_0,C
	SETB 	bRTD_SCLK
	CLR  	bRTD_SCLK
	MOV  	C,ACC.6
	MOV  	bRTD_SDIO_0,C
	SETB 	bRTD_SCLK
	CLR  	bRTD_SCLK
	RLC  	A
L?0143:
	MOV  	bRTD_SDIO_0,C
	SETB 	bRTD_SCLK
	CLR  	bRTD_SCLK
	RET  	
L?0147:
	USING	0
L?0148:
	CLR  	A
L?0149:
	MOV  	DPL,array?1468+01H
	MOV  	DPH,array?1468
	MOVC 	A,@A+DPTR
	RET  	
L?0151:
	USING	0
L?0152:
	SETB 	bRTD_SCLK
	CLR  	bRTD_SCLK
	MOV  	C,bRTD_SDIO_0
	RET  	
L?0158:
	USING	0
	MOVC 	A,@A+DPTR
	MOV  	R7,A
	CLR  	A
	MOV  	R5,A
	LCALL	_RTDSendAddr
	MOV  	A,#02H
	ADD  	A,array?1365+01H
	MOV  	array?1365+01H,A
	CLR  	A
	ADDC 	A,array?1365
	MOV  	array?1365,A
	RET  	
L?0159:
	USING	0
	MOV  	bIIC_SDA,C
	LCALL	BitDly
L?0160:
	SETB 	bIIC_SCL
	LCALL	BitDly
	CLR  	bIIC_SCL
	RET  	
L?0161:
	USING	0
	ADDC 	A,uiCount
	MOV  	DPH,A
	CLR  	A
	MOVC 	A,@A+DPTR
	MOV  	ucByte_Temp,A
	MOV  	ucCnt,#080H
	INC  	uiCount+01H
	MOV  	A,uiCount+01H
	RET  	
L?0162:
	USING	0
	MOV  	A,ucByte_Temp
	ANL  	A,ucCnt
	ADD  	A,#0FFH
	MOV  	bBit,C
	MOV  	A,ucCnt
	CLR  	C
	RRC  	A
	MOV  	ucCnt,A
	RET  	
L?0163:
	USING	0
	LCALL	RTDSendStop
	CLR  	bRTD_SCSB
	INC  	R3
	MOV  	R7,#092H
	LJMP 	_RTDSendAddr
L?0165:
	USING	0
	CLR  	bRTD_SCSB
	CLR  	A
	MOV  	R3,A
	MOV  	R5,A
	MOV  	R7,#090H
	LJMP 	_RTDSendAddr
L?0166:
	USING	0
L?0167:
	INC  	array?1468+01H
	MOV  	A,array?1468+01H
	MOV  	R6,array?1468
	RET  	
L?0168:
	USING	0
	MOV  	A,#01H
	MOVC 	A,@A+DPTR
	ADD  	A,#0FCH
	MOV  	R7,A
	LJMP 	_RTDSendByte
; END OF Com008D

; void BitDly(void)

	RSEG  ?PR?BitDly?ACCESS
BitDly:
			; SOURCE LINE # 115
; {
			; SOURCE LINE # 116
;     _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();
			; SOURCE LINE # 117
	NOP  	
	NOP  	
	NOP  	
	NOP  	
	NOP  	
	NOP  	
	NOP  	
	NOP  	
;     _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();
			; SOURCE LINE # 118
	NOP  	
	NOP  	
	NOP  	
	NOP  	
	NOP  	
	NOP  	
	NOP  	
	NOP  	
;     _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();
			; SOURCE LINE # 119
	NOP  	
	NOP  	
	NOP  	
	NOP  	
	NOP  	
	NOP  	
	NOP  	
	NOP  	
;     _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();
			; SOURCE LINE # 120
	NOP  	
	NOP  	
	NOP  	
	NOP  	
	NOP  	
	NOP  	
	NOP  	
	NOP  	
; }
			; SOURCE LINE # 121
	RET  	
; END OF BitDly

; 
; void I2CRead(unsigned char addr, unsigned char index, unsigned char count)

	RSEG  ?PR?_I2CRead?ACCESS
_I2CRead:
	USING	0
			; SOURCE LINE # 123
	MOV  	addr?140,R7
	MOV  	count?142,R3
;---- Variable 'index?141' assigned to Register 'R5' ----
; {
			; SOURCE LINE # 124
;     unsigned char   n;
; 
;     if (count)
			; SOURCE LINE # 127
	MOV  	A,count?142
	JZ   	?C0006
;     {
			; SOURCE LINE # 128
;         I2CSendAddr(addr, index, 0);
			; SOURCE LINE # 129
	CLR  	A
	MOV  	R3,A
	LCALL	_I2CSendAddr
;         
;         I2CSendAddr(addr, 0, 1);
			; SOURCE LINE # 131
	MOV  	R3,#01H
	CLR  	A
	MOV  	R5,A
	MOV  	R7,addr?140
	LCALL	_I2CSendAddr
; 
;         count   = count - 1;
			; SOURCE LINE # 133
	DEC  	count?142
; 
;         for (n = 0; n < count; n++)     Data[n] = I2CGetByte(0);
			; SOURCE LINE # 135
	CLR  	A
	MOV  	n?143,A
?C0003:
	MOV  	A,n?143
	CLR  	C
	SUBB 	A,count?142
	JNC  	?C0004
	CLR  	A
	MOV  	R7,A
	LCALL	_I2CGetByte
	MOV  	A,#LOW (Data?)
	ADD  	A,n?143
	MOV  	R0,A
	MOV  	@R0,AR7
	INC  	n?143
	SJMP 	?C0003
?C0004:
; 
;         Data[count] = I2CGetByte(1);
			; SOURCE LINE # 137
	MOV  	R7,#01H
	LCALL	_I2CGetByte
	MOV  	A,#LOW (Data?)
	ADD  	A,count?142
	MOV  	R0,A
	MOV  	@R0,AR7
; 
;         I2CSendStop();
			; SOURCE LINE # 139
	LCALL	I2CSendStop
;     }
			; SOURCE LINE # 140
; }
			; SOURCE LINE # 141
?C0006:
	RET  	
; END OF _I2CRead

; 
; void I2CWrite(unsigned char *array)

	RSEG  ?PR?_I2CWrite?ACCESS
_I2CWrite:
	USING	0
			; SOURCE LINE # 143
	MOV  	array?244,R3
	MOV  	array?244+01H,R2
	MOV  	array?244+02H,R1
; {
			; SOURCE LINE # 144
;     unsigned char   n, len;
; 
;     if (3 <= array[0])
			; SOURCE LINE # 147
	LCALL	?C?CLDPTR
	MOV  	R7,A
	MOV  	A,#03H
	SETB 	C
	SUBB 	A,R7
	JNC  	?C0011
;     {
			; SOURCE LINE # 148
;         len     = array[0];
			; SOURCE LINE # 149
	MOV  	len?246,R7
;         I2CSendAddr(array[1], array[2], 0);     
			; SOURCE LINE # 150
	MOV  	DPTR,#01H
	LCALL	?C?CLDOPTR
	MOV  	R7,A
	MOV  	DPTR,#02H
	LCALL	?C?CLDOPTR
	MOV  	R5,A
	CLR  	A
	MOV  	R3,A
	LCALL	_I2CSendAddr
; 
;         for (n = 3; n < len; n++)   I2CSendByte(array[n]);
			; SOURCE LINE # 152
	MOV  	n?245,#03H
?C0008:
	MOV  	A,n?245
	CLR  	C
	SUBB 	A,len?246
	JNC  	?C0009
	MOV  	R3,array?244
	MOV  	R2,array?244+01H
	MOV  	R1,array?244+02H
	MOV  	DPL,n?245
	MOV  	DPH,#00H
	LCALL	?C?CLDOPTR
	MOV  	R7,A
	LCALL	_I2CSendByte
	INC  	n?245
	SJMP 	?C0008
?C0009:
; 
;         I2CSendStop();
			; SOURCE LINE # 154
	LCALL	I2CSendStop
;     }
			; SOURCE LINE # 155
; }
			; SOURCE LINE # 156
?C0011:
	RET  	
; END OF _I2CWrite

; 
; 
; unsigned char I2CGetByte(unsigned char ack) 

	RSEG  ?PR?_I2CGetByte?ACCESS
_I2CGetByte:
	USING	0
			; SOURCE LINE # 159
;---- Variable 'ack?347' assigned to Register 'R7' ----
; {
			; SOURCE LINE # 160
;     unsigned char   r, m;
; 
;     r = 0;
			; SOURCE LINE # 163
;---- Variable 'r?348' assigned to Register 'R6' ----
	CLR  	A
	MOV  	R6,A
; 
; #if (MCU_TYPE == MCU_STD8052)
;     for (m = 0; m < 8; m++)         // Each bit at a time, MSB first
			; SOURCE LINE # 166
;---- Variable 'm?349' assigned to Register 'R5' ----
	MOV  	R5,A
?C0012:
;     {
			; SOURCE LINE # 167
;         bIIC_SCL    = 1;
			; SOURCE LINE # 168
	SETB 	bIIC_SCL
;         BitDly();                   // Delay

⌨️ 快捷键说明

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