• 大小: 6KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-15
  • 语言: 其他
  • 标签: 公交卡  RC522  MSP430  

资源简介

使用MSP430及RC522模块对卡进行识别及读写,可以完成公交卡的扣款或者充值操作,这是一个DEMO,无工程文件,但是基本的操作都在里面。

资源截图

代码片段和文件信息

//
//===========================================================================//
#include “msp430x14x.h“
#include “PIN_DEF.H“
#include “RC522.H“
#include “UART0_Func.c“
#include “ctype.h“
#include “BoardConfig.h“
#include “lcd.h“//顺序的重要性
#include “led8run.h“
#include “stdio.h“
#include “string.h“
#include “strtonum.h“

unsigned char writeData[16] = {1 2 3 4 0};
unsigned char str[16];
unsigned char UD[4]Temp[4];
unsigned char RF_Buffer[18];
unsigned char Password_Buffer[6] = {0xFF 0xFF 0xFF 0xFF 0xFF 0xFF}; // Mifare One 缺省密码
unsigned char money_ok[4] = {0x00 0x00 0x00 0x00};                    //充值、消费数额数组
unsigned char money_ob[16] = {0x000x000x000x14};                 //充值、消费数额数组
unsigned char input_ncount = 0;                                          //输入数字个数统计
unsigned char Result[9];                                                 //存显示字符
unsigned char money[4] = {0x00 0x00 0x00 0x00};
unsigned char money_dot[4] = {0x00 0x00 0x00 0x00};
unsigned char money_inch[6] money_inch_hex[5];
unsigned char money_inch_dot[6] money_inch_hex_dot[5];
unsigned char money_i[4] = {0x00 0x00 0x00 0x00}; //这个初值一定要有,否则出错
unsigned char money_i_dot[4] = {0x00 0x00 0x00 0x00};
long int inputnum = 20;         //充值数值
unsigned char inputnum_dot = 0; //充值数值的小数部分的值
long int sum_dot = 0;           //充值后小数部分的额度
long int inteDec = 0;           //寄存器内部的整数部分值
long int dotDec = 0;            //寄存器内部的小数部分值

char MBRX[30];
char MBKeyTP[30];
char Event;
unsigned char DISP_MODE i; // 编辑控件显示模式
unsigned char des_on = 0;   // DES加密标志
void Key_TP_Task(void);

//***************************************************************************//
//                                                                           //
//                 初始化主时钟: MCLK = XT1×(FLL_FACTOR+1)                  //
//                                                                           //
//***************************************************************************//
void Init_CLK(void)
{
  unsigned int qq;
  WDTCTL = WDTPW + WDTHOLD; // 关看门狗
  BCSCTL1 &= ~XT2OFF;       //打开XT2高速晶体振荡器
  do
  {
    IFG1 &= ~OFIFG; //Clear oscFault flag清除振荡器失效标志
    for (qq = 0xff; qq > 0; qq--)
      ;
  } while ((IFG1 & OFIFG)); //oscFault flag still set

  BCSCTL2 |= SELM_2; //MCLK=XT2
  //BCSCTL2 |= DIVM_0;        //控制MCLK不分频默认

  BCSCTL2 |= SELS; //SMCLK=XT2
  //BCSCTL2 |= DIVS_0;        //控制SMCLK不分频默认
}

void Delay(unsigned int time)
{
  unsigned int i k;
  for (i = 0; i < 255; i++)
    for (k = 0; k < time; k++)
      _NOP();
}

//***************************************************************************//
//                                                                           //
//                //十进制数转为字符串               //
//                                                                           //
//***************************************************************************//
void Int_char(lo

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-12-12 11:58  公交充值卡DEMO\
     文件        5355  2019-09-19 07:31  公交充值卡DEMO\lcd.H
     文件        9448  2019-12-10 14:00  公交充值卡DEMO\main.c
     文件        2990  2019-12-10 12:59  公交充值卡DEMO\strtonum.h

评论

共有 条评论