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

📄 fk.h

📁 2106卡的程序
💻 H
字号:
#define BYTE                    unsigned char
#define WORD                    unsigned int
#define DWORD                   unsigned long
#define FALSE                   0
#define TRUE                    1
#define ON			0
#define OFF			1

//ICC Type Flag
#define ICC_T0		        0x05
#define ICC_T1		        0x06

sbit    beep                    = P1^7;
#define TOGGLE_BP();            beep = ~beep;

sbit    RED                     = P1^6;
sbit    GREEN			= P1^5;
#define LED(x,y);               (x)=(y);

sbit    WDOG                    =P3^4;
#define TOGGLE_WD();            WDOG = ~WDOG;

sbit    ICSW			=P1^0;
sbit    ICVCC                   =P1^1;
sbit    ICRST                   =P1^2;
sbit    ECPUCLK                 =P1^3;
sbit    ICCLK                   =P1^4;
sbit    ICIO                    =P3^3;        //INT1

sbit    PRST			=P2^1;
sbit    PIO		        =P3^2;        //INT0
sbit    PCLK			=P2^2;
sbit    PVCC                    =P2^0;

sbit    FUS			=P2^0;
sbit    PGM                     =P2^1;

/*
*/

//mifare1 hardware functions
#define _REQUEST                0x26
#define _REQUEST_ALL            0x52

// STACON
#define _DV                     0x80
#define _TE                     0x40
#define _PE                     0x20
#define _CE                     0x10
#define _BE                     0x08
#define _AE                     0x04

#define _SOR                    0x80
#define _RFS                    0x40
#define _MI1                    0x04
#define _NRF                    0x02
#define _AC                     0x01

// ENABLE
#define _PEN                    0x80
#define _PRE                    0x40
#define _CEN                    0x20
#define _CRE                    0x10

// KEYADR
#define _AUTH                   0x80
#define _LOAD                   0x00
#define _KEYB                   0x40
#define _KEYA                   0x00

// Error Codes
#define OK                      0
#define W_NOCARD                5

#define W_NOTAG                 1
#define W_CRC                   2
#define W_EMPTY                 3
#define W_AUTH                  4
#define W_PARITY                5
#define W_CODE                  6
#define W_SERNR                 8
#define W_NOTAUTH               10
#define W_BITCNT                11
#define W_BYTECNT               12
#define W_TRANS                 14
#define W_WRITE                 15
#define W_INCR                  16
#define W_DECR                  17
#define W_READ                  18

#define W_NO_VCC		06
#define W_ICC_Type_Error        12

#define QUIT                    30
#define MIS_CHK_OK              0
#define MIS_CHK_FAILED          1
#define MIS_CHK_COMPERR         2

#define W_VERIFY                19

#define W_CMD_NY_IMPL           100

// Helpful Defines
#define IDLE                    0x00
#define ALL                     0x01
#define EVER                    0x80

#define KEYB                    0x04
#define KEYA                    0x00
#define KEYSET0                 0x00
#define KEYSET1                 0x01
#define KEYSET2                 0x02
#define KEYS                    0x03

//serial protocol
#define SOH                     0x01
#define STX                     0x02
#define ETX                     0x03
#define ENQ                     0x05
#define ACK                     0x06
#define DLE                     0x10
#define NAK                     0x15

#define MAXREPCNT               2
#define CALL_isr_UART()         TI = 1
#define SER_BCC                 0
#define SER_CRC                 1

// Receive States
#define RECV_STX                0
#define RECV_DATA_DLE_ETX       1
#define RECV_ETX                2
#define RECV_DLE                3
#define RECV_DLE_OR_NAK         4

// Serial Buffer
#define HEADER                  3
#define MAXDATA                 128
#define SERBUFLEN               3+HEADER+MAXDATA+1

#define SEQNR                   0

#define COMMAND                 1
#define STATUS                  1

#define LENGTH                  2

#define MODE                    3
#define BCNT                    3
#define ADR                     3
#define SERNR                   3
#define SIZE                    3
#define TIME                    3
#define TAGTYPE                 3
#define INFO                    3
#define CTLBYTE                 3
#define PORTBYTE                3
#define HLREQMODE               3

#define SECNR                   4
#define DATABYTES               4
#define VALUE                   4
#define BAUD                    4
#define SERNR_in                4
#define HL_SERNR                4

#define TKEY                    5
#define AUTHADD                 5

#define AUTHMODE                7

#define ADRCHKWR                8
#define HLAUTHMODE              8

#define DATACHKWR               9
#define HLSECNR                 9

#define NKEY6                   11
#define NKEY8                   13

typedef struct _KEY { BYTE _key[6]; } KEY;

//Hardware Addresses
#define PBYTE ((unsigned char volatile *) 0x30000L)

#define MCM_DATA      PBYTE[0x00]
#define MCM_STACON    PBYTE[0x01]
#define MCM_ENABLE    PBYTE[0x02]
#define MCM_BCNTS     PBYTE[0x03]
#define MCM_BCNTR     PBYTE[0x04]
#define MCM_BAUDRATE  PBYTE[0x05]
#define MCM_TOC       PBYTE[0x06]
#define MCM_MODE      PBYTE[0x07]
#define MCM_CRCDATA   PBYTE[0x08]
#define MCM_CRCSTACON PBYTE[0x09]
#define MCM_KEYDATA   PBYTE[0x0A]
#define MCM_KEYSTACON PBYTE[0x0B]
#define MCM_KEYADR    PBYTE[0x0C]
#define MCM_RCODE     PBYTE[0x0E]

// Timer 0
#define NOP20();  		for(i=20;i>0;i--)_nop_();
#define T_500_ms 		55
#define START_T0(x)             Timer0Cnt = (x); TL0 = 0; TH0 = 0; TR0 = 1
#define STOP_T0()               TR0 = 0;TF0 =0
#define CALL_isr_T0()           TR0 = 0; Timer0Cnt = 0; TF0 = 1

// Timer 2
#define OSC_FREQ               11059200L        
#define RCAP2_50us             65536L - OSC_FREQ/240417L
#define RCAP2_1ms              65536L - OSC_FREQ/12021L
#define RCAP2_10ms             65536L - OSC_FREQ/1200L

sfr16   RCAP2LH                = 0xCA;
sfr16   T2LH                   = 0xCC;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -