📄 rdio.lst
字号:
105 =1
106 =1 #define CALL_isr_UART() TI = 1
107 =1
108 =1
109 =1 #define SER_BCC 0
110 =1 #define SER_CRC 1
111 =1
112 =1 #define BCC_CHECKBYTECNT 1
113 =1
114 =1 // CCITT-CRC16 (x^16 + x^12 + x^5 + 1) => 0x11021
115 =1
116 =1 #define CRC_POLYNOM 0x1021
117 =1 #define CRC_PRESET 0xFFFF
118 =1 #define CRC_CHECKBYTECNT 2
119 =1
120 =1
121 =1 // Receive States
122 =1
123 =1 #define RECV_STX 0
124 =1 #define RECV_DATA_DLE_ETX 1
125 =1 #define RECV_ETX 2
126 =1
127 =1 #define RECV_DLE 3
128 =1 #define RECV_DLE_OR_NAK 4
129 =1
130 =1
131 =1 // Values for checking the Data Length of the Commands
132 =1
133 =1 #define MINCMDNR 0x40
134 =1 #define MAXCMDNR 0x57
135 =1
136 =1 #define CMDCNT MAXCMDNR - MINCMDNR + 1
137 =1
138 =1 #ifdef __SRC
C51 COMPILER V7.20 RDIO 12/08/2004 10:59:27 PAGE 6
=1
=1 uchar code CmdLenTab[CMDCNT] = {
=1
=1 // CmdNr: 0x40 ...
=1 7, 1, 5, 4, 2, 0, 1, 17, 5, 5, 1, 1, 14, 1, 2, 0,
=1
=1 // CmdNr: 0x50 ... ... 0x57
=1 1, 1, 2, 22, 1, 0, 3, 5};
=1 #else
148 =1
149 =1 extern uchar code CmdLenTab[CMDCNT];
150 =1
151 =1 #endif
152 =1
153 =1
154 =1 // Serial Buffer
155 =1
156 =1 #define HEADER 3
157 =1
158 =1 #define MAXDATA 30
159 =1
160 =1 #define SERBUFLEN HEADER + MAXDATA + CRC_CHECKBYTECNT + 1
161 =1
162 =1 #define SEQNR 0
163 =1
164 =1 #define COMMAND 1
165 =1 #define STATUS 1
166 =1
167 =1 #define LENGTH 2
168 =1
169 =1 #define MODE 3
170 =1 #define BCNT 3
171 =1 #define ADR 3
172 =1 #define SERNR 3
173 =1 #define SIZE 3
174 =1 #define TIME 3
175 =1 #define TAGTYPE 3
176 =1 #define INFO 3
177 =1 #define CTLBYTE 3
178 =1 #define PORTBYTE 3
179 =1 #define HLREQMODE 3
180 =1
181 =1 #define SECNR 4
182 =1 #define DATABYTES 4
183 =1 #define VALUE 4
184 =1 #define BAUD 4
185 =1 #define SERNR_in 4
186 =1 #define HL_SERNR 4
187 =1 #define KEY_ADDR 4
188 =1 #define POSITION 4
189 =1 #define SEL_CNT 4
190 =1
191 =1 #define TKEY 5
192 =1 #define AUTHADD 5
193 =1 #define DES_KEY 5
194 =1 #define MKAC 5
195 =1 #define CARD_ADDR 5
196 =1 #define NUM 5
197 =1
198 =1 #define CIPHER 6
199 =1
200 =1 #define AUTHMODE 7
C51 COMPILER V7.20 RDIO 12/08/2004 10:59:27 PAGE 7
201 =1
202 =1 #define ADRCHKWR 8
203 =1 #define HLAUTHMODE 8
204 =1
205 =1 #define DATACHKWR 9
206 =1 #define HLSECNR 9
207 =1
208 =1 #define NKEY6 11
209 =1 #define NKEY8 13
210 =1
211 =1 #define QUIT 30
212 =1
213 =1 // Timer 0
214 =1
215 =1 #define T_533_ms 14 // (533 ms)
216 =1
217 =1 #define START_T0(x) Timer0Cnt = (x); TL0 = 0; TH0 = 0; TR0 = 1
218 =1 #define STOP_T0() TR0 = 0
219 =1
220 =1 #define CALL_isr_T0() TR0 = 0; Timer0Cnt = 0; TF0 = 1
221 =1
222 =1
223 =1 #ifndef NO_TIMER2
224 =1
225 =1 // Timer 2
226 =1
227 =1 #define RCAP2_50us 65536L - OSC_FREQ/240417L
228 =1 #define RCAP2_1ms 65536L - OSC_FREQ/12021L
229 =1 #define RCAP2_10ms 65536L - OSC_FREQ/1200L
230 =1
231 =1 sfr16 RCAP2LH = 0xCA;
232 =1 sfr16 T2LH = 0xCC;
233 =1
234 =1 #else
=1
=1 #define SCON S0CON
=1 #define SBUF S0BUF
=1 #define ES ES0
=1
=1 #endif
241 =1
242 =1 #ifdef NOP_DELAY
=1
=1 #define DELAY_us(x) delay_50us_NOP()
=1
=1 #else
247 =1
248 =1 #define DELAY_us(x) for (i = 0; i < (uchar)(((x)*9)/20); i++)
249 =1 // 20 <= x <= 567
250 =1
251 =1 #endif
252 =1
253 =1
254 =1 // Global Variables
255 =1
256 =1 EXTERN volatile bit Idle;
257 =1 EXTERN volatile bit CmdReceived;
258 =1
259 =1 EXTERN volatile bit DataDleReceived;
260 =1 EXTERN volatile bit CmdValid;
261 =1 EXTERN volatile bit LLfReady;
262 =1 EXTERN volatile bit SendReady;
C51 COMPILER V7.20 RDIO 12/08/2004 10:59:27 PAGE 8
263 =1 EXTERN volatile bit Quit;
264 =1 EXTERN volatile bit EnableRS422;
265 =1 EXTERN volatile bit EnableTransferCmd;
266 =1 EXTERN volatile bit Enable_LEDs;
267 =1 EXTERN volatile bit AutoBaud;
268 =1
269 =1 #ifdef AUTODELAY
270 =1 EXTERN volatile bit DelayRateLocked;
271 =1 EXTERN volatile uchar DelayRate;
272 =1 EXTERN volatile uchar CmdCnt;
273 =1
274 =1 #define MAXDELAYRATE 100
275 =1 #define AUTODELAY_FALLBACK 200
276 =1 #endif
277 =1
278 =1 EXTERN volatile uchar RecvState;
279 =1 EXTERN volatile uchar SendState;
280 =1 EXTERN volatile uchar Index;
281 =1 EXTERN volatile uchar RepCnt;
282 =1 EXTERN volatile uchar Timer0Cnt;
283 =1 EXTERN volatile uchar SeqNr;
284 =1 EXTERN volatile uchar QuitStatus;
285 =1 EXTERN volatile uchar CheckByteCnt;
286 =1
287 =1 EXTERN volatile char BaudRate;
288 =1 EXTERN volatile uchar Capt_L;
289 =1 EXTERN volatile uchar Capt_H;
290 =1 EXTERN volatile uint Capt;
291 =1
292 =1 EXTERN volatile uchar idata SerBuffer[SERBUFLEN];
293 =1
294 =1
295 =1 // Global Prototypes
296 =1
297 =1 EXTERN void delay_8us_NOP(void);
298 =1
299 =1 EXTERN void delay_50us(uchar _50us);
300 =1 EXTERN void delay_1ms(uchar _1ms);
301 =1 EXTERN void delay_10ms(uint _10ms);
302 =1
303 =1 #ifdef NOP_DELAY
=1 EXTERN void delay_50us_NOP(void);
=1 #endif
306 =1
307 =1 EXTERN uchar xtoa_h(uchar _byte);
308 =1 EXTERN uchar xtoa_l(uchar _byte);
309 =1
310 =1 EXTERN void auto_baud(void);
311 =1
312 =1
313 =1 #undef EXTERN
314 =1
315 =1
316 =1 /***************************************************************************/
317 =1
16 #include <p89c51rx.h>
1 =1 /*--------------------------------------------------------------------------
2 =1 P89C51.H
3 =1
4 =1 Header file for the ISP Flash Philips P89C51RX.
5 =1 --------------------------------------------------------------------------*/
6 =1
C51 COMPILER V7.20 RDIO 12/08/2004 10:59:27 PAGE 9
7 =1 /*------------------------------------------------
8 =1 Byte Registers
9 =1 ------------------------------------------------*/
10 =1 sfr P0 = 0x80;
11 =1 sfr SP = 0x81;
12 =1 sfr DPL = 0x82;
13 =1 sfr DPH = 0x83;
14 =1 sfr PCON = 0x87;
15 =1 sfr TCON = 0x88;
16 =1 sfr TMOD = 0x89;
17 =1 sfr TL0 = 0x8A;
18 =1 sfr TL1 = 0x8B;
19 =1 sfr TH0 = 0x8C;
20 =1 sfr TH1 = 0x8D;
21 =1 sfr AUXR = 0x8E;
22 =1 sfr P1 = 0x90;
23 =1 sfr SCON = 0x98;
24 =1 sfr SBUF = 0x99;
25 =1 sfr P2 = 0xA0;
26 =1 sfr AUXR1 = 0xA2;
27 =1 sfr IE = 0xA8;
28 =1 sfr SADDR = 0xA9;
29 =1 sfr P3 = 0xB0;
30 =1 sfr IPH = 0xB7;
31 =1 sfr IP = 0xB8;
32 =1 sfr SADEN = 0xB9;
33 =1 sfr PMR = 0xC4;
34 =1 sfr T2CON = 0xC8;
35 =1 sfr T2MOD = 0xC9;
36 =1 sfr RCAP2L = 0xCA;
37 =1 sfr RCAP2H = 0xCB;
38 =1 sfr TL2 = 0xCC;
39 =1 sfr TH2 = 0xCD;
40 =1 sfr PSW = 0xD0;
41 =1 sfr CCON = 0xD8;
42 =1 sfr CMOD = 0xD9;
43 =1 sfr CCAPM0 = 0xDA;
44 =1 sfr CCAPM1 = 0xDB;
45 =1 sfr CCAPM2 = 0xDC;
46 =1 sfr CCAPM3 = 0xDD;
47 =1 sfr CCAPM4 = 0xDE;
48 =1 sfr ACC = 0xE0;
49 =1 sfr A = 0xE0;
50 =1 sfr CL = 0xE9;
51 =1 sfr CCAP0L = 0xEA;
52 =1 sfr CCAP1L = 0xEB;
53 =1 sfr CCAP2L = 0xEC;
54 =1 sfr CCAP3L = 0xED;
55 =1 sfr CCAP4L = 0xEE;
56 =1 sfr B = 0xF0;
57 =1 sfr CH = 0xF9;
58 =1 sfr CCAP0H = 0xFA;
59 =1 sfr CCAP1H = 0xFB;
60 =1 sfr CCAP2H = 0xFC;
61 =1 sfr CCAP3H = 0xFD;
62 =1 sfr CCAP4H = 0xFE;
63 =1
64 =1 /*------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -