freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

飛機場安檢系統(tǒng)畢業(yè)設計論文-資料下載頁

2025-06-23 19:15本頁面
  

【正文】 uptEn、RegInter ruptRq和RegComand等寄存器進行設置,同時還要對地址進行設置,并對每一個狀態(tài)進行判別,最后在對讀得的數(shù)據(jù)進行校驗等等。就連一條最簡單的停機(Halt)指令也必須首先對MF RC 500內(nèi)部的諸多寄存器進行設置。不同的指令將設置不同的MF RC5000內(nèi)部寄存器以及應有不同的編程語言程序序列。下面介紹一下主程序中涉及到的子程序:(l)尋卡子程序是由下面的函數(shù)實現(xiàn)的:char M500PiccRequest(nusigend char req_code,unsigned char*atq):Request指令將通知讀卡器在天線有效的工作范圍(距離)內(nèi)尋找Mifare卡片。如果有Mifare卡片存在,這一指令將與Mifare進行通信,讀取卡片上的卡片類型號,傳遞給單片機,進行識別處理。程序員可以根據(jù)TAGTYPE來區(qū)別卡片的不同類型。對于Mifare卡片來說,返回卡片的TAGTYPE(2個字節(jié))為0004h。入口參數(shù):req_code:52H表示當某一張卡片在天線的有效的工作范圍〔距離)內(nèi),Request指令在成功地讀取這一張卡片之后,將一直等待卡片的使用者拿走這一張卡片,直到有新的一張卡片進入天線的有效工作范圍(距離)內(nèi)。26H表示連續(xù)地進行讀卡操作,而不管這張卡片是否被拿走。只要有一張卡片進入天線的有效的工作范圍(距離)內(nèi),Request指令將始終連續(xù)地進行讀卡操作;*atq: 表示16位的ATQ字節(jié),atq[0],低位,atq[1],高位。(2) char M500PiccCascAnticoll(unsigned char select_code,unsign ed char bt,unsigned char*sn):如果有多于一張卡片在讀卡器天線的有效的工作范圍(距離)內(nèi),必須使用AntiCollision指令,使讀卡器能夠在這一疊卡片中選擇個別的一張卡片。此函數(shù)指令開始于一個Anticollision loop(防重疊循環(huán))。結(jié)束時,指令將提供給用戶在這些卡片中選擇的那張卡片的一個有效的40bit長的序列號SN(serial number)前四個字節(jié)是有意義的,第5個字節(jié)僅僅作為校驗之用,而獲得SN之后,一般地應在程序中對所接收到的SN進行校驗,以確保數(shù)據(jù)的正確性。select_code:表示模式選擇,標準的應為93H;bt: 表示讀入多少個位,一般來說為23位,即四個有效字節(jié);*ns: 表示輸入或輸出四個字節(jié)。其長度由bt控制。(3) char M5O0PiccCascSelect(unsigned char select_code,unsigned char *snr,unsigned char*sak):為了允許在Select指令以后對卡片能進行讀、寫等指令的操作,Select指令是很重要,必須首先被使用。被選擇的卡片將給出其自己的存儲器容量即已編碼的一個BYTE(字節(jié))。select_code:表示模式選擇93H (95H或97H);*snr: 表示由微處理器控制RC500向IPCC發(fā)出四個字節(jié)的序號,然后等待卡片的回應。四個字節(jié)是在Anticoll操作中接收到的四個字節(jié);*sak: 表 示一個字節(jié)的應答位,共8位,其中bi6t與bi3t可用。(4) char M500PiccAuth(unsigned char auth_mode,unsigned char*snr,unsigned char key_sector,unsigned char block):在MCU將運算獲得的數(shù)據(jù),準備存儲到卡片上的存儲器之前,或MCU希望能讀取Mifare卡片上的數(shù)據(jù)之前,程序員必須證明他的讀、寫請求操作是被允許的。這可以通過選擇秘密地存儲在MFRC500的RAM中的密碼集(KEYSET)中的一組密碼來進行認證而實現(xiàn)。如果這一組密碼與Mifare卡片上的密碼匹配,則這一次的操作就被允許。unsigned char auth_mode:表示認證模式,當用60h代碼時,在EKAYDDR寄存器中只能設置AB=“l(fā)”,用于選擇KEYA;當用6lh代碼時,在KEYADDR寄存器中只能設置AB=“0”,用于選擇KEYB;*snr: 表示(輸入)需要進行認證的四個字節(jié)地址指針;key_sector:表示選擇要認證的扇區(qū)〔0—15);blcok: 表示選擇要認證的塊地址(0—64)。(5) char M500PiccAuthE2(unsigned char auth_mode,unsigned char *snr,unsigned char key_sector,unsigned char sector):對存儲在EEPROM中的密碼進行論證,要認證的密碼必須事先存放在EEPROM的指定位置。auth_mode:表示認證模式,當用60h代碼時,在KEYADDR寄存器中只能設置AB=“l(fā)”,用于選擇KEYA;當用6lh代碼時,在KEYADDR寄存器中只能設置AB=“0”,用于選擇KEYB;*snr: 表 示(輸入)需要進行認證的四個字節(jié)地址指針;key_sector:表示選擇要認證的扇區(qū)(0—1)5;sector: 表示選擇要認證的扇區(qū)地址(0—15)。(6)char M500HostCodeKey(unsigned char*nucoded,unsigned char *coded):這個功能是完成為了認證在的過程,完成將RC500密碼緩沖器中主存密碼的非編碼信息(6字節(jié))進行編碼(12字節(jié))。*uoded:輸入;*coded: 輸出。(7) char M500PiccAuthKey(unsigned char auth_mode,nusigned char *snr,unsigned char*keys,unsigned char sector):這個功能完成直接對微處理器加載進行的密碼進行認證,在執(zhí)行這條命令前,M500HostCodeKey命令必須先執(zhí)行。auth_mdoe:表示認證模式,當用60h代碼時,在KEYADDR寄存器中只能設置AB=“1”,用于選擇KEYA;當用61h代碼時,在KEYADDR寄存器中只能設置AB=“0”,用于選擇KEYB;*snr: 表示(輸入)需要進行認證的四個字節(jié)地址指針;keys: 表示己進行編碼的12字節(jié)密碼流;sector: 表示選擇要認證的扇區(qū)地址(0—15)。(8)charM500PiccRead(unsigned char addr,unsigned char*_data):功能是完成讀取卡片的指定地址的16個數(shù)據(jù)。存放到指定的單元。addr :表示塊地址(0一36);*_data: 表示輸出數(shù)據(jù)指針。 (9)charM500PiccWrite(unsigned char addr,unsigned char*_data):功能是完成將數(shù)據(jù)寫入指定的地址中。寫入后等待卡片的應答。addr:表示塊地址(0—63);*_data:表示輸出數(shù)據(jù)指針。 指紋識別模塊接口程序設計本系統(tǒng)的指紋識別功能由長春鴻達光電子與生物識別技術有限公司生產(chǎn)的M04型指紋識別模塊完成。它內(nèi)置了標準UART串行通信接口,由外部控制器通過該接口用內(nèi)嵌的指令進行控制。M04指紋識別模塊由光學指紋采集儀和指紋處理板兩部分組成。光學指紋采集儀部分采用CM0S圖像傳感芯片和光學技術制成,通過指紋處理板的控制采集圖像。指紋處理板是整個模塊的核心,其內(nèi)嵌指紋圖像算法,能夠在指令的控制下,完成指紋圖像的采集、比對、刪除等功能。其主要技術指標如下:指紋容量:1000枚;指紋誤識率:%;指紋拒識率:3%;比對時間:;工作環(huán)境溫度:5—45℃。MO4指紋處理模塊的指紋處理板與微處理器通信采用標準AURT異步串行通信格式。波特率為9600bps,格式為1個起始位,8個數(shù)據(jù)位,1個停止位,無奇偶校驗位。微處理器以此通信格式發(fā)送操作指令,M04接收到命令后,先發(fā)送應答指令,然后再進行相應的操作。應答指令格式:00H,88H,00H,OOH,00H,OOH。M04的操作指令格式如下:比對指紋指令格式:00H,AH,00H,AAH,55H,AAH,F(xiàn)FH,03H,指紋空間首地址(高位),指紋空間首地址“氏位),指紋空間尾地址(高位),指紋空間尾地址(低位),0H。比對成功M04應答格式:0H,6H,比對成功指紋ID號(高位),L匕對成功指紋ID號(低位),00H,00H。比對失敗應答格式:OOH,F(xiàn)FH,OOH,OOH,00H,00H。存儲指紋指令格式:00H,AAH,00H,AH,55H,AAH,F(xiàn)FH,01H,該指紋ID號(高位),該指紋ID號(低位),OOH,OOH,00H。存儲成功MO4應答格式:00H,66H,00H,OOH,00H,OOH口比對失敗應答格式:OOH,F(xiàn)FH,OOH,OOH,00H, OOH。刪除指紋指令格式:OOH,AAH,OOH,AAH,55H,AH,F(xiàn)FH,02H,該指紋ID號(高位),該指紋ID號(低位),OOH,00H,OOH。刪除成功M04應答格式:OOH,66H,OOH,OOH,00H,00H。刪除失敗應答格式:00H,F(xiàn)FH,00H,00H,00H,OOH。指紋識別模塊接口程序是系統(tǒng)應用軟件的最底層,它直接與硬件接觸,上層應用軟件通過調(diào)用指紋識別模塊的接口程序來驅(qū)動模塊進行指紋采集、比對等操作。LPC221OARM微處理器驅(qū)動M04指紋識別模塊工作要經(jīng)過以下四個步驟:串口初始化。將LPC2210AMR 的波特率設置為96O0bps。,通信格式為1個起始位,8個數(shù)據(jù)位,1個停止位,無奇偶校驗位。發(fā)送操作指令。LPC221OAMR發(fā)送相應的操作指令給M04指紋識別模塊。接收應答。M04接收到操作指令后,先返回一個應答,然后執(zhí)行操作。接收操作應答。M04執(zhí)行完相應操作后返回操作應答,指明操作成功與否。指紋識別模塊的接口程序依據(jù)以上四步進行程序的編寫,串行初始化程序如下:define UART_BPS 9600Void UART_Ini(){uintl6 Fdiv。UOLCR=0x83。 //DLAB=1,可設置波特率Fdiv=(Fpclk/16)/UART_BPS。 //設置波特率UODLM=Fdiv/256。UODLL=Fdiv%256。UOLCR =0x03 。}函數(shù)用宏定義的形式進行波特率的設置,當需要設置其它波特率時只需修改宏定義即可。函數(shù)中UOLCR是LPC221OARM串行口UARTO的控制寄存器,其最高位置1,允許修改波特率,最高位置0,禁止修改波特率。串行口其它寄存器的設置只需按公式計算將值寫入即可。發(fā)送操作指令函數(shù)如下:void SendComm(uint8 *str){uint8 a。for(a=0。a13。a++) //操作指令為13個字節(jié){UOTHR=*str++。 //發(fā)送命令字節(jié)while((UOLSRamp。0x20)==0)。 //等待發(fā)送完畢}}此函數(shù)有一個指針型參數(shù),當調(diào)用此函數(shù)時,只要將操作指令的首地址傳遞給函數(shù),即可完成操作指令的發(fā)送。接收應答函數(shù)如下:uint8 receiveBuff[12]。 //定義接收緩沖區(qū)uint8 RecieveStr(void){uint8 m。for(m=0。m12。m++) //共接收12個字節(jié)的應答{while((UOLSRamp。0xO1)==0)。 //查詢是否收到數(shù)據(jù)receiveBuff[m]=UORBR。 //將收到的數(shù)據(jù)放入緩沖區(qū)}if(receiveBuff[7]==0x66) //操作成功返回1return (1)。else if(receiveBuff[7]==0xff) //操作失敗返回2return(2)。}驅(qū)動指紋模塊進行相應操作時,需要接收兩次應答,如上述的第3步和第4步,但兩次應答間隔只有幾十毫秒,因此接收函數(shù)將兩次應答進行一次接收,從中解析出重要的數(shù)據(jù)。其中,接收到的第8個字節(jié)是操作成功與否的標志,若接收到的第8個字節(jié)為0x66為操作成功,若為0xff則操作失敗,同時返回相應的數(shù)值。 LCD接口程序設計本系統(tǒng)的LCD顯示模塊采用北京金鵬電子有限公司的12846點陣型液晶顯示模塊,該模塊可顯示四行共32個漢字、各種字符及圖形,可與微控制器直接接口,具有8位標準數(shù)據(jù)總線,6條控制線及電源線。其中6條控制線分別為:E — 讀寫使能腳,高電平有效,下降沿鎖定數(shù)據(jù)。R/W — 讀/寫選擇,高電平時為讀數(shù)據(jù),低電平時為寫數(shù)據(jù)。RS — 數(shù)據(jù)/指令選擇,高電平時數(shù)據(jù)將送入顯示RAM,低電平數(shù)據(jù)送入指令寄存器 。CS1 — 片選信號,低電平選擇前46列顯示。CS2 — 片選信號,低電平選擇后46列顯示。RET — 復位信號,低電平有效。LCD顯示模塊與LPC2210AMR的硬件連接如圖56所示。OCM12684液晶顯示模塊在讀寫使能腳(E腳)處于下降沿時鎖定其他管腳的狀態(tài)。此時各管腳的狀態(tài)決定液晶顯示模塊所要執(zhí)行的操作,具體的操作指令如表51所示。液晶顯示模塊要進行字符、圖形的顯示,必須遵循液晶模塊控制器的讀寫時序。LPC22l0ARM通過13個通用I/0口與液晶模塊的數(shù)據(jù)引腳、控制引腳相連。液晶模塊的軟件接口程序通過控制這13個通用I/0口的邏輯電平來模擬液晶模塊的讀寫操作時序,從而實現(xiàn)對液晶顯示模塊的字符及圖形顯示。表51 操作指令指令名稱控制信號R/W RS指令代碼DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0功能顯示開關0 0 0 0 1 1 1 1 1 1/0DB0=1開顯示DB0
點擊復制文檔內(nèi)容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1