射頻識別課程設(shè)計

上傳人:沈*** 文檔編號:45106801 上傳時間:2021-12-06 格式:DOC 頁數(shù):45 大?。?99KB
收藏 版權(quán)申訴 舉報 下載
射頻識別課程設(shè)計_第1頁
第1頁 / 共45頁
射頻識別課程設(shè)計_第2頁
第2頁 / 共45頁
射頻識別課程設(shè)計_第3頁
第3頁 / 共45頁

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《射頻識別課程設(shè)計》由會員分享,可在線閱讀,更多相關(guān)《射頻識別課程設(shè)計(45頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、. 射頻識別課程設(shè)計 專業(yè)班級:2013級通信工程2班 姓名:杜超 學(xué)號:201309110224 姓名:陸平 學(xué)號:201309110225 姓名:賀凱文 學(xué)號:201309110226 姓名:牛新艷 學(xué)號:201309110227 姓名:曹曉寧 學(xué)號:201309110228 姓名:李世鈺 學(xué)號:201309110229 精品 . 姓名:劉帥 學(xué)號:201309110230 姓名:張波 學(xué)號:201311310210 精品 .

2、 前言 射頻識別,RFID(Radio Frequency Identification)技術(shù),又稱無線射頻識別,是一種通信技術(shù),可通過無線電訊號識別特定目標(biāo)并讀寫相關(guān)數(shù)據(jù),而無需識別系統(tǒng)與特定目標(biāo)之間建立機(jī)械或光學(xué)接觸。 RFID(Radio Frequency Identification)技術(shù)作為構(gòu)建“物聯(lián)網(wǎng)”的關(guān)鍵技術(shù)近年來受到人們的關(guān)注。RFID技術(shù)早起源于英國,應(yīng)用于第二次世界大戰(zhàn)中辨別敵我飛機(jī)身份,20 世紀(jì) 60 年代開始商用。RFID技術(shù)是一種自動識別技術(shù),射頻標(biāo)簽是產(chǎn)品電子代碼(EPC)的物理載體,附著于可跟蹤的物品上,可全球流通并對其進(jìn)行識別和讀寫。R

3、FID讀寫器也分移動式的和固定式的,目前RFID技術(shù)應(yīng)用很廣,如:圖書館,門禁系統(tǒng),食品安全溯源等。 本次RFID課程設(shè)計是圍繞ID卡讀卡器進(jìn)行設(shè)計的。ID卡讀卡器是RFID技術(shù)的具體應(yīng)用。ID卡讀卡器是用來讀ID卡的,讀卡器支持即插即用、在使用過程可以隨意拔插,計算機(jī)USB口接入讀卡器后,讀卡器"滴"一聲開始自檢及初始化,再"滴"一聲初始化成功,進(jìn)入等待刷卡狀態(tài)。本文分析了ID卡讀卡器的基本工作機(jī)理并詳細(xì)研究了ID卡的讀卡原理和方法。在此基礎(chǔ)上,進(jìn)行了基于ID卡的軟件和硬件開發(fā)。論述了主要元器件的選型方法以及各部分電路的工作原理。經(jīng)過實(shí)際電路的制作和反復(fù)調(diào)試,實(shí)現(xiàn)了本次RFID課程

4、設(shè)計。 關(guān)鍵詞:射頻識別,讀卡器,曼徹斯特碼 精品 . 目錄 1.課程設(shè)計 4 本次課程設(shè)計是圍繞ID讀卡器進(jìn)行的。 4 1.1課程設(shè)計相關(guān)簡介 4 1.1.1 ID卡簡介 4 1.1.2讀卡器簡介 5 1.1.3編碼簡介 6 1.2課程設(shè)計目的 7 1.3課程設(shè)計設(shè)備 7 1.4課程設(shè)計模塊組成 7 1.5課程設(shè)計流程 7 1.5.1課程設(shè)計的設(shè)計流程 7 1.5.2課程設(shè)計系統(tǒng)的工作流程 8 1.6課程設(shè)計電路圖 8 2.課程設(shè)計硬件部分 9 2.1硬件電路 9 2.1.1模塊一:MCU(STC89S52)控制電路 9 精品 . 2.1.2

5、模塊二:射頻基站(U2270B)電路 10 2.1.3模塊三:串行通信(MAX232)電路 11 2.1.4模塊四:電源電路 11 2.1.5模塊五:復(fù)位電路 12 2.1.6模塊六:蜂鳴器電路 13 2.2硬件電路的焊接 14 3.軟件程序設(shè)計 15 3.1主程序 15 總結(jié) 25 參 考 文 獻(xiàn) 26 精品 . 1.課程設(shè)計 本次課程設(shè)計是圍繞ID讀卡器進(jìn)行的。 1.1課程設(shè)計相關(guān)簡介 1.1.1 ID卡簡介 ID卡全稱為身份識別卡(Identification Card),是一種不可寫入的感應(yīng)卡,含固定的編號,主要有臺灣SYRIS的EM

6、格式、美國HIDMOTOROLA等各類ID卡。ID卡與磁卡一樣,都僅僅使用了“卡的號碼”而已,卡內(nèi)除了卡號外,無任何保密功能,其“卡號”是公開、裸露的。所以說ID卡就是“感應(yīng)式磁卡”。 ISO標(biāo)準(zhǔn)ID卡的規(guī)格為:85.5x54x0.800.04mm(高/寬/厚),市場上也存在一些厚、薄卡或異型卡。常應(yīng)用于考勤、門禁、一卡通等系統(tǒng) 。其表現(xiàn)形式相當(dāng)廣泛,與我們的生活生產(chǎn)息息相關(guān)。隨著芯片技術(shù)、天線技術(shù)、無線收發(fā)技術(shù)、數(shù)據(jù)變換與編碼技術(shù)、電磁傳播特性等技術(shù)的綜合發(fā)展,其應(yīng)用性能將得到進(jìn)一步的提高,使用范圍將進(jìn)一步延伸,將在門禁管理、資產(chǎn)回收、物料處理、醫(yī)療、寵物管理、工業(yè)自動化、聯(lián)合票證等領(lǐng)域擁有

7、更加廣泛、高效、安全的應(yīng)用。 目前,市面使用的ID卡多以JK4001、H4001、EM4001、TK28等居多,其結(jié)構(gòu)和工作原理都一樣,故只掌握一種便可通用了。圖1.1 是ID卡工作原理框圖。 精品 . ID卡內(nèi)部陣列存儲空間結(jié)構(gòu)如1.2所示:ID卡內(nèi)部64位信息由5個區(qū)組成:9個引導(dǎo)位“1”,10個行奇校驗(yàn)位“P0--P9” ,4個列奇校驗(yàn)位“PC0--PC3”,40 位數(shù)據(jù)位“D00--D93”和一個停止位“0”。9個引導(dǎo)位是出廠就掩膜到晶片內(nèi)的,其值為111111111。當(dāng)它輸出數(shù)據(jù)流時,首先是輸出9個引導(dǎo)位,然后是10組由4個數(shù)據(jù)位和1個行奇校驗(yàn)位組成的數(shù)據(jù)串,之后是1組由4

8、個列奇校驗(yàn)位組成的數(shù)據(jù)串,最后是停止位“0”,“D00--D13”是一個8位的晶片版本號或ID識別碼?!癉20-- D93” 是4組32 位的晶片信息,即卡號。當(dāng)ID卡得電初始化后,便依次將這64位數(shù)據(jù)反復(fù)輸出,直到卡片離開基站讀寫器失電為止。 圖1.1 ID卡工作原理框圖 精品 . 圖1.2 ID卡內(nèi)部陣列存儲空間結(jié)構(gòu) 1.1.2讀卡器簡介 本次課程設(shè)計所研究ID卡讀卡器設(shè)計,是RFID技術(shù)的具體應(yīng)用,其原理等同于RFID技術(shù)的原理。 RFID技術(shù)的基本工作原理:應(yīng)答器進(jìn)入磁場后,接收讀卡器發(fā)出的射頻信號,憑借感應(yīng)

9、電流所獲得的能量發(fā)送出存儲在芯片中的產(chǎn)品信息(Passive Tag,無源標(biāo)簽或被動標(biāo)簽),或者主動發(fā)送某一頻率的信號(Active Tag,有源標(biāo)簽或主動標(biāo)簽);讀卡器讀取信息并解碼后,送至中央信息系統(tǒng)進(jìn)行有關(guān)數(shù)據(jù)處理。 一套完整的RFID系統(tǒng),是由讀卡器(Reader)與電子標(biāo)簽(TAG)也就是所謂的應(yīng)答器(Transponder)及應(yīng)用軟件系統(tǒng)三個部份所組成,其工作原理是Reader 發(fā)射一特定頻率的無線電波能量給Transponder,用以驅(qū)動電路將內(nèi)部的數(shù)據(jù)送出,此時 Reader 便依序接收解讀數(shù)據(jù),送給應(yīng)用程序做相應(yīng)的處理。以RFID 卡片閱讀器及電子標(biāo)簽之間的通訊及能量感應(yīng)方

10、式來看大致上可以分成,感應(yīng)偶合(Inductive Coupling) 及后向散射偶合(Backscatter Coupling)兩種, 一般低頻的RFID大都采用第一種式,而較高頻大多采用第二種方式。 精品 . 基本工作方式分全雙工和半雙式以及時序系統(tǒng)。在全雙工和半雙工系統(tǒng)中,在讀卡器接通高頻電/磁場的情況下應(yīng)答器的應(yīng)答響應(yīng)發(fā)送出去的。因?yàn)榕c讀卡器本身的信號相比,在接收天線上的應(yīng)答器的信號很弱的,只有使用合適的傳輸方法,才能有效區(qū)分應(yīng)答器的信號與讀卡器的信號?,F(xiàn)實(shí)生活中,人們對應(yīng)答器到讀卡器的數(shù)據(jù)傳輸往往使用讀卡器發(fā)射頻率的諧波,負(fù)載調(diào)制,或者有副載波的負(fù)載調(diào)制,在市場上不難找

11、到相對應(yīng)的產(chǎn)品。時序方法則相反,閱讀器的電/磁場短時間周期的斷開,這些間隔被應(yīng)答器識別出來,并被用于應(yīng)答器到閱讀器的數(shù)據(jù)傳輸。缺點(diǎn)就是:在閱讀器發(fā)送間隙里時,應(yīng)答器的能量供應(yīng)中斷,這就必須通過裝入大容量的輔助性電容或輔助電池進(jìn)行補(bǔ)償。 讀卡器根據(jù)使用的結(jié)構(gòu)和技術(shù)不同可以是讀或讀/寫裝置,是RFID系統(tǒng)信息控制和處理中心。讀卡器通常由耦合模塊、收發(fā)模塊、控制模塊和接口單元組成。讀卡器和應(yīng)答器之間一般采用半雙工通信方式進(jìn)行信息交換,同時閱讀器通過耦合給無源應(yīng)答器提供能量和時序。 在實(shí)際應(yīng)用中,可進(jìn)一步通過Ethernet或WLAN等實(shí)現(xiàn)對物體識別信息的采集、處理及遠(yuǎn)程傳送等管理功能。應(yīng)答器是RF

12、ID系統(tǒng)的信息載體,目前應(yīng)答器大多是由耦合原件(線圈、微帶天線等)和微芯片組成無源單元。 1.1.3編碼簡介 射頻識別系統(tǒng)完全可以把它認(rèn)為是一個數(shù)字通信系統(tǒng),從讀卡器向應(yīng)答器的傳輸可以分為三個主要功能模塊:依次是閱讀器中的信號編碼(信號處理)和調(diào)制器(載波電路),傳輸介質(zhì)(通路),以及應(yīng)答器中的解調(diào)器(載波回路)和信號譯碼(信號處理)。信號編碼系統(tǒng)的作用是使要傳輸?shù)男畔⒑退男盘柋硎颈M可能最佳地與傳輸通道的性能相匹配。這種處理可以對信息提供某種程度的保護(hù),以抗干擾或防信息碰撞,以及對信息某種特征的蓄意改變。常用的編碼方式有:NRZ(反向不歸零制)編碼、曼徹斯特(manchester

13、)編碼、單極歸零制編碼(Unipolar RZ)、差動雙相編碼(DBR)、米勒編碼(miller)、差動編碼和脈沖-間隙(PP)編碼。本設(shè)計所采用的是曼徹斯特(manchester)編碼:在半個比特周期時的負(fù)邊沿表示二進(jìn)制l,半個比特周期中的正邊沿表示二進(jìn)制0。曼徹斯特編碼在采用副載波的負(fù)載調(diào)制時經(jīng)常用于從應(yīng)答器到閱讀器的數(shù)據(jù)傳輸。 精品 . 1.2課程設(shè)計目的 (1)熟悉和掌握RFID的一般組成和工作原理; (2)認(rèn)識RFID技術(shù)的特點(diǎn)及優(yōu)勢; (3)初步了解到RFID的應(yīng)用現(xiàn)狀和前景; (4)通過實(shí)驗(yàn)熟練掌握RFID課程設(shè)計的各工作部分的工作原理、低頻,高頻電路的一般調(diào)試方法

14、; (5)進(jìn)一步鞏固實(shí)際動手能力,培養(yǎng)嚴(yán)謹(jǐn)?shù)膶?shí)驗(yàn)作風(fēng)。 1.3課程設(shè)計設(shè)備 PC機(jī),調(diào)試程序,硬件電路,數(shù)據(jù)線,ID卡。 精品 . 1.4課程設(shè)計模塊組成 ID讀卡器主要由MCU(STC89S52)控制電路、射頻基站(U2270)電路、串行通信(MAX232)電路、電源電路,蜂鳴器電路,復(fù)位電路等組成。(由于本次課程設(shè)計沒有用到12864顯示電路所以下面不做詳細(xì)介紹。) 1.5課程設(shè)計流程 1.5.1課程設(shè)計的設(shè)計流程 課程設(shè)計的設(shè)計流程:學(xué)習(xí)RFID和ID卡的相關(guān)知識,學(xué)習(xí)并看懂電路圖,然后根據(jù)電路圖焊接元器件,學(xué)習(xí)單片機(jī)的主程序,最后小組討論交

15、流,做出本次課程設(shè)計的報告。 1.5.2課程設(shè)計系統(tǒng)的工作流程 系統(tǒng)的工作流程:MCU控制U2270,對ID卡進(jìn)行操作,然后根據(jù)所得到的數(shù)據(jù)對MAX232接口通信,把數(shù)據(jù)傳給計算機(jī)。 1.6課程設(shè)計電路圖 電路圖: 精品 . 精品 . 2.課程設(shè)計硬件部分 基于前面對讀卡器原理的理論研究,設(shè)計了低頻讀卡器。本節(jié)將詳細(xì)介紹讀卡器的硬件電路設(shè)計、電路焊接等。 2.1硬件電路 2.1.1模塊一:MCU(STC89S52)控制電路 MCU(Micro Controller Unit)系統(tǒng)微處理采用宏晶科技公司的8位

16、單片機(jī)STC89C52,該單片機(jī)是8位高性能MCU,超低功耗;掉電模式下典型功耗<0.1微安,空閑模式下典型功耗2毫安,正常工作模式下典型功耗4-7毫安。具有8k Flash 存儲器、512kB RAM、2k E^2P ROM、降低EMI功能、ISP(在系統(tǒng)可編程)功能。單片機(jī)內(nèi)部的看門狗電路經(jīng)過特殊處理,是真正的看門狗,可放心省去外部看門狗。缺省為關(guān)閉,打開后無法關(guān)閉,單倍速和雙倍速可反復(fù)設(shè)置。另外,掉電模式可由外部中斷喚醒,特別適用于電池供電系統(tǒng)。 精品 . MCU(STC89S52)控制電路 2.1.2模塊二:射頻基站(U2270B)電路 射頻卡讀寫器的關(guān)鍵芯片是射頻卡

17、基站芯片,它主要用于完成數(shù)據(jù)的調(diào)制、發(fā)射和射頻的接收以及數(shù)據(jù)的解調(diào)任務(wù)。U2270B是發(fā)射頻率為125kHz的射頻卡基站芯片。在眾多的射頻卡基站芯片中,U2270B是一種低成本、性能完善的低頻(100~150kHz)射頻卡基站芯片,其主要特點(diǎn)如下: (1)載波振蕩器能產(chǎn)生100kHz~150kHz的振蕩頻率,并可通過外接電阻進(jìn)行精確調(diào)整,其典型應(yīng)用頻率為125kHz。 (2)典型數(shù)據(jù)傳輸速率為5kbps(125kHz時)。 (3)適用于曼徹斯特編碼和雙相位編碼。 精品 . (4)帶有微處理器接口,可與單片機(jī)直接連接。 (5)供電方式靈活,可以采用+5V直流供電,也可以采用汽

18、車用+12V供電,同時具有電壓輸出功能,可以給微處理器或其它外圍電路供電。 (6)具有低功耗待機(jī)模式,可以極大地降低基站的耗電量。 (7)125kHz時的典型讀寫距離為15mm。 (8) 適用于對TEMIC的e5530/e5550/e5560射頻卡進(jìn)行讀寫操作。 射頻基站(U2270B)電路 2.1.3模塊三:串行通信(MAX232)電路 MAX232芯片是專門為電腦的RS-232標(biāo)準(zhǔn)串口設(shè)計的接口電路,使用+5V的單電源供電。 內(nèi)部結(jié)構(gòu)基本可分三個部分: 精品 . 第一部分是電荷泵電路。由1、2、3、4、5、6腳和4只電容構(gòu)成。功能是

19、產(chǎn)生+12v和-12v兩個電源,提供給RS-232串口電平的需要。 第二部分是數(shù)據(jù)轉(zhuǎn)換通道。由7、8、9、10、11、12、13、14腳構(gòu)成兩個數(shù)據(jù)通道。其中13腳(R1IN)、12腳(R1OUT)、11腳(T1IN)、14腳(T1OUT)為第一數(shù)據(jù)通道。8腳(R2IN)、9腳(R2OUT)、10腳(T2IN)、7腳(T2OUT)為第二數(shù)據(jù)通道。TTL/CMOS數(shù)據(jù)從T1IN、T2IN輸入轉(zhuǎn)換成RS-232數(shù)據(jù)從T1OUT、T2OUT送到電腦DP9插頭;DP9插頭的RS-232數(shù)據(jù)從R1IN、R2IN輸入轉(zhuǎn)換成TTL/CMOS數(shù)據(jù)后從R1OUT、R2OUT輸出。 第三部分

20、是供電。15腳DNG、16腳VCC(+5v)。 串行通信(MAX232)電路 2.1.4模塊四:電源電路 電源模塊是可以直接貼裝在印刷電路板上的電源供應(yīng)器,其特點(diǎn)是可為專用集成電路(ASIC)、數(shù)字信號處理器 (DSP)、微處理器、存儲器、現(xiàn)場可編程門陣列 (FPGA) 及其他數(shù)字或模擬負(fù)載提供供電。一般來說,這類模塊稱為負(fù)載點(diǎn) (POL) 電源供應(yīng)系統(tǒng)或使用點(diǎn)電源供應(yīng)系統(tǒng) (PUPS)。由于模塊式結(jié)構(gòu)的優(yōu)點(diǎn)甚多,因此模塊電源廣泛用于交換設(shè)備、接入設(shè)備、移動通訊、微波通訊以及光傳輸、路由器等通信領(lǐng)域和汽車電子、航空航天等。 精品 . 2.1.5模塊五

21、:復(fù)位電路 復(fù)位電路,就是利用它把電路恢復(fù)到起始狀態(tài)。就像計算器的清零按鈕的作用一樣,以便回到原始狀態(tài),重新進(jìn)行計算。和計算器清零按鈕有所不同的是,復(fù)位電路啟動的手段有所不同。一是在給電路通電時馬上進(jìn)行復(fù)位操作;二是在必要時可以由手動操作;三是根據(jù)程序或者電路運(yùn)行的需要自動地進(jìn)行。復(fù)位電路都是比較簡單的大都是只有電阻和電容組合就可以辦到了,再復(fù)雜點(diǎn)就有三極管等配合程序來進(jìn)行了。 52單片機(jī)要復(fù)位只需要在第9引腳接個高電平持續(xù)2us就可以實(shí)現(xiàn),那這個過程是如何實(shí)現(xiàn)的呢?在單片機(jī)系統(tǒng)中,系統(tǒng)上電啟動的時候復(fù)位一次,當(dāng)按鍵按下的時候系統(tǒng)再次復(fù)位,如果釋放后再按下,系統(tǒng)還會復(fù)位。所

22、以可以通過按鍵的斷開和閉合在運(yùn)行的系統(tǒng)中控制其復(fù)位。 精品 . 那么開機(jī)的時候?yàn)槭裁礊閺?fù)位?在電路圖中,電容的的大小是10uf,電阻的大小是10k。所以根據(jù)公式,可以算出電容充電到電源電壓的0.7倍(單片機(jī)的電源是5V,所以充電到0.7倍即為3.5V),需要的時間是10K*10UF=0.1S。也就是說在電腦啟動的0.1S內(nèi),電容兩端的電壓時在0~3.5V增加。這個時候10K電阻兩端的電壓為從5~1.5V減少(串聯(lián)電路各處電壓之和為總電壓)。所以在0.1S內(nèi),RST引腳所接收到的電壓是5V~1.5V。在5V正常工作的51單片機(jī)中小于1.5V的電壓信號為低電平信號,而大于1.5V的電

23、壓信號為高電平信號。所以在開機(jī)0.1S內(nèi),單片機(jī)系統(tǒng)自動復(fù)位(RST引腳接收到的高電平信號時間為0.1S左右)。 那么按鍵按下的時候?yàn)槭裁磿?fù)位?在單片機(jī)啟動0.1S后,電容C兩端的電壓持續(xù)充電為5V,這是時候10K電阻兩端的電壓接近于0V,RST處于低電平所以系統(tǒng)正常工作。當(dāng)按鍵按下的時候,開關(guān)導(dǎo)通,這個時候電容兩端形成了一個回路,電容被短路,所以在按鍵按下的這個過程中,電容開始釋放之前充的電量。隨著時間的推移,電容的電壓在0.1S內(nèi),從5V釋放到變?yōu)榱?.5V,甚至更小。根據(jù)串聯(lián)電路電壓為各處之和,這個時候10K電阻兩端的電壓為3.5V,甚至更大,所以RST引腳又接收到高電平。單片機(jī)

24、系統(tǒng)自動復(fù)位。 總結(jié): (1)復(fù)位電路的原理是單片機(jī)RST引腳接收到2US以上的電平信號,只要保證電容的充放電時間大于2US,即可實(shí)現(xiàn)復(fù)位,所以電路中的電容值是可以改變的。 (2)按鍵按下系統(tǒng)復(fù)位,是電容處于一個短路電路中,釋放了所有的電能,電阻兩端的電壓增加引起的。 精品 . 復(fù)位電路 2.1.6模塊六:蜂鳴器電路 蜂鳴器是一種一體化結(jié)構(gòu)的電子訊響器,采用直流電源供電,廣泛應(yīng)用于計算機(jī)、打印機(jī)、復(fù)印機(jī)、報警器、電子玩具、汽車電子設(shè)備、電話機(jī)、定時器等電子產(chǎn)品中作發(fā)聲器件。主要分為壓電式蜂鳴器和電磁式蜂鳴器兩種類型。蜂鳴器的電路圖形符號:蜂鳴器在電路中用字母“H”或“HA”(

25、舊標(biāo)準(zhǔn)用“FM”、“LB”、“JD”等)表示。 蜂鳴器電路 2.2硬件電路的焊接 對于硬件電路的設(shè)計來說,其工作是相當(dāng)嚴(yán)謹(jǐn)?shù)囊笫菢O為精細(xì),不允許有任何錯誤和誤差,即使是電路的原理設(shè)計完全正確,也不能保證電路板制作出來之后焊接上器件就可以立刻正常工作。一個未經(jīng)調(diào)試的電路板,可能有來自原理圖錯誤,PCB版圖設(shè)計失誤,PCB制作廠商的質(zhì)量問題,元器件焊接問題以及元器件質(zhì)量問題等多方面的因素導(dǎo)致無法正常工作。 精品 . 本次課程設(shè)計是在按照設(shè)計留出了電路通道,并在通道上預(yù)留了各種元件的焊接位置的電路板上焊接電子元器件,參照原理圖以及PCB圖,器件的焊接主要是根據(jù)原理圖及PCB板在電路板上

26、排布電子元器件,以功能模塊為主的形式組合,并把元器件焊接到電路板上。 3. 軟件程序設(shè)計 本次課程設(shè)計的軟件程序是針對52單片機(jī)進(jìn)行編寫的。 3.1主程序 /******************************************** MR系列ID卡讀卡演示程序 精品 . *************************************************/ #include #include #include

27、h> #include #include #include sbit P12=P1^2; //蜂鳴器 sbit P14=P1^4; //指示燈 sbit P13=P1^3; sbit P11=P1^1; //解碼輸入 sbit LCD_RS = P3^5; //寄存器選擇輸入 sbit LCD_RW = P3^6; //液晶讀/寫控制 sbit LCD_EN = P3^4; //液晶使能控制 sbit LCD_P

28、SB = P3^7; //串/并方式控制 #define uchar unsigned char #define uint unsigned int #define LCD_data P0 //數(shù)據(jù)口 #define SPK P12 //蜂鳴器 #define LED P14 //指示燈 #define LED2 P13 #define INPORT P11 //解碼輸入 精品 . //用來區(qū)分脈沖寬度的參數(shù) #define TIME00 50 #define TIME05 260 #defin

29、e TIME10 550 uchar flag; unsigned long sum; int n=8; bit bitin; //上一次的狀態(tài)位 unsigned char Buff[30]; //解碼緩沖區(qū) unsigned char string[10]; unsigned char code dis1[] = {"臨沂大學(xué)信息學(xué)院"}; //8 unsigned char code dis2[] = {" 2013-2014-1"}; //16 unsigned char code dis3[] = {" 期末考試"};//7 unsigned

30、 char dis4[] = {"卡號:"}; //6 void lcd_pos(char X,char Y); //確定顯示位置 /*******************************************************************/ /* */ /* 延時函數(shù) */ /*

31、 */ /*******************************************************************/ void delay(int ms) { int i,j; for(j=0;j

32、 */ /*檢查LCD忙狀態(tài) */ /*lcd_busy為1時,忙,等待。lcd-busy為0時,閑,可寫指令與數(shù)據(jù)。 */ /* */ /***************************************************************

33、****/ bit lcd_busy() { uchar result; LCD_RS = 0; LCD_RW = 1; // delayNOP(); while(1) { P0=0xff; LCD_EN = 1; result =P0; LCD_EN = 0; if((result&0x80)==0) break; } } /*******************************************

34、************************/ 精品 . /* */ /*寫指令數(shù)據(jù)到LCD */ /*RS=L,RW=L,E=高脈沖,D0-D7=指令碼。 */ /* */

35、 /*******************************************************************/ void lcd_wcmd(uchar cmd) { lcd_busy(); LCD_RS = 0; LCD_RW = 0; LCD_EN = 0; LCD_data = cmd; delay(5); LCD_EN = 1; delay(5); LCD_EN = 0; } /******************

36、*************************************************/ /* */ /*寫顯示數(shù)據(jù)到LCD */ /*RS=H,RW=L,E=高脈沖,D0-D7=數(shù)據(jù)。 */ /*

37、 */ /*******************************************************************/ void lcd_wdat(uchar dat) { 精品 . lcd_busy(); LCD_RS = 1; LCD_RW = 0; LCD_EN = 0; LCD_data = dat; delay(5); LCD_EN = 1; delay(5); LCD_EN = 0

38、; delay(5); } /*******************************************************************/ /* */ /* LCD初始化設(shè)定 */ /* */ /*

39、******************************************************************/ void lcd_init() { //LCD_PSB=0; //串口方式 LCD_PSB = 1; //并口方式 lcd_wcmd(0x34); //擴(kuò)充指令操作 delay(5); lcd_wcmd(0x30); //基本指令操作 delay(5); // lcd_wcmd(0x30); //起始點(diǎn)設(shè)定,光標(biāo)右移 精品 . lcd_w

40、cmd(0x0C); //顯示開,關(guān)光標(biāo) delay(5); lcd_wcmd(0x01); //清除LCD的顯示內(nèi)容 delay(5); // lcd_wcmd(0x06); //地址歸零 //lcd_wcmd(0x01); //清除LCD的顯示內(nèi)容 /// delay(5); } /*********************************************************/ /*

41、 */ /* 設(shè)定顯示位置 */ /* */ /*********************************************************/ void lcd_pos(uchar X,uchar Y) { uchar pos; if (X==0) {X=0x80;} else if (

42、X==1) {X=0x90;} else if (X==2) {X=0x88;} else if (X==3) {X=0x98;} 精品 . pos = X+Y ; lcd_wcmd(pos); //顯示地址 } void delay_ms(unsigned int ms) { unsigned char i; while(ms--) { i=112; while(i--); } } void printchar(unsigned char ch) { int i

43、; unsigned long amount; amount=(unsigned long)ch; n--; for(i=n;i>0;i--) amount=amount*16; sum+=amount; } void printhex(unsigned char hex)//以十六進(jìn)制格式輸出1個字節(jié) { 精品 . unsigned char c; c=hex; c=c>>4; printchar(c); c=hex; c=c&0x0F; printchar(c); } //檢測數(shù)據(jù)位 unsigned

44、char readbit() { unsigned int mk=TIME10; //裝入超時值 TL0=TH0=0; //初始化計時器 TR0=1; //開始計時 while(--mk) //超時機(jī)制,防止死等 if(bitin!=INPORT) //有跳變 break; TR0=0; //停止計時 if(mk==0) //超時退出 return 0; bitin=INPORT; //保存狀態(tài) mk=TH0*256+TL0; //計算這樣跳變的脈寬 精品 . if((mk>TIME05)&&(mk<=TIME10

45、)) //一個周期 return 1; if((mk>=TIME00)&&(mk<=TIME05)) //半個周期 return 2; return 0; //出錯 } //讀一個完整的數(shù)據(jù)位 unsigned char readdata() { switch(readbit()) { case 1: //一個周期 return !bitin; case 2: //半個周期 if(readbit()!=2) return 2; //再讀一次半個周期 return !bitin; default: r

46、eturn 2; } } //接收并解碼 bit CheckData() { 精品 . unsigned char i,j; bitin=INPORT; //保存位狀態(tài) for(i=0;i<9;i++) //檢測9個數(shù)據(jù)位1 { if(readdata()!=1) return 0; } //讀取數(shù)據(jù) for(i=0;i<11;i++) { Buff[i]=0x00; for(j=0;j<5;j++) { Buff[i]<<=1; switch(readdata()) {

47、 case 0: //0 break; case 1: //1 Buff[i]|=0x08; break; case 2: //err return 0; 精品 . } } } //結(jié)束位 if(Buff[10]&0x08!=0x00) return 0; //行奇校驗(yàn)位 for(i=0;i<10;i++) if((((Buff[i]>>4) ^ (Buff[i]>>3) ^ (Buff[i]>>2) ^

48、 (Buff[i]>>1) ^ Buff[i])&0x08)!=0) return 0; //列奇校驗(yàn)位 j=0; for(i=0;i<11;i++) j=j ^ (Buff[i]&0x80); if(j!=0) return 0; for(i=0;i<11;i++) j=j ^ (Buff[i]&0x40); 精品 . if(j!=0) return 0; for(i=0;i<11;i++) j=j ^ (Buff[i]&0x20); if(j!=0) return 0;

49、 for(i=0;i<11;i++) j=j ^ (Buff[i]&0x10); if(j!=0) return 0; //完成 return 1; } bit ReadCardNo() { if(CheckData()) //檢測卡 { unsigned char i; //編碼輸出 Buff[0]=(Buff[2] & 0xF0) | (Buff[3]>>4 & 0x0F); Buff[1]=(Buff[4] & 0xF0) | (Buff[5]>>4 & 0x0F); Buff[2]=(Buff[6] & 0

50、xF0) | (Buff[7]>>4 & 0x0F); Buff[3]=(Buff[8] & 0xF0) | (Buff[9]>>4 & 0x0F); 精品 . flag=1; SPK=0; LED=0; LED2=1; n=8; sum=0; lcd_pos(3,3); for(i=0;i<4;i++) //串口輸出并且LCD顯示 printhex(Buff[i]); string[0]=sum/1000000000+0x30; string[1]=sum%1000000000/100000000

51、+0x30; string[2]=sum%100000000/10000000+0x30; string[3]=sum%10000000/1000000+0x30; string[4]=sum%1000000/100000+0x30; string[5]=sum%100000/10000+0x30; string[6]=sum%10000/1000+0x30; string[7]=sum%1000/100+0x30; string[8]=sum%100/10+0x30; string[9]=sum%10+0x30; delay_ms(300

52、); // for(i=0;i<10;i++) 精品 . // putchar(string[i]); for(i=0;i<10;i++) lcd_wdat(string[i]); SPK=1; LED=1; LED2=0; delay_ms(700); return 1; } return 0; } void init(void) { LED=0; SPK=0; LED2=0; TMOD=0x21; TH1=0xFD; SCON=0x50; PCON=0x00;

53、 TR1=1; TI=1; 精品 . //EA=1; INPORT=1; printf("Start\n"); delay_ms(300); LED=1; SPK=1; } main() { uchar i; //初始化 init(); lcd_init(); lcd_pos(0,0); //設(shè)置顯示位置為第二行的第1個字符 i = 0; while(dis1[i] != \0) { lcd_wdat(dis1[i]); //顯示字符

54、 i++; } lcd_pos(1,0); //設(shè)置顯示位置為第三行的第1個字符 精品 . i = 0; while(dis2[i] != \0) { lcd_wdat(dis2[i]); //顯示字符 i++; } lcd_pos(2,0); //設(shè)置顯示位置為第四行的第1個字符 i = 0; while(dis3[i] != \0) { lcd_wdat(

55、dis3[i]); //顯示字符 i++; } lcd_pos(3,0); //設(shè)置顯示位置為第四行的第1個字符 i = 0; while(dis4[i] != \0) { lcd_wdat(dis4[i]); //顯示字符 i++; } for(;;) { 精品 . ReadCardNo(); //在這里可以做其它事. } } 精品 . 總結(jié) ID卡讀卡器

56、是RFID技術(shù)的具體應(yīng)用,其表現(xiàn)形式相當(dāng)廣泛,與我們的生活生產(chǎn)息息相關(guān)。隨著芯片技術(shù)、天線技術(shù)、無線收發(fā)技術(shù)、數(shù)據(jù)變換與編碼技術(shù)、電磁傳播特性等技術(shù)的綜合發(fā)展,其應(yīng)用性能將得到進(jìn)一步的提高,使用范圍將進(jìn)一步延伸,將在門禁管理、資產(chǎn)回收、物料處理、醫(yī)療、寵物管理、工業(yè)自動化、聯(lián)合票證等領(lǐng)域擁有更加廣泛、高效、安全的應(yīng)用。 本次課程設(shè)計的核心工作是ID卡讀卡器設(shè)計開發(fā),本次課程設(shè)計所完成的主要工作及取得的成果如下: a) 對ID卡的研究,詳盡分析了ID卡工作原理,數(shù)據(jù)存儲發(fā)送方式,以及與讀卡器的通信原理。 b) 對射頻技術(shù)(RFID)技術(shù)從理論上進(jìn)行了分析和研究,包括無源標(biāo)簽的能量供應(yīng)、數(shù)據(jù)

57、傳輸工作方式、數(shù)據(jù)編碼方式。 c) 基于對讀卡器與射頻技術(shù)研究的基礎(chǔ)上,設(shè)計了以U2270B和STC89S52作為核心芯片讀卡器。主要工作是實(shí)際電路板的焊接與主程序的學(xué)習(xí)。 精品 . 精品 . 參 考 文 獻(xiàn) [1] 王汝琳. 智能門禁控制系統(tǒng)[M]. 北京: 電子工業(yè)出版社, 2004. [2] 林倩.RFID射頻識別技術(shù)淺議[J].科技經(jīng)濟(jì)市場,2008,8:29~30 [3] 范紅梅.RFID技術(shù)研究[D].杭州:浙江大學(xué),2006 [4] 陽永華.曼碼調(diào)制的非接觸ID卡通用讀卡程序編制[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用, 2005,(4)

58、: 75~76 [5] 徐精華, 張小林, 鄧洪峰. 電子標(biāo)簽識讀終端的研究與設(shè)計[J]. 微計算機(jī)信息, 2007, 23(11-2): 227~229. [6] 張浩博,張紅雨.應(yīng)用單片機(jī)的手持式RFID讀卡器設(shè)計[J].國外電子元器件,2008,9:45~47 [7] 陳文浩,朱義勝,張廣璐。寵物管理系統(tǒng)中RFID卡器設(shè)計[J].現(xiàn)代電子技術(shù),2008,12:61~62 [8] 周興華. 單片機(jī)智能化產(chǎn)品C語言設(shè)計實(shí)例詳解[M]. 北京: 北京航空航天大學(xué)出版社, 2006. [9] 范風(fēng)強(qiáng), 蘭嬋麗. 單片機(jī)語言C51應(yīng)用實(shí)戰(zhàn)集錦[M]. 北京: 電子工業(yè)出版社. 2005. [10] 張毅剛. 單片機(jī)原理及應(yīng)用北京[M]. 高等教育出版社. 2004. 如有侵權(quán)請聯(lián)系告知刪除,感謝你們的配合! 精品

展開閱讀全文
溫馨提示:
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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!

五月丁香婷婷狠狠色,亚洲日韩欧美精品久久久不卡,欧美日韩国产黄片三级,手机在线观看成人国产亚洲