📄 ddsf-932.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 + -