版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
二、產(chǎn)品使用說二、產(chǎn)品使用說RFID技術(shù)實驗指導(dǎo)西安海舟信息技術(shù)有限公目錄引 第目錄引 第一章RFID技術(shù)基 1.1RFID技術(shù)簡 第二章、低頻門禁系 一、基礎(chǔ)實驗部 實驗一低頻讀卡原理實 實驗二低頻ID卡解碼實 二、門禁系統(tǒng)應(yīng)用實 實驗一、STM32軟件環(huán)境使用實 實驗二、 I/O口驅(qū)動實 實驗三、STM32定時器實 實驗四、門禁系統(tǒng)實 第三章高頻RFID實驗 一、高頻RFID軟硬件資源介 二、高頻實驗板實 實驗一TRF7970A基本通信實 實驗二ISO14443A協(xié)議通信實 實驗三ISO15693協(xié)議通信實 實驗四傳送帶貨物統(tǒng)計應(yīng)用實 第四章超高頻技 一、基礎(chǔ)實驗部 實驗一超高頻基礎(chǔ)實 實驗二超高頻頻率設(shè)置實 實驗三超高頻尋卡實 實驗四讀寫標簽實 實驗五擦除、鎖定、銷毀標簽實 二、應(yīng)用實驗部 實驗一、串口實 實驗三ETC實驗三ETC應(yīng)用案例綜合實 引引125KHz讀卡原理實驗板、門禁實驗板,HF高頻實驗板、UHF初步了解第一RFID技術(shù)基礎(chǔ)1.1RFID術(shù)簡ID卡工作原理第一RFID技術(shù)基礎(chǔ)1.1RFID術(shù)簡ID卡工作原理ID卡的特點ID卡的應(yīng)用1.1.1射頻卡的標準及分1.1.1射頻卡的標準及分1.RFID卡的供電方式分2.按載波頻率分3.按調(diào)制方式分RFID標簽分為主動標簽(Activetags)和被動標簽(Passivetags)4.按讀寫卡距離進行分5.按芯片類型分分為只讀卡、讀寫卡和CPU卡。只讀卡被廣泛應(yīng)用于普通分為只讀卡、讀寫卡和CPU卡。只讀卡被廣泛應(yīng)用于普通門禁和小范圍內(nèi)的一卡通統(tǒng),而讀寫卡一般更適合應(yīng)用在大范圍的一卡通系統(tǒng)1.1.2RFID系統(tǒng)的組最基本的RFID系統(tǒng)由三部分組(1)電子標簽(Tag,或稱射頻標簽、應(yīng)答器由芯片及內(nèi)置天線組成。芯片內(nèi)保存有一定格式的電子數(shù)據(jù),作為待識別物品的標識信息,是射頻識別系統(tǒng)真正的數(shù)據(jù)載體。內(nèi)置天線的作用是與讀卡模塊的通信(2)讀寫器又稱為讀寫卡模塊,用于讀/寫電子標簽信息的設(shè)備,主要任務(wù)是控制射頻模向標簽發(fā)射讀取信號,并接收標簽的應(yīng)答,對標簽的對象標識信息進行解碼,將對象標信息通過一定的接口傳輸?shù)街鳈C以供處理(3)標簽與閱讀器之間傳輸數(shù)據(jù)的發(fā)射、接收裝置圖1-1- RFID系統(tǒng)基本模型RFID的工作原理:電子標簽天線進入閱讀器(讀卡模塊)天線磁場區(qū)域時,如果收到閱讀器發(fā)出的射頻信號,就能憑借感應(yīng)電流所獲得的能量發(fā)送出存儲在芯片中的信(無源標簽),或者主動發(fā)送某一頻率的信號(有源標簽),閱讀器讀取信息并解碼后送至應(yīng)用電路或中央信息系統(tǒng),進行數(shù)據(jù)處理并執(zhí)行相應(yīng)的功能。發(fā)生在閱讀器和電子簽之間的射頻信號的耦合類型有兩種電感耦合:變壓器模型,通過空間高頻交變磁場實現(xiàn)耦合,依據(jù)的是電磁感應(yīng)律圖1-1- 電感耦合示意1-1-31.1.3能量傳無源RFID1-1-31.1.3能量傳無源RFID圖1-1- RFID卡傳送數(shù)據(jù)的電路原1.1.4數(shù)據(jù)傳常用的技術(shù)有振幅鍵控(AmplitudeShiftKeying,ASK)、頻移鍵控(FrequencyKeying,FSK)和相移鍵控(PhaseShiftKeying,PSK)相位分別進行調(diào)制的方法。由于振幅和相移容易解調(diào),ASKPSKRFID加的壓降檢測出來。RFID卡可以通過改變其線圈的負載(加的壓降檢測出來。RFID卡可以通過改變其線圈的負載(R2圖1-1- 閱讀器到RFID數(shù)據(jù)傳第二章、低頻門禁系一、基礎(chǔ)實驗部實驗一第二章、低頻門禁系一、基礎(chǔ)實驗部實驗一低頻讀卡原理實驗1.實驗?zāi)空莆兆x卡器原理機工作原掌握射頻ID卡讀卡原2.實驗設(shè)低頻實驗板一塊、門禁實驗板一塊RFID一張(也簡稱為標簽(智能貨架的貨物模型中的標簽均為低頻卡,都可用于本實驗●示波器一臺●專用USB連接線一●PC機一3.實驗原低頻實驗板如圖2-1-1低頻實驗2-1-13.1目前常見的讀卡器一般需要讀卡芯片作2-1-13.1目前常見的讀卡器一般需要讀卡芯片作為基站,成本較高,而且不利于掌握讀卡器讀卡器,電路結(jié)構(gòu)簡單,可EM4100TK4100ID讀卡器通常具有以下功能1、以射頻的方式向射頻卡傳送能量234讀卡器的電路讀卡原理如圖2-1-2所圖2-1- 根據(jù)圖2-1-2所示,真實電路由載波產(chǎn)生電路、檢波(濾波)電路、放大電路和比整形電路等組成,分別介紹如下(1)125kHz載波電路產(chǎn)圖2-1- 載波產(chǎn)生電本讀卡器利用8M圖2-1- 載波產(chǎn)生電本讀卡器利用8M晶體Y18M正弦波,經(jīng)CD4040分頻器分頻后輸方波信號,經(jīng)過限流電阻后送入推挽式三極管功率放大器電路,放大后的載(正弦波)信號發(fā)送到由天線和電容組成的諧振回路,諧振頻率 125KHz,諧振電路 測試點可在此測試點B點測試信號的波形和幅度B點測試點波形如圖2-1-4所示圖2-1- 振蕩輸出的波(2)隔直、檢波、濾波電本電2-1-5所示,用于讀取ID卡信息,檢波電路的作用是125kHz載波號,還原出有用的數(shù)據(jù)信號,在射頻 卡靠近線圈時,線圈感應(yīng)到能量后,調(diào)制信號經(jīng)濾波后經(jīng)過包絡(luò)檢波電路,解調(diào)出包絡(luò)波形。經(jīng)過包絡(luò)檢波電路后,獲得的信號為有一失真的數(shù)字信號,仍無法作為數(shù)字序列信號輸入給處理器。因此,需要經(jīng)過濾波、放大產(chǎn)生無失真的數(shù)字信號,即電路圖2-1-6所示圖2-1- 檢波、隔直、濾波電(3)濾波、圖2-1- 檢波、隔直、濾波電(3)濾波、放大電經(jīng)過檢波、隔直、濾波后的信號比較弱,而且含有部分高頻分量,不能直接輸入微理器。因此,需要經(jīng)過濾波、放大電路進行處理,電路2-1-6所示。圖中C5是交流饋元件,對電容而言,頻率越高的信號容抗越小,反饋量越大,放大倍數(shù)越小,故起到大低頻信號,抑制高頻信號的作用,本電路輸出的波形已形成質(zhì)量較好的方波,用示波器測試F可以檢測到方波信號圖2-1- 濾波、放大電(4)比較整形電為獲得質(zhì)量更好的數(shù)字信號,信號經(jīng)過濾波電路和放大電路后輸入比較整形電路,一步恢復(fù)原來的數(shù)字序列,可靠還原原波形,得到數(shù)字 序列,直接輸入微控制器。電如圖2-1- 所示,此電路輸出的信號完全還原為原數(shù)字信號,可供微處理器讀取并進行理圖2-1- 比較整形電交流放大后的信號輸入比較器LM358的+端。LM358圖2-1- 比較整形電交流放大后的信號輸入比較器LM358的+端。LM358的-端接一個分壓電路,比較輸出。通過比較會消除高電平鋸齒紋。在 點通過示波器測試此曼徹斯特碼。波形基本圖2-1- 整形后的波(5)微控制器部本項目的單片機選ARM系列位高檔單片機,微控制器選8MHz晶振作為系統(tǒng)時鐘,經(jīng)檢波,濾波放大和整形后的卡的序列號輸入微處理 機或門禁等應(yīng)用統(tǒng)機和門禁應(yīng)用系統(tǒng)可以利用此卡號完成門禁管理等功能注1:本實驗已將曼切斯特碼解碼程序下載到ARM微處理器內(nèi),感興趣的同學(xué)也可以自編寫相應(yīng)的解碼程序,通過JTAG口下載到微處理器ARM微處理器的相關(guān)練習(xí)注2:一般市面上購買的讀卡模塊有兩種形式,一種是用一個完整的集成塊IC進行處理然后由某種(或某幾種)接口將處理后的碼輸出。另一種基本與本電路相同,用某分立件和單片機構(gòu)成并封裝在一個塑膠體內(nèi),同樣由某種(或某幾種)接口將處理后的碼出。使用者僅需要使用另一個單片機通過接口讀取信息,完成相應(yīng)的功能即可通過以上電路的分析、測試和理解,掌握 卡讀卡器的基本原理,對后續(xù)的學(xué)習(xí)和驗會有很大的幫助實驗ID卡解碼實驗1.實驗?zāi)空莆誌D號解碼原理掌握ID號的解碼方法2.實驗設(shè)(1)硬件設(shè)●低頻RFID卡若干(本實驗用試驗箱自帶貨物架2.實驗設(shè)(1)硬件設(shè)●低頻RFID卡若干(本實驗用試驗箱自帶貨物架貨物模型●低頻原理機實驗板、門禁實驗板各一塊●示波器一臺●USB●PC機一(2)軟件工串口測試軟件3.實驗原低頻實驗板外形如2-2-1所示2-2-低頻實驗3.1EM4100數(shù)據(jù)P9”、4偶校驗位“PC0~PC3”、40個數(shù)據(jù)位“D00~D931個停止S0。9個導(dǎo)位是出廠時就已固化在芯片內(nèi),其值為“111111111”。當ID卡讀卡模塊輸出數(shù)據(jù)時4個列偶校驗位,最后是停止位“0”?!癉00~D13”是一8的晶體版本號或ID識碼?!癉20~D93832位的芯片信息,即卡號,具體排列如下圖所示2-2-2EM4100數(shù)據(jù)存儲格EM4100642-2-2EM4100數(shù)據(jù)存儲格EM410064個信息位傳輸完畢后,只ID仍處于讀卡器的工作區(qū)域內(nèi),它再次64位信息,如此重復(fù),直ID退出讀卡器的有效工作區(qū)曼切斯特碼起始標識時序如圖2-2-3所示2-2-3起始標識時序3.1.1EM4100數(shù)據(jù)編EM4100采用曼徹斯特編碼,如下圖所示:位數(shù)據(jù)“1”對應(yīng)著電平下跳,位數(shù)據(jù)對應(yīng)著電平上跳。在一串數(shù)據(jù)傳送的數(shù)據(jù)序列中,兩個相鄰的位數(shù)據(jù)傳送跳變時間間隔為1P。若相鄰的位數(shù)據(jù)極性相同(相鄰兩位均為“O”或“1”),則在兩次位數(shù)據(jù)傳送的平跳變之間,有一次非數(shù)據(jù)傳送的、預(yù)備性的(電平)“空跳”。電平的上跳、下跳和空是確定位數(shù)據(jù)傳送特征的判據(jù)。在曼徹斯特調(diào)制方式下,EM4100每傳送一位數(shù)據(jù)的時間64個振蕩周期,其值由RF/n決定。若載波頻率為125kHz,則每傳送一位的時間為振周期的64分頻,即位傳送時間為:1P=64/125kHz=512μs,則半個周期的時間為圖2-2- 曼徹斯特編3.1.2解碼過圖2-2- 曼徹斯特編3.1.2解碼過圖2-2- 曼切斯特碼解碼總流程圖2-2- 曼切斯特碼解碼總流程for {while{} //設(shè)置定時器計數(shù)值為0iftcomp>128&tcomp<384)|(tcomp>384&tcomp<640)){if(tcomp>128if(tcomp>128&{if{}}{if{if{}{if{}}}{ if(j<127){}}}}forfor{ { }}if{for{ifdecode[post+i]==0x0eerror++;//如果出錯則放棄接受}if for{ddata[i*5+3]==rfiddata[i*5+4]))error++;}for{data[i+45]==rfiddata[i+50]))error++;}iferror==0)//解碼出10{ for解碼過程如解碼過程如{}}}}}4.實驗步(1)USB轉(zhuǎn)串PL2303驅(qū)動程序的安2-2-6PL-2303圖2-2-7圖2-2-72-2-8圖2-2- 選擇“+”圖2-2- 選擇“+”COM2-2-(2)測試8M正弦波波(3)測試125KHz(3)測試125KHz載波波圖2-2- 無卡時125KHz載波波形 有卡時125KHz載波波形( 有卡時125KHz載波波形(4)測試諧振回路波點2-2-14(5)測試曼切斯特碼2-2-15無卡波形2-2-15無卡波形度不完全相同)圖2-2- ID卡曼切斯特碼波形(6)射頻ID如果步驟中載波波形和 卡曼切斯特碼波形都正確,先關(guān)掉門禁實驗板電源,按以●●●圖2-2- 串口調(diào)試助手主界圖2-2- 串口設(shè)圖2-2- 串口設(shè)圖2-2- ID卡號發(fā)送到串(7)驗證實驗結(jié)2-2-20二、門禁系統(tǒng)應(yīng)用實實驗一、 軟件環(huán)境使實驗一、 軟件環(huán)境使用實1.實驗?zāi)?.實驗設(shè)●●●●●●3.實驗原4.實驗步4.1MDK470A裝步1)RFID光盤/開發(fā)工具/MDK4.70,2-3-24.2MDK針對每臺機會有一個CID,copy2-3-24.2MDK針對每臺機會有一個CID,copy這個CID到注冊機處生成 將這個 Key添加到MDK里面去注冊2-3-3LicenseManagement3)RFID光盤//3)RFID光盤//。ARM之后,點擊“Generate”,30License2-3-5生成 5)將這個 Key黏貼到Keil的2-3-4所示界面的New 5)將這個 Key黏貼到Keil的2-3-4所示界面的New CodeClose2-3- Key4.3新建工程以下介紹新建工程模板過程,為了避免新建的繁瑣過程,也可以直接打開光盤自3)如圖2-3-7界面所示,點擊 是放在2-3- 2-3-9Device2-3-9 彈出對話框“CopySTM322-3-9 彈出對話框“CopySTM32StartupCodetoproject….2-3-10USER Template2-3-113CORE,OBJSTM32F10x_FWLib。 Template2-3-113CORE,OBJSTM32F10x_FWLib。CORE用來存放核心文件和啟動文件,OBJhexST src存放的是固件庫的.c文件,inc存放的是對應(yīng)的.h目一下里面的文件,每個外設(shè)對應(yīng)一個.c文件和一個.h2-3-12 core_cm3.c和文件 core_cm3.c和文件 復(fù)制到CORE下面去。然后定位到目tartup\armstartup_stm32f10x_hd.sCORESTM32F103RET62-3-13 STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template4main.c,stm32f10x_conf.h,stm32f10x_it.c,stm32f10x_it.hUSER面。USER2-3-142-3-14USER 2-3-14USER 建立三個。然后點擊圖2-3-2-3- 圖2-3-2-3- GroupManageComponents.GroupFWLIB圖2-3- 2-3-圖2-3-2-3-圖2-3-2-3-21 2-3-21 是點擊魔術(shù) 圖2-3-點擊編譯按 編譯工程,可以看到很多報錯,如圖2-3-22因為找不到庫文件圖2-3-下面介紹點擊編譯按 編譯工程,可以看到很多報錯,如圖2-3-22因為找不到庫文件圖2-3-下面介紹2-3-24點擊c/c++選項.后點擊 Paths右邊的按鈕。彈出一個如圖2-3-25添加path的對話框,然后將3個目錄添加進去。記住,keilpathOK圖2-3-圖2-3-圖2-3-圖2-3-圖2-3- 圖2-3- (STM32F10X_MD_VL) (STM32F10X_HD) &&!defined(STM32F10X_XL)&&!defined firstthetargetSTM32F10xdeviceusedinyourapplication(instm32f10x.h3.5“STM32F10X_HD,USE_STDPERIPH_DRIVER”到Define量修改為 然后點擊OK,如圖2-3-26所示設(shè)置圖2-3- USURmain.c圖2-3- USURmain.cmain.c#include"stm32f10x.h"voidDelay(u32count){u32}int{RCC_APB2Periph_GPIOE,ENABLE);GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;GPIO_Init(GPIOB,&GPIO_InitStructure);//PB,PE//LED0-->PB.5//IO GPIO_Init(GPIOE,&GPIO_InitStructure);{}//LED1-->PE.5GPIO_Init(GPIOE,&GPIO_InitStructure);{}//LED1-->PE.5}圖2-3-hexCreateHEXfilehex文件,BrowserInformation圖2-3- OBJ圖2-3- OBJ 21SYSTEM3sys,usart,delay圖2-3-SYSTEMSYSTEMdelay,sys,usart圖2-3-SYSTEMSYSTEMdelay,sys,usart,每個子文件夾下面都有相應(yīng)的.c文件和.h13SYSTEM,然后加入這三個文件夾下面的.c2-3-302-3-3131圖2-3-接下來將對應(yīng)的三個目錄(sys,usart,delay)PATH2-3-圖2-3-最后點擊Template實驗二、I/O口驅(qū)動實驗1.實驗最后點擊Template實驗二、I/O口驅(qū)動實驗1.實驗2.實驗設(shè)●●●●3.實驗原理STM32IOI/O口簡STM32IO51IO8STM32IO51IO8IOIO32STM32IO5VIOIO5VSTM32IO72CRLCRH;232IDRODR;132BSRR16BRR;132V10》P105~P129。CRLCRHIOSTM32IO2。4.12.4.1STM32IOSTM322.4.22.4.2STM322-4-1CRL2.4.2STM322-4-1CRLCRLIO(A~G)IOCRLCNFMODE0X0(ADC)0X3模式(做輸出口用,50M)、0X8(做輸入口用)、0XB用輸出(IO50M)CRHCRLCRL8CRHCRHCRLIOvoidCRHCRLCRL8CRHCRHCRLIOvoidGPIO_Init(GPIO_TypeDef*GPIOx,GPIO_InitTypeDef*GPIO,GPIOA~GPIOGFWLib“Gotodefinitionoftypedef{uint16_tGPIO_Pin;GPIOMode_TypeDefGPIO_Mode;通過初始化結(jié)構(gòu)體初始化GPIO的常用格式是:GPIO_InitStructure.GPIO_Pin=//LED0-->PB.5端口配置GPIO_InitStructure.GPIO_Mode=GPIO_InitStructure.GPIO_SpeedGPIO_Speed_50MHz;//根據(jù)設(shè)定參數(shù)配置GPIOB550MGPIO_InitStructureGPIO_PinIOGPIO_ModeIO8MDKtypedef{GPIO_Mode_AIN=GPIO_Mode_IN_FLOATING0x04,//浮空輸入GPIO_Mode_IPD=0x28,GPIO_Mode_IPU=0x48,GPIO_Mode_Out_OD=0x14,GPIO_Mode_Out_PP=0x10,GPIO_Mode_AF_OD=0x1C,GPIO_Mode_AF_PP=0x18}GPIOModeGPIO_Mode_IPD=0x28,GPIO_Mode_IPU=0x48,GPIO_Mode_Out_OD=0x14,GPIO_Mode_Out_PP=0x10,GPIO_Mode_AF_OD=0x1C,GPIO_Mode_AF_PP=0x18}GPIOModetypedefenum{GPIO_Speed_10MHz=1,IDR1616位的形式讀出。該寄存器各位的描述如圖2-4-2所示:2-4-2IDRIDRIOuint8_tGPIO_ReadInputDataBit(GPIO_TypeDef*GPIOx,uint16_tGPIOA.51(Bit_SET)2-4-3ODRODRIOGPIO_WritevoidGPIO_Write(GPIO_TypeDef*GPIOx,uint16_t2-4-3ODRODRIOGPIO_WritevoidGPIO_Write(GPIO_TypeDef*GPIOx,uint16_tGPIOBSRRODR1GPIOA11,BSRR161GPIOA10,161BSRR16STM32BSRRBRRGPIO()和函數(shù)voidGPIO_SetBits(GPIO_TypeDef*GPIOx,uint16_tGPIO_Pin);voidGPIO_ResetBits(GPIO_TypeDef*GPIOx,uint16_tGPIO_Pin)置GPIOB.5輸出1,那么方法為:()和函數(shù)voidGPIO_SetBits(GPIO_TypeDef*GPIOx,uint16_tGPIO_Pin);voidGPIO_ResetBits(GPIO_TypeDef*GPIOx,uint16_tGPIO_Pin)置GPIOB.5輸出1,那么方法為:GPIO_SetBits(GPIOB,GPIOB.50,方法為:GPIO_ResetBits(GPIOB,GPIO_Pin_5);IORCC_APB2PeriphClockCmd()。初始化IO參數(shù)。調(diào)用函數(shù)GPIO_Init();IOIO圖2-4-52~5KhzSTM32IOLEDSTM32IOSTM32IO25mA(來自數(shù)據(jù)手冊),30mASTM32150mA,IOSTM32IOSTM321mA3)硬件設(shè)3)硬件設(shè)2-4-6NPN(S8050)PB.5PB.54)軟件設(shè)led.cstm32f10x_gpio.cledled.cstm32f10x_gpio.cledstm32f10x_gpio.cmisc.c/stm32f10x_usartstm32f10x_rcc.c和misc.hSYSTEMstm32f10x_gpio.cmisc.c/stm32f10x_usartstm32f10x_rcc.c和misc.hSYSTEMIORCC_APB2PeriphClockCmdIOLED_InitIOIOGPIOA.111GPIOA.50,GPIO_ResetBits(GPIOA,GPIO_SetBits(GPIOA,voidLED_Init(GPIO_TypeDef*GPIOx,GPIO_InitTypeDef*{ GPIO_InitStructure.GPIO_Pin=GPIO_Pin_11; //LED0-->PA.11端口配置GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;//速度50MHzGPIO_Init(GPIOA,&GPIO_InitStructure);//根據(jù)設(shè)定參數(shù)配置GPIO}4.實驗步1)Template4.實驗步1)Template2)Template.Uv2,LED.Uv2//LEDvoid{ RCC_APB2Periph_GPIOA, PB,PAGPIO_InitStructure.GPIO_Pin=GPIO_Pin_5; //蜂鳴器-->PB.5推挽輸出GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP; voidLED_Init(void),PB5PA11STM32GPIOAPB2GPIOB,GPIOAvoidLED_Init(void),PB5PA11STM32GPIOAPB2GPIOB,GPIOAAPB2GPIOBGPIOAGPIOB.5GPIOA.11IOGPIOBGPIOAIOled.c3)led.hLEDled.h#ifndefLED_H#defineLED_H#include//LED#defineLED0PBout(5)//DS0#defineBUZZPAout(11)//BUZZGPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_Init(GPIOB,&GPIO_InitStructure); //PB.5GPIO_InitStructure.GPIO_Pin=GPIO_Pin_11; GPIO_Init(GPIOA,&GPIO_InitStructure); /PA.11}#defineLED0PBout(5)//DS0#defineBUZZPAout(11)//BUZZ來實現(xiàn)IO口操作。如下:GPIO_SetBits(GPIOB,GPIO_ResetBits(GPIOB,GPIO_Pin_5);1#defineLED0PBout(5)//DS0#defineBUZZPAout(11)//BUZZ來實現(xiàn)IO口操作。如下:GPIO_SetBits(GPIOB,GPIO_ResetBits(GPIOB,GPIO_Pin_5);1GPIOB.51GPIOB.50led.hComponentsOK,ProjectWorkspaceHARDWARE組,在改組下面有一個led.c的文件。如圖2-4-10所示:的2-4-10HARDWARE代碼包含了#include"2-4-10HARDWARE代碼包含了#include"led.hLED0、BUZZ、main中的函數(shù)main()函數(shù)。所以不需要再在mainSystemInit#include"led.h"#include"sys.h"intmain(void){ { }}()函數(shù)非常簡單,先調(diào)用LED_InitGPIOB.5GPIOA.11BUZZ300msIO()函數(shù)非常簡單,先調(diào)用LED_InitGPIOB.5GPIOA.11BUZZ300msIOint{ {GPIO_ResetBits(GPIOB,GPIO_Pin_5);//PB5輸出低,BUZZ=0; //PB5輸出高,LED0=1;delay_ms(300);//延時300msGPIO_SetBits(GPIOB,GPIO_Pin_5);//PB5輸出高,BUZZ=1;GPIO_ResetBits(GPIOA,GPIO_Pin_11);//PA11輸出低,LED1=0;delay_ms(300);//延時300ms}}實驗三、STM32定時器實驗1.實驗?zāi)?.實驗實驗三、STM32定時器實驗1.實驗?zāi)?.實驗設(shè)●●●●3.實驗原STM32TIME1TIME8TIME2~TIME5TIME6和TIME7STM321/5TIM3LEDSTM32(PSC)16PWM)RCCSTM3TIMxTIM2、TIM3、TIM4TIM5)65535個獨立通道STM3TIMxTIM2、TIM3、TIM4TIM5)65535個獨立通道4)可使用外部信號(TIMx_ETR)控制定時器和定時器互連(1STM32STM32253STM322-5-1TIMx_CR12-5-1TIMx_CR1TIMx_CR114DIR1,2,4DMA/寄存器(TIMx_DIER)162-5-2TIMx_CR114DIR1,2,4DMA/寄存器(TIMx_DIER)162-5-2所示:2-5-2TIMx_DIER2-5-3TIMx_PSC4內(nèi)部時鐘1:外部輸入腳2:外部觸發(fā)輸入內(nèi)部觸發(fā)輸入(ITRx):AB(ABCK_INTAPB1APB11,TIMxAPB12APB1TIMxAPB2接著介紹自動重裝載寄存器(TIMx_ARR),2TIMx_CR1APREAPRE=02-5-4TIMx_接著介紹自動重裝載寄存器(TIMx_ARR),2TIMx_CR1APREAPRE=02-5-4TIMx_ARR2-5-5TIMx_SR關(guān)于這些位的詳細描述,請參考《STM32282硬件設(shè)1)LED 軟件設(shè)TIM3TIM3APB1APB1數(shù)結(jié)構(gòu)體指針,結(jié)構(gòu)體類型為TIM_TimeBaseInitTypeDef,下面看這個結(jié)構(gòu)體的定義:typedefTIM3TIM3APB1APB1數(shù)結(jié)構(gòu)體指針,結(jié)構(gòu)體類型為TIM_TimeBaseInitTypeDef,下面看這個結(jié)構(gòu)體的定義:typedef{uint8_t}TIM3TIM_TimeBaseStructure.TIM_Period=TIM_TimeBaseStructure.TIM_Prescaler=7199;TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1;TIM_TimeBaseInit(TIM3,TIM3_DIERvoidTIM_ITConfig(TIM_TypeDef*TIMx,uint16_tTIM_IT,第一個參數(shù)是選擇定時器號,這個容易理解,取值為TIM1~TIM17TIM3TIM3NVIC中斷優(yōu)先級。NVIC_InitvoidTIM_ITConfig(TIM_TypeDef*TIMx,uint16_tTIM_IT,第一個參數(shù)是選擇定時器號,這個容易理解,取值為TIM1~TIM17TIM3TIM3NVIC中斷優(yōu)先級。NVIC_InitSTM32TIM3TIM3TIM3_CR1CENTIM_CmdvoidTIM_Cmd(TIM_TypeDef*TIMx,FunctionalStateTIM_Cmd(TIM3,TIMx相關(guān)的操作,這里使用的是更新(溢出)SRTIM3_SR0,ITStatusTIM_GetITStatus(TIM_TypeDef*TIMx,TIMxTIM_ITif(TIM_GetITStatus(TIM3,TIM_IT_Update)!=voidTIM_ClearITPendingBit(TIM_TypeDef*TIMx,uint16_tTIMxTIM_ITif(TIM_GetITStatus(TIM3,TIM_IT_Update)!=voidTIM_ClearITPendingBit(TIM_TypeDef*TIMx,uint16_tTIMxTIM_IT態(tài)標志位的函數(shù)和4、實驗步#include"led.h"3APB12APB1voidTIM3_Int_Init(u16arr,u16{ NVIC_InitTypeDefNVIC_InitStructure;RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLETIM3TIM3TIM_TimeBaseStructure.TIM_Period=arr; TIM_TimeBaseStructure.TIM_Prescaler=psc;//設(shè)置時鐘頻率除數(shù)的預(yù)分頻值TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1;//設(shè)置時鐘分割TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up;//TIM向上計數(shù)TIM_TimeBaseInit(TIM3,&TIM_TimeBaseStructure); //②初始化TIM3TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE 2TIM3SystemInitAPB12TIM3SystemInitAPB12APB136MSTM32APB11,TIM2~7APB1APB11,TIM2~7APB1TIM372M,arrpscTclk:TIM3(Mhz)Tout:TIM3(us)#ifndefTIMER_H#defineNVICNVIC_InitStructure.NVIC_IRQChannel=TIM3_IRQn; //TIM3中斷NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority0;//先占優(yōu)先級0NVIC_InitStructure.NVIC_IRQChannelSubPriority=3; //從優(yōu)先級3級NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE; //IRQ通道被使能 //④初始化NVIC寄存器TIM_Cmd(TIM3, }3void //TIM3{ifTIM_GetITStatus(TIM3,TIM_IT_UpdateRESET)TIM3{TIM_ClearITPendingBit(TIM3,TIM_IT_Update TIM3}TIM3_ARRTIM3LED0、BUZZ,TIM3_CNT0=(( TIM3_ARRTIM3LED0、BUZZ,TIM3_CNT0=(( 實驗四、門禁系統(tǒng)實1.實驗int{ NVIC2:2,2 TIM3_Int_Init(4999,7199);//10Khz5000500ms{}}#includevoidTIM3_Int_Init(u16arr,u16psc);2.實驗設(shè)●●●●●●2.實驗設(shè)●●●●●●3.實驗原1)實驗要求和實驗內(nèi)2)硬件設(shè)2)硬件設(shè)時,該三極管導(dǎo)通,繼電器動作并提供開鎖信息。LED2PC13)軟件設(shè)2-6-12門禁系統(tǒng)主流本實驗ID卡解碼在基礎(chǔ)實驗一詳細介紹過,串口接受在超高頻實驗部分將介紹,門I/O口驅(qū)2-6-12門禁系統(tǒng)主流本實驗ID卡解碼在基礎(chǔ)實驗一詳細介紹過,串口接受在超高頻實驗部分將介紹,門I/O口驅(qū)動部分在以上兩個實驗已介紹。以下主要介紹TFT液晶觸摸及采用液晶屏管理功能部分(1)液晶屏和unsignedintTOUCH_X(void)、unsigned和unsignedintTOUCH_X(void)、unsignedTOUCH_Y(void)charIsPressed(u16xu16y,u16x0u16y0,u16形按鈕長度,width為矩形按鈕寬度,*pressed,102-6-13charIsPressed(u16x,u16y,u16x0,u16y0,u16lenth,u16width,char*unsignedint unsignedint 2-6-程序代碼如下{y=}{}2-6-程序代碼如下{y=}{}A開YN是否重復(fù)讀卡單錄YN批錄Y卡數(shù)加N顯示批錄YN返N取YYNY結(jié)NYA2-6-保存當前卡放棄保開機畫A開YN是否重復(fù)讀卡單錄YN批錄Y卡數(shù)加N顯示批錄YN返N取YYNY結(jié)NYA2-6-保存當前卡放棄保開機畫顯示保存卡號到N顯示卡buffer,u16BFA,u8buffer,u16BFA,u8*pHeader,u16voidbuffer,u16PA,u16BFA,u8*pHeader,u16unsignedcharcompare_card(u8*p1,u8{u8k1,k2=0;{{k2++;else{}}return}2-6-20門禁系統(tǒng)應(yīng)本實驗用到大部分函數(shù)以上已介紹,以下介紹從FLASH讀出錄入卡2-6-20門禁系統(tǒng)應(yīng)本實驗用到大部分函數(shù)以上已介紹,以下介紹從FLASH讀出錄入卡號的函數(shù)AT45DB041B_ContinuousArrayRead(u16PA,u16BFA,unsignedchar*pHeader,u16PA頁地址,0BFABUFFER的起始寫入地址,pHeader指定數(shù)據(jù)的首地址,len定讀入數(shù)據(jù)的長度函數(shù)主體如組4.實驗步{if(y_flag==5)break;}voidAT45DB041B_ContinuousArrayRead(u16PA,u16BFA,unsigned*pHeader,u164)4)5)2801A044450D0Au86)6)第三RFID實驗板一、高頻RFID軟硬件資源介第三RFID實驗板一、高頻RFID軟硬件資源介高頻開發(fā)系統(tǒng)TI最新的RFIDTRF7970A,該芯ISO15693ISO18000-3、ISO14443A/B、和Felica協(xié)議。可以快速學(xué)習(xí)最新非接觸射頻卡技術(shù)3.1.1RFID高頻開發(fā)系統(tǒng)包括兩個硬件部分,高頻實驗板主板模塊。其中高頻實板主板如下圖所示圖3-1- 高頻實驗板主圖3-1- 高頻實驗主板實物如上圖所示,高頻實驗板主板包塊以下硬件資源●ST公司STM32F103RET6微控制器●●UART轉(zhuǎn)USB●●板載功能按●3.5TFT液晶接●●板載功能按●3.5TFT液晶接●●高頻模塊接圖3-1- 圖3-1- TRF7970A模塊實物TRF7970A。該器件集成集成模擬前端和數(shù)據(jù)組幀,內(nèi)置編程選項。廣泛用于非接觸標識別系統(tǒng)3.1.2RFIDRFID實驗資料、工具和實驗代碼位于:配套光盤/高頻RFID傳送帶應(yīng)用文件中:如下圖所示圖3-1- 高頻RFID傳送帶應(yīng)用實驗軟件資圖3-1- 高頻RFID傳送帶應(yīng)用實驗軟件資(5)RFID二、高頻實驗板實實驗TRF7970A基本通信實驗1.實驗?zāi)?.實驗設(shè)●●●3.實驗原TRF7970A與微控制器接口。TRF7970A圖3-2- TRF7970A封TRF7970A與微控制器接口。TRF7970A圖3-2- TRF7970A封5689R77R1723143-2-STM32F103RET6系圖3-2-3系統(tǒng)復(fù)位按5689R77R1723143-2-STM32F103RET6系圖3-2-3系統(tǒng)復(fù)位按01357924680+003-2-I/O_7。EN、DATA_CLK、IRQ分別連接到PB8、PB9和PB11。微控制器只需要對上腳進行操作,就可以完成TRF7970A的全部功能實現(xiàn)TRF7970A的基本通信功能,首先要了解并口模式的時序圖。在并口模式I/O_7的上升沿構(gòu)成啟動條件,同時CLK(即DATA_CLK)處于高電平。這用于將接口邏● 3-2-5具有簡單停止狀態(tài)(StopSmpl)的并行接口通3-2-6停止狀態(tài)(StopCont 3-2-7具有持續(xù)停止狀態(tài)的并行接口通信示1210K10K10K3579468圖1210K10K10K3579468圖3-2- STM32仿真下載接初始化示例實驗代碼位置:配套光盤\RFID實驗(STM32版)\實驗代碼\在實際操作中,需要對并口數(shù)據(jù)進行雙向操作。需要設(shè)置端口輸入和輸出函數(shù)。TRF_IO_OUT(void)設(shè)置端口輸出函數(shù);voidTRF_IO_IN(void)voidvoidvoidTRF79702用作TRF7970ATRF79702用作TRF7970ATRF7970aEN PBout(8)=1//EN使能TRF7970 PBout(8)=0//EN禁止voidvoidIRQ_ON(void)voidIRQ_OFF(void)void//2#define TIM_Cmd(TIM2ENABLE)//2#define TIM_Cmd(TIM2,DISABLE)//2voidvoidvoidSTM32CounterSet(unsignedcharunsignedcharTRF_Read_Data(void)voidTRF_Write_Data1(unsignedcharunsignedcharvoidvoid//TRF7979a PBout(9)=1DATA_CLK PBout(9)=0DATa_CLK圖3-2- TRF7970A初始化流代碼實現(xiàn)如示例圖3-2- TRF7970A初始化流代碼實現(xiàn)如示例TRF7970A基本通信實驗代碼主函數(shù)流程圖如下void{//u08_tmod_control[2];mod_control[0]=SOFT_INIT;mod_control[0]=IDLE;mod_control[0]=MODULATOR_CONTROL; //0x09地址0x09寫入0x21mod_control[1]=0x21; //6.78MHz,OOK100%Trf797xWriteSingle(mod_control,2);Trf797xReadSingle(mod_control,1);}圖3-2- TRF7970A基本通信主函數(shù)流程主函數(shù)圖3-2- TRF7970A基本通信主函數(shù)流程主函數(shù)代碼實現(xiàn)如下函數(shù)名稱int功能描述:主函 數(shù)返回值intmain(void){/**********變量定義 //配置系統(tǒng)時鐘72M(包括clock,PLLandFlashconfiguration) //NVIC初始化 //定時器初始化TRF7970IO_Init();//TRF7970端口初始化 //4.實驗步MDK4.70A軟件位置:配套光盤\RFID實驗(STM32版)\4.實驗步MDK4.70A軟件位置:配套光盤\RFID實驗(STM32版)\圖3-2- MDK4.7A集成開發(fā)工JLINK驅(qū)動位置:配套光盤\RFID實驗(STM32版)\開發(fā)工具\JLINK圖3-2- JLINK驅(qū)雙擊上圖Setup_JLinkARM_V415e.exeJLINK // TRF7970A //while(1){}}送帶應(yīng)用\實驗代碼\TRF7970A圖送帶應(yīng)用\實驗代碼\TRF7970A圖3-2- 實驗一代3-2-圖3-2- TRF7970A基本通信工程文 圖3-2- 圖3-2- 圖3-2-圖3-2- 設(shè)置斷圖3-2- 設(shè)置斷圖3-2- 添加觀察變Trf797xReadSingle(mod_control,圖3-2- 第一個斷點中圖3-2- 第一個斷點中圖3-2- 實驗ISO14443A協(xié)議通信實驗1.實驗?zāi)?.實驗設(shè)●●●●●●●●3.實驗2.實驗設(shè)●●●●●●●●3.實驗原R912R10R11R12圖3-3- LED指示燈驅(qū)動電R10、R11、R12LEDD1為綠色、D2為黃色、D3、D4LEDR10、R11、R12LEDD1為綠色、D2為黃色、D3、D4LED圖3-3- UART轉(zhuǎn)USB接3-3-3USB123456STM32F103RET6圖3-3- 蜂鳴器驅(qū)動電蜂鳴器控制引腳連接到PC12,當控制引腳為低電平蜂鳴器工作圖3-3- 蜂鳴器驅(qū)動電蜂鳴器控制引腳連接到PC12,當控制引腳為低電平蜂鳴器工作,當控制引平蜂鳴器不本實驗主要完成以下功能(1)ISO14443A協(xié)議編程,實現(xiàn)ISO14443A卡片UID(2)尋卡成功蜂鳴器提示(3)尋卡成功LED為了完成實驗功能,下面給出的本實驗關(guān)鍵函數(shù)和示例實驗代碼位置:配套光盤\高頻RFID實驗(STM32版)\實驗代碼\ISO14443A協(xié)議通信實main.c中設(shè)置LED引腳函數(shù)為voidLED_Init(void),設(shè)置蜂鳴器引腳函數(shù)為Buzzer_Init(void)。具體函數(shù)如率,串口4中斷服務(wù)程序。具體函數(shù)如下所main.c中,包含幾個串口基本應(yīng)用函數(shù)。voidUartPutChar(u16Data)用于串口4出一個字節(jié)。voidUartSendCString(unsignedchar*pstr)用于串口4輸出一個字符串。UartPutCrlf(void)用于串口4輸出回車換行。u08_tUartNibble2Ascii(u08_tanibble)voiduart4_init(u32voidvoidvoid半個十六進制數(shù)轉(zhuǎn)換為ASCII碼值。voidUartPutByte(u08_tabyte)功能為將一個十六進半個十六進制數(shù)轉(zhuǎn)換為ASCII碼值。voidUartPutByte(u08_tabyte)功能為將一個十六進以上為微控制器LED、蜂鳴器、串口代碼的編寫。本實驗的重點為實現(xiàn)iso14443a議編程,讀取iso14443a卡的UID號,并串口輸出其值。示例程中主要由iso14443a.c和iso14443a.h文件完成。下面對該文件中幾個重要函數(shù)進行介紹iso14443a標簽檢測函數(shù)voidIso14443aFindTag(void),該函數(shù)流程如下開結(jié)圖3-3- iso14443a標簽檢測函數(shù)流該函數(shù)首先打開RF,執(zhí)行完整的防碰撞序列循環(huán),然后關(guān)閉RF。該函數(shù)在被調(diào)用。函數(shù)具體代碼如下所示ios14443a防碰撞循環(huán)處理函數(shù)VoidIso14443aAnticollision(u08_treqa),該函數(shù)程如開結(jié)執(zhí)行位幀防碰撞循接收ATQA應(yīng)發(fā)送REQA或WUPA命void關(guān)閉執(zhí)行完整的防碰撞序列循打開圖3-3- 圖3-3- ,4.實驗步(STM32版)\實驗代碼\ISO14443A圖3-3- 實驗二代圖3-3- PL2303驅(qū)voidIso14443aLoop(u08_tcascade_level,u08_tnvb,u08_tvoidiso14443aAnticollision(u08_t3-3-9USB\3-3-9USB\RFID實驗(STM32版)\實驗代碼\ISO14443A圖3-3- 實驗二代碼全速執(zhí)3-3-11[圖3-3- 實驗ISO15693協(xié)議通信實驗1.實驗?zāi)繄D3-3- 實驗ISO15693協(xié)議通信實驗1.實驗?zāi)?.實驗設(shè)●●●●●●JLINKPL23033.實驗原本實驗主要了解ISO15693標準,實現(xiàn)ISO15693協(xié)議防碰撞算法編JLINKPL23033.實驗原本實驗主要了解ISO15693標準,實現(xiàn)ISO15693協(xié)議防碰撞算法編程。完成讀本實驗主要完成以下功能(2)尋卡成功蜂鳴器提示(3)尋卡成功LED為了完成實驗功能,下面給出的本實驗關(guān)鍵函數(shù)和示例實驗代碼位置:配套光盤\高頻RFID實驗(STM32版)\實驗代碼\ISO15693協(xié)議通信實驗本實驗的重點為實現(xiàn)ISO15693協(xié)議編程,讀取ISO159693卡的UID號,并串口輸其值。示例程序中主要由iso15693.c和iso15693.h文件完成。下面對該文件中幾個重要數(shù)進行介紹ISO15693標簽檢測函數(shù)voidIso15693FindTag(void),該函數(shù)流程如下圖3-4- ISO15693標簽檢測函數(shù)流該函數(shù)首先打開RF,執(zhí)行完整的防碰撞序列循環(huán),然后關(guān)閉RF。該函數(shù)在被調(diào)用。函數(shù)具體代碼如下所示ISO15693voidIso15693Anticollision(u08_t*mask,u08_tISO15693voidIso15693Anticollision(u08_t*mask,u08_t4.實驗步(STM32版)\實驗代碼\ISO15693圖3-4- \RFID實驗(STM32版)\實驗代碼\ISO15693voidIso15693Anticollision(u08_t*mask,u08_tvoid圖3-4-圖3-4- ISO15693卡片尋卡結(jié)圖3-4-圖3-4- ISO15693卡片尋卡結(jié)實驗四傳送帶貨物統(tǒng)計應(yīng)用實1.實驗?zāi)?.實驗設(shè)3.5寸TFT●●●3.實驗原3.5寸TFT●●●3.實驗原(1)實驗要求和實驗內(nèi)圖3-5- 圖3-5- (2)液晶顯示接口說135792468圖3-5-3.5TFT圖3-5- (2)液晶顯示接口說135792468圖3-5-3.5TFT3.5寸TFT(3)實驗功能軟件設(shè)12345在液晶的任意位置顯示圖片函數(shù),voidLCD_Fill_Pic(u16x,u16y,u16pic_Hu16在液晶的任意位置顯示圖片函數(shù),voidLCD_Fill_Pic(u16x,u16y,u16pic_Hu16319);pic_H為圖片的寬度;pic_V為圖片的高度;*pic顯示32×32漢字函數(shù)voidPutGB3232(unsignedshortx,unsigned y,charc[2],unsignedintfColor,unsignedintbColor,unsignedcharflag),參數(shù)x起始橫坐標(0~479);y為起始縱坐標(0~319);fColor為顯示漢字的顏色;bColor景顏色;c[2]為漢字內(nèi)碼兩個字節(jié);flag為是否顯示背景標志,flag=1voidvirtual_LCM_Rectangle(u16x0u16y0,u16x1,u16color,u8fill)。(x0,y0)和(x1,y1)為矩形對角線兩點坐標;colorvoidLCD_PutString(unsignedshortxunsignedshortunsignedchar*sunsignedintfColor,unsignedintbColor,unsignedcharflag)為字的顏色;bColor為字的背景顏色;flag為是否顯示背景色,flag=1中。GB1616.h16*16漢字字模及英文字模;GB3232.h32*32voidLCD_PutString(unsignedshortx,unsignedshorty,unsignedchar*s,intfColor,unsignedintbColor,unsignedcharvoidvirtual_LCM_Rectangle(u16x0,u16y0,u16x1,u16y1,u16color,u8voidPutGB3232(unsignedshortx,unsigned y,unsignedcharc[2],intfColor,unsignedintbColor,unsignedcharvoidLCD_Fill_Pic(u16x,u16y,u16pic_H,u16pic_V,constunsignedchar*LCD_Fill_Pic(0,0,480,320,gImage_Back);//顯示背景圖PutGB3232(100,40,"傳",WHITE,WHITE,0);顯示標題-傳送帶貨物狀態(tài)virtual_LCM_Rectangle_V2(50,120,100,40,YELLOW,1);//香蕉背景LCD_PutString(68,132,"香蕉數(shù)量",RED,YELLOW,1);//香蕉文字virtual_LCM_Rectangle_V2(210,120,80,40,WHITE,1)香蕉數(shù)量框LCD_PutString(242,132,"00",BLACK,WHITE,1);//virtual_LCM_Rectangle_V2(50,180,100,40,YELLOW,1);//蘋果背景 //蘋果文字virtual_LCM_Rectangle_V2(210,180,80,40,WHITE,1);//蘋果數(shù)量框 //初始化蘋果數(shù)量virtual_LCM_Rectangle_V2(50,240,100,40,YELLOW,1);// 初始化水果總量3-5-貨物統(tǒng)計主函數(shù)流程下面為iso14443.c中計算貨物數(shù)量定義的變量,變量定義如下3-5-貨物統(tǒng)計主函數(shù)流程下面為iso14443.c中計算貨物數(shù)量定義的變量,變量定義如下所示//傳送帶計unsignedcharEnable_Banana_Flag=1;//是否允許香蕉計數(shù)1允許0/unsignedchar //香蕉延時標unsignedcharBanana_Num[6]={0xB2,0x09,0xE7,0xE5,0xB9};//香蕉對應(yīng)卡unsignedcharEnable_Apple_Flag=1;//是否允許蘋果計數(shù)1允 0不允 //蘋果數(shù)unsignedcharApple_String[4]={'0','0','\0','\0'};unsignedcharApple_Time_Flag=0; 蘋果延時標志簽 簽 //{//{ //比較讀取卡號{Apple_Count++;//蘋果數(shù)量加1Enable_Apple_Flag=0;//啟動蘋果計時器1S內(nèi)不允許蘋果計數(shù)Apple_Time_Flag=1;//啟動蘋果計數(shù) //更新蘋果總量//顯示更新蘋果數(shù)量//}}//{ //比較讀取卡號unsignedcharApple_Num[6]={0xB2,0x09,0xE7,0xE5,0xB8};//unsignedcharFruit_Count=0;//unsignedchar在貨物計數(shù)的過程中,需要處理一個問題。在傳送帶在貨物計數(shù)的過程中,需要處理一個問題。在傳送帶貨物經(jīng)過讀卡線圈時,在有效讀卡區(qū)域總是可以讀到貨物標簽。這樣計數(shù)就會不斷增加重復(fù)計數(shù)。為了解決這個問題示例代碼中采用延時處理方法。在這種情況下,軟件延時是不可行的,軟件延時占用CPU又會影響其它卡的讀入。所以在本實驗代碼中,使用定時器3處理,標簽讀取延時定時器3初始化函數(shù)如下所示在定時器3中斷服務(wù)程序中,處理標簽延時如下圖所示,標簽延時時間為4S。中服務(wù)程序流程圖如下所示圖3-5- 定時器3中斷服務(wù)流程voidTIM3_Int_Init(u16arr,u16{Banana_Count++;//蘋果數(shù)量加1蘋果數(shù)量清Enable_Banana_Flag=0;//啟動蘋果計時器1S內(nèi)不允許蘋果 Banana_Time_Flag=1;//啟動蘋果計數(shù) //更新蘋果總量 顯示更新蘋果數(shù)量LCD_PutString(238,252,Fruit_String,BLACK,WHITE,1);//更新貨物量}}//--------------------------------------------------------------4.實驗步4.實驗步函數(shù)名稱void功能描述:3中斷函數(shù)-- 數(shù)返 值voidTIM3_IRQHandler(void) //TIM3中斷{ifTIM_GetITStatus(TIM3,TIM_IT_Update) {TIM_ClearITPendingBit(TIM3, {{Enable_Apple_Flag=1;//開啟蘋果計數(shù) //關(guān)閉蘋果計時}}if(Banana_Time_Flag==1)//{{Enable_Banana_Flag=1;//開啟香蕉計數(shù) //關(guān)閉香蕉計時}}}}圖3-5- 圖3-5- \RFID實驗(STM32版)\實驗代碼\圖3-5- 圖3-5- 圖3-5- 第四高頻技術(shù)一、基礎(chǔ)實驗部4.1RFID高頻技第四高頻技術(shù)一、基礎(chǔ)實驗部4.1RFID高頻技4.1.1統(tǒng)簡圖4-1- 超高頻系統(tǒng)框4.1.2ISO18000-6C(a)00n1Fn(b)EPC存儲器:EPC00n1FnCRC-1610n1Fn(c)TIDTID存儲器應(yīng)00n07n存儲位8ISO15963分配類識別(包含標簽指定數(shù)據(jù)和提供商指定數(shù)據(jù)(例如,標簽序號)用戶存儲器用戶存儲器允許存儲用戶指定數(shù)據(jù)。該存儲器組織為用戶定義圖4-1- 邏輯空間分布(1)保留殺死口令:保留內(nèi)存的00n1Fn存儲電子標簽的殺死口令,殺死口令為1word,2bytes。電子標簽出廠時的默認殺死指令為0000n。用戶可以對殺死指令進行修用戶可以對殺死口令進行鎖存,一經(jīng)鎖存后,用戶必須提供正確的訪問口令,才能殺死口令進行讀寫訪問口令:保留內(nèi)存的20n3Fn存儲電子標簽的訪問口令,訪問口令為1word,2bytes。電子標簽出廠時的默認訪問指令為0000n。用戶可以對訪問指令進行修用戶可以對訪問口令進行鎖存,一經(jīng)鎖存后,用戶必須提供正確的訪問口令,才能訪問口令進行讀寫CRC-16循環(huán)冗余校驗位,16PC前五位指定的CRC-16循環(huán)冗余校驗位,16PC前五位指定的111112:32個字(EPC10n—1FFn存儲地址EPC:EPC為識別標簽對象的電子產(chǎn)品碼。EPC20nEPC(3)TID111000102)、08n13n12位任務(wù)掩模設(shè)計識別(EPCglobal成員免費)定數(shù)據(jù)和提供商指定數(shù)據(jù)(例如,標簽序號)(4)4.1.3超高頻模塊RMU900+簡(1)性能(1)性能支持協(xié)議:EPCC1GEN2/ISO18000-6C28×25×2.5±0.1mm(2)數(shù)據(jù)包格4-1-1注:有*號的是可選部分,下同4-1-3CMDSTATUSRMUSTATUS只在RMUSTATUSRMUSTATUS只在RMU4-1-44-1-5CRC證失敗響應(yīng)EOF是一個字節(jié)的常數(shù)(EOF0x55)RMU注:為了與設(shè)置軟件提示信息相同,將RMU900+讀寫卡模塊簡稱為RMU4-1-6插入字4-1-6插入字RMU的響應(yīng)間4-1-84-1-8aa0201554-1-8發(fā)送數(shù)據(jù)格式解析如下●●●●返回數(shù)據(jù)格式解析如下●●●●●●●返回數(shù)據(jù)格式解析如下●●●●●●4.1.4驗前線圈跳線方式如下4-1-34-1-44-1-5模塊和單片機通訊跳線方式實驗一超高頻基礎(chǔ)實驗1.實驗?zāi)空莆粘哳l聯(lián)機操4-1-5模塊和單片機通訊跳線方式實驗一超高頻基礎(chǔ)實驗1.實驗?zāi)空莆粘哳l聯(lián)機操作和原理掌握超高頻模塊讀取功率操作和原理掌握超高頻模塊功率操作和原理2.實驗設(shè)(1)硬件設(shè)●超高頻實驗板一●超高頻射頻卡若●超高頻天線一●USB專用通訊線一●PC機一(2)軟件超高頻測試軟軟件測試軟件3.實驗原圖4-2- 超高頻實驗RMU(讀寫器)在識別卡和讀寫卡前需先確認模塊是否和上位機聯(lián)機,發(fā)送詢問RMU(讀寫器)在識別卡和讀寫卡前需先確認模塊是否和上位機聯(lián)機,發(fā)送詢問狀指令。如果聯(lián)機成功則返回數(shù)據(jù),無返回數(shù)據(jù)表示無連接。聯(lián)機正常后需設(shè)置功率、率,功率的大小決定讀卡距離的遠近,功率越大,讀卡距離越遠,功耗越大,建議將其置在10~20dbm之間即可,并根據(jù)設(shè)置的情況體會讀卡距離RMU900+峰值電流與輸出功率對應(yīng)表注隨著模塊端接負載的不同,電流會發(fā)生變化3.1據(jù)通訊協(xié)超高頻模塊采用異步半雙工UART協(xié)議,UART接口一幀的數(shù)據(jù)格式為個起始位個數(shù)據(jù)位,無奇偶校驗位個停止位;波特率:57600bps3.2與實驗相關(guān)的指3.2.1、詢問狀(1)功該命令詢問則說明:RMU已經(jīng)連接,如果在指定時間內(nèi)沒有響應(yīng),則說明RMU沒連接(2)數(shù)4-2-14-2-2(3)命令狀態(tài)定4-2-3(4)命4-2-43.2.2、讀取(3)命令狀態(tài)定4-2-3(4)命4-2-43.2.2、讀?。?)功該命RMU的功率設(shè)置。用戶使用RMU對標簽進行操作前可用該命令讀的功率設(shè)置。該命令有兩種響應(yīng)格式,即操作成功(4-2-6)和失?。?-2-7)(2)數(shù)表4-2-讀取功率設(shè)置命令格表4-2-讀取功率設(shè)置響應(yīng)格式(成功表4-2-讀取功率設(shè)置響應(yīng)格式(失敗表4-2-POWER表4-2-命令示3.2.3、設(shè)置(1)功該命RMU的輸出功率。用戶使用對標簽進行3.2.3、設(shè)置(1)功該命RMU的輸出功率。用戶使用對標簽進行操作前需要用該命令設(shè)的輸出功率。若用戶沒有設(shè)置的功工作時將使用默認設(shè)置(2)數(shù)4-2-12OPTION(3)該命令只支持通用狀態(tài)位(4)4-2-3.2.4、讀?。?)功的硬件序列號6字節(jié)十六進制數(shù),軟件版本號是一個字節(jié)。軟件版本字節(jié)的前四個比特是軟件的主版本號,四個比特是次版本號(2)數(shù)(3)命令狀態(tài)定4-2-16RMU信息(3)命令狀態(tài)定4-2-16RMU信息(4)4-2-4.實驗步注意:RMU900+在進行任何操作前,必須確保天線已經(jīng)可靠連接在超高頻實驗板,則容易燒毀模塊RMU900+DEMO軟件測試界面簡說明:RMU900+DEMORMU_DEMO_v2.4.exe位于光盤目錄//RMU_DEMO_v2.4.exeRMU900+DEMO4-2-2第一區(qū)域為“顯示區(qū)域”,用于顯示當前讀取的標簽號、讀取到的電子標簽數(shù)據(jù)等信息第二區(qū)域為“操作區(qū)域”。操作區(qū)域由以下兩個部分組成圖4-2- (1)RMU圖4-2- (1)RMU聯(lián)機實驗1、使用超高頻測試軟件注:RMU900Demo軟件在Windows平臺下運行,需要安裝Microsoft圖4-2- 圖4-2- 4-2-4連接成功界面2、使用串口工具實/圖4-2-5端口設(shè)置:選擇串口實際對應(yīng)的圖4-2-5端口設(shè)置:選擇串口實際對應(yīng)的COM口;波特率:默認為57600;數(shù)據(jù)位:8位;無020055鈕,成功返回“AA圖4-2-6讀取信息、讀取功率,設(shè)置功率讀取信息、讀取功率,設(shè)置功率實1、使用超高頻測試軟件4-2-7RMU4-2-8RMU4-2-9讀取RMU4-2-9讀取RMU4-2-10RMU4-2-11讀取RMU4-2-12設(shè)置功率界面圖4-2-13設(shè)置功率成功界面注:RMU900+4-2-12設(shè)置功率界面圖4-2-13設(shè)置功率成功界面注:RMU900+讀卡器模塊出廠的默認輸出功率為26dBm,當RMU900+模塊應(yīng)用于發(fā)卡器設(shè)時,建議設(shè)置的RMU900+模塊的輸出功率為10~20dBm之間。本試驗箱出廠模塊功率設(shè)為15dBm2、使用串口工具實輸入“aa020755”,然后點擊相對應(yīng)發(fā)送區(qū)右邊【手動發(fā)送】按鈕,成功返回“AA07000000000000005855”4-2-14讀取信息界面“aa02014-2-14讀取信息界面“aa020155”,然后點擊相對應(yīng)發(fā)送區(qū)右邊【手動發(fā)送】按鈕,成功返回“AA04圖4-2-15讀取模塊功率值功返回“AA034-2-實驗二超高頻頻率設(shè)置實1.實驗功返回“AA034-2-實驗二超高頻頻率設(shè)置實1.實驗?zāi)?.實驗設(shè)●●●●●3.實驗原圖4-3- 超高頻實驗3.1超高頻頻段簡目前全球超高頻射頻識別系統(tǒng)的圖4-3- 超高頻實驗3.1超高頻頻段簡目前全球超高頻射頻識別系統(tǒng)的工作頻率在860-MHz之間,因為射頻識別系統(tǒng)應(yīng)用于全世界,然而在全球找不到一個射頻識別系統(tǒng)可以適用的共同頻率,世界各國對率方面的具體規(guī)定也各不相同。因此,頻率問題對射頻識別系統(tǒng)來講是一個重要的問題頻率問題主要包括工作頻率的范圍、發(fā)射功率的大小、調(diào)頻技術(shù)、信道寬度等869MHz,允許較長距離使用,如郵政、會議等。頻888-889MHz902-被射頻識別系統(tǒng)廣泛應(yīng)用。此外,次臨近的頻段D-網(wǎng)絡(luò)電話和無繩電話占用全球的頻段由國際電信聯(lián)盟(ITU)進行統(tǒng)一的規(guī)劃和分配,ITU把全球劃分為3個區(qū),分別為區(qū)域1(歐洲和非洲地區(qū))、區(qū)域2(美洲地區(qū))、區(qū)域3(大洋洲和亞洲區(qū))RMU900+支持四種頻率工作模式(1)“Chinese標準”模式,該模式是依據(jù)中國關(guān)于RFID使用頻段的規(guī)定設(shè)置輸出頻范圍,默認為跳頻方式。中國標準規(guī)定的有效頻段840-845MHz、920-925MHz標準”模式,該模式是依據(jù)歐洲標準設(shè)置輸出的頻率范圍,默認為跳頻式。ETSI標準使用的頻段865-868MHz(3)“定頻”模式,該模式將工作頻率設(shè)定915MHz(4)“用戶自定義”模式,用戶通過設(shè)置六個參數(shù)進行設(shè)置所要的頻率工作范圍:頻工作模式(FREMODE)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2030年中國威士忌市場銷售渠道與營銷趨勢預(yù)測報告
- 2024年獨家:影視作品版權(quán)許可使用協(xié)議
- 2024年特許經(jīng)營合同實務(wù)操作
- 2024年版企業(yè)間技術(shù)咨詢合同
- 茅臺學(xué)院《公共關(guān)系案例精講》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年智能監(jiān)控系統(tǒng)設(shè)備安裝協(xié)議版B版
- 2024年度內(nèi)河化學(xué)品運輸安全責(zé)任合同模板下載3篇
- 2024年生態(tài)農(nóng)業(yè)自建房產(chǎn)權(quán)轉(zhuǎn)移協(xié)議3篇
- 2025廢品回收合同
- 2024年標準電腦維修服務(wù)承諾合同范本版B版
- 2023年正規(guī)借條免費下載(5篇)
- 網(wǎng)絡(luò)創(chuàng)業(yè)智慧樹知到答案章節(jié)測試2023年海南經(jīng)貿(mào)職業(yè)技術(shù)學(xué)院
- 高中英語新課標新增詞匯匯總1
- GB/T 31586.2-2015防護涂料體系對鋼結(jié)構(gòu)的防腐蝕保護涂層附著力/內(nèi)聚力(破壞強度)的評定和驗收準則第2部分:劃格試驗和劃叉試驗
- GB/T 20734-2006液化天然氣汽車專用裝置安裝要求
- GB/T 20197-2006降解塑料的定義、分類、標志和降解性能要求
- GB/T 15561-2008靜態(tài)電子軌道衡
- 軍事理論論述題
- 寧德時代財務(wù)報表分析
- 門式起重機安裝施工方案
- 高中語文語法知識課件
評論
0/150
提交評論