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

📄 main.c

📁 这是SLRC632的全部源代码.包括读typea typeb书..全功能支持
💻 C
字号:
#include <REGX52.H>
#include <main.h>
#include <iso14443b.h>
#include <src632.h>
#include <string.h>
#include <intrins.h>

unsigned char idata g_cReceBuf[64];                       
void main(void)
{
	InitializeSystem();
	Rc632Ready();
	PcdConfigISOType( 'B' );
	while(1)
	{
		if(M531PiccRequestB(PICC_REQBSTD,0,0,g_cReceBuf)==MI_OK)
		{
			BellSpeak();
		}
	}
}

/////////////////////////////////////////////////////////////////////
//初始化RC632
/////////////////////////////////////////////////////////////////////
void Rc632Ready(void)
{
    char status;
    DelayMs(100);
    DelayMs(100);
	DelayMs(100);
    DelayMs(100);
    DelayMs(100);
    DelayMs(100);
    DelayMs(100);


    status = PcdReset();
    if(status != MI_OK)
    {
        DelayMs(10);
        status = PcdReset();
    } 
    if(status != MI_OK)
    {
        DelayMs(10);
        status = PcdReset();
    } 
    if(status == MI_OK)
    {
	     BellSpeak();        //绿色指示灯亮,表示RC632复位成功
    }       
}

/////////////////////////////////////////////////////////////////////
//系统初始化
/////////////////////////////////////////////////////////////////////
void InitializeSystem(void)
{
//IO口初始化
	P0 = 0xff;
	P1 = 0xff;
	P2 = 0xff;
	P3 = 0xff;
//串口初始化
	SCON = 0x50;       //SCON: serail mode 1, 8-bit UART, enable ucvr 
	TMOD = 0x20;       //TMOD: timer 1, mode 2, 8-bit reload 
	TH1  = 0xFd;       //Baud:9600  fosc=11.0592MHz 
	TL1  = 0xF4;
	TR1 = 1;          // timer 1 run 
	ES  = 0;
	EA  = 0; 
}

/////////////////////////////////////////////////////////////////////
//用T2做延时子程序
/////////////////////////////////////////////////////////////////////
void DelayMs(unsigned int _MS)
{
	unsigned char a;
	while(_MS--)
	{
		for(a=0;a<10;a++)
		{
			TH0 = 0xff;
			TL0 = 0xa3;
			TF0 = 0; 
			TR0 = 1; 
			while (!TF0);
			TR0 = 0; 
			TF0 = 0;
		}
	}
}
void Delay_50us(unsigned char _50us)
{
	while(_50us--)
	{
		TH0 = 0xff;
		TL0 = 0xa3;
		TF0 = 0; 
		TR0 = 1; 
		while (!TF0);
		TR0 = 0; 
		TF0 = 0;
	}
}


/******************************
*函数:蜂鸣器发声
*void BellSpeak(void)
*无返回值
*********************************/
void BellSpeak(void)
{
	Bell=0;          //输出低电平
	DelayMs(150);       //发出响声
	Bell=1;          //关闭峰鸣器
}

⌨️ 快捷键说明

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