📄 main.ls1
字号:
0000 217 counter?040: DS 1
0001 218 counter2?041: DS 1
0002 219 ttt?042: DS 1
0003 220 mfout?043: DS 1
0004 221 tt1?044: DS 2
0006 222 cardserialno?046: DS 4
000A 223 sak1?047: DS 3
000D 224 i?048: DS 1
225
---- 226 RSEG ?XD?_CMP_STRING?MAIN
0000 227 ?_CMP_STRING?BYTE:
0000 228 pt1?349: DS 3
0003 229 pt2?350: DS 3
0006 230 len?351: DS 1
231
---- 232 RSEG ?XD?MAIN
0000 233 rxhead: DS 1
0001 234 txhead: DS 1
0002 235 secondcounter: DS 2
0004 236 m_sta: DS 1
0005 237 sameoutvalue: DS 1
0006 238 blockdata: DS 16
0016 239 receive_buf1: DS 1
0017 240 snr_counter: DS 1
0018 241 size: DS 1
0019 242 send_buf: DS 8
0021 243 m_idata: DS 5
0026 244 mjcounter: DS 1
0027 245 mscounter: DS 2
0029 246 tt: DS 2
002B 247 mjdata: DS 1
248
---- 249 RSEG ?BA?MAIN
0000 250 flag: DS 1
0001 251 flag1: DS 1
0002 252 flag2: DS 1
A51 MACRO ASSEMBLER MAIN 06/19/2008 00:27:03 PAGE 5
0009 253 half_flag EQU (flag1+0).1
000E 254 mleft EQU (flag1+0).6
0003 255 life_flag EQU (flag+0).3
0010 256 y0_flag EQU (flag2+0).0
0007 257 desk_flag EQU (flag+0).7
0011 258 y1_flag EQU (flag2+0).1
0012 259 y2_flag EQU (flag2+0).2
0013 260 y3_flag EQU (flag2+0).3
000A 261 short_flag EQU (flag1+0).2
0002 262 down_flag EQU (flag+0).2
0000 263 out_flag EQU (flag+0).0
0001 264 up_flag EQU (flag+0).1
000D 265 receive_flag EQU (flag1+0).5
000C 266 m_data_flag EQU (flag1+0).4
0008 267 m_flag EQU (flag1+0).0
000B 268 rcv_bit EQU (flag1+0).3
0006 269 display_flag EQU (flag+0).6
0004 270 second_flag EQU (flag+0).4
271
---- 272 RSEG ?C_INITSEG
0000 41 273 DB 041H
0001 0000 F 274 DW snr_counter
0003 01 275 DB 001H
276
0004 41 277 DB 041H
0005 0000 F 278 DW txhead
0007 00 279 DB 000H
280
281 ; /****************************************************************************
282 ; * File: MAIN.C *
283 ; * Version: 1.0 *
284 ; * Created: 21.06.2005 *
285 ; * Last Change: 22.06.2005 *
286 ; * Author: yuanjun yin *
287 ; * Compiler: KEIL C51 uVision2 V2.23 *
288 ; * Description: 89C54RD+-Firmware for MFRC500 Demo Serial Reader *
289 ; ****************************************************************************/
290 ; #include "main.h"
291 ; #include <p89c51rx.h>
292 ;
293 ; sbit LED = P3^5;
294 ; void sort(void);
295 ; // Serial Number of the MFRC500
296 ;
297 ; unsigned char tt[2];
298 ; uchar snr_counter=1;
299 ; uchar m_sta; //定时读写标志 =1,起始 =2
300 ; uchar m_idata[5];
301 ; uchar rxhead;
302 ; uchar txhead=0;
303 ; uchar receive_buf1[1];
304 ; uchar send_buf[8];
305 ; uchar mjcounter;
306 ; //uchar desk_counter=0;
307 ; uchar mjdata;
308 ; uchar sameoutvalue;
309 ; uint mscounter;
310 ; uint secondcounter;
311 ;
312 ; //unsigned char blockdata[16];
313 ; uchar size;
314 ;
315 ; void init(void);
316 ; //void led_flash(void);
317 ; unsigned char mifare_init(void);
318 ; unsigned char read_3card(void);
A51 MACRO ASSEMBLER MAIN 06/19/2008 00:27:03 PAGE 6
319 ; unsigned char CMP_STRING(unsigned char *pt1,
320 ; unsigned char *pt2,unsigned char len);
321 ; //void rec_comm(void);
322 ; unsigned char read_card3(void);
323 ; void cpu_sleep(void);
324 ; unsigned char output(uchar hhh);
325 ; uchar press_key(void);
326 ; void selectout(unsigned char tt);
327 ; void swapdata(unsigned int *x,unsigned int *y);
328 ; void press_data(uchar tty);
329 ; unsigned char blockdata[16];
330 ; void cmpdata(void);
331 ; void sort_mjdata(void);
332 ; //void rec_comm(void);
333 ; void sameout(unsigned char tt);
334 ; void clearout(void);
335 ; void flash_led(void);
336 ; void m_readcard(void);
337 ;
338 ; unsigned char bdata flag;
339 ; sbit out_flag=flag^0;
340 ; sbit up_flag=flag^1; //上活门标志
341 ; sbit down_flag=flag^2; //下活门标志
342 ; sbit life_flag=flag^3; //生死门标志
343 ; sbit second_flag=flag^4; //输出二次标志
344 ; // sbit reset_flag=flag^5;
345 ; sbit display_flag=flag^6;
346 ; sbit desk_flag=flag^7;
347 ;
348 ; unsigned char bdata flag1;
349 ; sbit m_flag=flag1^0;
350 ; sbit half_flag=flag1^1;
351 ; sbit short_flag=flag1^2;
352 ; sbit rcv_bit=flag1^3;
353 ; sbit m_data_flag=flag1^4;
354 ; sbit receive_flag=flag1^5;
355 ; sbit mleft=flag1^6;
356 ;
357 ;
358 ; unsigned char bdata flag2;
359 ; sbit y0_flag=flag2^0;
360 ; sbit y1_flag=flag2^1;
361 ; sbit y2_flag=flag2^2;
362 ; sbit y3_flag=flag2^3;
363 ;
364 ; /****************************************************************************
365 ;
366 ; ****************************************************************************/
367
---- 368 RSEG ?PR?MAIN
0000 369 Com0022:
0000 370 L?0035:
371 USING 0
0000 E0 372 MOVX A,@DPTR
0001 FB 373 MOV R3,A
0002 A3 374 INC DPTR
0003 E4 375 CLR A
0004 75F001 376 MOV B,#01H
0007 120000 F 377 LCALL ?C?ILDIX
000A A9F0 378 MOV R1,B
000C FA 379 MOV R2,A
000D 020000 F 380 LJMP ?C?CLDPTR
381 ; END OF Com0022
382
383 ; void main (void)
384
A51 MACRO ASSEMBLER MAIN 06/19/2008 00:27:03 PAGE 7
---- 385 RSEG ?PR?main?MAIN
0000 386 main:
387 USING 0
388 ; SOURCE LINE # 87
389 ; {
390 ; SOURCE LINE # 88
391 ; unsigned char counter,counter2,ttt;
392 ; unsigned char mfout=2;//readbuf[16];
393 ; SOURCE LINE # 90
0000 900000 F 394 MOV DPTR,#mfout?043
0003 7402 395 MOV A,#02H
0005 F0 396 MOVX @DPTR,A
397 ; unsigned char tt1[2];
398 ; unsigned char status1;
399 ; unsigned char cardserialno[4];
400 ; unsigned char *sak1;
401 ; unsigned char i;
402 ; // reset_flag=0; //复位标志为0
403 ;
404 ; init();
405 ; SOURCE LINE # 98
0006 120000 F 406 LCALL init
407 ; LED=0;
408 ; SOURCE LINE # 99
0009 C2B5 409 CLR LED
410 ; mjcounter=1;
411 ; SOURCE LINE # 100
000B 900000 F 412 MOV DPTR,#mjcounter
000E 7401 413 MOV A,#01H
0010 F0 414 MOVX @DPTR,A
415 ;
416 ; status1=M500PcdConfig(); // Initialise the RC500
417 ; SOURCE LINE # 102
0011 120000 F 418 LCALL M500PcdConfig
419 ;---- Variable 'status1?045' assigned to Register 'R7' ----
420 ; // M500PcdMfOutSelect(mfout);
421 ; secondcounter=0;
422 ; SOURCE LINE # 104
0014 E4 423 CLR A
0015 900000 F 424 MOV DPTR,#secondcounter
0018 F0 425 MOVX @DPTR,A
0019 A3 426 INC DPTR
001A F0 427 MOVX @DPTR,A
428 ;
429 ;
430 ;
431 ; for(;;)
432 ; SOURCE LINE # 108
001B 433 ?C0001:
434 ; {
435 ; SOURCE LINE # 109
436 ;
437 ; if (status1==0)
438 ; SOURCE LINE # 111
001B EF 439 MOV A,R7
001C 70FD 440 JNZ ?C0001
441 ; {
442 ; SOURCE LINE # 112
443 ; // flash_led();
444 ;
445 ; SBUF=snr_counter;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -