⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.src

📁 读写ID卡源代码
💻 SRC
📖 第 1 页 / 共 2 页
字号:
; .\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 + -