日韩一区二区三区精品,欧美疯狂xxxxbbbb牲交,热99re久久免费视精品频,人妻互换 综合,欧美激情肉欲高潮视频

歷史上的今天

今天是:2025年07月25日(星期五)

2020年07月25日 | msp430f5529 RC522射頻卡程序

發(fā)布者:Yuexin888 來源: 51hei關(guān)鍵字:msp430f5529  RC522  射頻卡程序 手機看文章 掃描二維碼
隨時隨地手機看文章

/*

波特率設(shè)置為9600

特別說明:

單片機與PC的通訊:

    PC與單片機的連接:需要一個usb轉(zhuǎn)ttl調(diào)試器B,B的RXD接P4.5口,TXD接4.4口,VCC接5v電壓,GND接地即可。

    PC端使用的串口調(diào)試助手是X—COM,將調(diào)試器B連接好單片機。單片機的數(shù)據(jù)線接到電腦上,編譯好程序后,點擊CCS上的開始調(diào)試。

然后將調(diào)試器插入電腦,在X-COM中 設(shè)置波特率為9600,停止位1,數(shù)據(jù)位8,串口選擇調(diào)試器B的usb接口!(這步很重要)打開串口,即可開始串口調(diào)試。

此刻能實現(xiàn)的功能:

1.PC發(fā)送除A, F外的字符,單片機發(fā)送給電腦菜單信息。

單片機與RC522的通訊:

    SDA p2.2

    SCK P2.7

    MOSI P3.3

    MISO p3.4

    IRQ 不接

    RST p2.3

連接好上述引線后,能實現(xiàn)以下功能:

1.PC發(fā)送字符A,讀出卡的型號和UID信息。

2.PC發(fā)送字符F,單次尋卡模式,接觸一次顯示一次卡的型號信息。

*/


#include "msp430.h"

#include "PIN_DEF.H"

#include "RC522.H"

#include "UART_Func.h"http://串口已修改

#include "ctype.h"


unsigned char UID[5],Temp[4]; /*UID里面有5個元素,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加密標(biāo)志

void Key_TP_Task(void)                                             ;

void function1(void)

{

    ;

}



//***************************************************************************//

//                                                                           //

//                 初始化主時鐘: MCLK = XT1×(FLL_FACTOR+1)                  //

//                  我自己打的時鐘,能成功。

//                                                                           //

//***************************************************************************//

void Init_CLK(void)

{

  P5SEL |= BIT2 + BIT3;//P5.2和P5.3選擇XT2晶振功能

  UCSCTL6 &= ~XT2OFF;//使能XT2

  UCSCTL3 |= SELREF_2;//FLL模塊的參考時鐘源選擇REFO

  UCSCTL4 |= SELA_2;

  do

  {

      UCSCTL7 &= ~(XT2OFFG+XT1LFOFFG+DCOFFG);//清除XT2,XT1,DCO故障失效標(biāo)志位

      SFRIFG1 &= ~OFIFG;//清除晶振故障失效中斷標(biāo)志位

  }while(SFRIFG1&OFIFG);//測試晶振故障失效中斷標(biāo)志位

  UCSCTL6 &= ~XT2DRIVE0;//減少XT2驅(qū)動能力,降低功耗

  UCSCTL4 |= SELS_5 + SELM_5;//SMCLK=MCLK=XT2

}


void Delay(unsigned int time)

{

    volatile int i,k;

    for(i=0;i<255;i++)

        for(k=0;k        _NOP();

}


void Auto_Reader(void)

{

    while(1)

    {

        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");

            if(PcdAnticoll(UID)==MI_OK)

            {

                PutString0("Card Id is:");

                tochar(UID[0]);

                tochar(UID[1]);

                tochar(UID[2]);

                tochar(UID[3]);

                while (!(UCA1IFG & UCTXIFG));//等待上一個字符發(fā)送完成

                UCA1TXBUF = 'n';                              //發(fā)送換行指令

                RED_LED_ON;

                Delay(200);

                RED_LED_OFF;

                Delay(200);//綠燈交替亮滅

            }

            function1();//可以在這里編寫一下如何區(qū)別使用UID信息的函數(shù)。

         }

    else GRE_LED_OFF;

        Delay(100);//延時一端時間

    }

}


void Find_Card(void)

{

    while(1)

    {

        if(PcdRequest(0x52,Temp)==MI_OK)

        {

            RED_LED_OFF;//紅燈熄滅

          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!");

            break;//如果滿足條件,退出循環(huán)

        }

        else PutString("Faile!");

        GRE_LED_OFF;//綠燈熄滅

        Delay(1000);//延時一端時間

    }

}

/*************************

端口初始化

************************/

void Init_Port(void)

{

    P4DIR  |=  BIT7;//P4.7輸出,控制led

    P3DIR  |=  BIT3;

    P3DIR  &= ~BIT4;//P3.4設(shè)為輸入

    P2DIR  |=  BIT2+BIT3+BIT7;

    P1DIR  |=  BIT0;//控制led

}

/*******************************************

函數(shù)名稱:HandleConfigMenu

功    能:處理PC的配置函數(shù)

參    數(shù):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; // 關(guān)看門狗

  Init_Port();//這里是引腳的配置函數(shù),想要知道怎么連,就看這里

  InitUART();//初始化串口通信

  _EINT();//使能全局中斷

  PcdReset();//復(fù)位RC522

  PcdAntennaOn();//開啟天線發(fā)射

  DisplayConfigMenu();//向PC發(fā)送菜單信息

  while(1)

  {

        Send1Char('>');

        Send1Char('n');

        i=Get1Char();//i暫存電腦發(fā)來的數(shù)據(jù),已驗證

        HandleConfigMenu(i);//本函數(shù)用于數(shù)據(jù)分析

  }

}


關(guān)鍵字:msp430f5529  RC522  射頻卡程序 引用地址:msp430f5529 RC522射頻卡程序

上一篇:基于msp430f169的藍(lán)牙風(fēng)扇可調(diào)速程序
下一篇:msp430f5529 MCP4725程序

推薦閱讀

新實驗室將進一步推動業(yè)界領(lǐng)先的汽車連接解決方案的開發(fā)與創(chuàng)新Marvell 公司 (NASDAQ:MRVL)今天宣布汽車電磁兼容(EMC)實驗室正式投入運行,這一先進的EMC測試設(shè)施滿足CISPR 25標(biāo)準(zhǔn),使Marvell能夠在公司內(nèi)部即可完成各種抗干擾和靜電(ESD)測試。通過這一新設(shè)施,Marvell的汽車以太網(wǎng)產(chǎn)品可以設(shè)計成滿足汽車制造商嚴(yán)苛EMC要求的系統(tǒng)解決方案,并縮...
新型功率半導(dǎo)體企業(yè)美商聯(lián)合碳化硅股份有限公司(UnitedSiC)宣布,在公司快速發(fā)展的650V SiC FET硬開關(guān)UF3C FAST產(chǎn)品系列中新增兩種TO220-3L封裝選項。 新產(chǎn)品的RDS(on)值分別為30mΩ(UF3C065030T3S)和80mΩ(UF3C065080T3S),采用行業(yè)標(biāo)準(zhǔn)的三引腳TO220-3L封裝,結(jié)合了UnitedSiC自己開發(fā)的燒結(jié)銀(sintered-silver)封裝技術(shù),因而具有更強的散...
通過上一課的學(xué)習(xí),我們貌似成功的點亮了一個LED小燈,但是還有一些知識大家還沒有徹底明白。單片機是根據(jù)硬件電路圖的設(shè)計來寫代碼的,所以我們不僅僅要學(xué)習(xí)編程知識,還有硬件知識,也要進一步的學(xué)習(xí),這節(jié)課我們就要來穿插介紹電路硬件知識。3.1 電磁干擾EMI第一個知識點,去耦電容的應(yīng)用,那首先要介紹一下去耦電容的應(yīng)用背景,這個背景就是電磁干擾,...
受惠在家辦公和教育帶動筆記本電腦與通信網(wǎng)絡(luò)需求增加, IC設(shè)計廠商瑞昱半導(dǎo)體第2季營收、凈利均刷新單季歷史新高紀(jì)錄。瑞昱發(fā)布的第2季度業(yè)績報告顯示,當(dāng)季營收為258.39億元(新臺幣,下同),較上季增長10.7%;歸屬母公司凈利潤43.04億元,季增40.9%,每股純益8.43元。隨著產(chǎn)品價格上漲效應(yīng)顯現(xiàn),瑞昱第2季毛利率躍升至50.41%,環(huán)比提升5.63個百分點。...

史海拾趣

問答坊 | AI 解惑

測試手機功放相位和幅度時間變化曲線須知

某個放大器設(shè)計能夠適用于多種手機應(yīng)用,只要其非線性度可以測量出來并用適當(dāng)?shù)男U蜃舆M行校正。 放大器設(shè)計的重利用是移動通信設(shè)計工程師在開發(fā)新網(wǎng)絡(luò)時用以盡可能地降低制造材料成本的一種常用方法。例如,為GSM和GPRS開發(fā)的同一功放(PA)也可用 ...…

查看全部問答∨

我來說說幾個芯幣問題

第一:現(xiàn)在正是大賽高峰,下載的人很多,可以考慮多派送一點芯幣以解燃眉之急額! 第二:對于一個附件分卷壓縮,如果很小的話,的確有刷分的嫌疑,建議斑竹,管理員整理。 第三:如果是很多,確實需要分開,是不是可以考慮一下多多補償芯幣。。。 ...…

查看全部問答∨

智能化生活盡在眼前

在上海世博會的場館中,科技為未來生活帶來的,不僅是適應(yīng)更快節(jié)奏的,還有更多的便捷和舒適。智能化的未來生活在人們的體驗中變得便捷而有質(zhì)量。在香港,寵物狗的背部肌膚下都已植入一個米粒大小的微芯片,記錄著主人的信息和它接種疫苗的情況,也 ...…

查看全部問答∨

protel拖拽問題

今天碰到一個protel的拖拽問題,當(dāng)我拖拽導(dǎo)線或者fill的控點的時候,根本不管用,整條導(dǎo)線或者fill都跟著移動,以前拖拽還是可以用的現(xiàn)在不行了。各位有沒有遇到過這種問題?????…

查看全部問答∨

有沒有類似C++ STL開源庫那樣的實現(xiàn)各種數(shù)據(jù)結(jié)構(gòu)的ANSI C庫

有沒有類似C++ STL開源庫那樣的實現(xiàn)各種數(shù)據(jù)結(jié)構(gòu)的ANSI C庫 我想在單片機上使用 有的話,大家給推薦一個 …

查看全部問答∨

關(guān)于EVC中CSting += nChar報錯

在用EVC編寫一個字符處理的小程序的時候,在處理WM_CHAR消息的時候,出現(xiàn)一個這樣的問題: void CWordView::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)   {     CString m_strLine;     m_strLine += nCha ...…

查看全部問答∨

驅(qū)動問題

小弟剛接觸vxworks,要編寫adt800的驅(qū)動,誰有這方面的資料,或者類似的例子. 我把那幾個函數(shù)實現(xiàn),如何調(diào)試驅(qū)動程序呀 麻煩各位高手賜教,小弟不勝感激…

查看全部問答∨

lm3s811下載問題

用TI的lm3s811板子下不進去程序,本來好好的,突然就下不進去了,提示的錯誤是Could not initialize target device!Please power cycle the board and try again!哪位朋友知道是什么問題啊,我一開始還能下程序,就是突然就開始跳這個錯誤了,我 ...…

查看全部問答∨

怎樣把結(jié)構(gòu)體的成員變量作為參數(shù)傳遞?

假設(shè)結(jié)構(gòu)體a已經(jīng)定義,成員變量都是整形,那么怎樣才能實現(xiàn)下面函數(shù)的功能呢?   fun(類型定義  variable, int vlu) {    a->variable = vlu; }…

查看全部問答∨

怎么更好的寫程序 看程序的來龍去脈

module paomadeng(clk,ret_n,led);  input clk,ret_n;  output [7:0] led;  reg [7:0] ledn;  reg [3:0] led_cnt;  reg [3:0] cnt;      always @(posedge clk or negedge ret_n)   if(!ret_n)& ...…

查看全部問答∨
小廣播
設(shè)計資源 培訓(xùn) 開發(fā)板 精華推薦

最新單片機文章

 
EEWorld訂閱號

 
EEWorld服務(wù)號

 
汽車開發(fā)圈

 
機器人開發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號 京ICP備10001474號-1 電信業(yè)務(wù)審批[2006]字第258號函 京公網(wǎng)安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved