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

📄 ddsf-932.cod

📁 个人学习参考!禁止使用到产品上! 任何人不得公开发布!
💻 COD
字号:
LX51 LINKER/LOCATER V3.63                                                               07/24/2004  22:54:30  PAGE 1





ASSEMBLER CODE PACKING OF MODULE:  DDSF-932 (CMDPARSE)


000003 8009              SJMP    0100000EH
----- FUNCTION KeyParse (BEGIN) -----
 FILE: 'keyparse.c'
   16: void KeyParse(void)
   17: {
   18:    // if(key==0)	
   19: 	//{
   20: //		;
   21: //	}
   22: }
000005 22                RET     
----- FUNCTION KeyParse (END) -------


----- FUNCTION InitCclk (BEGIN) -----
 FILE: 'init.c'
   84: void InitCclk(void)
   85: {
   86:      DIVM=0x00;                   //CCLK=11059200/2;
   87: }
000006 E4                CLR     A
000007 F595              MOV     DIVM,A
   88: void InitCpu(void)
000009 22                RET     
----- FUNCTION InitCclk (END) -------


----- FUNCTION StakeOut (BEGIN) -----
 FILE: 'stakeout.c'
   16: void StakeOut(void)
   17: {
   18: ;
   19: }
00000A 22                RET     
----- FUNCTION StakeOut (END) -------


00000B 021079            LJMP    01079H
----- FUNCTION INT_INT0 (BEGIN) -----
 FILE: 'Main.c'
   44: void INT_INT0(void) interrupt 0         //外部中断0---完全掉电
   45: {
   46:     LowPowerFg=1;
00000E D211              SETB    LowPowerFg
   47:     EX0=0;
000010 C2A8              CLR     EX0
   48: }
000012 32                RETI    
----- FUNCTION INT_INT0 (END) -------


000013 021082            LJMP    01082H
----- FUNCTION _TemperatureCorrect (BEGIN) -----
 FILE: 'temperature.c'
   15: void TemperatureCorrect(unsigned char TemperatureData)
   16: {
000016 8F48              MOV     TemperatureData,R7
   17:     ;
   18: }
000018 22                RET     
LX51 LINKER/LOCATER V3.63                                                             07/24/2004  22:54:30  PAGE 2


----- FUNCTION _TemperatureCorrect (END) -------


00001B 02113E            LJMP    0113EH
000023 0211BB            LJMP    011BBH
----- FUNCTION IicStop (BEGIN) -----
 FILE: 'tools.c'
  166: void IicStop(void)													    //停止信号*/
  167: {
  168: 	SDA=0;														    //数据线清零*/
  169: 	IicWait();													    //延时等候*/
000032 C2A1              CLR     SDA
  170: 	SCL=1;														    //时钟线置位*/
000034 D1AA              ACALL   ?L?COM0009
  171: 	IicWait();													    //延时等候*/
  172: 	SDA=1;														    //数据线置位*/
000036 D2A1              SETB    SDA
  173: }
000038 22                RET     
----- FUNCTION IicStop (END) -------


00003B 021253            LJMP    01253H
000053 021287            LJMP    01287H
----- FUNCTION _CmdPick (BEGIN) -----
 FILE: 'CmdParse.c'
   15: void CmdPick(unsigned char Device,unsigned char PickupAdd,unsigned char DataLen,bit MoveBit)
   16: {    
000088 8F4B              MOV     Device,R7
00008A 8D4C              MOV     PickupAdd,R5
00008C 8B4D              MOV     DataLen,R3
   17:      unsigned char CheckSum,i,j;
   18:      DataFill();
00008E F124              ACALL   DataFill
   19:      
   20:      CheckSum=0x00;
000090 E4                CLR     A
000091 F54E              MOV     CheckSum,A
   21:      SendDataBuf[8]=0x81;
000093 789F              MOV     R0,#LOW SendDataBuf+08H
000095 7681              MOV     @R0,#081H
   22:      SendDataBuf[9]=DataLen+2;
000097 E54D              MOV     A,DataLen
000099 2402              ADD     A,#02H
00009B 08                INC     R0
00009C F6                MOV     @R0,A
   23:      if(MoveBit)
00009D 301232            JNB     MoveBit,?C0001?CMDPARSE
   24:      {
   25:         for(i=12;i<DataLen+12;i++)
0000A0 754F0C            MOV     i,#0CH
0000A3         ?C0002?CMDPARSE:
0000A3 E54D              MOV     A,DataLen
0000A5 240C              ADD     A,#0CH
0000A7 FF                MOV     R7,A
0000A8 E4                CLR     A
0000A9 33                RLC     A
0000AA FE                MOV     R6,A
0000AB C3                CLR     C
0000AC E54F              MOV     A,i
0000AE 9F                SUBB    A,R7
0000AF EE                MOV     A,R6
0000B0 6480              XRL     A,#080H
0000B2 F8                MOV     R0,A
0000B3 7480              MOV     A,#080H
LX51 LINKER/LOCATER V3.63                                                             07/24/2004  22:54:30  PAGE 3


0000B5 98                SUBB    A,R0
0000B6 501A              JNC     ?C0001?CMDPARSE
   26:         {
   27:             j=PickupAdd; 
0000B8 854C50            MOV     j,PickupAdd
   28:             SendDataBuf[i]=IicByteRead(Device,j<<4);
0000BB E550              MOV     A,j
0000BD C4                SWAP    A
0000BE 54F0              ANL     A,#0F0H
0000C0 FD                MOV     R5,A
0000C1 AF4B              MOV     R7,Device
0000C3 318C              ACALL   _IicByteRead
0000C5 7497              MOV     A,#LOW SendDataBuf
0000C7 254F              ADD     A,i
0000C9 F8                MOV     R0,A
0000CA EF                MOV     A,R7
0000CB F6                MOV     @R0,A
   29:             PickupAdd++;
0000CC 054C              INC     PickupAdd
   30:         }
0000CE 054F              INC     i
0000D0 80D1              SJMP    ?C0002?CMDPARSE
   31:      }
0000D2         ?C0001?CMDPARSE:
   32:      for(i=12;i<DataLen+12;i++)
0000D2 754F0C            MOV     i,#0CH
0000D5         ?C0005?CMDPARSE:
0000D5 E54D              MOV     A,DataLen
0000D7 240C              ADD     A,#0CH
0000D9 FF                MOV     R7,A
0000DA E4                CLR     A
0000DB 33                RLC     A
0000DC FE                MOV     R6,A
0000DD C3                CLR     C
0000DE E54F              MOV     A,i
0000E0 9F                SUBB    A,R7
0000E1 EE                MOV     A,R6
0000E2 6480              XRL     A,#080H
0000E4 F8                MOV     R0,A
0000E5 7480              MOV     A,#080H
0000E7 98                SUBB    A,R0
0000E8 5013              JNC     ?C0006?CMDPARSE
   33:      {
   34:         SendDataBuf[i]=IicByteRead(Device,PickupAdd);
0000EA AD4C              MOV     R5,PickupAdd
0000EC AF4B              MOV     R7,Device
0000EE 318C              ACALL   _IicByteRead
0000F0 7497              MOV     A,#LOW SendDataBuf
0000F2 254F              ADD     A,i
0000F4 F8                MOV     R0,A
0000F5 EF                MOV     A,R7
0000F6 F6                MOV     @R0,A
   35:         PickupAdd++;
0000F7 054C              INC     PickupAdd
   36:      }
0000F9 054F              INC     i
0000FB 80D8              SJMP    ?C0005?CMDPARSE
0000FD         ?C0006?CMDPARSE:
   37: 
   38:      for(i=0;i<(SendDataBuf[9]+11);i++)
0000FD E4                CLR     A
0000FE F54F              MOV     i,A
000100         ?C0008?CMDPARSE:
000100 78A0              MOV     R0,#LOW SendDataBuf+09H
000102 E6                MOV     A,@R0
LX51 LINKER/LOCATER V3.63                                                             07/24/2004  22:54:30  PAGE 4


000103 FF                MOV     R7,A
000104 240B              ADD     A,#0BH
000106 FD                MOV     R5,A
000107 E4                CLR     A
000108 33                RLC     A
000109 FC                MOV     R4,A
00010A E54F              MOV     A,i
00010C C3                CLR     C
00010D 9D                SUBB    A,R5
00010E EC                MOV     A,R4
00010F 6480              XRL     A,#080H
000111 F8                MOV     R0,A
000112 7480              MOV     A,#080H
000114 98                SUBB    A,R0
000115 500E              JNC     ?C0009?CMDPARSE
   39:      {
   40:       CheckSum=CheckSum+SendDataBuf[i];
000117 7497              MOV     A,#LOW SendDataBuf
000119 254F              ADD     A,i
00011B F8                MOV     R0,A
00011C E6                MOV     A,@R0
00011D 254E              ADD     A,CheckSum
00011F F54E              MOV     CheckSum,A
   41:      }
000121 054F              INC     i
000123 80DB              SJMP    ?C0008?CMDPARSE
000125         ?C0009?CMDPARSE:
   42:      SendDataBuf[SendDataBuf[9]+10]=CheckSum;
000125 74A1              MOV     A,#LOW SendDataBuf+0AH
000127 2F                ADD     A,R7
000128 F8                MOV     R0,A
000129 A64E              MOV     @R0,CheckSum
   43:      SendDataBuf[SendDataBuf[9]+11]=0x16;
00012B 78A0              MOV     R0,#LOW SendDataBuf+09H
00012D E6                MOV     A,@R0
00012E 24A2              ADD     A,#LOW SendDataBuf+0BH
000130 F8                MOV     R0,A
000131 7616              MOV     @R0,#016H
;----                  JMP     SeriesSend
   44:      SeriesSend();
----- FUNCTION _CmdPick (END) -------


----- FUNCTION SeriesSend (BEGIN) -----
 FILE: 'tools.c'
  491: void SeriesSend(void)								/*终端正确应答*/
  492: {
  493: 	unsigned char idata i;
  494: 	SendDataBuf[0]=0x10;
000133 7897              MOV     R0,#LOW SendDataBuf
000135 7610              MOV     @R0,#010H
  495: 	SendDataBuf[1]=0x10;
000137 08                INC     R0
000138 7610              MOV     @R0,#010H
  496: 	SendDataBuf[4]=SendDataBuf[1]+SendDataBuf[2]+SendDataBuf[3];
00013A 7410              MOV     A,#010H
00013C 08                INC     R0
00013D 26                ADD     A,@R0
00013E 08                INC     R0
00013F 26                ADD     A,@R0
000140 799B              MOV     R1,#LOW SendDataBuf+04H
000142 F7                MOV     @R1,A
  497: 	SendDataBuf[5]=0x16;
000143 789C              MOV     R0,#LOW SendDataBuf+05H
000145 7616              MOV     @R0,#016H
LX51 LINKER/LOCATER V3.63                                                             07/24/2004  22:54:30  PAGE 5


  498: 	for(i=0;i<SendDataBuf[9]+11;i++)
000147 E4                CLR     A
000148 7809              MOV     R0,#LOW i
00014A F6                MOV     @R0,A
00014B         ?C0099?TOOLS:
00014B 78A0              MOV     R0,#LOW SendDataBuf+09H
00014D E6                MOV     A,@R0
00014E 240B              ADD     A,#0BH
000150 FF                MOV     R7,A
000151 E4                CLR     A
000152 33                RLC     A
000153 FE                MOV     R6,A
000154 7809              MOV     R0,#LOW i
000156 E6                MOV     A,@R0
000157 FD                MOV     R5,A
000158 C3                CLR     C
000159 9F                SUBB    A,R7
00015A EE                MOV     A,R6
00015B 6480              XRL     A,#080H
00015D F8                MOV     R0,A
00015E 7480              MOV     A,#080H
000160 98                SUBB    A,R0
000161 500E              JNC     ?C0102?TOOLS
  499: 	{
  500: 		SeriesSentByte(SendDataBuf[i]);
000163 7497              MOV     A,#LOW SendDataBuf
000165 2D                ADD     A,R5
000166 F8                MOV     R0,A
000167 E6                MOV     A,@R0
000168 FF                MOV     R7,A
000169 121712            LCALL   _SeriesSentByte
  501: 	}
00016C 7809              MOV     R0,#LOW i
00016E 06                INC     @R0
00016F 80DA              SJMP    ?C0099?TOOLS
  502: }
000171         ?C0102?TOOLS:
000171 22                RET     
----- FUNCTION SeriesSend (END) -------


----- FUNCTION ?L?COM0006 (BEGIN) -----
000172 E4                CLR     A
000173 FD                MOV     R5,A
000174 7F64              MOV     R7,#064H
000176 318C              ACALL   _IicByteRead
000178 EF                MOV     A,R7
000179 547F              ANL     A,#07FH
00017B F549              MOV     DataBuf+02H,A
00017D 7D10              MOV     R5,#010H
00017F 7F64              MOV     R7,#064H
000181 318C              ACALL   _IicByteRead
000183 EF                MOV     A,R7
000184 547F              ANL     A,#07FH
000186 F548              MOV     DataBuf+01H,A
000188         ?L?COM0007:
000188 7D20              MOV     R5,#020H
00018A 7F64              MOV     R7,#064H
----- FUNCTION _IicByteRead (BEGIN) -----
 FILE: 'tools.c'
   27: unsigned char IicByteRead(unsigned char device,unsigned char address)               //读取指定器件指定地址中的数

⌨️ 快捷键说明

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