基于某单片机地IC卡读写

基于某单片机地IC卡读写

ID:47060319

大小:1.61 MB

页数:27页

时间:2019-07-11

基于某单片机地IC卡读写_第1页
基于某单片机地IC卡读写_第2页
基于某单片机地IC卡读写_第3页
基于某单片机地IC卡读写_第4页
基于某单片机地IC卡读写_第5页
资源描述:

《基于某单片机地IC卡读写》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、标准文档基于单片机的IC卡读写系统实验目的:1.学会并掌握可keil软件的使用;2.学会并掌握protues软件的使用;3.实现基于单片机的IC卡读写;4.通过实验巩固单片机相关知识和检验自身动手能力实验要求:掌握单片机相关知识,利用单片机控制和射频模块组合来读写IC卡,并实现软硬件的仿真模拟。lC卡读卡器以MCS-51系列单片机作为核心构成,主要用于家庭和机构门锁的开关,具有安全稳定的特点,在识别,删除,添加,自动开锁时,用于对IC卡进行读写操作。实验设备和仪器:1.89c51单片机最小系统2.射频模块RC522,智能IC卡以及其他附加电路实验内容:本次实验设计是由小组五个成员共同完成基于单

2、片机的IC卡读写系统并完成实物搭建和撰写实验报告。方案一:实验步骤:1.利用protues画电路图,电路图如图1所示:实用文案标准文档图1:方案一电路图2.模拟刷卡后显示,如图二:实用文案标准文档图2:方案一实现图3.根据电路图编写C语言代码:代码如下:#include"reg52.h"#include"main.h"#include"mfrc522.h"实用文案标准文档#include#include"LCD1602.h"#include"DS1302.h"#defineucharunsignedchar#defineuintunsignedintsbitSpeak=P2

3、^7;//蜂鸣器sbitRED=P3^4;//红色指示灯sbitGREEN=P3^3;//绿色指示灯sbitRelay=P3^2;//继电器sbitKEY1=P1^3;//小时加按键sbitKEY2=P1^4;//小时减按键sbitKEY3=P1^5;//分钟加按键sbitKEY4=P1^6;//分钟减按键sbitKEY5=P1^7;//添加删除卡sbitKEY=P2^6;//开门unsignedcharidataRevBuffer[30];unsignedcharCard_Num;voidiccardcode();//系统初始化voidInitializeSystem()//IC卡初始化{P

4、cdReset();//IC卡初始化实用文案标准文档PcdAntennaOff();//IC卡初始化PcdAntennaOn();//IC卡初始化M500PcdConfigISOType('A');//IC卡初始化}unsignedcharidataUID[4],Temp[4];//读取卡号数组unsignedcharTable[3];//显示数组unsignedcharNum;unsignedcharCount,Countf,Count1,Count2,Count3,Count4,Count5,C_flag;//卡序号voidAuto_Reader(void)//自动寻卡{if(PcdReq

5、uest(0x52,Temp)==0)//找到卡{if(PcdAnticoll(UID)==0){Speak=0;delay_10ms(20);Speak=1;//蜂鸣器提示Table[0]=UID[0]/100+0x30;//卡号显示Table[1]=UID[0]/10%10+0x30;//卡号显示Table[2]=UID[0]%10+0x30;//卡号显示LCD1602_Disp_ZF(0x80+0x40,"Num:",16);//卡号显示LCD1602_Disp_ZF(0x84+0x40,Table,3);//卡号显示Count=UID[0];//判断卡是不是有效if((Count==C

6、ount1)

7、

8、(Count==Count2)

9、

10、(Count==Count3)

11、

12、(Count==Count4)

13、

14、(Count==Count5))实用文案标准文档{LCD1602_Disp_ZF(0x88+0x40,"Welcome",7);//卡有效GREEN=0;Relay=0;delay_10ms(200);Relay=1;GREEN=1;//绿灯亮,打开继电器C_flag=1;}else{LCD1602_Disp_ZF(0x88+0x40,"Error",7);//卡无效RED=0;delay_10ms(500);RED=1;//红灯亮C_flag=2;}delay_10ms(20

15、0);LCD1602_Disp_ZF(0x80+0x40,"PleaseSwipecard",16);//显示初始界面}}}ucharDS1302_Table[7]={0};//读取时间值voidDisplay_LCD2(ucharDis_Hour,ucharDis_Min,ucharDis_Sec)//显示时间值{ucharDis_Table[8]="11:22:33";Dis_Table[0]

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。