RFID-RC522+STC89C52+IC卡號(hào)識(shí)別教程 by小伍子 一、將排針焊到板子上,切記要焊好,不要虛焊,如下圖:
0.png (351.35 KB, 下載次數(shù): 169)
下載附件
2017-8-23 22:37 上傳
二、 識(shí)別模塊與單片機(jī)之間通過(guò)SPI進(jìn)行通信,硬件引腳與程序中引腳的對(duì)應(yīng)情況如下:
SDA——MF522_NSS
SCK——MF522_SCK
MOSI——MF522_SI
MISO——MF522_SO
RST——MF522_RST
單片機(jī)IO口引腳與程序中引腳對(duì)應(yīng)關(guān)系可在MAIN.H文件中修改,位置如下:
0.png (57.12 KB, 下載次數(shù): 148)
下載附件
2017-8-23 22:38 上傳
三、 RC522模塊的電源問(wèn)題(筆者曾經(jīng)因?yàn)檫@個(gè)問(wèn)題被困擾了很久)
電壓最大不能超過(guò)3.6V,單片機(jī)供電為5V,切記不要直接供電,否則會(huì)出現(xiàn)不識(shí)卡的情況,可以使用“穩(wěn)壓LM1117-3.3”這個(gè)原件,或者這樣:
0.png (255.17 KB, 下載次數(shù): 148)
下載附件
2017-8-23 22:38 上傳
四、 本人程序中設(shè)置RC522與單片機(jī)的連接如下:
0.png (321.73 KB, 下載次數(shù): 160)
下載附件
2017-8-23 22:39 上傳
五、 程序中設(shè)置好的串口通信波特率為4800,當(dāng)尋卡成功后io口ff連著的LED燈或者蜂鳴器發(fā)光或者發(fā)聲,同時(shí)通過(guò)串口傳輸4個(gè)字節(jié)的數(shù)據(jù),數(shù)據(jù)內(nèi)容如下:
0.png (59.1 KB, 下載次數(shù): 155)
下載附件
2017-8-23 22:40 上傳
如果不使用十六進(jìn)制解析的話,得到的可能是亂碼,使用十六進(jìn)制得到的就是8個(gè)字符。
六、本人也是菜鳥,如果有寫的不好的地方,還請(qǐng)諒解!
MFRC522中文手冊(cè)目錄:
0.png (201.53 KB, 下載次數(shù): 160)
下載附件
2017-8-23 22:45 上傳
0.png (98.74 KB, 下載次數(shù): 156)
下載附件
2017-8-23 22:45 上傳
MFRC522單片機(jī)源程序如下(主程序):
- #include<reg52.h>
- #include<main.h>
- #include<mfrc522.h>
- unsigned char UID[5],Temp[4];
- void feeb(){ //尋卡成功響應(yīng)函數(shù)
- ff=0;
- delay_10ms(1);
- ff=1;
- delay_10ms(1);
- }
- void Auto_Reader(void){
- while(1){
- if(PcdRequest(0x52,Temp)==MI_OK){ //尋卡,成功后Temp數(shù)組為卡類型
- if(PcdAnticoll(UID)==MI_OK){ //防沖突,UID數(shù)組數(shù)據(jù)為卡序列號(hào)
- CALL_isr_UART(); //開串口中斷將UID數(shù)組前四個(gè)字節(jié)上傳到串口調(diào)試助手
- feeb(); //調(diào)用蜂鳴器提示
- }
- }else ff = 0;//尋卡失敗
- }
- }
- void InitializeSystem(){
- SCON=0X50; //設(shè)置為工作方式1
- TMOD=0X21; //設(shè)置計(jì)數(shù)器工作方式2
- PCON=0X80; //波特率加倍
- TH1=0XF3; //計(jì)數(shù)器初始值設(shè)置,注意波特率是4800的
- TL1=0XF3;
- REN = 1;
- ES=1; //打開接收中斷
- EA=1; //打開總中斷
- TR1=1;
- ff = 0;
- PcdReset();
- PcdAntennaOff();
- PcdAntennaOn();
- M500PcdConfigISOType( 'A' );
- }
- void isr_UART(void) interrupt 4 using 1{
- unsigned char i;
- if(TI){
- TI=0;
- for(i=0;i<4;i++){
- SBUF=UID[i];
- while(!TI);
- TI=0;
- }
- REN=1;
- }
- }
- void main( ){
- InitializeSystem( );
- Auto_Reader();
- }
復(fù)制代碼
0.png (43.32 KB, 下載次數(shù): 147)
下載附件
2017-8-23 22:47 上傳
所有資料51hei提供下載:
RC522 STC89C52 串口通信.zip
(9.35 MB, 下載次數(shù): 1122)
2017-8-23 11:12 上傳
點(diǎn)擊文件名下載附件
RC522 下載積分: 黑幣 -5
|