📄 iic.src
字号:
; .\IIC.SRC generated from: ..\Inc\IIC.c
; COMPILER INVOKED BY:
; d:\Keil\C51\BIN\C51.EXE ..\Inc\IIC.c ROM(COMPACT) BROWSE DEBUG OBJECTEXTEND PRINT(.\IIC.lst) SRC(.\IIC.SRC)
$NOMOD51
NAME IIC
CCF2 BIT 0D8H.2
P1M0 DATA 091H
P0M1 DATA 094H
P0 DATA 080H
CCF3 BIT 0D8H.3
P2M0 DATA 095H
P1M1 DATA 092H
P1 DATA 090H
CCF4 BIT 0D8H.4
P3M0 DATA 0B1H
P2M1 DATA 096H
P2 DATA 0A0H
CCF5 BIT 0D8H.5
P3M1 DATA 0B2H
P3 DATA 0B0H
T0 BIT 0B0H.4
AC BIT 0D0H.6
T1 BIT 0B0H.5
ISP_TRIG DATA 0E6H
EA BIT 0A8H.7
T2 BIT 090H.0
SPCTL DATA 085H
CF BIT 0D8H.7
FE BIT 098H.7
CH DATA 0F9H
IE DATA 0A8H
CL DATA 0E9H
CEX0 BIT 0B0H.7
CCAP0H DATA 0FAH
CEX1 BIT 0B0H.5
CCAP1H DATA 0FBH
CEX2 BIT 0A0H.0
CCAP2H DATA 0FCH
CEX3 BIT 0A0H.4
CCAP3H DATA 0FDH
CR BIT 0D8H.6
CCAP4H DATA 0FEH
CCAP0L DATA 0EAH
EXF2 BIT 0C8H.6
RD BIT 0B0H.7
CCAP5H DATA 0FFH
CCAP1L DATA 0EBH
CCAPM0 DATA 0DAH
CCAP2L DATA 0ECH
CCAPM1 DATA 0DBH
ES BIT 0A8H.4
CCAP3L DATA 0EDH
CCAPM2 DATA 0DCH
IP DATA 0B8H
CCAP4L DATA 0EEH
CCAPM3 DATA 0DDH
CCAP5L DATA 0EFH
CCAPM4 DATA 0DEH
RI BIT 098H.0
CCAPM5 DATA 0DFH
INT0 BIT 0B0H.2
CY BIT 0D0H.7
TI BIT 098H.1
INT1 BIT 0B0H.3
CLK_DIV DATA 0C7H
RCAP2H DATA 0CBH
ISP_CMD DATA 0E5H
PS BIT 0B8H.4
SP DATA 081H
T2EX BIT 090H.1
CMOD DATA 0D9H
CCON DATA 0D8H
OV BIT 0D0H.2
RCAP2L DATA 0CAH
C_T2 BIT 0C8H.1
WR BIT 0B0H.6
RCLK BIT 0C8H.5
TCLK BIT 0C8H.4
SBUF DATA 099H
PCON DATA 087H
ADC_CONTR DATA 0C5H
ISP_ADDRH DATA 0E3H
SCON DATA 098H
TMOD DATA 089H
TCON DATA 088H
ISP_ADDRL DATA 0E4H
IE0 BIT 088H.1
IE1 BIT 088H.3
B DATA 0F0H
AUXR DATA 08EH
CP_RL2 BIT 0C8H.0
ADC_DATA DATA 0C6H
ACC DATA 0E0H
ET0 BIT 0A8H.1
ET1 BIT 0A8H.3
TF0 BIT 088H.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
EX1 BIT 0A8H.2
TB8 BIT 098H.3
IT1 BIT 088H.2
TH2 DATA 0CDH
ADC_LOW2 DATA 0BEH
P BIT 0D0H.0
SM0 BIT 098H.7
TL0 DATA 08AH
ECI BIT 0B0H.4
SM1 BIT 098H.6
TL1 DATA 08BH
SM2 BIT 098H.5
TL2 DATA 0CCH
PT0 BIT 0B8H.1
LED BIT 090H.0
PT1 BIT 0B8H.3
RS0 BIT 0D0H.3
ISP_CONTR DATA 0E7H
TR0 BIT 088H.4
RS1 BIT 0D0H.4
TR1 BIT 088H.6
SDA BIT 090H.1
PX0 BIT 0B8H.0
TR2 BIT 0C8H.2
WDT_CONTR DATA 0E1H
PX1 BIT 0B8H.2
PCA_PWM0 DATA 0F2H
DRE BIT 0B0H.2
EADC_SPI BIT 0A8H.5
PCA_PWM1 DATA 0F3H
DPH DATA 083H
PCA_PWM2 DATA 0F4H
PCA_PWM3 DATA 0F5H
PCA_PWM4 DATA 0F6H
PCA_PWM5 DATA 0F7H
DPL DATA 082H
EPCA_LVD BIT 0A8H.6
IPH DATA 0B7H
SPSTAT DATA 084H
SCL BIT 090H.2
EXEN2 BIT 0C8H.3
REN BIT 098H.4
PADC_SPI BIT 0B8H.5
T2MOD DATA 0C9H
T2CON DATA 0C8H
ISP_DATA DATA 0E2H
PPCA_LVD BIT 0B8H.6
SADEN DATA 0B9H
RXD BIT 0B0H.0
SADDR DATA 0A9H
TXD BIT 0B0H.1
F0 BIT 0D0H.5
PSW DATA 0D0H
CCF0 BIT 0D8H.0
CCF1 BIT 0D8H.1
SPDAT DATA 086H
P0M0 DATA 093H
?PR?I2C_Start?IIC SEGMENT CODE INBLOCK
?PR?I2C_Stop?IIC SEGMENT CODE INBLOCK
?PR?_Send_Byte_I2C?IIC SEGMENT CODE INBLOCK
?PR?Read_Byte_I2C_ACK?IIC SEGMENT CODE INBLOCK
?PR?Read_Byte_I2C_NoACK?IIC SEGMENT CODE INBLOCK
?PR?_TSL2561_write_byte?IIC SEGMENT CODE INBLOCK
?PR?_TSL2561_read_byte?IIC SEGMENT CODE INBLOCK
?DT?_TSL2561_read_byte?IIC SEGMENT DATA OVERLAYABLE
?PR?InitTsl256x?IIC SEGMENT CODE INBLOCK
?DT?InitTsl256x?IIC SEGMENT DATA OVERLAYABLE
?PR?_CalculateLux?IIC SEGMENT CODE INBLOCK
?DT?_CalculateLux?IIC SEGMENT DATA OVERLAYABLE
?PR?GetLux?IIC SEGMENT CODE INBLOCK
?DT?GetLux?IIC SEGMENT DATA OVERLAYABLE
?DT?IIC SEGMENT DATA
EXTRN CODE (_delay_1ms)
EXTRN CODE (?C?LSHL)
EXTRN CODE (?C?LMUL)
EXTRN CODE (?C?ULSHR)
EXTRN CODE (?C?ULCMP)
EXTRN CODE (?C?ULDIV)
PUBLIC CH1
PUBLIC CH0
PUBLIC GetLux
PUBLIC ?_CalculateLux?BYTE
PUBLIC _CalculateLux
PUBLIC InitTsl256x
PUBLIC _TSL2561_read_byte
PUBLIC _TSL2561_write_byte
PUBLIC Read_Byte_I2C_NoACK
PUBLIC Read_Byte_I2C_ACK
PUBLIC _Send_Byte_I2C
PUBLIC I2C_Stop
PUBLIC I2C_Start
RSEG ?DT?_CalculateLux?IIC
?_CalculateLux?BYTE:
iGain?856: DS 2
tInt?857: DS 2
ch0?858: DS 2
ch1?859: DS 2
iType?860: DS 2
ORG 10
ratio1?861: DS 4
ratio?862: DS 4
temp?863: DS 4
lux?864: DS 4
chScale?865: DS 4
channel1?866: DS 4
channel0?867: DS 4
b?868: DS 2
m?869: DS 2
RSEG ?DT?_TSL2561_read_byte?IIC
?_TSL2561_read_byte?BYTE:
status?654: DS 1
RSEG ?DT?GetLux?IIC
?GetLux?BYTE:
i?970: DS 2
RSEG ?DT?InitTsl256x?IIC
?InitTsl256x?BYTE:
status?755: DS 1
RSEG ?DT?IIC
CH0: DS 2
CH1: DS 2
; //**********************************************************
; //** IIC驱动程序 **
; //** 单片机: STC12C5410AD 主频: 24MHz **
; //** Jumping <2008.04.20> **
; //**********************************************************
;
; //#include <REGx051.H> // AT89C4051头文件
; #include "../inc/STC12C5410AD.H" // AT89C4051头文件
; #include <INTRINS.H> // 系统调令头文件
; #include "def.h" // 类型定义文件
; #include "config.h" // 配置头文件
; #include "IIC.h" // 配置头文件
; #include "uart.h" // 配置头文件
;
; //*****变量声明****
; INT CH0,CH1;
;
; // *** 函数声明 ***
; void I2C_Start (void);
; void I2C_Stop (void);
; BOOL Send_Byte_I2C(BYTE tmData);
; BYTE Read_Byte_I2C_ACK();
; BYTE Read_Byte_I2C_NoACK();
; uchar TSL2561_read_byte( uchar addr);
; void InitTsl256x(void);
; INT GetLux(void);
; //BOOL Read_Data_I2C(BYTE iNum, unsigned int wAddr, BYTE tmData[64]);
; //BOOL Write_Data_I2C(BYTE iNum, unsigned int wAddr, BYTE tmData[64]);
;
; //***************************************************************************************
; unsigned int CalculateLux(unsigned int iGain, unsigned int tInt, unsigned int ch0, unsigned int ch1, int iType);
; #pragma OPTIMIZE(4)
; /*******************************************************************************
; * 名 称: I2C_Start()
; * 功 能: 启动I2C操作
; * 入口参数: 无
; * 出口参数: 无
; *******************************************************************************/
; void I2C_Start (void)
RSEG ?PR?I2C_Start?IIC
I2C_Start:
USING 0
; SOURCE LINE # 39
; {
; SOURCE LINE # 40
; uchar i;
;
; SCL = 1;
; SOURCE LINE # 43
SETB SCL
; SDA = 1;
; SOURCE LINE # 44
SETB SDA
;
; for(i=0; i<12; i++)
; SOURCE LINE # 46
;---- Variable 'i?040' assigned to Register 'R7' ----
CLR A
MOV R7,A
?C0001:
MOV A,R7
CLR C
SUBB A,#0CH
JNC ?C0002
; _nop_ ();
; SOURCE LINE # 47
NOP
INC R7
SJMP ?C0001
?C0002:
;
; SDA = 0;
; SOURCE LINE # 49
CLR SDA
;
; for(i=0; i<12; i++)
; SOURCE LINE # 51
CLR A
MOV R7,A
?C0004:
MOV A,R7
CLR C
SUBB A,#0CH
JNC ?C0005
; _nop_ ();
; SOURCE LINE # 52
NOP
INC R7
SJMP ?C0004
?C0005:
;
; SCL = 0;
; SOURCE LINE # 54
CLR SCL
; }
; SOURCE LINE # 55
RET
; END OF I2C_Start
;
;
; /*******************************************************************************
; * 名 称: I2C_Stop()
; * 功 能: 结束I2C操作
; * 入口参数: 无
; * 出口参数: 无
; *******************************************************************************/
; void I2C_Stop (void)
RSEG ?PR?I2C_Stop?IIC
I2C_Stop:
USING 0
; SOURCE LINE # 64
; {
; SOURCE LINE # 65
; uchar i;
;
; SCL = 0;
; SOURCE LINE # 68
CLR SCL
; SDA = 0;
; SOURCE LINE # 69
CLR SDA
;
; for(i=0; i<12; i++)
; SOURCE LINE # 71
;---- Variable 'i?141' assigned to Register 'R7' ----
CLR A
MOV R7,A
?C0008:
MOV A,R7
CLR C
SUBB A,#0CH
JNC ?C0009
; _nop_ ();
; SOURCE LINE # 72
NOP
INC R7
SJMP ?C0008
?C0009:
; SCL = 1;
; SOURCE LINE # 73
SETB SCL
;
; for(i=0; i<12; i++)
; SOURCE LINE # 75
CLR A
MOV R7,A
?C0011:
MOV A,R7
CLR C
SUBB A,#0CH
JNC ?C0012
; _nop_ ();
; SOURCE LINE # 76
NOP
INC R7
SJMP ?C0011
?C0012:
; SDA = 1;
; SOURCE LINE # 77
SETB SDA
;
; }
; SOURCE LINE # 79
RET
; END OF I2C_Stop
; /*********************************************/
; /* name: Send_Byte_I2C */
; /* input: BYTE tmData */
; /* output: BOOL */
; /* function: Send one tmData to 24256 */
; /*********************************************/
; BOOL Send_Byte_I2C(BYTE tmData)
RSEG ?PR?_Send_Byte_I2C?IIC
_Send_Byte_I2C:
USING 0
; SOURCE LINE # 86
;---- Variable 'tmData?242' assigned to Register 'R7' ----
; {
; SOURCE LINE # 87
; BYTE i,temp;
; BOOL bSendOk;
;
; temp = tmData;
; SOURCE LINE # 91
;---- Variable 'temp?244' assigned to Register 'R6' ----
MOV R6,AR7
;
; SCL = 0;
; SOURCE LINE # 93
CLR SCL
;
; for(i=0; i<8; i++)
; SOURCE LINE # 95
;---- Variable 'i?243' assigned to Register 'R5' ----
CLR A
MOV R5,A
?C0015:
MOV A,R5
CLR C
SUBB A,#08H
JNC ?C0016
; _nop_ ();
; SOURCE LINE # 96
NOP
INC R5
SJMP ?C0015
?C0016:
;
; for(i=0; i<8; i++)
; SOURCE LINE # 98
CLR A
MOV R5,A
?C0018:
MOV A,R5
CLR C
SUBB A,#08H
JNC ?C0019
; {
; SOURCE LINE # 99
; if(temp & 0x80)
; SOURCE LINE # 100
MOV A,R6
JNB ACC.7,?C0021
; SDA = 1;
; SOURCE LINE # 101
SETB SDA
SJMP ?C0022
?C0021:
; else
; SDA = 0;
; SOURCE LINE # 103
CLR SDA
?C0022:
;
; _nop_ ();
; SOURCE LINE # 105
NOP
; _nop_ ();
; SOURCE LINE # 106
NOP
; _nop_ ();
; SOURCE LINE # 107
NOP
; _nop_ ();
; SOURCE LINE # 108
NOP
; _nop_ ();
; SOURCE LINE # 109
NOP
; _nop_ ();
; SOURCE LINE # 110
NOP
;
; SCL = 1;
; SOURCE LINE # 112
SETB SCL
; temp = _crol_(temp,1);
; SOURCE LINE # 113
MOV R0,#01H
MOV R7,AR6
MOV A,R7
INC R0
SJMP ?C0075
?C0074:
RL A
?C0075:
DJNZ R0,?C0074
MOV R6,A
;
; _nop_ ();
; SOURCE LINE # 115
NOP
; _nop_ ();
; SOURCE LINE # 116
NOP
; _nop_ ();
; SOURCE LINE # 117
NOP
; _nop_ ();
; SOURCE LINE # 118
NOP
; _nop_ ();
; SOURCE LINE # 119
NOP
; _nop_ ();
; SOURCE LINE # 120
NOP
;
; SCL = 0;
; SOURCE LINE # 122
CLR SCL
;
; _nop_ ();
; SOURCE LINE # 124
NOP
; _nop_ ();
; SOURCE LINE # 125
NOP
; _nop_ ();
; SOURCE LINE # 126
NOP
; _nop_ ();
; SOURCE LINE # 127
NOP
; _nop_ ();
; SOURCE LINE # 128
NOP
; _nop_ ();
; SOURCE LINE # 129
NOP
;
; }
; SOURCE LINE # 131
INC R5
SJMP ?C0018
?C0019:
;
; for(i=0; i<5; i++)
; SOURCE LINE # 133
CLR A
MOV R5,A
?C0023:
MOV A,R5
CLR C
SUBB A,#05H
JNC ?C0024
; _nop_ ();
; SOURCE LINE # 134
NOP
INC R5
SJMP ?C0023
?C0024:
;
; SCL = 1;
; SOURCE LINE # 136
SETB SCL
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -