欢迎来到天天文库
浏览记录
ID:18569409
大小:73.00 KB
页数:16页
时间:2018-09-18
《曼砌斯特解码》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、/**********************************************曼彻斯特编码调制的非接触ID卡通用读卡程序编制ID卡每位的脉宽为512us,每半位的脉宽256usCPU为Atmel公司的AT89S52芯片,晶振11.0592MHz读卡采用边沿检测方式,只要跳变边沿脉宽在要求的脉宽范围内就是合法脉宽每位脉宽要求490us-530us,半位要求为230us-280us,可根据调试更改定时器时间2010年3月11日东北大学通信与智能控制工作室/******************头文件********************/#inc
2、lude#include#include/******************宏定义*********************/#defineucharunsignedchar#defineuintunsignedint#defineulintunsignedlongint//#defineSYSCLK11059200//使用外部晶振11.0592MHz//#defineBAUD_RATE2400//这里没有采用//#defineTCLKSYSCLK/12////#defineTIME_COUNT(
3、-(TCLK/BAUD_RATE))//+0x20////#defineT1_1B_HTIME_COUNT>>8////#defineT1_1B_LTIME_COUNTsbitRF_DATA_IN=P3^2;//读卡卡号输入端,这里为外部0终端,最好改为普通的I/OsbitRF_LED_ON=P1^4;//原理机电平提取端,这里接在了原理机74HC14的第二次取反后sbitRUN_LED=P2^4;//测试用sbitRUN_LED1=P2^3;//测试用sbitRUN_LED2=P2^5;//测试用sbitRUN_LED3=P2^6;//测试灿?sbitDI
4、DA=P2^2;//蜂鸣器接口,高电平时蜂鸣,低电平时停止蜂鸣/****************全局变量**********************/ucharRead_RF_Data[11];//从卡号输入端读取的暂存数据ucharCard_ID[10];//卡号暂存数组uchardataID_Data[6];//暂存经效验后的正确数据uintdataTIMER_1=0;//判断定时时用ucharRX0_DAT=0;//硬件串口接收到的字节数据ucharSUART0_RXD[10];//硬件串口接收ID号数组ucharSUART0_NUM=0;//硬件串口
5、计数变量bitCheck_Data_bit;//效验请求标志位bitCheck_Data_Ok=0;//校验正确标志位/****************函数列表***********************/voidRecive_RF_Data(void);voidCheck_Data(void);voidwatchdog_init(void);voidClern_Number(void);voiddogFeed(void);voiddelay0_2ms(uintcount);voidUART_TXD(ucharData[],ucharNum);//这里两个
6、发送函数是一样的,由于出现了语法错误,这里定义为了两个voidUART0_TXD(ucharData[],ucharNum);/**********************************************初始化程序**********************************************/voidData_start(void){TMOD=0x21;//T0方式1,T1工作于方式2TH1=0x00;//初始化T1计时器TL1=0x00;TR1=0;SCON=0x50;//串行口初始化//PCON=0x80;//SMOD位设置
7、TH0=0x00;//初始化T0计时器TL0=0x04;//这里从0x0004开始,参考程序中是这个数值,改为从其他数开始也可以TR0=0;ES=1;//开放串行口中断EA=1;//开放总中断}/**********************************************I/O初始化程序,这里根据需要可修改**********************************************/voidPORT_Init(void){P0=0xFF;//P1=0xFF;//P2=0xF0;//蜂鸣器引脚采用的是P2.2,电路图中是P2.3
8、,P2.2为高时蜂鸣器蜂鸣,为低时停止蜂鸣,这点注意
此文档下载收益归作者所有