基于51单片机的RFID一卡通刷卡扣费充值系统设计原理图程序设计
硬件设计
(末尾附文件)
原理图:
程序设计
#include<reg52.h> //
#include<stdio.h>
#include <intrins.h>
#include "delay.h"
#include "rc522.h"
#include "1602.h"
#include "eeprom.h"sbit key1 =P1^0; //引脚定义
sbit key2 =P1^1;
sbit key3 =P1^2;
sbit key4 =P1^3;/********************/
unsigned char cardId[4]={0xD6,0x5F,0x2A,0x79}; //该出修改有效卡ID号/********************/unsigned char UID[5]; //暂存卡号
unsigned char Temp[4] ; //中间变量unsigned long time_20ms; //定时计数
xdata char dis0[16]; //显示数组变量
xdata char dis1[25]; //显示数组变量
bit disFlag; //显示更新标志
unsigned char timelater =0; //时间延时计数
unsigned char readCardFlag = 0; //读卡状态
unsigned int SetNum = 10;//扣费金额
bit rekey =0;//防止重复按下
unsigned char yuE = 100;//余额void Init_Timer0(void);
void uartSendStr(unsigned char *s,unsigned char length);
void UART_Init(void);
void uartSendByte(unsigned char dat);unsigned char initFlagData; //初始化数据存读取/******************把数据保存到单片机内部eepom中******************/
void write_eeprom()
{SectorErase(0x2000); //擦除整个扇区 注意整个扇区数据都擦出了byte_write(0x2001, yuE);byte_write(0x2055, initFlagData);
}/******************把数据从单片机内部eepom中读出来*****************/
void read_eeprom()
{yuE = byte_read(0x2001); //读取高字节initFlagData = byte_read(0x2055); //数据初始化读取
}/**************开机初始化保存的数据*****************/
void init_eeprom()
{read_eeprom(); //先读if(initFlagData != 0x55) //新的单片机初始单片机内问eeprom 如果不是0x55重新写入{yuE = 100;initFlagData = 0x55; //修改值write_eeprom(); //保存数据}
}void main (void)
{ Init_Timer0(); //定时器0初始化UART_Init();LCD_Init(); //初始化液晶DelayMs(20); //延时有助于稳定LCD_Clear(); init_eeprom();uartSendStr("ready ok!",9);PcdReset();//复位RC522PcdAntennaOn();//开启天线发射 while (1) //主循环{if(PcdRequest(0x52,Temp)==MI_OK){if(PcdAnticoll(UID)==MI_OK){
// uartSendByte(0x00);
// uartSendStr(UID,4);//上报卡号
// uartSendByte(0x00);}}if(disFlag == 1) //定时更新显示{if(readCardFlag == 1) //有效卡{LCD_Write_String(0,0,"S:YouXiaoIDCZ:10");//显示} else if(readCardFlag == 2) //无效卡{LCD_Write_String(0,0,"S:WuXiaoID CZ:10");//显示}else //无卡{LCD_Write_String(0,0,"S:NoID CZ:10");//显示}}if((key1==0)||(key2==0)||(key3==0)||(key4==0)) //检测到按键按下{if(rekey == 0)//防止重复按下{DelayMs(20); if(key1==0)//按键按下{rekey =1;if(readCardFlag == 1) //有效卡{if(yuE <= 190) //防止过充 最高充值200元{yuE = yuE + 10 ;//充值10元sprintf(dis1,"CZ:10 NowYuE:%03d \r\n ",(unsigned int)yuE); uartSendStr(dis1,20);//发送数据}}}else if(key2==0)//按键按下{rekey =1;if(SetNum>1) //值--{SetNum =SetNum-1;}}write_eeprom(); //保存数据 }}else{rekey =0 ;} //防止重复按下}
}
.
文件仅供参考:
链接:https://pan.baidu.com/s/1jpk8cm5qicebwcp43mgPZA
提取码:gadz
.
基于51单片机的RFID一卡通刷卡扣费充值系统设计原理图程序设计相关推荐
- 基于51单片机射频RFID卡考勤上课上班统计设计
具体实现功能 系统由STC89C52单片机电路+RFID模块电路+1602液晶显示电路+电源电路组成. 具体功能: (1)系统有3张卡,分别代表依次是张三.李四.王二: (2)任何一个人刷卡成功能,1 ...
- B47 - 基于51单片机的RFID停车计费系统
任务摘要 当今社会,交通压力不断增加,智能停车场管理系统是人们对便捷高效交通的一种追求.本智能停车场管理系统运用RFID技术,采用STC8H8K64U单片机.RC522.串口屏.光电传感器实现系统设计 ...
- 基于51单片机的RFID RC522智能钱包
RFID RC522智能钱包 基于51单片机的RFID RC522智能钱包,这个程序主要演示的是RFID RC522智能钱包中的设置及扣款功能,相信会扣款那么充值也就改一个数字的事,具体的功能要自己根 ...
- 136 基于单片机RFID智能一卡通扣费充值系统设计【毕设课设】
51RFID一卡通扣费充值系统设计-RFID-LCD1602-KEY 本设计由STC89C52单片机电路+RFID读卡器模块+液晶LCD1602显示电路+按键电路+串口模块PL2303电路+电源电路组 ...
- 基于51单片机的扫地小车,扫地机器人设计。 有原理图,程序代码
基于51单片机的扫地小车,扫地机器人设计. 有原理图,程序代码,原文. 可做实物. 主要功能有寻迹避障,来回清扫功能,往返清扫功能. YID:3350665853241481
- 基于51单片机的扫地小车,扫地机器人设计。有原理图,程序代码,原文论文。可做实物
基于51单片机的扫地小车,扫地机器人设计.有原理图,程序代码,原文.可做实物. 主要功能有寻迹避障,来回清扫功能,往返清扫功能.
- 基于51单片机GPS定位公交车自动报站系统(程序+原理图+PCB+论文+全套资料)
功能介绍: 1.电路设计合理. 2.熟练地使用STC89C52单片机.GPR模块,掌握其原理. 3.可设置播报声音的大小.上行或下行.显示时间等内容 4.采用LCD12864显示时间,位置等信息. 5 ...
- T039基于51单片机射频RFID卡考勤人数计数系统设计原理图PCB
功能: 0.本项目采用STC89C52作为单片机系统的控制MCU,LCD1602作为显示器 1.3张卡别代表依次是张.李.王,任何一个人刷卡成功能,1602液晶响应显示,未刷卡显示空" &q ...
- 4、基于51单片机智能语音识别小车控制 语音口令说话控制系统设计
毕设帮助.开题指导.技术解答(有偿)见文末. 目录 摘要 一.硬件方案 二.设计功能 三.实物图 四.原理图 五.PCB图 六. 程序源码 七.资料包括 摘要 随着电子工业的发展,具有语音控制功能的小 ...
最新文章
- 怎么解决tomcat占用8080端口问题图文教程
- npp夜光数据介绍 viirs_惊艳!珞珈一号卫星“眼中”的夜光衡水
- Maven报错“未结束的字符串字面值”
- jQ复制按钮的插件zclip
- 编写下载服务器。 第五部分:油门下载速度
- Javassist实现JDK动态代理
- cmd 命令提示符常用操作
- ai 2.5d插件_【插画AI教程】从0到1,学会16 种热门插画设计风格!
- 安徽大学(线性代数第一章详细答案)
- 创建数据库中,常用的MySQL命令(含解析与全部代码)
- 关系抽取方法总结(基于规则-传统机器学习-深度学习)
- 接口测试工具postman
- 北京大学计算机同等学力申硕信息平台,北京大学同等学力申硕有哪些专业?
- C++制作加密聊天程序:这样设置一下,再也不用担心女朋友翻你手机了!
- 线索二叉树中序非递归线索化以及递归线索化构建和遍历算法
- FreeKD:Free-direction Knowledge Distillation for Graph Neural Networks
- 【QFD】质量保证需求
- linux 系统 Shell语言 基础
- Image Denoising State-of-the-art
- 比尔-盖茨出席新世代厕所博览会,展示新一代卫生产品