125kHzRFID读卡器研究报告 联系客服

发布时间 : 星期四 文章125kHzRFID读卡器研究报告更新完毕开始阅读

功率放大与检波电路:

系统控制模块电路:

21

附录4:系统代码

#include /* common defines and macros */ #include /* derivative information */ #pragma LINK_INFO DERIVATIVE \

//-------------宏定义--------------------//

#define Max_1bit 201 // 1bit 误差上限值 #define Min_1bit 181 // 1bit 误差下限值 #define Max_halfbit 105 // 1/2bit 误差上限值 #define Min_halfbit 85 // 1/2bit 误差下限值 #define Max_ttbit 297 // 3/2bit 误差上限 #define Min_ttbit 277 // 3/2bit 误差下限

#define Data_length 55 //有效数据长度(64位数据-9位数据头)

#define LCD_RS PORTB_PB4 #define LCD_RW PORTB_PB2 #define LCD_EN PORTB_PB0 #define LCD_DAT PORTA #define SHD PORTB_PB1

22

//----------------函数声明--------------------------// void PLL_Init(); void ECT0_Init();

void Pluse_calculate(); //脉宽计算 void Head_check(); //数据头检测 void M_decode(); //解码 void Data_check(); //数据校验

void Data_processing(); //数据处理(显示或发送到PC) void ID_recognize();

void delay_ms(unsigned int ms); //延时函数 void write_com(unsigned int com); void write_date(unsigned int dat); void Lcd_init(); void Display_init();

void Write_string(unsigned char x,unsigned char y,unsigned char *s);

void Write_char(unsigned char x,unsigned char y,unsigned char dat);

//-----------------变量定义----------------------// int mmm=0; int mmmm=0;

23

int s; int t; int ii=0; int xx=0;

int D2,D3,D4,D5,D6,D7,D8,D9; //存放解码后的十进制

int Times_1=0; int Times_2=0; int Times_3=0; unsigned char i=0;

unsigned char Head_start=0; //数据头标志位 unsigned char Decode_error=0; //出错标志位 unsigned char Decode_over=0; //解码完成标志位 unsigned char Decode_success=0; //解码成功标志位

unsigned char Data_char[8]={'a','b','c','d','e','f','g','h'}; //存放解码后的十六进制字符

unsigned char Input_Num=0; //记录进入中断次数,偶数记录上升沿时间,奇数记录下降沿时间 unsigned int Check_over=0;

unsigned int Decode_cnt=0; //解码次数 unsigned int Decode_data[55]={0}; //记录解码数据 unsigned int Data_lib[55]={0};

24