📄 main.src
字号:
; .\main.SRC generated from: main.c
; COMPILER INVOKED BY:
; C:\Keil\C51\BIN\C51.EXE main.c LARGE WARNINGLEVEL(0) OPTIMIZE(9,SPEED) BROWSE INCDIR(D:\UsefulDocument\Mifare\MF RC500\MFRC500 Demo Reader\RC500\For Test) DEBUG OBJECTEXTEND CODE LISTINCLUDE SYMBOLS SRC(.\main.SRC)
$NOMOD51
NAME MAIN
P0 DATA 080H
P1 DATA 090H
P2 DATA 0A0H
P3 DATA 0B0H
AC BIT 0D0H.6
T0 BIT 0B0H.4
T1 BIT 0B0H.5
EA BIT 0A8H.7
EC BIT 0A8H.6
CH DATA 0F9H
IE DATA 0A8H
CL DATA 0E9H
P0_0 BIT 080H.0
P1_0 BIT 090H.0
P0_1 BIT 080H.1
CCAP0H DATA 0FAH
FL BIT 0D0H.1
P2_0 BIT 0A0H.0
P1_1 BIT 090H.1
P0_2 BIT 080H.2
CCAP1H DATA 0FBH
P3_0 BIT 0B0H.0
P2_1 BIT 0A0H.1
P1_2 BIT 090H.2
P0_3 BIT 080H.3
CCAP2H DATA 0FCH
P3_1 BIT 0B0H.1
P2_2 BIT 0A0H.2
P1_3 BIT 090H.3
P0_4 BIT 080H.4
CCAP3H DATA 0FDH
P3_2 BIT 0B0H.2
P2_3 BIT 0A0H.3
P1_4 BIT 090H.4
P0_5 BIT 080H.5
CCAP4H DATA 0FEH
CCAP0L DATA 0EAH
RD BIT 0B0H.7
P3_3 BIT 0B0H.3
P2_4 BIT 0A0H.4
P1_5 BIT 090H.5
EXF2 BIT 0C8H.6
P0_6 BIT 080H.6
CCAP1L DATA 0EBH
CCAPM0 DATA 0DAH
P3_4 BIT 0B0H.4
P2_5 BIT 0A0H.5
P1_6 BIT 090H.6
P0_7 BIT 080H.7
CCAP2L DATA 0ECH
CCAPM1 DATA 0DBH
P3_5 BIT 0B0H.5
ES BIT 0A8H.4
P2_6 BIT 0A0H.6
P1_7 BIT 090H.7
CCAP3L DATA 0EDH
CCAPM2 DATA 0DCH
P3_6 BIT 0B0H.6
P2_7 BIT 0A0H.7
CCAP4L DATA 0EEH
CCAPM3 DATA 0DDH
IP DATA 0B8H
P3_7 BIT 0B0H.7
CCAPM4 DATA 0DEH
RI BIT 098H.0
CY BIT 0D0H.7
INT0 BIT 0B0H.2
INT1 BIT 0B0H.3
TI BIT 098H.1
RCAP2H DATA 0CBH
PS BIT 0B8H.4
SP DATA 081H
CMOD DATA 0D9H
CCON DATA 0D8H
OV BIT 0D0H.2
RCAP2L DATA 0CAH
WR BIT 0B0H.6
C_T2 BIT 0C8H.1
RCLK BIT 0C8H.5
TCLK BIT 0C8H.4
SBUF DATA 099H
PCON DATA 087H
SCON DATA 098H
TMOD DATA 089H
TCON DATA 088H
IE0 BIT 088H.1
IE1 BIT 088H.3
A DATA 0E0H
B DATA 0F0H
AUXR DATA 08EH
CP_RL2 BIT 0C8H.0
ACC DATA 0E0H
ET0 BIT 0A8H.1
ET1 BIT 0A8H.3
TF0 BIT 088H.5
ET2 BIT 0A8H.5
TF1 BIT 088H.7
RB8 BIT 098H.2
TF2 BIT 0C8H.7
TH0 DATA 08CH
EX0 BIT 0A8H.0
IT0 BIT 088H.0
TH1 DATA 08DH
EX1 BIT 0A8H.2
TB8 BIT 098H.3
IT1 BIT 088H.2
TH2 DATA 0CDH
P BIT 0D0H.0
SM0 BIT 098H.7
TL0 DATA 08AH
SM1 BIT 098H.6
TL1 DATA 08BH
SM2 BIT 098H.5
TL2 DATA 0CCH
PT0 BIT 0B8H.1
LED BIT 0B0H.5
RS0 BIT 0D0H.3
PT1 BIT 0B8H.3
RS1 BIT 0D0H.4
PT2 BIT 0B8H.5
TR0 BIT 088H.4
TR1 BIT 088H.6
PX0 BIT 0B8H.0
TR2 BIT 0C8H.2
PX1 BIT 0B8H.2
DPH DATA 083H
DPL DATA 082H
IPH DATA 0B7H
EXEN2 BIT 0C8H.3
REN BIT 098H.4
T2MOD DATA 0C9H
T2CON DATA 0C8H
SADEN DATA 0B9H
RXD BIT 0B0H.0
PMR DATA 0C4H
SADDR DATA 0A9H
TXD BIT 0B0H.1
AUXR1 DATA 0A2H
F0 BIT 0D0H.5
PSW DATA 0D0H
?PR?main?MAIN SEGMENT CODE
?XD?main?MAIN SEGMENT XDATA OVERLAYABLE
?PR?init?MAIN SEGMENT CODE
?PR?m_readcard?MAIN SEGMENT CODE
?PR?_CMP_STRING?MAIN SEGMENT CODE
?XD?_CMP_STRING?MAIN SEGMENT XDATA OVERLAYABLE
?PR?_delay_10ms?MAIN SEGMENT CODE
?PR?isr_timer0?MAIN SEGMENT CODE
?PR?receive_send?MAIN SEGMENT CODE
?PR?flash_led?MAIN SEGMENT CODE
?PR?EM_REV?MAIN SEGMENT CODE
?C_INITSEG SEGMENT CODE
?XD?MAIN SEGMENT XDATA
?BA?MAIN SEGMENT DATA BITADDRESSABLE
?PR?MAIN SEGMENT CODE
EXTRN CODE (M500PcdConfig)
EXTRN CODE (?C_STARTUP)
EXTRN CODE (?C?ILDIX)
EXTRN CODE (?C?CLDPTR)
PUBLIC second_flag
PUBLIC display_flag
PUBLIC mjdata
PUBLIC rcv_bit
PUBLIC m_flag
PUBLIC tt
PUBLIC mscounter
PUBLIC m_data_flag
PUBLIC receive_flag
PUBLIC up_flag
PUBLIC mjcounter
PUBLIC out_flag
PUBLIC m_idata
PUBLIC send_buf
PUBLIC size
PUBLIC snr_counter
PUBLIC receive_buf1
PUBLIC down_flag
PUBLIC short_flag
PUBLIC blockdata
PUBLIC y3_flag
PUBLIC y2_flag
PUBLIC y1_flag
PUBLIC desk_flag
PUBLIC y0_flag
PUBLIC flag2
PUBLIC sameoutvalue
PUBLIC life_flag
PUBLIC flag
PUBLIC mleft
PUBLIC half_flag
PUBLIC flag1
PUBLIC m_sta
PUBLIC secondcounter
PUBLIC txhead
PUBLIC rxhead
PUBLIC EM_REV
PUBLIC flash_led
PUBLIC receive_send
PUBLIC isr_timer0
PUBLIC _delay_10ms
PUBLIC ?_CMP_STRING?BYTE
PUBLIC _CMP_STRING
PUBLIC m_readcard
PUBLIC init
PUBLIC main
RSEG ?XD?main?MAIN
?main?BYTE:
counter?040: DS 1
counter2?041: DS 1
ttt?042: DS 1
mfout?043: DS 1
tt1?044: DS 2
cardserialno?046: DS 4
sak1?047: DS 3
i?048: DS 1
RSEG ?XD?_CMP_STRING?MAIN
?_CMP_STRING?BYTE:
pt1?349: DS 3
pt2?350: DS 3
len?351: DS 1
RSEG ?XD?MAIN
rxhead: DS 1
txhead: DS 1
secondcounter: DS 2
m_sta: DS 1
sameoutvalue: DS 1
blockdata: DS 16
receive_buf1: DS 1
snr_counter: DS 1
size: DS 1
send_buf: DS 8
m_idata: DS 5
mjcounter: DS 1
mscounter: DS 2
tt: DS 2
mjdata: DS 1
RSEG ?BA?MAIN
flag: DS 1
flag1: DS 1
flag2: DS 1
half_flag EQU (flag1+0).1
mleft EQU (flag1+0).6
life_flag EQU (flag+0).3
y0_flag EQU (flag2+0).0
desk_flag EQU (flag+0).7
y1_flag EQU (flag2+0).1
y2_flag EQU (flag2+0).2
y3_flag EQU (flag2+0).3
short_flag EQU (flag1+0).2
down_flag EQU (flag+0).2
out_flag EQU (flag+0).0
up_flag EQU (flag+0).1
receive_flag EQU (flag1+0).5
m_data_flag EQU (flag1+0).4
m_flag EQU (flag1+0).0
rcv_bit EQU (flag1+0).3
display_flag EQU (flag+0).6
second_flag EQU (flag+0).4
RSEG ?C_INITSEG
DB 041H
DW snr_counter
DB 001H
DB 041H
DW txhead
DB 000H
; /****************************************************************************
; * File: MAIN.C *
; * Version: 1.0 *
; * Created: 21.06.2005 *
; * Last Change: 22.06.2005 *
; * Author: yuanjun yin *
; * Compiler: KEIL C51 uVision2 V2.23 *
; * Description: 89C54RD+-Firmware for MFRC500 Demo Serial Reader *
; ****************************************************************************/
; #include "main.h"
; #include <p89c51rx.h>
;
; sbit LED = P3^5;
; void sort(void);
; // Serial Number of the MFRC500
;
; unsigned char tt[2];
; uchar snr_counter=1;
; uchar m_sta; //定时读写标志 =1,起始 =2
; uchar m_idata[5];
; uchar rxhead;
; uchar txhead=0;
; uchar receive_buf1[1];
; uchar send_buf[8];
; uchar mjcounter;
; //uchar desk_counter=0;
; uchar mjdata;
; uchar sameoutvalue;
; uint mscounter;
; uint secondcounter;
;
; //unsigned char blockdata[16];
; uchar size;
;
; void init(void);
; //void led_flash(void);
; unsigned char mifare_init(void);
; unsigned char read_3card(void);
; unsigned char CMP_STRING(unsigned char *pt1,
; unsigned char *pt2,unsigned char len);
; //void rec_comm(void);
; unsigned char read_card3(void);
; void cpu_sleep(void);
; unsigned char output(uchar hhh);
; uchar press_key(void);
; void selectout(unsigned char tt);
; void swapdata(unsigned int *x,unsigned int *y);
; void press_data(uchar tty);
; unsigned char blockdata[16];
; void cmpdata(void);
; void sort_mjdata(void);
; //void rec_comm(void);
; void sameout(unsigned char tt);
; void clearout(void);
; void flash_led(void);
; void m_readcard(void);
;
; unsigned char bdata flag;
; sbit out_flag=flag^0;
; sbit up_flag=flag^1; //上活门标志
; sbit down_flag=flag^2; //下活门标志
; sbit life_flag=flag^3; //生死门标志
; sbit second_flag=flag^4; //输出二次标志
; // sbit reset_flag=flag^5;
; sbit display_flag=flag^6;
; sbit desk_flag=flag^7;
;
; unsigned char bdata flag1;
; sbit m_flag=flag1^0;
; sbit half_flag=flag1^1;
; sbit short_flag=flag1^2;
; sbit rcv_bit=flag1^3;
; sbit m_data_flag=flag1^4;
; sbit receive_flag=flag1^5;
; sbit mleft=flag1^6;
;
;
; unsigned char bdata flag2;
; sbit y0_flag=flag2^0;
; sbit y1_flag=flag2^1;
; sbit y2_flag=flag2^2;
; sbit y3_flag=flag2^3;
;
; /****************************************************************************
;
; ****************************************************************************/
RSEG ?PR?MAIN
Com0022:
L?0035:
USING 0
MOVX A,@DPTR
MOV R3,A
INC DPTR
CLR A
MOV B,#01H
LCALL ?C?ILDIX
MOV R1,B
MOV R2,A
LJMP ?C?CLDPTR
; END OF Com0022
; void main (void)
RSEG ?PR?main?MAIN
main:
USING 0
; SOURCE LINE # 87
; {
; SOURCE LINE # 88
; unsigned char counter,counter2,ttt;
; unsigned char mfout=2;//readbuf[16];
; SOURCE LINE # 90
MOV DPTR,#mfout?043
MOV A,#02H
MOVX @DPTR,A
; unsigned char tt1[2];
; unsigned char status1;
; unsigned char cardserialno[4];
; unsigned char *sak1;
; unsigned char i;
; // reset_flag=0; //复位标志为0
;
; init();
; SOURCE LINE # 98
LCALL init
; LED=0;
; SOURCE LINE # 99
CLR LED
; mjcounter=1;
; SOURCE LINE # 100
MOV DPTR,#mjcounter
MOV A,#01H
MOVX @DPTR,A
;
; status1=M500PcdConfig(); // Initialise the RC500
; SOURCE LINE # 102
LCALL M500PcdConfig
;---- Variable 'status1?045' assigned to Register 'R7' ----
; // M500PcdMfOutSelect(mfout);
; secondcounter=0;
; SOURCE LINE # 104
CLR A
MOV DPTR,#secondcounter
MOVX @DPTR,A
INC DPTR
MOVX @DPTR,A
;
;
;
; for(;;)
; SOURCE LINE # 108
?C0001:
; {
; SOURCE LINE # 109
;
; if (status1==0)
; SOURCE LINE # 111
MOV A,R7
JNZ ?C0001
; {
; SOURCE LINE # 112
; // flash_led();
;
; SBUF=snr_counter;
; SOURCE LINE # 115
MOV DPTR,#snr_counter
MOVX A,@DPTR
MOV SBUF,A
; //////////////////////////////////////////////////////
; }
; SOURCE LINE # 117
SJMP ?C0001
; END OF main
; else
; ;
; }
; }
;
;
; /****************************************************************************
;
; ****************************************************************************/
; void init (void)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -