武汉理工大学华夏学院
欢迎按下SW3 按下SW2 按下SW1、SW4进入功能选进行读ID进去修改ID操读出ID并显示 证实出厂ID无法修按下SW1返回欢迎界面 七、 总结
虽然这次课程是那么短暂的1周时间,我感觉到这些天我的所学胜过我这一学期所学,这次任务原则上是对RFID的运用,其实就是一次大的作业,是让我对课本知识的巩固和对基本程序的熟悉和应用,运用内部函数过程中的那些繁复的程序,使我做事的耐心和仔细程度得以提高。课程设计是培训学生运用本专业所学的理论知识和专业知识来分析解决实际问题的重要教学环节,是对本学期所学知识的复习和巩固。同样,也促使了同学们的相互探讨,相互学习。因此,我们必须认真、谨慎、踏实、一步一步的完成设计。如果时间可以重来,我可能会认真的去学习和研究,也可能会自己独立的完成一个项目,我相信无论是谁看到自己做出的成果时心里一定会很兴奋。此次设计让我明白了一个很深刻的道理:团队精神固然很重要,担人往往还是要靠自己的努力,自己亲身去经历,这样自己的心里才会踏实,学到的东西才会更多。
一开始没有仔细看老师发的资料以为ID卡的卡号可以修改,修改了很久的卡号没有成功,一开始以为是程序的问题,后来发现是根本没有办法写入到卡中,导致浪费了很多的时间,走了弯路,今后一定要在动手之前做好准备工作。
八、 参考文献
[1] 赵军辉.射频识别技术与应用[M].北京:机械工业出版社,2008.
[2]程雪,周修理,李艳军. 射频识别(RFID)技术在动物食品溯源中的应用[J]. 东北农业大学学报, 2008,(10) .
[3]石蕾,陈敏雅. RFID系统中阅读器的设计与实现[J]. 电脑开发与应用, 2008,(07) . [4]钱莹,凌云. RFID中间件设计研究[J]. 电脑与信息技术, 2008,(05) .
5
武汉理工大学华夏学院
[5]陈冲,徐志,何明华. 一种新的RFID防碰撞算法的研究[J]. 福州大学学报(自然科学版), 2009,(03) .
[6]周永明. 一种改进的查询树射频识别防冲突新算法[J]. 广东轻工职业技术学院学报, 2006,(02) .
[7]李辉,刘国栋,胡小云,高丽芳,沈烨,郑映钦. 电子标签技术在出口鳗鱼产品监管中的应用研究[J]. 中国国境卫生检疫杂志, 2007,(06) .
[8]蔡志刚. 集装箱无线射频识别技术应用研究[J]. 港口装卸, 2005,(05) .
九、 程序附录
void InitRc522(void) {
PcdReset();
PcdAntennaOff(); PcdAntennaOn();
M500PcdConfigISOType( 'A' ); }
void InitAll(void) {
SET_MAIN_CLOCK_SOURCE(CRYSTAL); initUART(); InitRc522();
INT_GLOBAL_ENABLE(INT_OFF); //开启总中断 //init_time1();
INT_GLOBAL_ENABLE(INT_ON); //开启总中断 bWarn=0; bPass=0; SysTime=0; KeyTime=0; WaitTimes=0; KeyNum=0; KuaiN=0;
oprationcard=0; uart_count=0; uart_comp=0; bSendID=0; Pass(); }
void ctrlprocess(void) {
unsigned char ii; char status; uart_count=0;//
6
//设置主时钟为32M晶振 武汉理工大学华夏学院
PcdReset(); halWait(200); halWait(200);
status=PcdRequest(PICC_REQIDL,&RevBuffer[0]);//寻天线区内未进入休眠状态的卡,返回卡片类型 2字节
if(status!=MI_OK) {
return; }
status=PcdAnticoll(&RevBuffer[2]);//防冲撞,返回卡的序列号 4字节 if(status!=MI_OK) {
return; }
memcpy(MLastSelectedSnr,&RevBuffer[2],4); status=PcdSelect(MLastSelectedSnr);//选卡 if(status!=MI_OK) {
return; }
if(oprationcard==READCARD)//读卡 {
oprationcard=0;
status=PcdAuthState(PICC_AUTHENT1A,KuaiN,PassWd,MLastSelectedSnr);// if(status!=MI_OK) {
bWarn=1; return; }
status=PcdRead(KuaiN,Read_Data); if(status!=MI_OK) {
bWarn=1; return; }
for(ii=0;ii<16;ii++) {
sendchar1(MLastSelectedSnr[ii]); }
bPass=1;
sprintf(s,(char
*)\tedSnr[3]);
7
武汉理工大学华夏学院
GUI_ClearScreen(); //LCD清屏
GUI_PutString5_7(25, 2, \ // 显示字符串 GUI_PutString5_7(8, 18, \ // 显示字符串
GUI_PutString5_7(8,40,(char *)s); //显示结果 LCM_Refresh(); PcdHalt(); }
else if(oprationcard==WRITECARD)//写卡 //if(oprationcard==WRITECARD)//写卡 {
oprationcard=0;
status=PcdAuthState(PICC_AUTHENT1A,KuaiN,PassWd,MLastSelectedSnr);// if(status!=MI_OK) {
bWarn=1; return; }
status=PcdWrite(KuaiN,&WriteData[0]); if(status!=MI_OK) {
bWarn=1; return; } bPass=1; PcdHalt(); } }
void ctrl_uart(void) {
uchar ii;
for(ii=0;ii<6;ii++) {
RevBuffer[ii+2]=0xff; }
// RevBuffer[8]=0x03; switch(RevBuffer[1]) {
case 0xa1://读数据
oprationcard=READCARD; for(ii=0;ii<6;ii++) {
PassWd[ii]=RevBuffer[ii+2]; }
8
相关推荐: