基本信息
源码名称:51单片机水卡充值扣费系统 RC522+S50卡源程序
源码大小:0.09M
文件格式:.rar
开发语言:C/C++
更新时间:2019-11-12
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 1 元×
微信扫码支付:1 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
本设计包括两个终端,包括负责水卡充值(可选择金额)的充值终端和每次刷卡扣费两元的付费终端。制作成品时建议两个终端做在一块板子上,用跳帽切换两个51单片机的电源。 主控芯片51单片机 射频模块RC522 射频卡M1卡S50 以下是付费终端的程序,其他详见附件 |
-
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];
-
ID_DATA[3]=g_ucTempbuf[3];
-
init_k();//初始化卡
-
writek();//写卡
-
readk();
-
-
}
-
}
-
}
-
LCD1206();//显示处理
-
PcdHalt();//命令卡片进入休眠状态
-
}
- }