📄 system.src
字号:
LCALL _ParaRead
MOV DPTR,#ch?040
MOV A,R6
MOVX @DPTR,A
INC DPTR
MOV A,R7
MOVX @DPTR,A
; if(ch >= 0)
; SOURCE LINE # 97
CLR C
MOV A,R6
XRL A,#080H
SUBB A,#080H
JC ?C0007
; {
; SOURCE LINE # 98
; lotc = ch;
; SOURCE LINE # 99
MOV DPTR,#ch?040
INC DPTR
MOVX A,@DPTR
MOV DPTR,#lotc
MOVX @DPTR,A
; ComWrite("Success lotc.\r\n", 15);
; SOURCE LINE # 100
MOV R3,#0FFH
MOV R2,#HIGH (?SC_122)
MOV R1,#LOW (?SC_122)
MOV R5,#0FH
; }
; SOURCE LINE # 101
SJMP ?C0143
?C0007:
; else
; {
; SOURCE LINE # 103
; lotc = 25;
; SOURCE LINE # 104
MOV DPTR,#lotc
MOV A,#019H
MOVX @DPTR,A
; ParaWrite(PARA_LOTC, 25);
; SOURCE LINE # 105
MOV R5,A
MOV R7,#0FCH
LCALL _ParaWrite
; ComWrite("Failed lotc.\r\n", 14);
; SOURCE LINE # 106
MOV R3,#0FFH
MOV R2,#HIGH (?SC_138)
MOV R1,#LOW (?SC_138)
MOV R5,#0EH
?C0143:
MOV R4,#00H
LCALL _ComWrite
; }
; SOURCE LINE # 107
?C0008:
;
; // read led on both card
; ch = ParaRead(PARA_LOBC);
; SOURCE LINE # 110
MOV R7,#0FBH
LCALL _ParaRead
MOV DPTR,#ch?040
MOV A,R6
MOVX @DPTR,A
INC DPTR
MOV A,R7
MOVX @DPTR,A
; if(ch >= 0)
; SOURCE LINE # 111
CLR C
MOV A,R6
XRL A,#080H
SUBB A,#080H
JC ?C0009
; {
; SOURCE LINE # 112
; lobc = ch;
; SOURCE LINE # 113
MOV DPTR,#ch?040
INC DPTR
MOVX A,@DPTR
MOV DPTR,#lobc
MOVX @DPTR,A
; ComWrite("Success lobc.\r\n", 15);
; SOURCE LINE # 114
MOV R3,#0FFH
MOV R2,#HIGH (?SC_153)
MOV R1,#LOW (?SC_153)
MOV R5,#0FH
; }
; SOURCE LINE # 115
SJMP ?C0144
?C0009:
; else
; {
; SOURCE LINE # 117
; lobc = 0xff;
; SOURCE LINE # 118
MOV DPTR,#lobc
MOV A,#0FFH
MOVX @DPTR,A
; ParaWrite(PARA_LOBC, 0xff);
; SOURCE LINE # 119
MOV R5,A
MOV R7,#0FBH
LCALL _ParaWrite
; ComWrite("Failed lobc.\r\n", 14);
; SOURCE LINE # 120
MOV R3,#0FFH
MOV R2,#HIGH (?SC_169)
MOV R1,#LOW (?SC_169)
MOV R5,#0EH
?C0144:
MOV R4,#00H
LCALL _ComWrite
; }
; SOURCE LINE # 121
?C0010:
;
; // read led on none card
; ch = ParaRead(PARA_LONC);
; SOURCE LINE # 124
MOV R7,#0FAH
LCALL _ParaRead
MOV DPTR,#ch?040
MOV A,R6
MOVX @DPTR,A
INC DPTR
MOV A,R7
MOVX @DPTR,A
; if(ch >= 0)
; SOURCE LINE # 125
CLR C
MOV A,R6
XRL A,#080H
SUBB A,#080H
JC ?C0011
; {
; SOURCE LINE # 126
; lonc = ch;
; SOURCE LINE # 127
MOV DPTR,#ch?040
INC DPTR
MOVX A,@DPTR
MOV DPTR,#lonc
MOVX @DPTR,A
; ComWrite("Success lonc.\r\n", 15);
; SOURCE LINE # 128
MOV R3,#0FFH
MOV R2,#HIGH (?SC_184)
MOV R1,#LOW (?SC_184)
MOV R5,#0FH
; }
; SOURCE LINE # 129
SJMP ?C0145
?C0011:
; else
; {
; SOURCE LINE # 131
; lonc = 0;
; SOURCE LINE # 132
CLR A
MOV DPTR,#lonc
MOVX @DPTR,A
; ParaWrite(PARA_LONC, 0);
; SOURCE LINE # 133
MOV R5,A
MOV R7,#0FAH
LCALL _ParaWrite
; ComWrite("Failed lonc.\r\n", 14);
; SOURCE LINE # 134
MOV R3,#0FFH
MOV R2,#HIGH (?SC_200)
MOV R1,#LOW (?SC_200)
MOV R5,#0EH
?C0145:
MOV R4,#00H
LCALL _ComWrite
; }
; SOURCE LINE # 135
?C0012:
;
; // read rf card confirm time
; ch = ParaRead(PARA_RFCCT);
; SOURCE LINE # 138
MOV R7,#0F9H
LCALL _ParaRead
MOV DPTR,#ch?040
MOV A,R6
MOVX @DPTR,A
INC DPTR
MOV A,R7
MOVX @DPTR,A
; if(ch >= 0)
; SOURCE LINE # 139
CLR C
MOV A,R6
XRL A,#080H
SUBB A,#080H
JC ?C0013
; {
; SOURCE LINE # 140
; CardConfirmTime = (unsigned int)ch * 10;
; SOURCE LINE # 141
MOV DPTR,#ch?040
MOVX A,@DPTR
MOV R6,A
INC DPTR
MOVX A,@DPTR
MOV R7,A
MOV R4,#00H
MOV R5,#0AH
LCALL ?C?IMUL
MOV DPTR,#CardConfirmTime
MOV A,R6
MOVX @DPTR,A
INC DPTR
MOV A,R7
MOVX @DPTR,A
; ComWrite("Success rcct.\r\n", 15);
; SOURCE LINE # 142
MOV R3,#0FFH
MOV R2,#HIGH (?SC_215)
MOV R1,#LOW (?SC_215)
MOV R5,#0FH
; }
; SOURCE LINE # 143
SJMP ?C0146
?C0013:
; else
; {
; SOURCE LINE # 145
; CardConfirmTime = 200;
; SOURCE LINE # 146
MOV DPTR,#CardConfirmTime
CLR A
MOVX @DPTR,A
INC DPTR
MOV A,#0C8H
MOVX @DPTR,A
; ParaWrite(PARA_RFCCT, 20);
; SOURCE LINE # 147
MOV R5,#014H
MOV R7,#0F9H
LCALL _ParaWrite
; ComWrite("Failed rcct.\r\n", 14);
; SOURCE LINE # 148
MOV R3,#0FFH
MOV R2,#HIGH (?SC_231)
MOV R1,#LOW (?SC_231)
MOV R5,#0EH
MOV R4,#00H
?C0146:
LCALL _ComWrite
; }
; SOURCE LINE # 149
?C0014:
;
; ComWrite("\r\n", 2);
; SOURCE LINE # 151
MOV R3,#0FFH
MOV R2,#HIGH (?SC_246)
MOV R1,#LOW (?SC_246)
MOV R5,#02H
MOV R4,#00H
LJMP _ComWrite
; END OF SysInit
; }
;
; // cardtype: 0: tic, 1: rfc
; // cardin: 0: out, 1: in
; void CardLed(bit cardtype, bit cardin)
RSEG ?PR?CardLed?SYSTEM
CardLed:
USING 0
; SOURCE LINE # 156
; {
; SOURCE LINE # 157
; static bit frfc = 0;
; static bit ftic = 0;
;
; if(cardtype) // rfc
; SOURCE LINE # 161
JNB cardtype?141,?C0016
; frfc = cardin;
; SOURCE LINE # 162
MOV C,cardin?142
MOV frfc?143,C
SJMP ?C0017
?C0016:
; else
; ftic = cardin;
; SOURCE LINE # 164
MOV C,cardin?142
MOV ftic?144,C
?C0017:
;
; if(fLed)
; SOURCE LINE # 166
JNB fLed,?C0025
; {
; SOURCE LINE # 167
; if(frfc && ftic)
; SOURCE LINE # 168
JNB frfc?143,?C0019
JNB ftic?144,?C0019
; {
; SOURCE LINE # 169
; led(lobc);
; SOURCE LINE # 170
MOV DPTR,#lobc
; }
; SOURCE LINE # 171
SJMP ?C0149
?C0019:
; else if(ftic)
; SOURCE LINE # 172
JNB ftic?144,?C0021
; {
; SOURCE LINE # 173
; led(lotc);
; SOURCE LINE # 174
MOV DPTR,#lotc
?C0148:
; }
; SOURCE LINE # 175
SJMP ?C0149
?C0021:
; else if(frfc)
; SOURCE LINE # 176
JNB frfc?143,?C0023
; {
; SOURCE LINE # 177
; led(lorc);
; SOURCE LINE # 178
MOV DPTR,#lorc
; }
; SOURCE LINE # 179
SJMP ?C0147
?C0023:
; else
; {
; SOURCE LINE # 181
; led(lonc);
; SOURCE LINE # 182
MOV DPTR,#lonc
?C0147:
?C0149:
MOVX A,@DPTR
MOV R7,A
LCALL _led
; }
; SOURCE LINE # 183
; }
; SOURCE LINE # 184
; }
; SOURCE LINE # 185
?C0025:
RET
; END OF CardLed
;
; // command on sec
; unsigned int SecCommand(unsigned char *cmd, int len)
RSEG ?PR?_SecCommand?SYSTEM
_SecCommand:
USING 0
; SOURCE LINE # 188
MOV DPTR,#len?246
MOV A,R4
MOVX @DPTR,A
INC DPTR
MOV A,R5
MOVX @DPTR,A
MOV DPTR,#cmd?245
MOV A,R3
MOVX @DPTR,A
INC DPTR
MOV A,R2
MOVX @DPTR,A
INC DPTR
MOV A,R1
MOVX @DPTR,A
; {
; SOURCE LINE # 189
; int ch;
;
; switch(cmd[1])
; SOURCE LINE # 192
MOV DPTR,#01H
LCALL ?C?CLDOPTR
DEC A
JNZ $ + 5H
LJMP ?C0033
DEC A
JNZ $ + 5H
LJMP ?C0038
ADD A,#02H
JZ $ + 5H
LJMP ?C0044
; {
; SOURCE LINE # 193
; case CMD_RDSEC:
; SOURCE LINE # 194
?C0027:
; if(len != 10)
; SOURCE LINE # 195
MOV DPTR,#len?246
MOVX A,@DPTR
JNZ ?C0110
INC DPTR
MOVX A,@DPTR
XRL A,#0AH
?C0110:
JZ ?C0028
; {
; SOURCE LINE # 196
; cmd[0] = ERRORCMD;
; SOURCE LINE # 197
; return 1;
; SOURCE LINE # 198
LJMP ?C0157
; }
; SOURCE LINE # 199
?C0028:
; if(memcmp(cmd+2, "rdselock", 8) != 0)
; SOURCE LINE # 200
MOV DPTR,#cmd?245
MOVX A,@DPTR
MOV R3,A
INC DPTR
MOVX A,@DPTR
MOV R2,A
INC DPTR
MOVX A,@DPTR
ADD A,#02H
MOV R1,A
CLR A
ADDC A,R2
XCH A,R0
MOV A,R1
XCH A,R0
MOV R4,A
XCH A,R5
MOV A,R3
XCH A,R5
MOV R3,#0FFH
MOV R2,#HIGH (?SC_249)
MOV R1,#LOW (?SC_249)
MOV R6,#00H
MOV R7,#08H
LCALL ?C?MEMCMP
MOV A,R7
JZ ?C0030
; {
; SOURCE LINE # 201
; cmd[0] = ERRORCMD;
; SOURCE LINE # 202
?C0151:
; return 1;
; SOURCE LINE # 203
LJMP ?C0157
; }
; SOURCE LINE # 204
?C0030:
;
; ch = ParaRead(PARA_LIMIT);
; SOURCE LINE # 206
MOV R7,#0F7H
LCALL _ParaRead
MOV DPTR,#ch?248
MOV A,R6
MOVX @DPTR,A
INC DPTR
MOV A,R7
MOVX @DPTR,A
; if(ch >= 0)
; SOURCE LINE # 207
CLR C
MOV A,R6
XRL A,#080H
SUBB A,#080H
MOV DPTR,#cmd?245
MOVX A,@DPTR
MOV R3,A
INC DPTR
MOVX A,@DPTR
MOV R2,A
INC DPTR
MOVX A,@DPTR
MOV R1,A
JC ?C0031
; {
; SOURCE LINE # 208
; cmd[0] = SUCCESS;
; SOURCE LINE # 209
CLR A
; cmd[1] = (unsigned char)ch;
; SOURCE LINE # 210
; return 2;
; SOURCE LINE # 211
SJMP ?C0150
; }
; SOURCE LINE # 212
?C0031:
; else
; {
; SOURCE LINE # 214
; cmd[0] = FAIL;
; SOURCE LINE # 215
MOV A,#01H
?C0150:
LCALL ?C?CSTPTR
; cmd[1] = (char)ch;
; SOURCE LINE # 216
MOV DPTR,#ch?248
INC DPTR
MOVX A,@DPTR
MOV R7,A
MOV DPTR,#cmd?245
MOVX A,@DPTR
MOV R3,A
INC DPTR
MOVX A,@DPTR
MOV R2,A
INC DPTR
MOVX A,@DPTR
MOV R1,A
MOV DPTR,#01H
MOV A,R7
; return 2;
; SOURCE LINE # 217
LJMP ?C0153
; }
; SOURCE LINE # 218
;
; case CMD_WRSEC:
; SOURCE LINE # 220
?C0033:
; if(len != 10)
; SOURCE LINE # 221
MOV DPTR,#len?246
MOVX A,@DPTR
JNZ ?C0111
INC DPTR
MOVX A,@DPTR
XRL A,#0AH
?C0111:
JZ ?C0034
; {
; SOURCE LINE # 222
; cmd[0] = ERRORCMD;
; SOURCE LINE # 223
?C0152:
; return 1;
; SOURCE LINE # 224
LJMP ?C0157
; }
; SOURCE LINE # 225
?C0034:
; if(memcmp(cmd+3, "wselock", 7) != 0)
; SOURCE LINE # 226
MOV DPTR,#cmd?245
MOVX A,@DPTR
MOV R3,A
INC DPTR
MOVX A,@DPTR
MOV R2,A
INC DPTR
MOVX A,@DPTR
ADD A,#03H
MOV R1,A
CLR A
ADDC A,R2
XCH A,R0
MOV A,R1
XCH A,R0
MOV R4,A
XCH A,R5
MOV A,R3
XCH A,R5
MOV R3,#0FFH
MOV R2,#HIGH (?SC_258)
MOV R1,#LOW (?SC_258)
MOV R6,#00H
MOV R7,#07H
LCALL ?C?MEMCMP
MOV A,R7
JZ ?C0035
; {
; SOURCE LINE # 227
; cmd[0] = ERRORCMD;
; SOURCE LINE # 228
?C0154:
; return 1;
; SOURCE LINE # 229
LJMP ?C0157
; }
; SOURCE LINE # 230
?C0035:
;
; if(ParaWrite(PARA_LIMIT, cmd[2]) != cmd[2])
; SOURCE LINE # 232
MOV DPTR,#cmd?245
MOVX A,@DPTR
MOV R3,A
INC DPTR
MOVX A,@DPTR
MOV R2,A
INC DPTR
MOVX A,@DPTR
MOV R1,A
MOV DPTR,#02H
LCALL ?C?CLDOPTR
MOV R5,A
MOV R7,#0F7H
LCALL _ParaWrite
MOV DPTR,#cmd?245
MOVX A,@DPTR
MOV R3,A
INC DPTR
MOVX A,@DPTR
MOV R2,A
INC DPTR
MOVX A,@DPTR
MOV R1,A
MOV DPTR,#02H
LCALL ?C?CLDOPTR
XRL A,R7
JNZ ?C0112
MOV A,R6
?C0112:
JZ ?C0036
; {
; SOURCE LINE # 233
; cmd[0] = FAIL;
; SOURCE LINE # 234
MOV A,#01H
LCALL ?C?CSTPTR
; return 1;
; SOURCE LINE # 235
MOV R6,#00H
MOV R7,A
RET
; }
; SOURCE LINE # 236
?C0036:
; else
; {
; SOURCE LINE # 238
; cmd[0] = SUCCESS;
; SOURCE LINE # 239
MOV DPTR,#cmd?245
MOVX A,@DPTR
MOV R3,A
INC DPTR
MOVX A,@DPTR
MOV R2,A
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -