久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
MSP430F149讀卡號參考例程源碼下載
[打印本頁]
作者:
WJK046
時間:
2018-8-24 10:25
標題:
MSP430F149讀卡號參考例程源碼下載
這個程序適用于430的F1板子,如果有需要的盡管取走就可以了。
單片機源程序如下:
//
//===========================================================================//
#include "msp430x14x.h"
#include "PIN_DEF.H"
#include "RC522.H"
#include "UART0_Func.c"
#include "ctype.h"
#include "BoardConfig.h"
unsigned char writeData[16]={1, 2, 3, 4, 0};
unsigned char str[16];
unsigned char UID[4],Temp[4] ;
unsigned char RF_Buffer[18] ;
unsigned char Password_Buffer[6]={0xFF,0xFF,0xFF,0xFF,0xFF,0xFF} ; // Mifare One 缺省密碼
char MBRX[30] ;
char MBKeyTP[30] ;
char Event ;
unsigned char DISP_MODE,i ; // 編輯控件顯示模式
unsigned char des_on = 0 ; // DES加密標志
void Key_TP_Task(void) ;
//***************************************************************************//
// //
// 初始化主時鐘: MCLK = XT1×(FLL_FACTOR+1) //
// //
//***************************************************************************//
void Init_CLK(void)
{
unsigned int qq;
WDTCTL = WDTPW + WDTHOLD ; // 關看門狗
BCSCTL1 &= ~XT2OFF; //打開XT2高速晶體振蕩器
do
{
IFG1 &= ~OFIFG; //Clear oscFault flag清除振蕩器失效標志
for(qq=0xff;qq>0;qq--);
}while((IFG1&OFIFG)); //oscFault flag still set
BCSCTL2 |= SELM_2; //MCLK=XT2
//BCSCTL2 |= DIVM_0; //控制MCLK不分頻,默認
BCSCTL2 |= SELS; //SMCLK=XT2
//BCSCTL2 |= DIVS_0; //控制SMCLK不分頻,默認
}
void Delay(unsigned int time)
{
unsigned int i,k ;
for(i=0;i<255;i++)
for(k=0;k<time;k++)
_NOP() ;
}
void Auto_Reader(void)
{
while(1)
{
if(PcdRequest(0x52,Temp)==MI_OK)//MI_OK=0 尋卡 0x52 = 尋感應區內所有符合14443A標準的卡 Temp返回卡片的類型
{
if(Temp[0]==0x04&&Temp[1]==0x00)
PutString("MFOne-S50");//卡片的類型為MFOne-S50 目前手上買的為此型號
else if(Temp[0]==0x02&&Temp[1]==0x00)
PutString("MFOne-S70");
else if(Temp[0]==0x44&&Temp[1]==0x00)
PutString("MF-UltraLight");
else if(Temp[0]==0x08&&Temp[1]==0x00)
PutString("MF-Pro");
else if(Temp[0]==0x44&&Temp[1]==0x03)
PutString("MF Desire");
else
PutString("Unknown");
if(PcdAnticoll(UID)==MI_OK)//獲得卡片序列號UID
{
PutString0("Card Id is:");
tochar(UID[0]);
tochar(UID[1]);
tochar(UID[2]);
tochar(UID[3]);
while (!(IFG1 & UTXIFG0));
TXBUF0 = '\n'; //發送換行指令
RED_LED_ON ;
Delay(200) ;
RED_LED_OFF ;
Delay(200) ;
}
}
else GRE_LED_OFF ;
}
}
void Find_Card(void)
{
if(PcdRequest(0x52,Temp)==MI_OK)
{
if(Temp[0]==0x04&&Temp[1]==0x00)
PutString("MFOne-S50");
else if(Temp[0]==0x02&&Temp[1]==0x00)
PutString("MFOne-S70");
else if(Temp[0]==0x44&&Temp[1]==0x00)
PutString("MF-UltraLight");
else if(Temp[0]==0x08&&Temp[1]==0x00)
PutString("MF-Pro");
else if(Temp[0]==0x44&&Temp[1]==0x03)
PutString("MF Desire");
else
PutString("Unknown");
PutString("SUCCESS!");
}
else PutString("Faile!");
}
void Init_Port(void)
{
P4DIR = RF_LPCTL + RF_SS + RF_SCLK + RF_DATA_OUT ;
P2DIR |= BIT0+RF_LPCTL + RF_SS + RF_SCLK + RF_DATA_OUT;
P1DIR = RF_LPCTL + RF_SS + RF_SCLK + RF_DATA_OUT ;
}
/*******************************************
函數名稱:HandleConfigMenu
功 能:處理PC的配置函數
參 數:inputvalue--接收到的來自PC機的字符
返回值 :無
********************************************/
void HandleConfigMenu(uchar inputvalue)
{
switch(toupper(inputvalue))
{
case 'A':
Auto_Reader();
break;
case 'F':
Find_Card();
break;
default:
DisplayConfigMenu();
}
}
void main( void )
{
WDTCTL = WDTPW + WDTHOLD ; // 關看門狗
int i;
unsigned char status2;
BoardConfig(0xf0);
Init_Port();
InitUART();
_EINT() ;
PcdReset();//復位RC522
PcdAntennaOn();//開啟天線發射
// DisplayConfigMenu();
while(1)
{
// Send1Char('>');
// Send1Char('\n');
// i=Get1Char();
// HandleConfigMenu(i);
status2=PcdRequest(0x52,Temp);////尋卡,輸出為卡類型
if(status2==MI_OK)
status2 = PcdAnticoll(UID); //防沖撞處理,輸出卡片序列號,4字節
if(status2==MI_OK)
{
PutString0("Card Id is:");
tochar(UID[0]);
tochar(UID[1]);
tochar(UID[2]);
tochar(UID[3]); //串口輸出卡號
}
status2 = PcdSelect(UID); //選擇卡片,輸入卡片序列號,4字節
if(status2==MI_OK)
status2 = PcdAuthState(PICC_AUTHENT1A, 1, Password_Buffer, UID);//在進行讀寫操作之前需要先進行認證
if(status2==MI_OK)
status2=PcdWrite(1,writeData);//寫數據,將數組writeData中的數寫入到卡中
if(status2==MI_OK)
status2 = PcdRead(1, str);//讀卡
if(status2==MI_OK)
{
for(i=0;i<16;i++)
{
tochar(str[i]);//串口輸出讀出的16個數據
}
Send1Char('\n');//換行
//程序串口輸出結果為:Card Id is:b45c7a1a01024104000000000000000000000000
}
}
}
復制代碼
所有資料51hei提供下載:
MSP430F149讀卡號參考例程.rar
(404.19 KB, 下載次數: 13)
2018-8-24 10:23 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
欧美成人精品一区二区男人看
|
久久久久久国产
|
精品国产色
|
1级黄色大片
|
久久国产精品视频
|
日本小视频网站
|
日韩成人精品在线
|
亚洲第一福利视频
|
午夜成人免费视频
|
欧美一级艳情片免费观看
|
麻豆久久久久久
|
国产成人精品一区二区三区网站观看
|
欧美一级欧美三级在线观看
|
亚州中文字幕
|
一区在线视频
|
国产一级片免费看
|
日本电影网站
|
精品国产一区二区国模嫣然
|
欧美亚州
|
99精品久久
|
免费看大片bbbb欧美
|
成人av在线网站
|
日韩在线精品视频
|
97精品视频在线观看
|
欧美日韩亚洲一区二区
|
一区2区
|
gav成人免费播放视频
|
成人影视网址
|
国产精品伦理一区二区三区
|
国产精品亚洲精品日韩已方
|
久久亚洲免费
|
99亚洲综合
|
久久精品国产亚洲a
|
日韩在线小视频
|
99视频在线免费观看
|
www.一区二区三区
|
精品国产不卡一区二区三区
|
波波电影院一区二区三区
|
五月婷婷丁香婷婷
|
欧美一区二区三区久久精品视
|
97人人超碰
|