📄 def.h
字号:
#ifndef __TY514_H__
#define __TY514_H__
//MCU: W77E58
//启用片内1kRAM、启动WDT、关闭ALE(减少EMI)
#pragma small DEBUG SYMBOLS OBJECTEXTEND CODE /*NOREGPARMS */
#include <Reg52.H>
#include <Stdio.H>
#include <Stdlib.h>
#include <String.h>
#include <Ctype.h>
#include <Math.h>
#include <intrins.h>
#include <absacc.h>
typedef unsigned char uchar;
typedef unsigned int uint;
typedef unsigned long ulong;
#define OSC 16000000 /*时钟频率*/
#define BAUD1 57600 /*通信波特率(主机)*/
#define T1HL 256 -255 /*SMOD = 0*/
#define T0HL 256 - 20 // 188us /*定时100us -- 100us/(12/22.1184) = 184 (1T = 12/OSC) 100/(12/16) = 133.333 */
////////////////////////////////////////////////////////////////////
//ID type
#define CPUtype 0x0
#define CPUtype1 0x0
#define CPUtype2 0x1
#define PCtype 0x5
#define SAM1type 0x11
#define SAM2type 0x22
#define SAM3type 0x33
#define SAM4type 0x44
////////////////////////////////////////////////////////////////////
//命令码
#define CCheck 0x50
#define CReaderReset 0x52
#define CICReset 0x53
#define CCommandT1 0x55
#define CCommand 0x56
#define CLONGREAD 0x57
#define CLONGWRITE 0x58
#define CResetGold 0x59
#define CCommand9600 0x5a
#define CCommand115200 0x5b
#define CDownLoad 0x5C
#define CPTS 0x5e
#define CReadEdition 0x5f /*取读写器版本号*/
#define CTransData 0x60
#define CSendAgain 0x88 /*上次发给PC数据校验错. 要求重发*/
////////////////////////////////////////////////////////////////////
//状态码
#define SLengthErr 0x67
#define SReadErr 0x80
#define SWriteErr 0x81
#define SCommandErr 0x82
#define STimeOut -4 //0x84
#define SNoCard -2 //0x85
#define SErr 0x88
#define SVerifyErr 0x8a
#define SIDErr 0x8b
#define SNoReset -3 //0x92
#define SAddressErr 0x93
#define SNotIblock 0x99
#define SNoPowerOn -3 //0x94
#define SErrPTS 0x95
#define IFD_OK 0 //执行成功
#define IFD_ICC_TypeError -1 //卡片类型不对
#define IFD_ICC_NoExist -2 //无卡
#define IFD_ICC_NoPower -3 //有卡未上电
#define IFD_ICC_NoResponse -4 //卡片无应答
#define IFD_ConnectError -11 //读卡器连接错
#define IFD_UnConnected -12 //未建立连接(没有执行打开设备函数)
#define IFD_BadCommand -13 //(动态库)不支持该命令
#define IFD_ParameterError -14 //(发给动态库的)命令参数错
#define IFD_CheckSumError -15 //信息校验和出
/////////////////////////////////////////////////////////////////////
sfr SCONF = 0xbf;
sfr WDTC = 0x9f;
sfr WDTKEY = 0x97;
sfr PMR = 0xc4;
//口线定义
sbit IC_PWR1 = P1^0;
sbit IC_RST1 = P1^1;
sbit IC_IO1 = P1^2;
sbit IC_SW1 = P1^3;
sbit IC_PWR2 = P1^4;
sbit IC_RST2 = P1^5;
sbit IC_IO2 = P1^6;
sbit IC_SW2 = P1^7;
sbit SAM1_IO = P3^2;
sbit SAM2_IO = P3^3;
sbit SAM3_IO = P3^4;
sbit SAM4_IO = P3^5;
sbit AddressLE = P3^6;
sbit CLK_CTR = P3^7;
#define SAM1RESET 0x7ffe
#define SAM2RESET 0x7ffd
#define SAM3RESET 0x7ffb
#define SAM4RESET 0x7ff7
#define SAMnRESET 0x7fff
///////////////////////////////////////////////////////////////////////////
//变量定义
sbit ACC0 = ACC^0;
sbit ACC1 = ACC^1;
sbit ACC2 = ACC^2;
sbit ACC3 = ACC^3;
sbit ACC4 = ACC^4;
sbit ACC5 = ACC^5;
sbit ACC6 = ACC^6;
sbit ACC7 = ACC^7;
extern bit isRESET; //MCU复位标志
extern bit CPU1_REST_FLAG; //cpu card reset or no
extern bit CPU2_REST_FLAG; //cpu card reset or no
extern bit STATE_FLAG;
extern bit case3;
extern bit CPU1_T0_T1;
extern bit CPU2_T0_T1;
extern bit CPU1_block;
extern bit CPU2_block;
extern bit SAM1_REST_FLAG; //cpu card reset or no
extern bit SAM2_REST_FLAG; //cpu card reset or no
extern bit SAM3_REST_FLAG; //cpu card reset or no
extern bit SAM4_REST_FLAG; //cpu card reset or no
extern bit flag;
extern bit reverse;
extern bit Power;
extern bit parity_bit;
extern bit TC1_flag;
extern bit Reset_Flag;
extern bit Squence_flag;
extern bit Card1T1_flag;
extern uchar data temp;
extern uchar data ID;
extern uchar data command;
extern uint data offset;
extern uint data length;
extern uchar data NAD;
extern uchar data PCB;
extern uchar data LEN;
extern uchar data TC1;
extern uchar data ins;
extern uchar data pp3;
extern uchar data sw1;
extern uchar data sw2;
extern uchar data TA1;
extern uchar data TA2;
extern uint data pointer;
extern uchar data WI;
extern uchar data bps;
extern uchar data IFSD;
extern uchar data IFSC;
extern uchar data TA3; //根据波特率而存放的时间参数
extern uint data timer0;
extern uint data timer1;
extern uchar data TB3;
extern uchar data BWI;
extern uchar data CWI;
extern uchar data WTX;
extern uchar data tempPCB2;
//extern uchar idata transbuff[60];
//extern uchar xdata *Rebuff;
extern uint data counter;
extern uchar data ISquen;
//extern uchar data Len; 再同步处理
//head
extern void sPC60(void);
extern uchar rPCfirstbyte(void);
extern uchar rPCbyte(void);
extern void sPCbyte(uchar chr);
extern void Detu(void);
extern void D121T(void);
extern void D35T(void);
extern void D19T(void);
extern void D7T(void);
extern void D43000C(void);
//CARD1
extern uchar CARD1ATRrecvbyte1(void);
extern uchar CARD1recvbyte(void);
extern uchar CARD1recvbyte1(void);
extern void CARD1sendbyte(uchar chr);
extern uchar CARD1ATRrecvbyte(void);
extern uchar CARD1BWTrecvbyte(void);
extern uchar CARD1bytedetect(void);
//CARD2
extern uchar CARD2recvbyte(void);
extern uchar CARD2recvbyte1(void);
extern void CARD2sendbyte(uchar chr);
extern uchar CARD2ATRrecvbyte1(void);
extern uchar CARD2ATRrecvbyte(void);
//SAM1
extern uchar SAM1recvbyte(void);
extern uchar SAM1recvbyte1(void);
extern void SAM1sendbyte(uchar chr);
//SAM2
extern uchar SAM2recvbyte(void);
extern uchar SAM2recvbyte1(void);
extern void SAM2sendbyte(uchar chr);
//SAM3
extern uchar SAM3recvbyte(void);
extern uchar SAM3recvbyte1(void);
extern void SAM3sendbyte(uchar chr);
//SAM4
extern uchar SAM4recvbyte(void);
extern uchar SAM4recvbyte1(void);
extern void SAM4sendbyte(uchar chr);
//TY514CPU.c
extern void trans1_t0(void);
extern void trans2_t0(void);
extern void RstICAnswer1(uchar pps);
extern void RstICAnswer2(uchar pps);
extern uchar StartPTS1(uchar TA1);
extern uchar StartPTS2(uchar TA1);
extern uchar SendFirb(void);
extern void transSAM1_t0(void);
extern void transSAM2_t0(void);
extern void transSAM3_t0(void);
extern void transSAM4_t0(void);
extern void RstICAnswerSAM1(void);
extern void RstICAnswerSAM2(void);
extern void RstICAnswerSAM3(void);
extern void RstICAnswerSAM4(void);
extern void trans1_t1(void);
extern void trans2_t1(void);
extern void Trans1T1(void);
extern void Trans2T1(void);
extern void delay_etu(uchar);
extern void delay_bwt(uchar);
extern void SendFirb2(void);
extern void SendSblock(uchar N,uchar P,uchar I);
extern void SendSblock2(uchar N,uchar P,uchar L ,uchar *I);
extern void Card1SendR(uchar N,uchar P);
extern void Card2SendR(uchar N,uchar P);
extern void Card1sendI(uchar N,uchar P,uchar L);
extern void Card2sendI(uchar N,uchar P,uchar L);
// TY514.c
extern void delay100ms(void);
extern void delay2ms(void);
#endif /* __TY514_H__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -