资源简介

通过52单片机读写rc522的内容,同时通过lcd1602显示读到的卡号

资源截图

代码片段和文件信息

#include 
#include “lpcreg.h“
#include “1602.h“
#define uchar unsigned char
#define uint unsigned int

extern unsigned char g_ucTempbuf[20]; 
unsigned char code table1[]=“Welcome to Card“;
unsigned char code table2[]=“Thank you!“;
unsigned char code table3[]=“Card ID:“;

unsigned char code table4[]=“UltraLight“;
unsigned char code table5[]=“M1(S50)“;
unsigned char code table6[]=“M1(S70)“;
unsigned char code table7[]=“Pro(X)“;
unsigned char code table8[]=“DESFire“;
unsigned char code table9[]=“Type:“;



void delay(unsigned int z)
{
uint xy;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}



////////////写命令////////////////////////////
void write_com(unsigned char com)
{
lcdrs=0;
lcdrw=0;
P0=com;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
//////////////////////////////////////////////

////////////写数据////////////////////////////
void write_data(unsigned char date)
{
lcdrs=1;
lcdrw=0;
P0=date;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
//////////////////////////////////////////////

//////////数值的转换格式  \ 显示数值 ////////////////

void LCD_Data(unsigned char LCDbyte )
{
 unsigned char count;
 count=(LCDbyte&0xf0)>>4;
 if (count>0x9) write_data(count%9+0x40);
 else write_data(count+0x30);
 count=LCDbyte&0x0f;
 if (count>9) write_data(count%9+0x40);
 else write_data(count+0x30);
}
/////////////////////////////////////////////////////




////////////初始化////////////////////////////
void init()
{
lcden=0;
write_com(0x38);
write_com(0x0c);
write_com(0x06);
write_com(0x01);

}
///////////////////////////////////////////////


void display_welcome()
{
unsigned char num;
write_com(0x80);//显示的起始地址
for(num=0;num<15;num++)
{
write_data(table1[num]);

}
write_com(0x80+0x40);//显示的起始地址
for(num=0;num<10;num++)
{
write_data(table2[num]);

}



}


void display_cardnum()
{
unsigned char num;

write_com(0x80);//显示的起始地址
for(num=0;num<8;num++)//第一行要显示的11个字符
{
write_data(table3[num]);

}

//write_com(0x80+0x08);//显示的起始地址
for(num=0;num<4;num++)//第一行要显示的11个字符
{
LCD_Data(g_ucTempbuf[num]);

}
}

void display_type()
{
unsigned char num;
// write_com(0x1); //清屏
write_com(0x80+0x40); //第二行显示的起始地址
for(num=0;num<5;num++)
{
write_data(table9[num]);
}

if((g_ucTempbuf[0]==0x44)&&(g_ucTempbuf[1]==0))//Mifare_UltraLight
{

for(num=0;num<4;num++)//第一行要显示的11个字符
{
write_data(table4[num]);

}
}
else if((g_ucTempbuf[0]==0x04)&&(g_ucTempbuf[1]==0))//Mifare_One(S50)
{

for(num=0;num<7;num++)//第一行要显示的11个字符
{
write_data(table5[num]);

}
}
else if((g_ucTempbuf[0]==0x02)&&(g_ucTempbuf[1]==0))//Mifare_One(S70)
{

for(num=0;num<7;num++)//第一行要显示的11个字符
{
write_data(table6[num]);

}
}
else if((g_ucTempbuf[0]==0x08)&&(g_ucTempbuf[1]==0))//Pro(X)
{

for(num=0;num<6;num++)//第一行要显示的11个字符

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-01-13 10:11  MFRC522之C51代码lcd1602显示\
     文件        8418  2019-01-13 09:00  MFRC522之C51代码lcd1602显示\1602.LST
     文件        8006  2019-01-13 09:00  MFRC522之C51代码lcd1602显示\1602.OBJ
     文件        3361  2019-01-12 16:40  MFRC522之C51代码lcd1602显示\1602.c
     文件         287  2019-01-12 16:40  MFRC522之C51代码lcd1602显示\1602.h
     文件        2827  2005-01-17 19:59  MFRC522之C51代码lcd1602显示\LPCREG.H
     文件        3477  2019-01-13 09:00  MFRC522之C51代码lcd1602显示\MAIN.C
     文件         616  2019-01-12 18:40  MFRC522之C51代码lcd1602显示\MAIN.H
     文件        8217  2019-01-13 09:00  MFRC522之C51代码lcd1602显示\MAIN.LST
     文件       15795  2019-01-13 09:00  MFRC522之C51代码lcd1602显示\MAIN.OBJ
     文件        6286  2005-04-16 19:50  MFRC522之C51代码lcd1602显示\MFRC522.H
     文件       17369  2012-12-08 08:55  MFRC522之C51代码lcd1602显示\RC522.C
     文件       27723  2019-01-13 09:00  MFRC522之C51代码lcd1602显示\RC522.LST
     文件       34878  2019-01-13 09:00  MFRC522之C51代码lcd1602显示\RC522.OBJ
     文件         984  2001-02-05 15:34  MFRC522之C51代码lcd1602显示\STDIO.H
     文件       50960  2019-01-13 09:00  MFRC522之C51代码lcd1602显示\TEST522
     文件       44846  2019-01-13 09:00  MFRC522之C51代码lcd1602显示\TEST522.M51
     文件        1751  2012-06-05 00:23  MFRC522之C51代码lcd1602显示\TEST522.Uv2.bak
     文件       11854  2019-01-13 09:00  MFRC522之C51代码lcd1602显示\TEST522.hex
     文件          70  2019-01-13 09:00  MFRC522之C51代码lcd1602显示\TEST522.lnp
     文件        2040  2012-06-07 20:08  MFRC522之C51代码lcd1602显示\TEST522.opt.bak
     文件         190  2019-01-13 09:09  MFRC522之C51代码lcd1602显示\TEST522.plg
     文件       60649  2019-01-13 10:11  MFRC522之C51代码lcd1602显示\TEST522.uvopt
     文件       13551  2012-12-06 10:50  MFRC522之C51代码lcd1602显示\TEST522.uvproj
     文件        1829  2012-06-06 08:07  MFRC522之C51代码lcd1602显示\TEST522_Opt.Bak
     文件        1722  2012-05-23 08:11  MFRC522之C51代码lcd1602显示\TEST522_Uv2.Bak
     文件       59837  2019-01-13 09:09  MFRC522之C51代码lcd1602显示\TEST522_uvopt.bak
     目录           0  2019-01-13 10:11  RC522源程序及上位机\
     目录           0  2017-10-19 23:05  RC522源程序及上位机\IC卡上位机参考程序\
     文件          51  2004-05-26 19:26  RC522源程序及上位机\IC卡上位机参考程序\#EADER.DDP
     文件       27023  2008-03-12 18:24  RC522源程序及上位机\IC卡上位机参考程序\#EADER.DFM
............此处省略61个文件信息

评论

共有 条评论