基本信息
源码名称:51单片机水卡充值扣费系统 RC522+S50卡源程序
源码大小:0.09M
文件格式:.rar
开发语言:C/C++
更新时间:2019-11-12
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 1 元 
   源码介绍

本设计包括两个终端,包括负责水卡充值(可选择金额)的充值终端和每次刷卡扣费两元的付费终端。制作成品时建议两个终端做在一块板子上,用跳帽切换两个51单片机的电源。

主控芯片51单片机
射频模块RC522
射频卡M1卡S50
以下是付费终端的程序,其他详见附件


  1. void main( )
  2. {     
  3.      unsigned char status;
  4.      InitializeSystem( );                 //初始化
  5.      PcdReset();                                //复位RC522
  6.      PcdAntennaOff();                     //关闭天线
  7.      PcdAntennaOn();                      //开启天线
  8.            data2[1]=a/256;
  9.                  data2[0]=a%256;
  10.      while ( 1 )
  11.      {                           
  12.                status = PcdRequest(PICC_REQALL, g_ucTempbuf); //返回卡片类型#define PICC_REQIDL 0x26 寻天线区内未进入休眠状态
  13.                                  if(status!= MI_OK)         //读不到卡,显示清0;
  14.                                  {
  15.                                                 TYPE_DATA[0]=0;         
  16.                                                 TYPE_DATA[1]=0;
  17.                                                 ID_DATA[0]=0;
  18.                                                 ID_DATA[1]=0;
  19.                                                 ID_DATA[2]=0;
  20.                                                 ID_DATA[3]=0;
  21.                                                 value_DATA[0]=0;
  22.                                                 value_DATA[1]=0;
  23.                                                 value_DATA[2]=0;
  24.                                                 value_DATA[3]=0;
  25.                                                 falg_pro=0;
  26.                                                 b=0;
  27.                                  }
  28.          if (status == MI_OK)
  29.          {         
  30.                                                  TYPE_DATA[0]=g_ucTempbuf[0];
  31.                                                  TYPE_DATA[1]=g_ucTempbuf[1];
  32.                                                   status = PcdAnticoll(g_ucTempbuf);       //防冲撞 ,返回卡片ID号 4字节
  33.                          if (status == MI_OK)
  34.                          { 
  35.                                                            status = PcdSelect(g_ucTempbuf);    //选定卡片  ,输入卡片ID号
  36.                                          if (status == MI_OK)
  37.                                          {         
  38.                                                                      if(falg_pro==0)//声音提示标志
  39.                                                                                  { 
  40.                                                                                          falg_pro=1;
  41.                                                                                          pro();
  42.                                                                                  }        
  43.                                                                          ID_DATA[0]=g_ucTempbuf[0];
  44.                                                                          ID_DATA[1]=g_ucTempbuf[1];
  45.                                                                          ID_DATA[2]=g_ucTempbuf[2];
  46.                                                                          ID_DATA[3]=g_ucTempbuf[3];
  47.                                                                          init_k();//初始化卡
  48.                                                                          writek();//写卡 
  49.                                                                    readk(); 
  50.                                                                          
  51.                                          }           
  52.                          }
  53.                  }             
  54.                         LCD1206();//显示处理        
  55.                         PcdHalt();//命令卡片进入休眠状态        
  56.          }       
  57. }