久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
RC522設計刷卡的51單片機代碼
[打印本頁]
作者:
VIVIYA
時間:
2018-6-13 17:25
標題:
RC522設計刷卡的51單片機代碼
畢業設計刷卡代碼
單片機源程序如下:
#include "LCD1602.h"
#include "mfrc522.h"
#include "CardAction.h"
#include "key.h"
#define uchar unsigned char
#define uint unsigned int
sbit Buzzer=P3^5;//蜂鳴器接口定義,低電平響
sbit Jdq=P3^7;//繼電器接口定義,低電平吸合
sbit ChangeKey=P3^2;//切換按鍵
sbit Key=P3^2;//切換按鍵
uchar ReturnValue=0;//讀卡返回值
uchar ModeFlag=0;//模式標志位 0-驗證刷卡開門模式 1-注冊卡模式 2-注銷卡模式
uchar i=0,t=0,In_Code=0;
uchar IN_TAXT[4]="0000";
uchar NOW_CODE[]="123456E"; //mima
uchar num[]="123A456B789CD0EF";
u8 receiveData;
/*******************************************************************************
* 函數名 :UsartInit()
* 函數功能 :設置串口
* 輸入 : 無
* 輸出 : 無
*******************************************************************************/
void UsartInit()
{
SCON=0X50; //設置為工作方式1
TMOD=0X20; //設置計數器工作方式2
PCON=0X80; //波特率加倍
TH1=0XF3; //計數器初始值設置,注意波特率是4800的
TL1=0XF3;
ES=1; //打開接收中斷
EA=1; //打開總中斷
TR1=1; //打開計數器
}
void main()
{
Card_Init();//讀卡器初始化
LCD_init();//液晶1602初始化
Buzzer=1;//蜂鳴器關閉
Jdq=0;//繼電器關閉
KeyState=0;
UsartInit();
while(1)
{
while(ModeFlag==0)//卡驗證模式
{
write_string(1,0,"Verif Mode:");//第二行顯示"Welcome!"
ReturnValue=0;//驗證卡返回值置0
ReturnValue=Vreif_Sy();// 驗證卡
if(ReturnValue==4)//ReturnValue==4卡驗證成功
{
write_string(2,0,"Welcome!");//第二行顯示"Welcome!"
Buzzer=0; //開蜂鳴器
Jdq=1;//開繼電器
delay1ms(500);//延時0.5s
Buzzer=1;//關蜂鳴器
delay1ms(1000);//延時1s
write_string(2,0," ");//清第二行顯示
// EA=1;
// ES=1;
Jdq=0;//關閉繼電器
for(t=0;t<100;t++)
{ SBUF='A';delay1ms(50);}
}
else {SBUF='B'; }
if(ChangeKey==0)//切換按鍵被按下
{
while(ChangeKey==0);//等待被彈起
LCD_Clear();//清屏幕
ModeFlag=1;//進入注冊卡模式
}
if(Key==0)//切換按鍵被按下
{
while(Key==0);//等待被彈起
write_string(1,0,"CODE Mode:");//第一行顯示"Code Mode:"
write_string(2,0," ");
In_Code=1;//進入密碼模式
}
}//end for while(ModeFlag==0)
while(ModeFlag==1)//卡注冊模式
{
write_string(1,0,"Register Mode:");//第一行顯示"Register Mode:"
ReturnValue=0;//ReturnValue重置0
ReturnValue=CardReg();//卡注冊
if(ReturnValue==6)//ReturnValue==6卡注冊成功
{
write_string(2,0,"Success !");//第二行顯示"Success !"
Buzzer=0;
delay1ms(500);
Buzzer=1;
write_string(2,0," ");
}
if(ChangeKey==0)//切換按鍵被按下
{
while(ChangeKey==0);//等待被彈起
LCD_Clear();
ModeFlag=2;//進入注銷卡模式
}
if(Key==0)//切換按鍵被按下
{
while(Key==0);//等待被彈起
write_string(1,0,"CODE Mode:");//第一行顯示"Code Mode:"
write_string(2,0," ");
In_Code=1;//進入密碼模式
}
}//end for while(ModeFlag==1)
while(ModeFlag==2)//卡注銷模式
{
write_string(1,0,"Reset Mode:");//第一行顯示"Reset Mode:"
ReturnValue=0;//ReturnValue重置0
ReturnValue=CardReset();//注銷卡
if(ReturnValue==6)//ReturnValue==6卡注銷成功
{
write_string(2,0,"Success !");//第二行顯示"Success !"
Buzzer=0;
delay1ms(500);
Buzzer=1;
write_string(2,0," ");
}
if(ChangeKey==0)//切換按鍵被按下
{
while(ChangeKey==0);//等待被彈起
LCD_Clear();
ModeFlag=3;//進入注銷卡模式
}
}//end for while(ModeFlag==2)
while(ModeFlag==3)//密碼輸入模式
{
write_string(1,0,"CODE Mode:");//第一行顯示"Code Mode:"
KeyDown();
if(KeyState)
{
KeyState=0;
IN_TAXT[i]=num[KeyValue];
// write_char(2,0,IN_TAXT[i]);//第一行顯示"Code Mode:"
// write_char(2,2,NOW_CODE[i]);//第一行顯示"Code Mode:"
//
// write_string(2,0,NOW_CODE);//第一行顯示"Code Mode:"
//
// write_string(2,6,IN_TAXT);//第一行顯示"Code Mode:"
// write_char(2,3,IN_TAXT[i]);//第一行顯示"Code Mode:"
i++;
if(i==1)
{
write_string(2,0,"* ");//第一行顯示"Code Mode:"
}
if(i==2)
{
write_string(2,0,"** ");//第一行顯示"Code Mode:"
}
if(i==3)
{
write_string(2,0,"*** ");//第一行顯示"Code Mode:"
}
if(i==4)
{
write_string(2,0,"**** ");//第一行顯示"Code Mode:"
}
if(i==5)
{
write_string(2,0,"***** ");//第一行顯示"Code Mode:"
}
if(i==6)
{
write_string(2,0,"****** ");//第一行顯示"Code Mode:"
}
}
if(i>=7)
{
i=0;
if(NOW_CODE[0]==IN_TAXT[0]&&NOW_CODE[1]==IN_TAXT[1]&&NOW_CODE[2]==IN_TAXT[2]&&NOW_CODE[3]==IN_TAXT[3]&&NOW_CODE[4]==IN_TAXT[4]&&NOW_CODE[5]==IN_TAXT[5]&&NOW_CODE[6]==IN_TAXT[6])//密碼正確
{
write_string(2,0,"Success ! ");//第二行顯示"Success !"
Buzzer=0;
Jdq=1;//開繼電器
delay1ms(1000);
Buzzer=1;
write_string(2,0," ");
In_Code=0;
ModeFlag=0;
Jdq=0;//gaun繼電器
for(t=0;t<100;t++)
{ SBUF='A';delay1ms(50);}
}
else { write_string(2,8,"error"); SBUF='B';};
}
if(ChangeKey==0)//切換按鍵被按下
{
while(ChangeKey==0);//等待被彈起
LCD_Clear();
……………………
…………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
刷卡.zip
(192.82 KB, 下載次數: 85)
2018-6-13 17:25 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
13253386146
時間:
2018-7-27 12:53
樓主,RC522和單片機怎么連線呀
作者:
houjinyue01
時間:
2022-1-3 17:20
RC522源碼這里定義了接口
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
国产精品久久久久久久三级
|
激情婷婷
|
亚洲高清免费视频
|
在线精品一区二区三区
|
狠狠爱网址
|
日韩中文字幕网
|
久久人人爽人人爽人人片av免费
|
亚洲免费在线播放
|
18gay男同69亚洲网站
|
日韩1区
|
国产一级精品毛片
|
国内精品99
|
欧美亚洲综合久久
|
欧洲成人免费视频
|
日本欧美国产在线观看
|
91精品国产色综合久久不卡98
|
亚洲欧美日韩精品久久亚洲区
|
日本a级大片
|
www.久久国产精品
|
亚洲精品亚洲人成人网
|
北条麻妃99精品青青久久
|
日韩成人在线视频
|
国产91av视频在线观看
|
国产亚洲www
|
久久久久国产精品午夜一区
|
www.yw193.com
|
成人在线a
|
免费久草
|
精品国产网
|
国产精品久久久久久久久久了
|
精品国产一级
|
国产精品免费在线
|
欧美日韩久久久
|
毛片一级片
|
国产片侵犯亲女视频播放
|
久久精品欧美一区二区三区麻豆
|
欧美久久影院
|
日韩欧美一区二区三区在线播放
|
欧美区在线
|
亚洲精品视频在线观看免费
|
亚洲一区
|