找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2047|回复: 1
打印 上一主题 下一主题
收起左侧

基于单片机+RC522的地铁卡的设计源码

[复制链接]
跳转到指定楼层
楼主
ID:201598 发表于 2018-10-22 21:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
   通过RC522装置,能够给卡片充值金额,记录地铁站位置以及抵达的地铁站位置,将地铁站的位置进行计算,将充值的金额减去,如果不能大于等于0则无法出站,显示屏会出现请充值字样。

单片机源程序如下:
  1. #include "common.h"
  2. #include "RC522.h"
  3. #include "uart.h"
  4. #include "juzhenanjian.h"
  5. #include "12864.h"

  6. #define DEBUG
  7. unsigned char code DefaultKey[6] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF};
  8. //unsigned char writeBuf[16] = {0x01, 0x00, 0x03, 0x00, 0x00, 0x00};
  9. int num,flag,i,fig,mode=0,fig1=0;
  10. static        volatile int s=0;
  11. /*     充值
  12. **            金额数
  13. **           
  14. */
  15. void  Value()
  16. {        num =keyscan();
  17.         switch (num)
  18.         {
  19.                 case 1:fig=0x01;fig1=1;
  20.                 Lcd_Num_Display1(1,6,fig1);
  21.                            break;
  22.                 case 2:fig=0x02;fig1=2;
  23.                 Lcd_Num_Display1(1,6,fig1);
  24.                            break;
  25.                 case 3:fig=0x03;fig1=3;
  26.                 Lcd_Num_Display1(1,6,fig1);
  27.                            break;
  28.                 case 4:mode=1  ;
  29.                 Lcd_Write_Com(0x01);
  30.                 Lcd_Display(1,1,"充值金额:  元");
  31.                        break;
  32.                 case 5:fig=0x04;fig1=4;
  33.                 Lcd_Num_Display1(1,6,fig1);
  34.                        break;
  35.                 case 8:mode=2  ;
  36.                 Lcd_Write_Com(0x01);
  37.                 Lcd_Display(1,1,"刷卡模式:");
  38.                        break;
  39.         }

  40. }
  41. /*     金额充值
  42. **            value 金额数
  43. **           *sernum 序列号
  44. */
  45. void ChangeValue(unsigned char  *sernum, unsigned int value)
  46. {
  47.         unsigned char status;
  48.         unsigned char readBuf[16];
  49.         unsigned char writeBuf[16]=0;
  50.         
  51. #ifdef DEBUG
  52.         UART_TC("You will be select!\n");
  53. #endif
  54.         status = PcdSelect(sernum);
  55.         if(status == MI_OK){
  56. #ifdef DEBUG
  57.                 UART_TC("Select card ok!\n");
  58. #endif
  59.                 status = PcdAuthState(PICC_AUTHENT1A, 1, DefaultKey, sernum);
  60.                 if(status == MI_OK){
  61. #ifdef DEBUG
  62.                         UART_TC("Authent A success!\n");
  63. #endif
  64.                         status = PcdRead(1, readBuf);
  65.                         if(status == MI_OK){
  66. #ifdef DEBUG
  67.                                 UART_TC("Read OK\n");
  68.                                 for(i=0; i<16; i++)
  69.                                         {tochar(readBuf[i]);}
  70. #endif
  71.                         if(status == MI_OK)
  72.                         {
  73.                                 writeBuf[2] = value;
  74.                                 PcdWrite(1,writeBuf);
  75.                                 UART_TC("Write OK\n");
  76.                         }
  77.                         if(readBuf[2]==1 || readBuf[2]==2 || readBuf[2]==3)
  78.                         {
  79.                                         Lcd_Write_Com(0x01);
  80.                                         Lcd_Display(1,1,"充值成功:  元");
  81.                                         Lcd_Num_Display1(1,6,fig1);        
  82.                         }
  83.                          }
  84.                 }
  85.         }
  86. }
  87. void ShowCardType(unsigned char *type)
  88. {
  89.         UART_TC("Card Type: ");
  90.         
  91.         if(type[0]==0x04 && type[1]==0x00)
  92.                 UART_TC("MFone-S50\n");
  93.         else if(type[0]==0x02 && type[1]==0x00)
  94.                 UART_TC("MFone-S70\n");
  95.         else if(type[0]==0x44 && type[1]==0x00)
  96.                 UART_TC("MF-UltraLight\n");
  97.         else if(type[0]==0x08 && type[1]==0x00)
  98.                 UART_TC("MF-Pro\n");
  99.         else if(type[0]==0x44 && type[1]==0x03)
  100.                 UART_TC("MF Desire\n");
  101.         else
  102.                 UART_TC("Unknow Card Type\n");
  103. }
  104. void ShowCardId(unsigned char *id)
  105. {
  106.         int IdLen = 4;
  107.         int i;
  108.         
  109.         for(i=0; i<IdLen; i++){
  110.                 tochar(id[i]);
  111.         }
  112.         UART_TC("\n");
  113. }

  114. void InoutHandle(const unsigned char  *sernum)
  115. {
  116.         unsigned char status;
  117.         unsigned char readBuf[16];
  118.         unsigned char writeBuf[16];
  119.         
  120. #ifdef DEBUG
  121.         UART_TC("You will be select!\n");
  122. #endif
  123.         status = PcdSelect(sernum);
  124.         if(status == MI_OK){
  125. #ifdef DEBUG
  126.                 UART_TC("Select card ok!\n");
  127. #endif
  128.                 status = PcdAuthState(PICC_AUTHENT1A, 1, DefaultKey , sernum);
  129.                 if(status == MI_OK){
  130. #ifdef DEBUG
  131.                         UART_TC("Authent A success!\n");
  132. #endif
  133.                         status = PcdRead(1, readBuf);
  134.                         if(status == MI_OK){
  135. #ifdef DEBUG
  136.                                 UART_TC("Read OK\n");
  137.                                 for(i=0; i<16; i++)
  138.                                         {tochar(readBuf[i]);
  139.                                         }
  140. #endif        
  141.                                 writeBuf[2] = readBuf[2];        
  142.                                 switch(flag)
  143.                                 {
  144.                                         case 0x0A :tochar(flag);
  145.                                         if(readBuf[1]==0)  // 第一位 0进站1出站    第0位记录进站位置   第2位金额                                                        {
  146.                                                         {
  147.                                                                 writeBuf[0]=0x0A;
  148.                                                                 writeBuf[1]=1;
  149.                                                                 PcdWrite(1,writeBuf);
  150.                                                                 UART_TC("Int success!\n");
  151.                                                                 Lcd_Display(1,6,"进站");
  152.                                                         }
  153.                                                         else
  154.                                                         {   
  155.                                                             if(readBuf[0]==0x0B)
  156.                                                                 {
  157.                                                                         if(readBuf[2]>=0x01)
  158.                                                                         {LED_OK=0;
  159.                                                                          writeBuf[0]=0;
  160.                                                                          writeBuf[1]=0;        
  161.                                                                          writeBuf[2]=0;
  162.                                                                          PcdWrite(1,writeBuf);
  163.                                                                          Lcd_Display(1,6,"出站");
  164.                                                                          Lcd_Display(2,2,"Success Thank you!");
  165.                                                                         LED_FAILED=1;
  166.                                                                         ALARM=1;}
  167.                                                                         else
  168.                                                                         {LED_FAILED=0;
  169.                                                                          ALARM=0;
  170.                                                                         Lcd_Display(1,6,"出站");
  171.                                                                         Lcd_Display(2,2,"失败,请充值");
  172.                                                                         }
  173.                                                                 }
  174.                                                                 else if(readBuf[0]==0x0C)
  175.                                                                 {
  176.                                                                         if(readBuf[2]>=0x02)
  177.                                                                         {LED_OK=0;
  178.                                                                          writeBuf[0]=0;
  179.                                                                          writeBuf[1]=0;        
  180.                                                                          writeBuf[2]=0;
  181.                                                                          PcdWrite(1,writeBuf);
  182.                                                                         Lcd_Display(1,6,"出站");        
  183.                                                                         Lcd_Display(2,1,"Success Thanks");
  184.                                                                         LED_FAILED=1;
  185.                                                                         ALARM=1;}
  186.                                                                         else
  187.                                                                         {LED_FAILED=0;
  188.                                                                         ALARM=0;
  189.                                                                                 Lcd_Display(1,6,"出站");
  190.                                                                         Lcd_Display(2,2,"失败,请充值");}
  191.                                                                 }        
  192.                                                                 else if(readBuf[0]==0x0D)
  193.                                                                 {
  194.                                                                         if(readBuf[2]>=0x03)
  195.                                                                         {LED_OK=0;
  196.                                                                          writeBuf[0]=0;
  197.                                                                          writeBuf[1]=0;        
  198.                                                                          writeBuf[2]=0;
  199.                                                                          PcdWrite(1,writeBuf);
  200.                                                                         Lcd_Display(1,6,"出站");
  201.                                                                         Lcd_Display(2,1,"Success Thanks");
  202.                                                                         LED_FAILED=1;
  203.                                                                         ALARM=1;}
  204.                                                                         else
  205.                                                                         {LED_FAILED=0;
  206.                                                                         ALARM=0;
  207.                                                                                 Lcd_Display(1,6,"出站");
  208.                                                                         Lcd_Display(2,2,"失败,请充值");}
  209.                                                                 }
  210.                                                                 else if(readBuf[0]==0x0E)
  211.                                                                 {
  212.                                                                         if(readBuf[2]>=0x02)
  213.                                                                         {LED_OK=0;
  214.                                                                          writeBuf[0]=0;
  215.                                                                          writeBuf[1]=0;        
  216.                                                                          writeBuf[2]=0;
  217.                                                                          PcdWrite(1,writeBuf);
  218.                                                                         Lcd_Display(1,6,"出站");
  219.                                                                         Lcd_Display(2,1,"Success Thanks");
  220.                                                                         LED_FAILED=1;
  221.                                                                         ALARM=1;}
  222.                                                                         else
  223.                                                                         {LED_FAILED=0;
  224.                                                                         ALARM=0;
  225.                                                                                 Lcd_Display(1,6,"出站");
  226.                                                                         Lcd_Display(2,2,"失败,请充值");}
  227.                                                             }
  228.                                                         }
  229.                                                             break;
  230.                                         case 0x0B :tochar(flag);
  231.                                                         if(readBuf[1]==0)
  232.                                                         {
  233.                                                                 writeBuf[0]=0x0B;
  234.                                                                 writeBuf[1]=1;
  235.                                                                 PcdWrite(1,writeBuf);
  236.                                                                 Lcd_Display(1,6,"进站");
  237.                                                         
  238.                                                         }
  239.                                                         else
  240.                                                         {
  241.                                                             if(readBuf[0]==0x0A)
  242.                                                                 {
  243.                                                                         if(readBuf[2]>=0x01)
  244.                                                                         {LED_OK=0;
  245.                                                                          writeBuf[0]=0;
  246.                                                                          writeBuf[1]=0;        
  247.                                                                          writeBuf[2]=0;
  248.                                                                          PcdWrite(1,writeBuf);
  249.                                                                         Lcd_Display(1,6,"出站");
  250.                                                                         Lcd_Display(2,1,"Success Thanks");
  251.                                                                         LED_FAILED=1;
  252.                                                                         ALARM=1;}
  253.                                                                         else
  254.                                                                         {LED_FAILED=0;
  255.                                                                         ALARM=0;
  256.                                                                                 Lcd_Display(1,6,"出站");
  257.                                                                         Lcd_Display(2,2,"失败,请充值");}
  258.                                                                 }
  259.                                                                 else if(readBuf[0]==0x0C)
  260.                                                                 {
  261.                                                                         if(readBuf[2]>=0x01)
  262.                                                                         {LED_OK=0;
  263.                                                                          writeBuf[0]=0;
  264.                                                                          writeBuf[1]=0;        
  265.                                                                          writeBuf[2]=0;
  266.                                                                          PcdWrite(1,writeBuf);
  267.                                                                         Lcd_Display(1,6,"出站");
  268.                                                                         Lcd_Display(2,1,"Success Thanks");
  269.                                                                         LED_FAILED=1;
  270.                                                                         ALARM=1;}
  271.                                                                         else
  272.                                                                         {LED_FAILED=0;
  273.                                                                         ALARM=0;
  274.                                                                                 Lcd_Display(1,6,"出站");
  275.                                                                         Lcd_Display(2,2,"失败,请充值");}
  276.                                                                 }        
  277.                                                                 else if(readBuf[0]==0x0D)
  278.                                                                 {
  279.                                                                         if(readBuf[2]>=0x02)
  280.                                                                         {LED_OK=0;
  281.                                                                          writeBuf[0]=0;
  282.                                                                          writeBuf[1]=0;        
  283.                                                                          writeBuf[2]=0;
  284.                                                                          PcdWrite(1,writeBuf);
  285.                                                                         Lcd_Display(1,6,"出站");
  286.                                                                         Lcd_Display(2,1,"Success Thanks");
  287.                                                                         LED_FAILED=1;
  288.                                                                         ALARM=1;}
  289.                                                                         else
  290.                                                                         {LED_FAILED=0;
  291.                                                                         ALARM=0;
  292.                                                                                 Lcd_Display(1,6,"出站");
  293.                                                                         Lcd_Display(2,2,"失败,请充值");}
  294.                                                                 }
  295.                                                                 else if(readBuf[0]==0x0E)
  296.                                                                 {
  297.                                                                         if(readBuf[2]>=0x04)
  298.                                                                         {LED_OK=0;
  299.                                                                          writeBuf[0]=0;
  300.                                                                          writeBuf[1]=0;        
  301.                                                                          writeBuf[2]=0;
  302.                                                                          PcdWrite(1,writeBuf);
  303.                                                                         Lcd_Display(1,6,"出站");
  304.                                                                         Lcd_Display(2,1,"Success Thanks");
  305.                                                                         LED_FAILED=1;
  306.                                                                         ALARM=1;}
  307.                                                                         else
  308.                                                                         {LED_FAILED=0;
  309.                                                                         ALARM=0;
  310.                                                                                 Lcd_Display(1,6,"出站");
  311.                                                                         Lcd_Display(2,2,"失败,请充值  ");}
  312.                                                             }
  313.                                                         }
  314.                                                                 break;
  315.                                         case 0x0C :tochar(flag);
  316.                                                         if(readBuf[1]==0)
  317.                                                         {
  318.                                                                 writeBuf[0]=0x0C;
  319.                                                                 writeBuf[1]=1;
  320.                                                                 PcdWrite(1,writeBuf);
  321.                                                                 Lcd_Display(1,6,"进站");
  322.                                                         }
  323.                                                         else
  324.                                                         {
  325.                                                             if(readBuf[0]==0x0B)
  326.                                                                 {
  327.                                                                         if(readBuf[2]>=0x01)
  328.                                                                         {LED_OK=0;
  329.                                                                          writeBuf[0]=0;
  330.                                                                          writeBuf[1]=0;        
  331.                                                                          writeBuf[2]=0;
  332.                                                                          PcdWrite(1,writeBuf);
  333.                                                                         Lcd_Display(1,6,"出站");
  334.                                                                         Lcd_Display(2,1,"Success Thanks");
  335.                                                                         LED_FAILED=1;
  336.                                                                         ALARM=1;}
  337.                                                                         else
  338.                                                                         {LED_FAILED=0;
  339.                                                                         ALARM=0;
  340.                                                                                 Lcd_Display(1,6,"出站");
  341.                                                                         Lcd_Display(2,2,"失败,请充值");}
  342.                                                                 }
  343.                                                                 else if(readBuf[0]==0x0A)
  344.                                                                 {
  345.                                                                         if(readBuf[2]>=0x02)
  346.                                                                         {LED_OK=0;
  347.                                                                          writeBuf[0]=0;
  348.                                                                          writeBuf[1]=0;        
  349.                                                                          writeBuf[2]=0;
  350.                                                                          PcdWrite(1,writeBuf);
  351.                                                                         Lcd_Display(1,6,"出站");
  352.                                                                         Lcd_Display(2,1,"Success Thanks");
  353.                                                                         LED_FAILED=1;
  354.                                                                         ALARM=1;}
  355.                                                                         else
  356.                                                                         {LED_FAILED=0;
  357.                                                                         ALARM=0;
  358.                                                                                 Lcd_Display(1,6,"出站");
  359.                                                                         Lcd_Display(2,2,"失败,请充值");}
  360.                                                                 }        
  361.                                                                 else if(readBuf[0]==0x0D)
  362.                                                                 {
  363.                                                                         if(readBuf[2]>=0x01)
  364.                                                                         {LED_OK=0;
  365.                                                                          writeBuf[0]=0;
  366.                                                                          writeBuf[1]=0;        
  367.                                                                          writeBuf[2]=0;
  368.                                                                          PcdWrite(1,writeBuf);
  369.                                                                         Lcd_Display(1,6,"出站");
  370.                                                                         Lcd_Display(2,1,"Success Thanks");
  371.                                                                         LED_FAILED=1;
  372.                                                                         ALARM=1;}
  373.                                                                         else
  374.                                                                         {LED_FAILED=0;
  375.                                                                         ALARM=0;
  376.                                                                                 Lcd_Display(1,6,"出站");
  377.                                                                         Lcd_Display(2,2,"失败,请充值");}
  378.                                                                 }
  379.                                                                 else if(readBuf[0]==0x0E)
  380.                                                                 {
  381.                                                                         if(readBuf[2]>=0x03)
  382.                                                                         {LED_OK=0;
  383.                                                                          writeBuf[0]=0;
  384.                                                                          writeBuf[1]=0;        
  385.                                                                          writeBuf[2]=0;
  386.                                                                          PcdWrite(1,writeBuf);
  387.                                                                         Lcd_Display(1,6,"出站");
  388.                                                                         Lcd_Display(2,1,"Success Thanks");
  389.                                                                         LED_FAILED=1;
  390.                                                                         ALARM=1;}
  391.                                                                         else
  392.                                                                         {LED_FAILED=0;
  393.                                                                         ALARM=0;
  394.                                                                                 Lcd_Display(1,6,"出站");
  395.                                                                         Lcd_Display(2,2,"失败,请充值");}
  396.                                                             }
  397.                                                         }
  398.                                                                 break;
  399.                                         case 0x0D :tochar(flag);
  400.                                                         if(readBuf[1]==0)
  401.                                                         {
  402.                                                                 writeBuf[0]=0x0D;
  403.                                                                 writeBuf[1]=1;
  404.                                                                 PcdWrite(1,writeBuf);
  405.                                                                 Lcd_Display(1,6,"进站");
  406.                                                         
  407.                                                         }
  408.                                                         else
  409.                                                         {
  410.                                                             if(readBuf[0]==0x0B)
  411.                                                                 {
  412.                                                                         if(readBuf[2]>=2)
  413.                                                                         {LED_OK=0;
  414.                                                                          writeBuf[0]=0;
  415.                                                                          writeBuf[1]=0;        
  416.                                                                          writeBuf[2]=0;
  417.                                                                          PcdWrite(1,writeBuf);
  418.                                                                         Lcd_Display(1,6,"出站");
  419.                                                                         Lcd_Display(2,1,"Success Thanks");
  420.                                                                         LED_FAILED=1;
  421.                                                                         ALARM=1;}
  422.                                                                         else
  423.                                                                         {LED_FAILED=0;
  424.                                                                         ALARM=0;
  425.                                                                                 Lcd_Display(1,6,"出站");
  426.                                                                         Lcd_Display(2,2,"失败,请充值");}
  427.                                                                 }
  428.                                                                 else if(readBuf[0]==0x0C)
  429.                                                                 {
  430.                                                                         if(readBuf[2]>=0x01)
  431.                                                                         {LED_OK=0;
  432.                                                                          writeBuf[0]=0;
  433.                                                                          writeBuf[1]=0;        
  434.                                                                          writeBuf[2]=0;
  435.                                                                          PcdWrite(1,writeBuf);
  436.                                                                         Lcd_Display(1,6,"出站");
  437.                                                                         Lcd_Display(2,1,"Success Thanks");
  438.                                                                         LED_FAILED=1;
  439.                                                                         ALARM=1;}
  440.                                                                         else
  441.                                                                         {LED_FAILED=0;
  442.                                                                         ALARM=0;
  443.                                                                                 Lcd_Display(1,6,"出站");
  444.                                                                         Lcd_Display(2,2,"失败,请充值");}
  445.                                                                 }        
  446.                                                                 else if(readBuf[0]==0x0A)
  447.                                                                 {
  448.                                                                         if(readBuf[2]>=0x03)
  449.                                                                         {LED_OK=0;
  450.                                                                          writeBuf[0]=0;
  451.                                                                          writeBuf[1]=0;        
  452.                                                                          writeBuf[2]=0;
  453.                                                                          PcdWrite(1,writeBuf);
  454.                                                                         Lcd_Display(1,6,"出站");
  455.                                                                         Lcd_Display(2,1,"Success Thanks");
  456.                                                                         LED_FAILED=1;
  457.                                                                         ALARM=1;}
  458.                                                                         else
  459.                                                                         {LED_FAILED=0;
  460.                                                                         ALARM=0;
  461.                                                                                 Lcd_Display(1,6,"出站");
  462.                                                                         Lcd_Display(2,2,"失败,请充值");}
  463.                                                                 }
  464.                                                                 else if(readBuf[0]==0x0E)
  465.                                                                 {
  466.                                                                         if(readBuf[2]>=0x02)
  467.                                                                         {LED_OK=0;
  468.                                                                          writeBuf[0]=0;
  469.                                                                          writeBuf[1]=0;        
  470.                                                                          writeBuf[2]=0;
  471.                                                                          PcdWrite(1,writeBuf);
  472.                                                                         Lcd_Display(1,6,"出站");
  473.                                                                         Lcd_Display(2,1,"Success Thanks");
  474.                                                                         LED_FAILED=1;
  475.                                                                         ALARM=1;}
  476.                                                                         else
  477.                                                                         {LED_FAILED=0;
  478.                                                                         ALARM=0;
  479.                                                                                 Lcd_Display(1,6,"出站");
  480.                                                                         Lcd_Display(2,2,"失败,请充值");}
  481.                                                             }
  482.                                                         }
  483.                                                                 break;
  484.                                         case 0x0E :tochar(flag);
  485.                                                         if(readBuf[1]==0)
  486.                                                         {
  487.                                                                 writeBuf[0]=0x0E;
  488.                                                                 writeBuf[1]=1;
  489.                                                                 PcdWrite(1,writeBuf);
  490.                                                                 Lcd_Display(1,6,"进站");
  491.                                                         
  492.                                                         }
  493.                                                         else
  494.                                                         {
  495.                                                             if(readBuf[0]==0x0B)
  496.                                                                 {
  497.                                                                         if(readBuf[2]>=0x03)
  498.                                                                         {LED_OK=0;
  499.                                                                          writeBuf[0]=0;
  500.                                                                          writeBuf[1]=0;        
  501.                                                                          writeBuf[2]=0;
  502.                                                                          PcdWrite(1,writeBuf);
  503.                                                                         Lcd_Display(1,6,"出站");
  504.                                                                         Lcd_Display(2,1,"Success Thanks");
  505.                                                                         LED_FAILED=1;
  506.                                                                         ALARM=1;}
  507.                                                                         else
  508.                                                                         {LED_FAILED=0;
  509.                                                                         ALARM=0;
  510.                                                                                 Lcd_Display(1,6,"出站");
  511.                                                                         Lcd_Display(2,2,"失败,请充值");}
  512.                                                                 }
  513.                                                                 else if(readBuf[0]==0x0C)
  514.                                                                 {
  515.                                                                         if(readBuf[2]>=0x03)
  516.                                                                         {LED_OK=0;
  517.                                                                          writeBuf[0]=0;
  518.                                                                          writeBuf[1]=0;        
  519.                                                                          writeBuf[2]=0;
  520.                                                                          PcdWrite(1,writeBuf);
  521.                                                                         Lcd_Display(1,6,"出站");
  522.                                                                         Lcd_Display(2,1,"Success Thanks");
  523.                                                                         LED_FAILED=1;
  524.                                                                         ALARM=1;}
  525.                                                                         else
  526.                                                                         {LED_FAILED=0;
  527.                                                                         ALARM=0;
  528.                                                                                 Lcd_Display(1,6,"出站");
  529.                                                                         Lcd_Display(2,2,"失败,请充值");}
  530.                                                                 }        
  531.                                                                 else if(readBuf[0]==0x0D)
  532.                                                                 {
  533.                                                                         if(readBuf[2]>=0x02)
  534.                                                                         {LED_OK=0;
  535.                                                                          writeBuf[0]=0;
  536.                                                                          writeBuf[1]=0;        
  537.                                                                          writeBuf[2]=0;
  538.                                                                          PcdWrite(1,writeBuf);
  539.                                                                         Lcd_Display(1,6,"出站");
  540.                                                                         Lcd_Display(2,1,"Success Thanks");
  541.                                                                         LED_FAILED=1;
  542.                                                                         ALARM=1;}
  543.                                                                         else
  544.                                                                         {LED_FAILED=0;
  545.                                                                         ALARM=0;
  546.                                                                         Lcd_Display(1,6,"出站");
  547.                                                                         Lcd_Display(2,2,"失败,请充值");}
  548.                                                                 }
  549.                                                                 else if(readBuf[0]==0x0A)
  550.                                                                 {
  551.                                                                         if(readBuf[2]>=0x02)
  552.                                                                         {LED_OK=0;
  553.                                                                          writeBuf[0]=0;
  554.                                                                          writeBuf[1]=0;        
  555.                                                                          writeBuf[2]=0;
  556.                                                                          PcdWrite(1,writeBuf);
  557.                                                                         Lcd_Display(1,6,"出站");
  558.                                                                         Lcd_Display(2,2,"Success Thank you!");
  559.                                                                         LED_FAILED=1;
  560.                                                                         ALARM=1;}
  561.                                                                         else
  562.                                                                         {LED_FAILED=0;
  563.                                                                          ALARM=0;
  564.                                                                         Lcd_Display(1,6,"出站");
  565.                                                                         Lcd_Display(2,2,"失败,请充值");}
  566.                                                             }
  567.           }
  568.                                                                 break;
  569.                                                                 default:
  570.                                                                 LED_FAILED=0;
  571.                                                                 ALARM=0;
  572.                                                                 Lcd_Display(2,2,"error");                                                               
  573.                                 }
  574.         }
  575. }
  576. }
  577. }
复制代码

所有资料51hei提供下载:
RFID 最终程序.zip (185.06 KB, 下载次数: 27)


评分

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

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:564281 发表于 2019-9-25 12:44 来自手机 | 只看该作者
楼主这个有仿真图吗?
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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