版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、摘要 RFID技術(shù)在無(wú)線電技術(shù)方面得到廣泛應(yīng)用與發(fā)展,其基本原理是利用射頻方式進(jìn)行非接觸雙向通信, 以達(dá)到識(shí)別與數(shù)據(jù)交換的目的。本設(shè)計(jì)是基于RFID技術(shù)的門禁系統(tǒng),利用其非接觸式無(wú)線識(shí)別的特點(diǎn),能夠?qū)M(jìn)出小區(qū)的人員進(jìn)行自動(dòng)識(shí)別,同時(shí)自動(dòng)開(kāi)啟和關(guān)閉道閥,將出入口的控制從被動(dòng)防守變?yōu)橹鲃?dòng)監(jiān)控, 從而加強(qiáng)對(duì)小區(qū)人員和校園等重要場(chǎng)所進(jìn)出人員的管理,極大提高人員出入的效率,減少管理方面的混亂局面,節(jié)約人力成本,并且為公共場(chǎng)所的安全提供了極大地方便和保障。在生活中有些場(chǎng)合并不是任人自由進(jìn)出的,而只允許有進(jìn)出權(quán)限者通行,這時(shí),就得使用出入口管理系統(tǒng)即門禁系統(tǒng)。傳統(tǒng)的門鎖是最古老、最簡(jiǎn)單的門禁方式,一把鎖配一
2、把鑰匙,幾把鎖就要配幾把鑰匙,使用不便。為了適應(yīng)信息時(shí)代的需要,保證建筑內(nèi)部的安全性,滿足用戶當(dāng)時(shí)的各種需求,智能門禁系統(tǒng)應(yīng)運(yùn)而生。 根據(jù)市場(chǎng)需求設(shè)計(jì)一款基于RFID的門禁系統(tǒng)。本設(shè)計(jì)采用AT89C51作為主控芯片,用奧爾斯實(shí)驗(yàn)箱中的HF模塊專用讀卡器模塊用來(lái)讀射頻卡的信息,當(dāng)有卡進(jìn)入到讀卡器讀卡的范圍內(nèi)時(shí)就會(huì)讀取到相應(yīng)的卡序列號(hào),并根據(jù)得到的卡序列號(hào)做出相應(yīng)的操作。在擴(kuò)展時(shí)采用Delphi軟件做上位機(jī),并建立一個(gè)Access數(shù)據(jù)庫(kù)用來(lái)存儲(chǔ)用戶信息。上位機(jī)與下位機(jī)之間的通信采用串口通信,選用奧爾斯實(shí)驗(yàn)箱完成上、下位機(jī)之間的通信。本設(shè)計(jì)實(shí)現(xiàn)了自動(dòng)、準(zhǔn)確的識(shí)別卡序列號(hào),對(duì)門禁系統(tǒng)起著重要的作用。本
3、設(shè)計(jì)給出了系統(tǒng)的總體結(jié)構(gòu), 并對(duì)主要組成部分的功能及具體實(shí)現(xiàn)做了闡述。關(guān)鍵詞:門禁系統(tǒng) 射頻識(shí)別 讀卡器 數(shù)據(jù)庫(kù) RFID技術(shù) 無(wú)線識(shí)別目錄一 前言 2二 案例描述 3三 需求分析 4 3.1實(shí)驗(yàn)箱模塊的選擇 4 3.2系統(tǒng)語(yǔ)言的選擇 5 3.3數(shù)據(jù)交換方式 6 3.4應(yīng)用程序的結(jié)構(gòu) 7 3.4.1顯示子程序 7 3.4.2密碼子程序 8 3.5存儲(chǔ)系統(tǒng)的設(shè)計(jì)及分析 9 3.6系統(tǒng)模塊的總體設(shè)計(jì) 11 3.6.1系統(tǒng)硬件設(shè)計(jì) 12 3.6.2系統(tǒng)軟件設(shè)計(jì) 12四 系統(tǒng)的整體描述和實(shí)現(xiàn) 13 4.1射頻識(shí)別的簡(jiǎn)單描述 13 4.2軟件結(jié)構(gòu)的實(shí)現(xiàn) 15 4.3系統(tǒng)功能的具體實(shí)現(xiàn) 17 4.3.1系
4、統(tǒng)軟件調(diào)試17 4.3.2系統(tǒng)整體調(diào)試 18五 課程設(shè)計(jì)總結(jié) 22六 參考文獻(xiàn) 23七 致 謝 24八 附 錄 25一 前言 射頻識(shí)別(Radio Frequency Identification,RFID)技術(shù)是從20世紀(jì)80年代開(kāi)始走向成熟的一項(xiàng)自動(dòng)識(shí)別技術(shù),是當(dāng)前最受人們關(guān)注的熱點(diǎn)之一,該項(xiàng)技術(shù)既傳統(tǒng)也充滿新意和活力。射頻識(shí)別是無(wú)線電識(shí)別的簡(jiǎn)稱,即通過(guò)無(wú)線電波進(jìn)行識(shí)別。它源于無(wú)線電通信技術(shù),綜合了現(xiàn)代計(jì)算機(jī)智能控制、智能識(shí)別、計(jì)算機(jī)網(wǎng)絡(luò)等高新技術(shù),順應(yīng)了計(jì)算機(jī)集成制造系統(tǒng),電子商務(wù)等熱點(diǎn)應(yīng)用的發(fā)展需要。射頻識(shí)別應(yīng)用電磁場(chǎng),以非接觸、無(wú)視覺(jué)、高可靠的方式傳遞特定識(shí)別信息,由于大規(guī)模集成電路
5、技術(shù)的日益成熟,使得射頻識(shí)別系統(tǒng)的體積大大減少,從而進(jìn)入了實(shí)用化階段。 射頻識(shí)別技術(shù)具有工作距離大、信息收集處理快捷及較好的環(huán)境適應(yīng)性等優(yōu)點(diǎn), 極大地加速了有關(guān)信息的采集和處理,在近年來(lái)獲得了極為迅速的發(fā)展?;赗FID的考勤系統(tǒng)設(shè)計(jì)是將射頻識(shí)別技術(shù)應(yīng)用到家庭安防系統(tǒng)中的一次成功嘗試。這一系統(tǒng)克服了家庭生活中居住的安全性不能得到保證的弱點(diǎn),能夠有效地提高家庭安防系統(tǒng)的能力,為居家生活提供更好的,更安全的保障。二 案例描述門禁系統(tǒng),又稱人口控制系統(tǒng).在何時(shí)允許某些人進(jìn)出,拒絕某些人進(jìn)出,什么情況下要發(fā)生報(bào)警,記錄人員的出入狀況,是門禁系統(tǒng)最基本的功能.智能的RFID門禁系統(tǒng)是對(duì)樓房中的重要通道進(jìn)
6、行管理。在門口,電梯,等人員來(lái)往頻繁或重要的地方安裝控制裝置,例如:讀卡器,鍵盤(pán)等,人員想要進(jìn)入必須有卡才能通過(guò),大大增強(qiáng)的安全性?;赗FID技術(shù)的門禁系統(tǒng)作為智能門禁系統(tǒng)的“骨干”,已經(jīng)成為了一項(xiàng)先進(jìn)的高科技技術(shù)防范和管理手段,在一些經(jīng)濟(jì)發(fā)達(dá)的國(guó)家已經(jīng)廣泛的應(yīng)用于科研,工業(yè),博物館,酒店,商場(chǎng),醫(yī)療監(jiān)護(hù),銀行,監(jiān)獄等,已成為安防技術(shù)重點(diǎn)研究和開(kāi)發(fā)的對(duì)象。1994年RFID技術(shù)進(jìn)入中國(guó),引發(fā)了中國(guó)RFID技術(shù)的應(yīng)用革命。在我國(guó)基于RFID的智能門禁系統(tǒng)的使用仍然處于發(fā)展?fàn)顟B(tài),因此對(duì)射頻識(shí)別技術(shù)在門禁系統(tǒng)方面的應(yīng)用理論及實(shí)際可行性及實(shí)用性研究的重中之重。近幾年,關(guān)于識(shí)別系統(tǒng)的通訊模式,指紋等生
7、物識(shí)別設(shè)備的集成管理及DVR系統(tǒng)的集成成為現(xiàn)代門禁系統(tǒng)發(fā)展的亮點(diǎn)。另外,作為蓬勃發(fā)展的生物識(shí)別技術(shù),隨著其辨別技術(shù)的的不斷成熟,以及人們對(duì)這類產(chǎn)品的進(jìn)一步了解,若價(jià)格因素能保持人們可以接受的范圍內(nèi),那么,該技術(shù)的應(yīng)用前景將是十分廣泛的。射頻識(shí)別(RFID,即Radio Frequency Identification)技術(shù)是自動(dòng)識(shí)別技術(shù)在無(wú)線電技術(shù)方面的具體應(yīng)用與發(fā)展,其基本原理是利用射頻方式進(jìn)行非接觸雙向通信,以達(dá)到識(shí)別與數(shù)據(jù)交換的目的1。具有高精度、適應(yīng)環(huán)境能力強(qiáng)、抗干擾強(qiáng)、操作快捷等優(yōu)點(diǎn),能夠?qū)崿F(xiàn)無(wú)線自動(dòng)識(shí)別,主動(dòng)監(jiān)控的功能。RFID技術(shù)作為一項(xiàng)先進(jìn)的自動(dòng)識(shí)別和數(shù)據(jù)采集技術(shù),在實(shí)際應(yīng)用中
8、取得了顯著的成效,已經(jīng)成功應(yīng)用到生產(chǎn)制造、物流管理、公共安全等各個(gè)領(lǐng)域。隨著RFID技術(shù)的日益成熟和普及,各國(guó)政府都意識(shí)到RFID技術(shù)的研究?jī)r(jià)值和蘊(yùn)涵的巨大商機(jī),制定相關(guān)政策加大財(cái)力、物力投資,積極推動(dòng)本國(guó)RFID技術(shù)發(fā)展。RFID技術(shù)的運(yùn)用是非接觸式IC卡目前的潮流,更快的響應(yīng)速度和更高的頻率是未來(lái)的趨勢(shì)。三 需求分析 3.1實(shí)驗(yàn)箱模塊的選擇本次實(shí)驗(yàn)選擇的是實(shí)驗(yàn)箱中的高頻模塊,即HF高頻下識(shí)別卡不需要繞制線圈,可以通過(guò)印刷的方式制作天線。識(shí)別卡一般是負(fù)載調(diào)制的方式工作,也就是通過(guò)識(shí)別卡的負(fù)載電阻的接通和斷開(kāi)促使讀寫(xiě)器天線上的電壓發(fā)生變化,實(shí)現(xiàn)遠(yuǎn)距離識(shí)別卡對(duì)天線電壓進(jìn)行振幅調(diào)制。就頻率而言,高
9、頻RFID具有以下特性:工作頻率為13.56MHz,該頻率的波長(zhǎng)大概為22米。除了金屬材料外,該頻率的波長(zhǎng)可以穿過(guò)大多數(shù)的材料,但是往往會(huì)降低讀取距離。識(shí)別卡(感應(yīng)器)需要離開(kāi)金屬一段距離。該頻段在全球都得到認(rèn)可并沒(méi)有特殊的限制。該系統(tǒng)具有防沖撞特性,可以同時(shí)讀取多個(gè)識(shí)別卡。可以把某些數(shù)據(jù)信息寫(xiě)入識(shí)別卡中。數(shù)據(jù)傳輸速率比低頻要快且價(jià)格不是很貴。高頻RFID主要應(yīng)用有:航空包裹的管理和應(yīng)用瓦斯鋼瓶的管理應(yīng)用預(yù)收費(fèi)系統(tǒng)酒店門鎖的管理和應(yīng)用大型會(huì)議人員通道系統(tǒng)固定資產(chǎn)的管理系統(tǒng)醫(yī)藥物流系統(tǒng)的管理和應(yīng)用智能貨架的管理系統(tǒng)運(yùn)行簡(jiǎn)要說(shuō)明: :上電后,430先通過(guò)并口訪問(wèn)7970芯片,在沒(méi)有讀到卡時(shí),程序運(yùn)
10、行在串口讀寫(xiě)模式,并每隔0.5s向串口發(fā)送一個(gè)“D”,直到有寫(xiě)操作為止。:當(dāng)有卡讀寫(xiě)時(shí),針對(duì)相應(yīng)的卡,程序進(jìn)入不同的協(xié)議中,并且點(diǎn)亮相應(yīng)的LED燈。(2)API 調(diào)用說(shuō)明 :上電后,配置完內(nèi)部寄存器,程序進(jìn)入串口讀寫(xiě)程序,可以進(jìn)行人機(jī)交互。:當(dāng)讀到不同協(xié)議的卡時(shí),程序退出串口讀寫(xiě)程序,進(jìn)入相應(yīng)的協(xié)議子程序中(目前支持14443A協(xié)議和15693協(xié)議)。讀完卡后,退出相應(yīng)的協(xié)議子程序,進(jìn)入串口讀寫(xiě)程序。(3)ISO 15693 第三部分 通過(guò)讀卡器獲取指令流,讀卡器采用TI trf7970讀卡器芯片,開(kāi)發(fā)資料參考協(xié)議ISO 15693,trf7970 datasheet,參考trf7960EVM
11、.pdf實(shí)現(xiàn)ISO 15693第三部分指令部分,防碰撞實(shí)驗(yàn)。高頻讀寫(xiě)模塊中,利用高頻卡可以進(jìn)行識(shí)別操作,因此高頻讀寫(xiě)有以下特性:1.支持近場(chǎng)通訊 (NFC) 標(biāo)準(zhǔn) NFCIP-1 (ISO/IEC 18092) 和 NFCIP-2 (ISO/IEC 21481) 2.用于 ISO15693、ISO18000-3、ISO14443A/B、和 FeliCa 的完全集成的協(xié)議處理 3.集成編碼器、解碼器和用于 NFC 啟動(dòng)程序的數(shù)據(jù)成幀, 對(duì)所有 3 個(gè)比特率 (106 kbps, 212 kbps, 424 kbps)的有源和無(wú)源目標(biāo)操作及卡仿真。 4.用于 NFC 無(wú)源發(fā)射機(jī)應(yīng)答器仿真操作的具有
12、可編程喚醒電平的 RF 場(chǎng)偵測(cè)器 。5.用于 NFC 物理沖突避免的 RF 場(chǎng)檢測(cè)器。 6.用于 ISO14443A 防沖突 (不完整字節(jié)) 操作 (發(fā)射機(jī)應(yīng)答器仿真或者 NFC 無(wú)源目標(biāo))的集成狀態(tài)機(jī)。 7.輸入電壓范圍:2.7 VDC 至 5.5 VDC 。8.可編程輸出功率: +20 dBm (100 mW), +23 dBm (200 mW)。 9.可編程 I/O 電壓電平從 1.8 VDC 至 5.5 VDC。3.2開(kāi)發(fā)語(yǔ)言的選擇軟件結(jié)構(gòu)框圖:系統(tǒng)軟件主要包括信號(hào)處理和系統(tǒng)管理兩個(gè)部分,信號(hào)處理模塊采用C語(yǔ)言編程,系統(tǒng)管理部分軟件采用Microsoft Visual C+編程,VC+
13、是Windos平臺(tái)上的C+編程環(huán)境,學(xué)習(xí)VC要了解很多Windos平臺(tái)的特性并且掌握MFC、ATL、COM等的知識(shí),C+的具有就是界面簡(jiǎn)單,占用資源少,操作方便的特點(diǎn)。其中建立了一個(gè)中間數(shù)據(jù)庫(kù),編程簡(jiǎn)單,開(kāi)發(fā)時(shí)間短,能夠?qū)崿F(xiàn)雙卡識(shí)別功能,控制道閥自動(dòng)開(kāi)啟和關(guān)閉,同時(shí)具有報(bào)警功能。其軟件流程圖如下圖1所示。 基于RFID的門禁系統(tǒng)數(shù)據(jù)采集模塊存儲(chǔ)模塊顯示模塊門控模塊報(bào)警模塊鍵盤(pán)模塊 圖一 軟件結(jié)構(gòu)框圖3.3 數(shù)據(jù)交換的方式 本次設(shè)計(jì)采用數(shù)據(jù)庫(kù)存儲(chǔ)用戶信息及數(shù)據(jù),執(zhí)行程序之前,首先要設(shè)置串口波特率等相關(guān)串口參數(shù),然后上位機(jī)通過(guò)串口向下位機(jī)發(fā)送命令,并進(jìn)入串口中斷。下位機(jī)根據(jù)接收SBUF的值做相應(yīng)的
14、處理。程序流程圖如圖2所示 開(kāi)始上位機(jī)發(fā)送讀卡命令YYNN有感應(yīng)卡?驗(yàn)證感應(yīng)卡權(quán)限權(quán)限滿足?開(kāi)門,顯示正確信息報(bào)警,顯示錯(cuò)誤信息延時(shí)后,自動(dòng)關(guān)門結(jié)束 圖2 數(shù)據(jù)采集子程序流程圖3.4 應(yīng)用程序的結(jié)構(gòu)3.4.1 顯示子程序顯示子程序的主要功能是對(duì)當(dāng)前的門控狀態(tài)進(jìn)行顯示,顯示函數(shù)首先判斷是寫(xiě)命令操作還是寫(xiě)數(shù)據(jù)操作,若是寫(xiě)命令操作,則根據(jù)命令進(jìn)行相應(yīng)的操作,如清屏、設(shè)置顯示模式等;若是寫(xiě)數(shù)據(jù)操作,則在顯示器上顯示相應(yīng)數(shù)據(jù)。程序流程圖如圖3所示。顯示程序液晶初始化設(shè)置第一行顯示數(shù)據(jù)地址顯示第一行數(shù)據(jù)設(shè)置第二行顯示數(shù)據(jù)地址顯示第二行數(shù)據(jù)延時(shí)后,清屏結(jié)束延時(shí) 圖3 顯示子程序流程圖3.4.2密碼子程序 密
15、碼子程序流程圖如圖4所示,當(dāng)程序運(yùn)行時(shí),會(huì)一直判斷是否有按鍵被按下,當(dāng)有按鍵被按下時(shí),系統(tǒng)會(huì)確定鍵值,關(guān)將鍵值存入到密碼數(shù)組里,然后將輸入的密碼與本身的密碼做比較,若相同,則執(zhí)行開(kāi)門和顯示正確信息的操作;若不相同,則執(zhí)行報(bào)警和顯示錯(cuò)誤信息的操作。密碼子程序是整個(gè)門禁系統(tǒng)的關(guān)鍵部分,因?yàn)樵谕ㄟ^(guò)密碼程序的實(shí)施之后,才可以進(jìn)行數(shù)據(jù)的訪問(wèn)與訪問(wèn)者的信息匹配,因此,密碼系統(tǒng)就好比整個(gè)門禁系統(tǒng)的大門,它是連接訪問(wèn)者與數(shù)據(jù)的關(guān)鍵一環(huán)。其中,密碼程序的代碼如下: P1=0 x0f;if(P1!=0 x0f) compare(P1);for(n=0;n10;n+) if(inputn!=passwordn) b
16、reak; if(n=10) if(m10) continue; WriteLcdCom(0 x01);/清屏 WriteLcdCom(0 x80); /第一行數(shù)據(jù)指針地址 for(s=0;s16;s+) WriteLcdDat(str2s); LEDG=0; BUZ=0; delay_10ms(20); LEDG=1; BUZ=1; WriteLcdCom(0 x01); input0= ; else if(n10)&(P1=0 xbd) WriteLcdCom(0 x01);/清屏 WriteLcdCom(0 x80); /第一行數(shù)據(jù)指針地址 for(s=0;s16;s+) WriteLc
17、dDat(str4s); LEDR=0; for(s=0;s5;s+) BUZ=0; delay_10ms(20); BUZ=1; delay_10ms(20); LEDR=1; 密碼子系統(tǒng)的流程圖如下:開(kāi)始有鍵按下?去除按鍵抖動(dòng)的影響確定鍵值存入密碼數(shù)組密碼正確?開(kāi)門,顯示正確信息報(bào)警,顯示錯(cuò)誤信息延時(shí)后,自動(dòng)關(guān)門結(jié)束YYN 圖4 密碼子程序流程圖3.5存儲(chǔ)系統(tǒng)的設(shè)計(jì)及分析本設(shè)計(jì)中數(shù)據(jù)的存儲(chǔ)芯片選用的是AT24C04,該芯片是串行的E2PROM,支持I2C總線數(shù)據(jù)傳送協(xié)議。程序流程圖如圖5所示。 存儲(chǔ)程序AT24C04初始化向AT24C04 寫(xiě) 入 要 存 儲(chǔ) 的 數(shù) 據(jù)延時(shí)N 結(jié)束圖5 存
18、儲(chǔ)系統(tǒng)程序流程圖 當(dāng)我們完成對(duì)存儲(chǔ)過(guò)程的分析之后,我們需要對(duì)存儲(chǔ)過(guò)程加以實(shí)施,此時(shí),就需要編寫(xiě)存儲(chǔ)程序的代碼,存儲(chǔ)程序核心的代碼如下:void eeprom()write_byte(0,0 x1e); write_byte(1,0 xda); write_byte(2,0 x62); write_byte(3,0 xb6); write_byte(4,0 x25); write_byte(5,0 xee); write_byte(6,0 xde); write_byte(7,0 xb6); write_byte(8,0 x05); write_byte(9,0 xc8); write_byte
19、(10,0 x43);write_byte(11,0 xb8);write_byte(12,0 x3a); write_byte(13,0 x04);write_byte(14,0 x5d);write_byte(15,0 xb6);bit shout(uchar write_data)/ 從MCU移出數(shù)據(jù)到AT89C51uchar i; bit ack_bit; for(i = 0; i 8; i+) / 循環(huán)移入8個(gè)位 SDA1 = (bit)(write_data & 0 x80); _nop_(); SCL1 = 1; delayNOP(); SCL1 = 0; write_data
20、= 1; SDA1 = 1; / 讀取應(yīng)答 delayNOP();SCL1 = 1; delayNOP(); ack_bit = SDA1; SCL1 = 0; return ack_bit; / 返回AT24C04應(yīng)答位void write_byte(uchar addr, uchar write_data) start(); shout(OP_WRITE); shout(addr); shout(write_data); stop(); delay_10ms(1); 3.6 系統(tǒng)模塊的總體設(shè)計(jì) 依據(jù)上述功能的分析,系統(tǒng)中模塊分別為:數(shù)據(jù)采集模塊、數(shù)據(jù)處理模塊、數(shù)據(jù)存儲(chǔ)模塊、顯示模塊、串口發(fā)
21、送/接收模塊、密碼輸入模塊、報(bào)警機(jī)制模塊。系統(tǒng)功能結(jié)構(gòu)圖如圖6所示,各功能模塊具體功能如下:1.數(shù)據(jù)采集模塊:當(dāng)RFID卡進(jìn)入到讀卡器讀卡范圍時(shí),讀卡器讀取卡序列號(hào)的過(guò)程。2.數(shù)據(jù)處理模塊:針對(duì)于采集到的數(shù)據(jù)處理,從而對(duì)得到的數(shù)據(jù)進(jìn)行判斷其有效性。3.數(shù)據(jù)存儲(chǔ)模塊:用來(lái)存儲(chǔ)數(shù)據(jù)。4.顯示模塊:用來(lái)接收單片機(jī)發(fā)送的數(shù)據(jù),并對(duì)數(shù)據(jù)進(jìn)行操作從而得到要顯示的信息。5.串口發(fā)送/接收模塊:主要用來(lái)通過(guò)串口發(fā)送和接收數(shù)據(jù)。6.密碼輸入模塊:針對(duì)于用按鍵輸入密碼,根據(jù)密碼的正確與否來(lái)進(jìn)行相應(yīng)的操作。7.報(bào)警機(jī)制模塊:當(dāng)出現(xiàn)非法卡或輸入的密碼不正確時(shí)產(chǎn)生報(bào)警。綜合數(shù)據(jù)處理模塊讀卡器處理模塊密碼處理模塊讀卡模塊
22、存儲(chǔ)模塊門控模塊報(bào)警模塊顯示模塊存儲(chǔ)模塊門控模塊報(bào)警模塊 顯示模塊 圖6 系統(tǒng)功能結(jié)構(gòu)圖3.6.1系統(tǒng)硬件設(shè)計(jì)系統(tǒng)硬件設(shè)計(jì)主要由AT89C51主控芯片和ISO/IEC15693讀卡器模塊構(gòu)成。硬件電路由八部分構(gòu)成:微控制器AT89C51、讀卡器模塊ISO/IEC15693、LCD1602顯示、串口通信MAX232、按鍵電路、AT24C04存儲(chǔ)、報(bào)警電路、門控電路。微控制器AT89C51負(fù)責(zé)讀卡器模塊ISO/IEC15693的初始化,上位機(jī)通過(guò)串口向ISO/IEC15693發(fā)送命令,ISO/IEC15693根據(jù)上位機(jī)發(fā)送的命令做相應(yīng)的操作,然后將得到的信息傳送給微控制器AT89C51,然后微控制
23、器控制其它模塊完成顯示、報(bào)警、判斷和門控操作。上位機(jī)與下位機(jī)之間的連接主要是通過(guò)串口進(jìn)行通信,采用MAX232芯片并將芯片的輸入和輸出管腳連接到AT89C51的I/O口,在MAX232的引腳上連接10F的電解電容用來(lái)濾波。讀卡器模塊ISO/IEC15693與微控制器AT89C51之間的通信是通過(guò)I2C總線進(jìn)行的,由于AT89C51單片機(jī)本身并沒(méi)有I2C總線,所以將ISO/IEC15693模塊的串行時(shí)鐘線與數(shù)據(jù)線接到AT89C51的兩個(gè)I/O口,然后通過(guò)模擬I2C時(shí)序來(lái)完成AT89C51與ISO/IEC15693之間的通信,為了防止出現(xiàn)三態(tài),在ISO/IEC15693的串行時(shí)鐘線和數(shù)據(jù)線上分別上
24、拉10k電阻。而ISO/IEC15693讀卡器與RFID卡之間的數(shù)據(jù)通信主要是通過(guò)天線進(jìn)行的。AT24C04與AT89C51之間的通信也是通過(guò)模擬I2C時(shí)序進(jìn)行,同時(shí)為了防止出現(xiàn)三態(tài),在時(shí)鐘線與數(shù)據(jù)線上分別連接5.1 k的上拉電阻。LCD1602與AT89C52之間的通信是通過(guò)將LCD1602的3條控制線和8條數(shù)據(jù)線與AT89C51的I/O口相連。對(duì)于按鍵電路的設(shè)計(jì)是將3*4按鍵直接連接到AT89C51的7位I/O口,采用線反轉(zhuǎn)法通過(guò)查詢方式進(jìn)行工作。3.6.2 系統(tǒng)軟件設(shè)計(jì)軟件主要實(shí)現(xiàn)數(shù)據(jù)的采集,數(shù)據(jù)的分析,模塊之間的通信,以及相應(yīng)的數(shù)據(jù)處理。1.數(shù)據(jù)采集:讀卡器ISO/IEC15693通過(guò)
25、天線讀取RFID卡的數(shù)據(jù),然后將數(shù)據(jù)傳送出去。2.數(shù)據(jù)分析:AT89C51接收到數(shù)據(jù)后,將數(shù)據(jù)傳送給AT24C04或上位機(jī),AT24C04或上位機(jī)對(duì)數(shù)據(jù)進(jìn)行分析,從而判斷數(shù)據(jù)的有效性。3.模塊之間的通信:AT89C51與ISO/IEC15693/AT24C04之間的通信都是通過(guò)模擬I2C總線進(jìn)行的, I2C總線的高效性、高實(shí)用性、高可靠性數(shù)據(jù)傳輸增強(qiáng)了系統(tǒng)的實(shí)時(shí)性和可靠性。4.數(shù)據(jù)處理:針對(duì)數(shù)據(jù)的采集和分析的結(jié)果做出相應(yīng)的處理,例如顯示、報(bào)警、門控等。四 系統(tǒng)的整體描述和實(shí)現(xiàn)4.1射頻識(shí)別的簡(jiǎn)單描述在本設(shè)計(jì)中,采用的是射頻識(shí)別技術(shù)。下面對(duì)射頻識(shí)別技術(shù)做一下簡(jiǎn)要介紹:1.射頻識(shí)別技術(shù)原理通常情況
26、下,RFID的應(yīng)用系統(tǒng)主要由讀寫(xiě)器和RFID卡兩部分組成的,見(jiàn)下圖7。其中,讀寫(xiě)器一般作為計(jì)算機(jī)終端,用來(lái)實(shí)現(xiàn)對(duì)RFID卡的數(shù)據(jù)讀寫(xiě)和存儲(chǔ),它是由控制單元、高頻通訊模塊和天線組成。而RFID卡則是一種無(wú)源的應(yīng)答器,主要是由一塊集成電路(IC)芯片及其外接天線組成,其中RFID卡芯片通常集成有射頻前端、邏輯控制、存儲(chǔ)器等電路,有的甚至將天線一起集成在同一芯片上。RFID應(yīng)用系統(tǒng)的基本工作原理是RFID卡進(jìn)入讀寫(xiě)器的射頻場(chǎng)后,由其天線獲得的感應(yīng)電流經(jīng)升壓電路作為芯片的電源,同時(shí)將帶信息的感應(yīng)電流通過(guò)射頻前端電路檢得數(shù)字信號(hào)送入邏輯控制電路進(jìn)行信息處理,所需回復(fù)的信息則從存儲(chǔ)器中獲取經(jīng)由邏輯控制電路
27、送回射頻前端電路,最后通過(guò)天線發(fā)回給讀寫(xiě)器??梢?jiàn),RFID卡與讀寫(xiě)器實(shí)現(xiàn)數(shù)據(jù)通訊過(guò)程中起關(guān)鍵的作用是天線。一方面,無(wú)源的RFID卡芯片要啟動(dòng)電路工作需要通過(guò)天線在讀寫(xiě)器天線產(chǎn)生的電磁場(chǎng)中獲得足夠的能量;另一方面,天線決定了RFID卡與讀寫(xiě)器之間的通訊信道和通訊方式。 圖7 射頻識(shí)別系統(tǒng)原理圖 2.射頻識(shí)別系統(tǒng)典型結(jié)構(gòu)射頻識(shí)別系統(tǒng)的典型結(jié)構(gòu)見(jiàn)圖8,主要是由兩部份組成:讀寫(xiě)器和射頻卡。讀寫(xiě)器同射頻卡之間通過(guò)無(wú)線方式通訊,因此它們都有無(wú)線收發(fā)模塊及天線(或感應(yīng)線圈)。射頻卡中有存儲(chǔ)器,內(nèi)存容量為幾個(gè)比特到幾十千比特??梢源鎯?chǔ)永久性數(shù)據(jù)和非永久性數(shù)據(jù)。永久性數(shù)據(jù)可以是射頻卡序列號(hào),它是用來(lái)作為射頻卡的
28、唯一身份標(biāo)識(shí),不能更改;非永久性數(shù)據(jù)寫(xiě)在E2PROM等可重寫(xiě)的存儲(chǔ)器內(nèi),用以存儲(chǔ)用戶數(shù)據(jù)。射頻卡可以根據(jù)讀寫(xiě)器發(fā)出的指令對(duì)這些數(shù)據(jù)進(jìn)行相應(yīng)的實(shí)時(shí)讀寫(xiě)操作??刂颇K完成接收、譯碼及執(zhí)行讀寫(xiě)器的命令,控制讀寫(xiě)數(shù)據(jù),負(fù)責(zé)數(shù)據(jù)安全等功能。射頻卡分無(wú)源卡和有源卡兩種,有源卡內(nèi)置天線和電池,而無(wú)源卡只有內(nèi)置天線沒(méi)有電池,其能量由讀寫(xiě)器提供,由于無(wú)源卡無(wú)需電池因此其尺寸較小且使用壽命長(zhǎng),應(yīng)用越來(lái)越廣泛。讀寫(xiě)器內(nèi)的控制模塊往往具有很強(qiáng)的處理功能,除了完成控制射頻卡工作的任務(wù),還要實(shí)現(xiàn)相互認(rèn)證、數(shù)據(jù)加解密、數(shù)據(jù)糾錯(cuò)、出錯(cuò)報(bào)警及與計(jì)算機(jī)通信等功能。計(jì)算機(jī)的功能是向讀寫(xiě)器發(fā)送指令,并與讀寫(xiě)器之間進(jìn)行數(shù)據(jù)交換。圖8
29、RFID系統(tǒng)典型結(jié)構(gòu)圖8為RFID系統(tǒng)的工作過(guò)程,這是一個(gè)無(wú)源系統(tǒng),即射頻卡內(nèi)不含電池,射頻卡工作的能量是由射頻讀寫(xiě)模塊發(fā)出的射頻脈沖提供。(1)射頻讀寫(xiě)模塊在一個(gè)區(qū)域內(nèi)發(fā)射能量形成電磁場(chǎng),區(qū)域大小取決于發(fā)射功率、工作頻率和天線尺寸。(2)射頻卡進(jìn)入這個(gè)區(qū)域時(shí),接收到射頻讀寫(xiě)模塊的射頻脈沖,經(jīng)過(guò)橋式整流后給電容充電。電容電壓經(jīng)過(guò)穩(wěn)壓后作為工作電壓。(3)數(shù)據(jù)解調(diào)部分從接收到的射頻脈沖中解調(diào)出命令和數(shù)據(jù)并送到邏輯控制部分。邏輯控制部分接收指令完成存儲(chǔ)、發(fā)送數(shù)據(jù)或其它操作。(4)如果需要發(fā)送數(shù)據(jù),則將數(shù)據(jù)調(diào)制然后從收發(fā)模塊發(fā)送出去。(5)讀寫(xiě)模塊接收到返回的數(shù)據(jù)后,解碼并進(jìn)行錯(cuò)誤校驗(yàn)來(lái)決定數(shù)據(jù)的有
30、效性,然后進(jìn)行處理,必要時(shí)可以通過(guò)RS232或RS422或RS485或RJ45或無(wú)線接口將數(shù)據(jù)傳送到計(jì)算機(jī)。讀寫(xiě)器發(fā)送的射頻信號(hào)除提供能量外,通常還提供時(shí)鐘信號(hào),使數(shù)據(jù)同步,從而簡(jiǎn)化了系統(tǒng)的設(shè)計(jì)。有源系統(tǒng)的工作原理與此大致相同,不同處只是卡的工作電源由電池提供的。4.2 軟件結(jié)構(gòu)的實(shí)現(xiàn)4.2.1 系統(tǒng)的整體軟件結(jié)構(gòu)系統(tǒng)軟件設(shè)計(jì)是整個(gè)系統(tǒng)設(shè)計(jì)的重要部分,在硬件電路的基礎(chǔ)上,加上軟件編程才可以實(shí)現(xiàn)系統(tǒng)預(yù)期的功能。在本系統(tǒng)中,軟件的設(shè)計(jì)主要包括:數(shù)據(jù)采集模塊、存儲(chǔ)模塊、顯示模塊、門控模塊、報(bào)警模塊、鍵盤(pán)模塊和上位機(jī)軟件的設(shè)計(jì)幾個(gè)方面。本系統(tǒng)的軟件結(jié)構(gòu)框圖如圖9所示。1.數(shù)據(jù)采集模塊:讀卡器ISO/I
31、EC15693通過(guò)天線讀取RFID卡的數(shù)據(jù),然后將數(shù)據(jù)傳送出去。2.存儲(chǔ)模塊:AT89C51接收到數(shù)據(jù)后,將數(shù)據(jù)傳送給AT24C04進(jìn)行存儲(chǔ)。3.顯示模塊:AT89C51接收到數(shù)據(jù)后,將數(shù)據(jù)與AT24C04里存儲(chǔ)的數(shù)據(jù)進(jìn)行對(duì)比,若兩者完全相同,則液晶顯示正確的信息;若不相同,則液晶顯示錯(cuò)誤的信息。4.門控模塊:AT89C51接收到數(shù)據(jù)后,將數(shù)據(jù)與AT24C04里存儲(chǔ)的數(shù)據(jù)進(jìn)行對(duì)比,若兩者完全相同,則進(jìn)行開(kāi)門操作;若不相同,則不開(kāi)門。5.報(bào)警模塊:AT89C51接收到數(shù)據(jù)后,將數(shù)據(jù)與AT24C04里存儲(chǔ)的數(shù)據(jù)進(jìn)行對(duì)比,若不相同則報(bào)警。6.鍵盤(pán)模塊:通過(guò)鍵盤(pán)輸入密碼,并根據(jù)輸入密碼的有效性做相應(yīng)的
32、操作。 基于RFID的門禁系統(tǒng)數(shù)據(jù)采集模塊存儲(chǔ)模塊顯示模塊門控模塊報(bào)警模塊鍵盤(pán)模塊顯示模塊結(jié)束報(bào)警模塊 圖9 軟件結(jié)構(gòu)框圖 串口發(fā)送/接收部分的調(diào)試:將電路板與計(jì)算機(jī)連接以后,用一段簡(jiǎn)單的程序進(jìn)行調(diào)試。發(fā)現(xiàn)在調(diào)試的過(guò)程中,串口不能正常通信,經(jīng)過(guò)查證后發(fā)現(xiàn)是電容正負(fù)極接反了,修正以后,便能正常通信了。注:電容的選擇要注意,應(yīng)選擇0.1F/1F/10F的電容。存儲(chǔ)部分的調(diào)試:將AT24C04與單片機(jī)連接好后,編寫(xiě)一段簡(jiǎn)單的存儲(chǔ)程序,將字符存入到24C04里,并取出查看存儲(chǔ)數(shù)據(jù)的正確性。通過(guò)調(diào)試后,并未發(fā)現(xiàn)問(wèn)題。存儲(chǔ)電路調(diào)試成功。讀卡器部分的調(diào)試:將讀卡器接口與單片機(jī)相連后,用串口調(diào)試助手檢測(cè)讀卡器
33、。在用串口助手向讀卡器發(fā)送讀卡命令時(shí),當(dāng)有卡(MIFIRE S50、S70卡)進(jìn)入讀卡器讀卡范圍內(nèi)時(shí),會(huì)向串口助手返回卡序列號(hào),以此證明讀卡器可用。4.3 系統(tǒng)功能的具體實(shí)現(xiàn)4.3.1 系統(tǒng)軟件調(diào)試在進(jìn)行軟件調(diào)試之前要先進(jìn)行人工檢查代碼,要仔細(xì)認(rèn)真的檢查,在程序中要多添加注釋,以便檢查方便。在人工檢查無(wú)誤后,才可以進(jìn)行動(dòng)態(tài)檢查,也就是上機(jī)調(diào)試。通過(guò)編譯可以得到語(yǔ)法錯(cuò)誤的信息,根據(jù)提示信息找出程序中出錯(cuò)之處并改正。有時(shí)提示的出錯(cuò)信息并不是真正出錯(cuò)的行,這就要求我們善于分析,找出真正的錯(cuò)誤,而不要單純從字面意義上找出錯(cuò)信息,要懂得變通的理解并解決問(wèn)題。軟件調(diào)試時(shí),也要模塊式進(jìn)行。調(diào)試時(shí)可用單步運(yùn)行
34、和斷點(diǎn)運(yùn)行方式,通過(guò)檢查系統(tǒng)的CPU現(xiàn)場(chǎng)情況、RAM的內(nèi)容和I/O口的狀態(tài),檢測(cè)程序執(zhí)行結(jié)果是否符合設(shè)計(jì)要求。同時(shí),還可以發(fā)現(xiàn)系統(tǒng)中存在的硬件設(shè)計(jì)錯(cuò)誤和軟件算法錯(cuò)誤。待各個(gè)模塊調(diào)好后再進(jìn)行系統(tǒng)程序聯(lián)調(diào)。這個(gè)階段若出現(xiàn)故障,可以檢查算法上是否有沖突、參數(shù)傳遞是否正確等。在使用WAVE軟件時(shí),調(diào)試的方法和技巧最為重要,不同的情況采用不同的調(diào)試方法,有助于程序的實(shí)現(xiàn)。在設(shè)計(jì)過(guò)程中顯示運(yùn)行結(jié)果一般用全速調(diào)試,調(diào)試時(shí)主要使用了跟蹤調(diào)試、斷點(diǎn)調(diào)試。1跟蹤調(diào)試:跟蹤應(yīng)用程序用戶能夠在運(yùn)行應(yīng)用程序時(shí),看到PC指針在應(yīng)用源代碼程序中的確切位置。跟蹤型:?jiǎn)尾綀?zhí)行一條語(yǔ)句程序,有利于觀察變量。但是,如果調(diào)用一個(gè)函數(shù)
35、,則進(jìn)入函數(shù)中,在函數(shù)中單步執(zhí)行每一條語(yǔ)句。跟蹤使用熱鍵F7。單步型:?jiǎn)尾綀?zhí)行每條語(yǔ)句程序,如果調(diào)用一個(gè)函數(shù),則不進(jìn)入函數(shù)中。單步使用熱鍵F8。2斷點(diǎn)調(diào)試如果已知程序中某塊代碼實(shí)際運(yùn)行正常的情況下,仍用跟蹤調(diào)試,將大大浪費(fèi)時(shí)間,而且很枯燥,因此調(diào)試中第二個(gè)重要工具是在源代碼中某一處設(shè)置斷點(diǎn),大多數(shù)調(diào)試程序通過(guò)使用斷點(diǎn)中止程序執(zhí)行。在程序調(diào)試中用到使用斷點(diǎn)調(diào)試,即在指定行上設(shè)置斷點(diǎn)后,全速執(zhí)行程序,看是否能進(jìn)行到設(shè)置斷點(diǎn)所在行。如果用斷點(diǎn)調(diào)試,由比較容易觀察出程序變量的改變及程序運(yùn)行的結(jié)果。設(shè)置斷點(diǎn)熱鍵CtrlF8。3查看變量WAVE軟件可以通Watch窗口進(jìn)行查看變量。通過(guò)添加觀察項(xiàng)菜單可以將
36、用戶希望觀察的變量添加到觀察窗口及數(shù)據(jù)窗口觀察。在設(shè)計(jì)過(guò)程中常用觀察窗口觀察程序中的變量,修改程序中的錯(cuò)誤。4.3.2 系統(tǒng)整體調(diào)試 將各個(gè)部分的硬件模塊合并成一個(gè)整體,把軟件各個(gè)部分程序合并到一個(gè)主程序中。通過(guò)偉福訪真器和偉福調(diào)試軟件WAVE6000開(kāi)始整體調(diào)試,硬件部分用萬(wàn)用表來(lái)測(cè)試硬件每部分的接通性。軟件部分的測(cè)試主要方法是通過(guò)設(shè)置斷點(diǎn)、單步執(zhí)行等方法來(lái)測(cè)試程序的正確性。在確定軟硬件無(wú)問(wèn)題后,將程序通過(guò)燒寫(xiě)器把程序燒到單片機(jī)中。將程序燒寫(xiě)到控制芯片AT89C52,打開(kāi)電源,電源指示燈亮,整個(gè)系統(tǒng)啟動(dòng)。運(yùn)行上位機(jī),向下位機(jī)發(fā)送讀卡命令,下位機(jī)接收到讀卡命令后,當(dāng)有RFID卡進(jìn)入到讀卡器的讀
37、卡范圍內(nèi)時(shí),若RFID卡為有效卡便會(huì)在執(zhí)行開(kāi)門操作的同時(shí)在液晶上顯示正確信息;若不是有效卡則在報(bào)警的同時(shí)在液晶上顯示錯(cuò)誤信息。當(dāng)通過(guò)鍵盤(pán)輸入密碼后,系統(tǒng)會(huì)判斷密碼的有效性,若是有效密碼則開(kāi)門并在液晶上顯示正確信息;若無(wú)效則報(bào)警并顯示錯(cuò)誤信息。整個(gè)系統(tǒng)完成。本系統(tǒng)能在打開(kāi)電源并運(yùn)行上位機(jī)后,能自動(dòng)向下位機(jī)發(fā)送讀卡命令,當(dāng)有RFID卡進(jìn)入到讀卡器的讀卡范圍內(nèi)時(shí),則會(huì)自動(dòng)讀取卡序列號(hào),并將卡序列號(hào)傳送給上位機(jī),上位機(jī)判斷卡的有效性。若該卡是有效卡,系統(tǒng)會(huì)執(zhí)行開(kāi)門并在液晶上顯示正確的信息;若該卡是非法卡,則會(huì)報(bào)警并顯示錯(cuò)誤的信息。本系統(tǒng)能夠有效、方便、安全地控制重要場(chǎng)所的出入訪問(wèn),具有可靠性高、保密性
38、強(qiáng)、方便快捷等特點(diǎn)。整個(gè)系統(tǒng)中數(shù)據(jù)傳輸?shù)倪^(guò)程:發(fā)送到SDA線上的每個(gè)字節(jié)必須為8位。每次傳輸可以發(fā)送的字節(jié)數(shù)量不受限制,每個(gè)字節(jié)的后面必須跟一個(gè)響應(yīng)位。首先傳輸?shù)氖菙?shù)據(jù)的最高位(MSB)。如果從機(jī)要完成一些其他功能后(例如一個(gè)內(nèi)部中斷服務(wù)程序)才能接收或發(fā)送下一個(gè)完整的數(shù)據(jù)字節(jié)??梢允褂脮r(shí)鐘線SCL保持低電平迫使主機(jī)進(jìn)入等待狀態(tài)。當(dāng)從機(jī)準(zhǔn)備好接收下一個(gè)數(shù)據(jù)字節(jié)釋放時(shí)鐘線SCL后,數(shù)據(jù)傳輸繼續(xù)。在一些情況下,可以用與I2C總線格式不一樣的格式(例如兼容CBUS的器件)。甚至在傳輸一個(gè)字節(jié)時(shí),用這樣的地址起始的報(bào)文可以通過(guò)產(chǎn)生停止條件來(lái)終止,此時(shí)不會(huì)產(chǎn)生響應(yīng)。數(shù)據(jù)傳輸必須帶響應(yīng),相應(yīng)的響應(yīng)時(shí)鐘脈沖
39、由主機(jī)產(chǎn)生。在響應(yīng)時(shí)鐘脈沖期間,發(fā)送器釋放SDA線(高)。在響應(yīng)的時(shí)鐘脈沖期間,接收器必須將SDA線拉低,使它在這個(gè)時(shí)鐘脈沖的高電平期間保持穩(wěn)定的低電平。當(dāng)然,必須考慮建立和保持時(shí)間。當(dāng)從機(jī)不能響應(yīng)從機(jī)地址時(shí)(例如它這在執(zhí)行一些實(shí)時(shí)函數(shù)不能接收或發(fā)送),從機(jī)必須使數(shù)據(jù)保持高電平。主機(jī)然后產(chǎn)生一個(gè)停止條件終止傳輸或者產(chǎn)生重復(fù)起始條件開(kāi)始新的傳輸。如果從機(jī)接收器響應(yīng)了從機(jī)地址但是在傳輸了一段時(shí)間后不能接收更多數(shù)據(jù)字節(jié),主機(jī)必須再一次終止傳輸。這個(gè)情況用從機(jī)在第一個(gè)字節(jié)后沒(méi)有產(chǎn)生響應(yīng)來(lái)表示。從機(jī)使數(shù)據(jù)線保持高電平,主機(jī)產(chǎn)生一個(gè)停止或重復(fù)起始條件。如果傳輸中有主機(jī)接收器,它必須通過(guò)在從機(jī)產(chǎn)生時(shí)鐘的最后
40、一個(gè)字節(jié)不產(chǎn)生一個(gè)響應(yīng),向從機(jī)發(fā)送器通知數(shù)據(jù)結(jié)束。從機(jī)發(fā)送器必須釋放數(shù)據(jù)線,允許主機(jī)產(chǎn)生一個(gè)停止或重復(fù)起始條件。所有的主機(jī)在SCL線上產(chǎn)生它們自己的時(shí)鐘來(lái)傳輸I2C總線上的報(bào)文。數(shù)據(jù)只有在時(shí)鐘的高電平周期有效。因此,需要一個(gè)確定的時(shí)鐘進(jìn)行逐位仲裁。同步時(shí)鐘通過(guò)線與連接I2C接口到SCL線來(lái)執(zhí)行。這就是說(shuō):SCL線的高到低切換會(huì)使器件開(kāi)始數(shù)它們的低電平周期,而且一旦器件的時(shí)鐘變低電平,它會(huì)使SCL線保持這種狀態(tài)直到到達(dá)時(shí)鐘的高電平。但是,如果另一個(gè)時(shí)鐘仍處于低電平周期。這個(gè)時(shí)鐘的低到高切換不會(huì)改變SCL線的狀態(tài)。因此,SCL線被有最長(zhǎng)低電平周期的器件保持低電平。因此,低電平周期短的器件會(huì)進(jìn)入高電
41、平的等待狀態(tài)。當(dāng)所有有關(guān)的器件數(shù)完了它們的低電平周期后,時(shí)鐘線被釋放并變成高電平。之后,器件時(shí)鐘和SCL線的狀態(tài)沒(méi)有差別。而且所有器件會(huì)開(kāi)始數(shù)它們的高電平周期。首先完成高電平周期的器件會(huì)再次將SCL線拉低。這樣,產(chǎn)生的同步SCL時(shí)鐘的低電平周期由低電平周期長(zhǎng)的器件決定,而高電平周期由高電平周期最短的器件決定。最后整個(gè)系統(tǒng)的搭建就基本完成,此時(shí)本系統(tǒng)具體實(shí)現(xiàn)的功能如下:1.數(shù)據(jù)采集:讀卡器ISO/IEC15693通過(guò)天線讀取RFID卡的數(shù)據(jù),然后將數(shù)據(jù)傳送出去。2.數(shù)據(jù)分析:AT89C51接收到數(shù)據(jù)后,將數(shù)據(jù)傳送給AT24C04或上位機(jī),AT24C04或上位機(jī)對(duì)數(shù)據(jù)進(jìn)行分析,從而判斷數(shù)據(jù)的有效性
42、。3.模塊之間的通信:AT89C51與ISO/IEC15693/AT24C04之間的通信都是通過(guò)模擬I2C總線進(jìn)行的, I2C總線的高效性、高實(shí)用性、高可靠性數(shù)據(jù)傳輸增強(qiáng)了系統(tǒng)的實(shí)時(shí)性和可靠性。4.數(shù)據(jù)處理:針對(duì)數(shù)據(jù)的采集和分析的結(jié)果做出相應(yīng)的處理,例如顯示、報(bào)警、門控等。五 課程設(shè)計(jì)總結(jié)通過(guò)兩周的課程設(shè)計(jì),我對(duì)RFID的工作原理已經(jīng)有熟悉的認(rèn)識(shí),掌握的有關(guān)RFID應(yīng)用系統(tǒng)開(kāi)發(fā)的基本步驟并且有了深刻的認(rèn)識(shí)。RFID原理及應(yīng)用在21世紀(jì)知識(shí)經(jīng)濟(jì)時(shí)代有著重要的地位。在以各種智能化為背景的前提下,RFID正的得到蓬勃的發(fā)展。本次課程設(shè)計(jì)就是在這個(gè)潮流下進(jìn)行了高頻、低頻及相關(guān)應(yīng)用設(shè)備的系統(tǒng)開(kāi)發(fā)。起初在
43、看到這個(gè)課設(shè)的時(shí)候我?guī)缀鹾翢o(wú)頭緒,不過(guò)通過(guò)前期的關(guān)于RFID的的基礎(chǔ)實(shí)驗(yàn)和不斷的在網(wǎng)上和圖書(shū)館查閱資料,使我對(duì)RFID的基本原理與應(yīng)用和門禁系統(tǒng)的設(shè)計(jì)有了一個(gè)大體的思路,對(duì)其中涉及到的知識(shí)也進(jìn)行了學(xué)習(xí)和模仿。在一開(kāi)始,我遇到了一些問(wèn)題,解決這些問(wèn)題的辦法就是去圖書(shū)館查閱有關(guān)資料,或上網(wǎng)查閱有關(guān)信息,或請(qǐng)教老師,終于按時(shí)完成了本次課程設(shè)計(jì)。這次課設(shè)不僅考察了我們對(duì)課堂上所學(xué)的專業(yè)知識(shí)的理解程度,也鍛煉了我們的動(dòng)手能力。提高了我獨(dú)立思考問(wèn)題,解決問(wèn)題的能力。從總體看,我覺(jué)得這次課設(shè)是我自身的知識(shí)豐富了不少,但同時(shí)也發(fā)現(xiàn)了自己的不足之處。例如在動(dòng)手方面和知識(shí)的融合方面,不能很好的與實(shí)踐相結(jié)合。軟件操
44、作不夠熟練。使我明白了要先學(xué)好理論知識(shí)才能很好的與實(shí)踐相結(jié)合,才能熟練的運(yùn)用到生活中。六 參考文獻(xiàn)1.陳國(guó)棟基于射頻識(shí)別技術(shù)的門禁系統(tǒng)研究與設(shè)計(jì)D中南大學(xué),200501012.黃菊生基于智能IC卡的網(wǎng)絡(luò)門禁系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)D湖南大學(xué),200310103.游戰(zhàn)清,李蘇劍,張益強(qiáng)等無(wú)線射頻識(shí)別技術(shù)(RFID)理論與應(yīng)用M北京:電子工業(yè)出版社,20044.安靜宇基于非接觸式IC卡門禁系統(tǒng)的設(shè)計(jì)D西安科技大學(xué),20065.康行健天線原理與設(shè)計(jì)M國(guó)防工業(yè)出版社,1998.65-736.韓瑜,焦小澄高效的LCD模塊顯示程序設(shè)計(jì)方法計(jì)算機(jī)工程與應(yīng)用2004,22(1):123-1267.董蘊(yùn)華,鄭先鋒.基于R
45、FID技術(shù)的無(wú)線門禁系統(tǒng)的設(shè)計(jì)J.通信技術(shù)2009.8.李剛,曾銳利,林凌.基于射頻識(shí)別技術(shù)的智能交通系統(tǒng)J.信息與控制,2006, 35(5):555-5599.賈林.射頻識(shí)別技術(shù)(RFID)及其在物流交通領(lǐng)域的應(yīng)用J.交通世界, 2005(10):50-53.10.查振元,朱華炳.電子門禁系統(tǒng)組成J.機(jī)電產(chǎn)品開(kāi)發(fā)與創(chuàng)新,2003.11.李朝清PC機(jī)及單片機(jī)數(shù)據(jù)通信技術(shù)M北京:北京航空航天大學(xué)出版社,2000.10-22,33-6012.L(U) Yuan-ying,LI Yong-hong,HOU Jin-bingSummary of I2C Bus and Related Routine
46、sSCI/TECH INFORMATION DEVELOPMENT & ECONOMY2005,15(15):1-2013.Perter Aiman Mifare R Standard IC Card Design DataSheetJPhilipsSemiconductor,2009,22(10):1_10 附錄:(界面顯示子程序)/ CardRead.cpp : 實(shí)現(xiàn)文件#include stdafx.h#include HFExample.h#include CardRead.h#include EmployeeAdd.h#include Selector.h#include / CCa
47、rdRead 對(duì)話框IMPLEMENT_DYNAMIC(CCardRead, CPropertyPage)CRITICAL_SECTION m_cs;CCardRead:CCardRead(): CPropertyPage(CCardRead:IDD), m_readeraddr(_T(2), m_modsel(0)CCardRead:CCardRead()void CCardRead:DoDataExchange(CDataExchange* pDX)CPropertyPage:DoDataExchange(pDX);DDX_Text(pDX, IDC_EDIT_READERADDR, m_
48、readeraddr);DDX_Control(pDX, IDC_LIST2, m_listtags);DDX_Radio(pDX, IDC_RADIO1, m_modsel);BEGIN_MESSAGE_MAP(CCardRead, CPropertyPage)ON_BN_CLICKED(IDC_BTN_CONNECTTOREADER, &CCardRead:OnBnClickedBtnConnecttoreader)ON_BN_CLICKED(IDC_BTN_CARDREAD, &CCardRead:OnBnClickedBtnCardread)ON_NOTIFY(NM_RCLICK, I
49、DC_LIST2, &CCardRead:OnNMRclickList2)ON_COMMAND(ID_32771, &CCardRead:On32771)ON_BN_CLICKED(IDC_BTN_LISTEMPTY, &CCardRead:OnBnClickedBtnListempty)END_MESSAGE_MAP()/ CCardRead 消息處理程序void CCardRead:OnBnClickedBtnConnecttoreader()/ TODO: 在此添加控件通知處理程序代碼CWaitCursor wc;UpdateData(); if(m_readeraddr.IsEmpty
50、()AfxMessageBox(TEXT(請(qǐng)輸入讀寫(xiě)器地址), MB_ICONINFORMATION, 0);return ;LPTSTR p = m_readeraddr.GetBuffer();char ccommno=*p;m_readeraddr.ReleaseBuffer();CString t;GetDlgItem(IDC_BTN_CONNECTTOREADER)-GetWindowText(t);if( TEXT(連接) = t) if(m_modsel != m_presel)if(!SetConfigInfo(HFExample,m_modsel)TRACE(Set HFEx
51、ample Config info ERRn);DWORD newcom;newcom=_tcstoul(m_readeraddr,NULL,10);if(newcom != m_precom)if(!SetConfigInfo(HFExampleCom,newcom)TRACE(Set HFExampleCom Config info ERRn);if(m_modsel = 0)/網(wǎng)關(guān)模式TCHAR _comm10=0;_stprintf_s(_comm ,9, TEXT(COM%c),ccommno);CSelector seler(_comm);if(!seler.SelHF()AfxM
52、essageBox(HF模塊未準(zhǔn)備好, MB_ICONSTOP, 0);return ;if(!m_preader-ConnectToReader(m_readeraddr)AfxMessageBox(連接失敗, MB_ICONSTOP, 0);return ;GetDlgItem(IDC_BTN_CONNECTTOREADER)-SetWindowText(TEXT(斷開(kāi));GetDlgItem(IDC_BTN_CARDREAD)-EnableWindow(TRUE);GetDlgItem(IDC_RADIO1)-EnableWindow(FALSE);GetDlgItem(IDC_RADI
53、O2)-EnableWindow(FALSE);else if(m_preader-DisConnectFromReader() GetDlgItem(IDC_BTN_CONNECTTOREADER)-SetWindowText(TEXT(連接);GetDlgItem(IDC_BTN_CARDREAD)-EnableWindow(FALSE);GetDlgItem(IDC_RADIO1)-EnableWindow();GetDlgItem(IDC_RADIO2)-EnableWindow();BOOL CCardRead:OnInitDialog()CPropertyPage:OnInitDi
54、alog();/ TODO: 在此添加額外的初始化/Tags Listm_listtags.SetExtendedStyle(LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT);m_listtags.InsertColumn(0,TEXT(#);m_listtags.InsertColumn(1,TEXT(ID);m_listtags.InsertColumn(2,TEXT(Cnt);m_listtags.InsertColumn(3,TEXT(姓名);CRect rect4;m_listtags.GetClientRect(rect4); /獲得當(dāng)前客戶區(qū)信息m_l
55、isttags.SetColumnWidth(0,rect4.Width()/10); /設(shè)置列的寬度。m_listtags.SetColumnWidth(1,5*rect4.Width()/10);m_listtags.SetColumnWidth(2,rect4.Width()/10);m_listtags.SetColumnWidth(3,3*rect4.Width()/10);m_hsayhelloevent=CreateEvent( NULL, / no security attributesFALSE, / manual-reset event?FALSE, / initial s
56、tate is signaled?NULL); / object not namedif(NULL = m_hsayhelloevent)TRACE(create event for sayhello failedn);m_hsayhello=CreateThread(NULL,0,(LPTHREAD_START_ROUTINE )sayhello,(LPVOID)this,0,NULL);if(NULL = m_hsayhello)TRACE(create thread for sayhello failedn);GetDlgItem(IDC_EDIT_READERADDR)-SetWind
57、owText(TEXT(COM1);GetEPCToName();if (!GetConfigInfo(HFExample,&m_presel)TRACE(Get HFExample ini Err:);elsem_modsel=m_presel;if (!GetConfigInfo(HFExampleCom,&m_precom)m_precom=_tcstoul(m_readeraddr,NULL,10);TRACE(Get HFExampleCom ini Err:);elsem_readeraddr.Format(%d,m_precom);m_preader=new CHFReader;
58、if(m_preader = NULL)TRACE(TEXT(Create HFReader Errorn);UpdateData(FALSE);InitializeCriticalSection(&m_cs);return TRUE; / return TRUE unless you set the focus to a control/ 異常: OCX 屬性頁(yè)應(yīng)返回FALSEvoid CCardRead:OnBnClickedBtnCardread() / TODO: 在此添加控件通知處理程序代碼CWaitCursor wc;CString t;GetDlgItem(IDC_BTN_CAR
59、DREAD)-GetWindowText(t);if(TEXT(開(kāi)始讀卡) = t)m_listtags.DeleteAllItems();m_epc.clear();if( !m_preader-BeginInventory(callback1,this) TRACE(BeginInventory errorn);GetDlgItem(IDC_BTN_CARDREAD)-SetWindowText(TEXT(停止讀卡);else if(TEXT(停止讀卡) = t)if(!m_preader-CancelInventory()TRACE(CancelInventory errorn);Get
60、DlgItem(IDC_BTN_CARDREAD)-SetWindowText(TEXT(開(kāi)始讀卡);BOOL CCardRead:OnSetActive()/ TODO: 在此添加專用代碼和/或調(diào)用基類GetEPCToName();return CPropertyPage:OnSetActive();void CCardRead:GetEPCToName()EmployeeInfoArray _t;theApp.getDB().GetAllEmployee(_t);m_epctoname.clear();for(int i=0;iGetPermission() = ADMINISTRATOR
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年互聯(lián)網(wǎng)創(chuàng)業(yè)公司合伙人合作協(xié)議5篇
- 《信用證講》課件
- 《聯(lián)合用藥新》課件
- 《圖形系統(tǒng)l》課件
- 2025年跨境電商信托受益權(quán)轉(zhuǎn)讓與供應(yīng)鏈管理合同3篇
- 二零二五年度大學(xué)生綠色出行補(bǔ)貼借款合同4篇
- 2025年度農(nóng)業(yè)科技創(chuàng)新平臺(tái)承包合同范本3篇
- 二零二五年度商業(yè)綜合體車位使用權(quán)轉(zhuǎn)讓協(xié)議樣本3篇
- 2025年度廠房門窗定制安裝與節(jié)能補(bǔ)貼協(xié)議2篇
- 2025年廠區(qū)物業(yè)服務(wù)與設(shè)施維護(hù)合同12篇
- 第二章 運(yùn)營(yíng)管理戰(zhàn)略
- 《三本白皮書(shū)》全文內(nèi)容及應(yīng)知應(yīng)會(huì)知識(shí)點(diǎn)
- 專題14 思想方法專題:線段與角計(jì)算中的思想方法壓軸題四種模型全攻略(解析版)
- 醫(yī)院外來(lái)器械及植入物管理制度(4篇)
- 圖像識(shí)別領(lǐng)域自適應(yīng)技術(shù)-洞察分析
- 港口與港口工程概論
- 《念珠菌感染的治療》課件
- 個(gè)體戶店鋪?zhàn)赓U合同
- 門店裝修設(shè)計(jì)手冊(cè)
- 考研計(jì)算機(jī)學(xué)科專業(yè)基礎(chǔ)(408)研究生考試試卷與參考答案(2025年)
- 新概念英語(yǔ)第二冊(cè)考評(píng)試卷含答案(第49-56課)
評(píng)論
0/150
提交評(píng)論