首页 > 编程知识 正文

51单片机功能模块,51单片机开发板怎么用

时间:2023-05-04 02:59:51 阅读:134883 作者:4074

最近在某宝买了RC522模块,试着玩了一下,读写卡正常。 当你想学会使用新东西的时候,你需要了解它的工作原理和工作过程。 不清楚或不知道的请参考相关的数据手册和参考文献。 这里为了节约自己的时间,对我的51程序做一点笔记~~。

要驱动RC522模块对IC卡(此处为M1卡型号为S50 )进行读写操作,必须执行以下5个步骤。

一.找卡片

二.预防冲突

三.选牌

四、验证扇区密码(每一扇区包含加密密钥a及加密密钥b,且在验证正确之后可对该扇区的某一区块读写) )。

五.读/写

硬件面与单片机I/O端口连接,使用SPI通信时,NSS为SDA引脚,IRQ悬空。 主要步骤是# include ' reg 52.h ' # include ' MFR c522.h ' # include ' intr ins.h ' # include string.h # include ' stdio.h bit CmdValid=0作为辅助LED灯; u8 status; u8 pTagType[2]; u8 code DefaultKey[6]={0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF}; //分发的那张白板的扇区密码u8 idata MLastSelectedSnr[4]; //用于存储此卡的序列号,4字节u8 idata RevBuffer[16]; u8me [ 16 ]={ 1,1,1,4,4,4,5,5,5,10,10,3,13,5,15 }; 想在//块中写入void ANT_INIT (); //定时器只用于波特率发生器//使用定时器/计数器2时请记住添加到REG52.h头文件中。 sfr T2CON=0xC8; //否则voidtimer2init(void )//100微秒@12.000MHz ) t2mod=0; //初始化模式寄存器T2CON=0x34; //timer2startruntl2=rcap 2l=(65536-(fosc/32/baud ) ); //set auto-reloadvauleth2=RCA p2h=(65536-(fosc/32/baud ) ) 8; TR2=1; //计时器2计数开始}void main () {Timer2Init ); P11=1; SCON=0x50; //8-bit variable UARTES=1; //Enable UART interrupt EA=1; //openmasterinterruptswitchcmdvalid=0; PcdReset (; //以下三条是天线初始化,PcdAntennaOff (); PcdAntennaOn (; //Delay_10ms(250; m500pcdconfigisotype('a ); //工作模式“while(1) {ANT_INIT ); }}void ANT_INIT () {PcdHalt ); PCDrequest(PICC_reqall,pTagType; //卡片检索成功status=pcdanticoll (mlastselectedsnr ); //成功防止碰撞的PCDselect(mlastselectedsnr; pdauthstate (0x 60,1,DefaultKey,MLastSelectedSnr ); //status=PCDwrite(1,me ); //这是写入,注释掉下一行代码//status=PCDread(1,RevBuffer )并使用//这是读取,上面一行代码if(status==0) sbuf=mid (/--------- uartinterruptserviceroutine-------------------------- -白板序列号: BAA5ef0AIF(ti==1) for(I=1; i4; I ) {SBUF=MLastSelectedSnr[i]; while (! TI; TI=0; }另外,mfrc522.h和RC522.c可以从资料中调用自己的项目。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。