找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2675|回复: 0
收起左侧

RFID射频卡实验报告

[复制链接]
ID:228504 发表于 2017-8-20 16:41 | 显示全部楼层 |阅读模式
1.实验目的
1)通过实验掌握CC2530芯片GPIO的配置方法
2)学会在RFID射频模块的使用方法
3)通过串口输出显示卡号信息
2.实验设备
硬件:PC机一台,ZB2530,RFID射频模块一个
软件:2000/XP/win7系统,IAR 8.10集成开发环境、串口助手
3.实验相关实物图
图片1.png

  1. #include "variable.h"
  2. #include"delay.h"
  3. #include "UART.h"
  4. #include "IC_w_r.h"
  5. void InitIO()
  6. {
  7.   CLKCONCMD &= ~0x40;         //设置系统时钟源为32MHZ晶振
  8.   while(CLKCONSTA & 0x40);    //等待晶振稳定为32M
  9.   CLKCONCMD &= ~0x47;         //设置系统主时钟频率为32MHZ     
  10.   UartInitial();
  11.    (      1        )      //  p2.0作为输出口
  12.   P2INP |= 1<<0;       //  
  13.   (       2       )   //    p2.0作为通用I/O口
  14.    (      3        )     //     p0.7作为输出口
  15.   P0INP |= 1<<7;      //
  16.   (      4        )  //      p0.7作为通用I/O口
  17.     P0DIR |= 1<<6;      //
  18.   P0INP |= 1<<6;      
  19.   P0SEL &= ~(1<<6);   //
  20.      P0DIR |= 1<<5;     //
  21.   P0INP |= 1<<5;     
  22.   P0SEL &= ~(1<<5);   //
  23.   P0DIR &= ~(1<<4);     //
  24.   P0INP &= ~(1<<4);     
  25.   P0SEL &= ~(1<<4);     //
  26.   IC_SCK = 1;
  27.   IC_SDA = 1;
  28. }
  29. void IC_test()
  30. {
  31.   uchar ucTagType[4];
  32.   uchar find=0xaa;
  33.   uchar ret;
  34.     while(1)
  35.   {
  36.     //16进制转ASC码
  37.     char i;  
  38.     char Card_Id[8]; //存放32位卡号
  39.     uchar asc_16[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
  40.       ret = PcdRequest(0x52,ucTagType);//寻卡
  41.     if(ret != 0x26)
  42.       ret = PcdRequest(0x52,ucTagType);
  43.     if(ret != 0x26)
  44.       find = 0xaa;
  45.     if((ret == 0x26)&&(find == 0xaa))
  46.     {
  47.       if(PcdAnticoll(ucTagType) == 0x26);//防冲撞
  48.       {
  49.         UartSend_String("The Card ID is: ",16);   
  50.                //16进制转ASC码
  51.         for(i=0;i<4;i++)
  52.         {
  53.           Card_Id[i*2]=asc_16[ucTagType[i]/16];
  54.           Card_Id[i*2+1]=asc_16[ucTagType[i]%16];        
  55.         }  
  56.         UartSend_String(Card_Id,8);
  57.         UartSend_String("\n",1);
  58.                 find = 0x00;
  59.       }
  60.     }
  61.   }
  62. }
  63. void main()
  64. {
  65.   InitIO();
  66.   PcdReset();
  67.   M500PcdConfigISOType('A');//设置工作方式
  68.   while(1)
  69.   {
  70.     IC_test();              //检测IC卡
  71.   }
  72. }
复制代码


RFID 射频卡识别实验报告.docx

69.35 KB, 下载次数: 9, 下载积分: 黑币 -5

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表