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

📄 controller.c

📁 RFID读卡终端C程序设计基于51单片机实现
💻 C
字号:
#include "zlg500.h"

sbit zlg500_RST=P1^2;
sbit low=P1^7;

uchar code Nkey_a[6]    = {0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5};
uchar code Nkey_b[6]    = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF};

main()
{	uchar idata tt[2];
	uchar idata card_snr[4];
	uchar idata size;
	uchar idata bankdata[16];
	uchar idata comdata[16];
	long idata value=1;
	uchar i,j;
	
	zlg500_RST=1;
	for(i=255;i>0;i--)
		for(j=255;j>0;j--);
	zlg500_RST=0;
	for(i=255;i>0;i--)
		for(j=255;j>0;j--);	
	spi_init();	
	EA=1;	

	i=mifs_config();
	i=mifs_get_info(bankdata);
	i=mifs_clr_control_bit();	
	i=mifs_set_control_bit();
//	mifs_load_key(KEYA,5,Nkey_b);
	
	while(1)
	{
	   while(mifs_request(IDLE,tt)!=0); 
		
		if(mifs_anticoll(0,card_snr)!=0) 	continue;

		if(mifs_select(card_snr,&size)!=0)	continue;

	//	if(mifs_authentication(KEYA,5)!=0)	continue;

		if(mifs_authKey(KEYA,5,Nkey_b)!=0)	continue;	
		
		bankdata[0]=0x10;
		bankdata[4]=~0x10;
		bankdata[8]=0x10;
		for(i=1;i<4;i++)
		{
			bankdata[i]=0x00;
			bankdata[4+i]=0xff;
			bankdata[8+i]=0x00;
		}
		bankdata[12]=0x14;
		bankdata[13]=~0x14;
		bankdata[14]=0x14;
		bankdata[15]=~0x14;
		if(mifs_write(20,bankdata)!=0)	continue;
		
		if(mifs_check_write(card_snr,KEYA,20,bankdata)!=0)	continue;
		
		if(mifs_read(20,comdata)!=0)	continue;
        
//chunkou
ET2=0;
TCLK=1;
 RCLK=1;
 
 TH2=0xFF;  //9600bps  11.0592MHz的时钟频率
 TL2=0xDC;
 RCAP2H=0xFF;  //方式1和方式3的波特率=fosc/(32-(65535-(RCAP2H,RCAP2L))
 RCAP2L=0xDC;

//******************串口设置**************************************************//
 SCON=0x50; //SM0  SM1  SM2  REN  TB8 RB8  TI RI
 PCON=0x00;  //TMOD=0;
 
 TR2=1;
for(i=0;i<16;i++)
  {
 SBUF = comdata[i];
    while(!TI);
    TI = 0;
	}
	low=0;

		
	//	if(mifs_restore(20)!=0)	continue;
	//	if(mifs_transfer(21)!=0)	
	//	{	i=0;
	//		continue;
	//	}
	//	if(mifs_value(0xc0,20,&value,21)!=0)
	//	{	i=0;	
	//		continue;
	//	}
	//	if(mifs_read(21,bankdata)!=0)	continue;
 	mifs_halt();

//	  if(mifs_write_E2(0x30,16,bankdata)!=0)  continue;
//		mifs_clr_control_bit();
//		mifs_set_control_bit();
//		for(i=255;i>0;i--)
//	   	for(j=255;j>0;j--);
//		mifs_buzzer(198,20);
	}
}








⌨️ 快捷键说明

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