历史上的今天
今天是:2024年10月15日(星期二)
2020年10月15日 | 51单片机水卡充值扣费系统 RC522+S50卡源程序
2020-10-15 来源:51hei
本设计包括两个终端,包括负责水卡充值(可选择金额)的充值终端和每次刷卡扣费两元的付费终端。制作成品时建议两个终端做在一块板子上,用跳帽切换两个51单片机的电源。
主控芯片51单片机
射频模块RC522
射频卡M1卡S50
以下是付费终端的程序
#include "reg52.h"
#include "main.h"
#include "mfrc522.h"
#include #include #include unsigned char code data1[16] = {0x00,0x00,0x00,0x00,0xff,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x01,0xFE,0x01,0xFE}; //M1卡的某一块写为如下格式,则该块为钱包,可接收扣款和充值命令 //4字节金额(低字节在前)+4字节金额取反+4字节金额+1字节块地址+1字节块地址取反+1字节块地址+1字节块地址取反 unsigned char data2[4] = {0x00,0x00,0x00,0x00};//存值减值金额 unsigned char code DefaultKey[6] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; //密码 unsigned char TYPE_DATA[2]; //类型 unsigned char ID_DATA[4]; //ID地址 unsigned char value_DATA[4]; //卡里面的值 unsigned char g_ucTempbuf[20]; //卡号 unsigned char code dis0[] = {"S50"}; unsigned char code dis1[] = {"S70"}; unsigned char code dis2[] = {"X"}; unsigned char code dis3[] = {"44"}; unsigned char code dis4[] = {"ID:"}; unsigned char code dis5[] = {"RMB:"}; unsigned char code dis6[] = {"0123456789ABCDEF"}; unsigned int tt=0,a=2,b,falg_pro; //falg_pro声音提示标志 void main( ) { unsigned char status; InitializeSystem( ); //初始化 PcdReset(); //复位RC522 PcdAntennaOff(); //关闭天线 PcdAntennaOn(); //开启天线 data2[1]=a/256; data2[0]=a%256; while ( 1 ) { status = PcdRequest(PICC_REQALL, g_ucTempbuf); //返回卡片类型#define PICC_REQIDL 0x26 寻天线区内未进入休眠状态 if(status!= MI_OK) //读不到卡,显示清0; { TYPE_DATA[0]=0; TYPE_DATA[1]=0; ID_DATA[0]=0; ID_DATA[1]=0; ID_DATA[2]=0; ID_DATA[3]=0; value_DATA[0]=0; value_DATA[1]=0; value_DATA[2]=0; value_DATA[3]=0; falg_pro=0; b=0; } if (status == MI_OK) { TYPE_DATA[0]=g_ucTempbuf[0]; TYPE_DATA[1]=g_ucTempbuf[1]; status = PcdAnticoll(g_ucTempbuf); //防冲撞 ,返回卡片ID号 4字节 if (status == MI_OK) { status = PcdSelect(g_ucTempbuf); //选定卡片 ,输入卡片ID号 if (status == MI_OK) { if(falg_pro==0)//声音提示标志 { falg_pro=1; pro(); } ID_DATA[0]=g_ucTempbuf[0]; ID_DATA[1]=g_ucTempbuf[1]; ID_DATA[2]=g_ucTempbuf[2];
史海拾趣
|
李芳,李征,柯熙政 西安理工大学自动化与信息工程学院 陕西西安 710048 众所周知,电子学的近代趋势是减小电路的尺寸,而在集成电路中要减小电阻和电容器的尺寸是比较简单的,至于无源电感器,体积庞大,不利于集成。这是因为半导体内得不 ...… 查看全部问答> |
|
vs2005中新建的pocket PC2003 项目与wince4.0是什么关系? vs2005中新建的pocket PC2003 项目与wince4.0是什么关系? 我新建的是pocket PC2003 项目,看文档说明书的时候,人家都说是,wince3.0 4.0什么的, 我想知道 pocket PC2003 到底是对应wince哪个版本呢? 先谢了..… 查看全部问答> |
|
在执行#make时 出现如下错误: ismounted.c:146: dereferencing pointer to incomplete type ismounted.c:146: dereferencing pointer to incomplete type make[2]: *** [ismounted.o] 错误 1 make[2]: Leaving directory `/root/yizhi/e2fspr ...… 查看全部问答> |
|
make all-am make[1]: Entering directory `/home/lonelysand/huang/lin/linphone-1.7.1/mediastreamer2/src\' /bin/sh ../libtool --tag=CC --mode=link gcc -I.. -I../../oRTP/include -I/home/lonelysand/linphone/speex/include&n ...… 查看全部问答> |
|
本帖最后由 paulhyde 于 2014-9-15 09:01 编辑 本人菜鸟,求助小车前方1m处有一个木块,木块尺寸5cm x 5cm x 5cm 场地不能循线,问:小车如何才能行驶到木快处?只通过超声波传感器能实现吗? 1m的距离啊求解好方案 [ 本帖最后由 beife ...… 查看全部问答> |




