www.pudn.com > IC_card_code.rar > Verify4442.h, change:2003-10-28,size:2404b


 
#define uchar unsigned char  
#define uint  unsigned int   
//#define unsigned char byte 
//#define unsigned int  word 
#define	OFF 1 
#define ON	0 
#define True 1 
#define	False 0 
 
 
#define RMM_COMM 0x30    //读主存命令字 
#define WMM_COMM 0x38    //写主存命令字 
#define VER_COMM 0x33    //校验密码 
#define RSM_COMM 0x31    //读密码存储区 
#define WSM_COMM 0x39    //写密码存储区 
#define RPM_COMM 0x34    //读保护存储区 
#define WPM_COMM 0x3c    //写保护存储区 
 
//****************************************** 
//             定义IC卡接口 
 
sbit	IC_Verify_LED = P1 ^ 7; 
sbit	IC_Read_LED = P1 ^ 6; 
sbit	IC_In_LED = P1 ^ 5;  
sbit	IC_VCC_LED = P1 ^ 4; 
sbit	IC_VCCC	= P1 ^ 1; 
sbit	IC_In		= P1 ^ 0; 
sbit    IC_RST     = P3 ^ 7;   /*ICCard复位线引脚 */ 
sbit    IC_CLK     = P1 ^ 2;   /*ICCard时钟线引脚 */ 
sbit    IC_IO      = P1 ^ 3;   /*ICCard数据线引脚 */ 
//sbit     IC_PGM     = P3^2;   /*ICCard编程线引脚 */ 
/******************************************/ 
uchar IC_PassWord[4]; 
uchar Read_Buffer[16]; 
uchar PassWord[] = {0x12,0x34,0x56}; 
//uchar IC_Write_add; 
//uchar IC_Write_data; 
bit		IC_Verify_Flag; 
bit 	IC_In_Flag; 
bit		IC_Read_Flag; 
//************************************************************************ 
//4442卡底层程序的外部函数声明 
 
void ReadMainMem(uchar addr,uchar idata *pt,uchar count); //读IC卡主存 
//void WriteMainMem(uchar addr,uchar idata *pt);        //写IC卡主存 
void ReadProtectMem(uchar idata *pt);                 //读保护存储器 
void ProtectByte(uchar CardAdd,uchar idata *pt);      //保护一字节,注意待保 
//护的字节是已经写入过的,地址只能在保护存储区内 
bit  Verify(uchar pt1,pt2,pt3);                         //校验密码,成功返回1 
 
void SendComm(uchar a,uchar b,uchar c);                      //发送命令 
void ReadMode(uchar idata *pt,uchar count); 
void ProcessMode(void); 
void ResetCard(void); 
void BreakOperate(void); 
void StartComm(void); 
void StopComm(void); 
uchar ReadByte(void); 
void WriteByte(uchar ch); 
void Delay10us(void); 
void Delay5us(void); 
void init(); 
void Read_Send(); 
void Check_Send(); 
void Verify_Send(); 
void WriteMainMem(uchar addr,uchar Data); 
//extern void PowerOn(uchar idata *pt);                        //卡上电,延时约80us,卡复位,同时读入4个标示字节 
//extern void PowerOff(void);                                  //卡下电,延时约80us 
//******************************************************************