基于rc522射頻ic刷卡控制開關(guān)設(shè)計(jì)_第1頁
已閱讀1頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、<p><b>  單片機(jī)課程設(shè)計(jì)</b></p><p>  項(xiàng)目名稱:門禁系統(tǒng)設(shè)計(jì)</p><p>  組員:楊坤 錢文浩 陸唐芳</p><p><b>  任務(wù)分工:</b></p><p>  電路焊接:楊坤 陸唐芳</p><p>  撰寫設(shè)計(jì)報(bào)告(電路

2、分析和程序分析)</p><p>  楊坤 錢文浩 陸唐芳</p><p>  時(shí)間:2018年6月21日至7月13日</p><p><b>  元器件清單:</b></p><p>  51/52系列單片機(jī)</p><p><b>  10uF電解電容</b></p

3、><p><b>  10K色環(huán)電阻</b></p><p><b>  1K色環(huán)電阻</b></p><p><b>  22pF瓷片電容</b></p><p>  11.0592Mhz晶振</p><p>  DIP40單片機(jī)插座</p>

4、<p>  7cm*9cm萬孔板/9*15cm萬孔板</p><p><b>  2.5mm排針</b></p><p><b>  自復(fù)位按鍵</b></p><p><b>  DC5V的電源座</b></p><p>  DC5V的USB電源線</p&g

5、t;<p>  小的LED電源指示燈</p><p><b>  焊接跳線</b></p><p><b>  4.7K排阻</b></p><p><b>  5V蜂鳴器</b></p><p>  PNP 9012驅(qū)動(dòng)三極管</p><p&

6、gt;<b>  RC522射頻模塊</b></p><p><b>  射頻IC卡</b></p><p>  AMS1117-3.3 5V轉(zhuǎn)3.3V芯片</p><p>  DC5V huike繼電器</p><p>  LCD1602液晶模塊</p><p><

7、b>  10K可調(diào)電阻</b></p><p>  AT24C02記憶存儲(chǔ)芯片</p><p>  DIP8 直插芯片座子</p><p><b>  12V電源適配器</b></p><p><b>  DC12V電磁鎖</b></p><p><b

8、>  實(shí)現(xiàn)功能 </b></p><p><b> ?。?)讀卡功能</b></p><p>  (2)添加管理卡功能</p><p> ?。?)增加、刪除用戶卡功能</p><p><b> ?。?)更改管理卡</b></p><p>  (5)清除所有用

9、戶卡</p><p> ?。?)鍵盤控制管理卡操作</p><p> ?。?)蜂鳴器實(shí)現(xiàn)刷卡、按鍵提示</p><p>  (8) 128×64點(diǎn)陣液晶顯示屏晶顯示IC卡序列號(hào)</p><p><b>  系統(tǒng)框圖</b></p><p>  該系統(tǒng)是以STC89C51單片機(jī)為基礎(chǔ),由電

10、源模塊、復(fù)位模塊、讀卡器模塊、繼電器模塊、和顯示模塊組成。</p><p><b>  系統(tǒng)硬件電路設(shè)計(jì)</b></p><p>  各模塊選用的硬件介紹</p><p>  讀卡器主要由讀卡模塊、單片機(jī)控制模塊、繼電器模塊、報(bào)警模塊組成等組成。使用FM1702sl讀卡器進(jìn)行讀寫非接觸式射頻卡,采用具有8K可編程Flash功能的STC89C52

11、單片機(jī)作為控制模塊,并且單片機(jī)與與FM1702sl之間使用SPI進(jìn)行通信的。</p><p>  STC89C52單片機(jī)介紹</p><p>  控制的核心選用STC89C52。其主要性能如下:主要性能 </p><p>  與MCS-51單片機(jī)產(chǎn)品兼容 </p><p>  8K字節(jié)在系統(tǒng)可編程Flash存儲(chǔ)器 </p>&l

12、t;p>  100000次擦寫周期 </p><p>  全靜態(tài)操作:0Hz~33Hz </p><p>  三級(jí)加密程序存儲(chǔ)器 </p><p>  32個(gè)可編程I/O口線 </p><p>  三個(gè)16位定時(shí)器/計(jì)數(shù)器 </p><p><b>  八個(gè)中斷源 </b></p>

13、;<p>  全雙工UART串行通道 </p><p>  低功耗空閑和掉電模式 </p><p><b>  掉電后中斷可喚醒 </b></p><p><b>  看門狗定時(shí)器 </b></p><p><b>  雙數(shù)據(jù)指針</b></p>&

14、lt;p><b>  掉電標(biāo)識(shí)符 </b></p><p> ?。?)功能特性描述 </p><p>  STC89C52是一種低功耗、高性能CMOS8位微控制器,具有8K 在系統(tǒng)可編程 Flash 存儲(chǔ)器。使用 Atmel 公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè) 80C51 產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。

15、在單芯片上,擁有靈巧的 8 位 CPU 和在系統(tǒng)可編程Flash,使得 STC89C52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。 AT89S52具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)Flash, 256字節(jié)RAM,32 位 I/O 口線,看門狗定時(shí)器,2 個(gè)數(shù)據(jù)指針,三個(gè) 16 位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量 2級(jí)中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。另外,AT89S52 可降至 0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電

16、模式??臻e模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。 </p><p><b> ?。?)引腳圖如下:</b></p><p>  圖3-1 STC89C52引腳圖</p><p><b> ?。?)引腳介紹

17、:</b></p><p>  VCC : 電源 </p><p><b>  GND: 地 </b></p><p>  P0 口:P0口是一個(gè)8位漏極開路的雙向I/O口。作為輸出口,每位能驅(qū)動(dòng)8個(gè)TTL邏輯電平。對(duì)P0端口寫“1”時(shí),引腳用作高阻抗輸入。 當(dāng)訪問外部程序和數(shù)據(jù)存儲(chǔ)器時(shí), P0口也被作為低8位地址/數(shù)據(jù)復(fù)用。在這

18、種模式下,P0具有內(nèi)部上拉電阻。 在 flash編程時(shí),P0口也用來接收指令字節(jié);在程序校驗(yàn)時(shí),輸出指令字節(jié)。程序校驗(yàn)時(shí),需要外部上拉電阻。 </p><p>  P1 口:P1 口是一個(gè)具有內(nèi)部上拉電阻的 8 位雙向 I/O 口,p1 輸出緩沖器能驅(qū)動(dòng) 4 個(gè)TTL 邏輯電平。對(duì) P1 端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流

19、(IIL) 。此外,P1.0和P1.2分別作定時(shí)器/計(jì)數(shù)器2的外部計(jì)數(shù)輸入(P1.0/T2)和時(shí)器/計(jì)數(shù)器2的觸發(fā)輸入(P1.1/T2EX) ,具體如下表所示。 在flash編程和校</p><p>  驗(yàn)時(shí),P1口接收低8位地址字節(jié)。</p><p>  表3-1 P1口第二功能</p><p>  P2 口:P2 口是一個(gè)具有內(nèi)部上拉電阻的 8 位雙向 I/O

20、口,P2 輸出緩沖器能驅(qū)動(dòng) 4 個(gè)TTL 邏輯電平。對(duì) P2 端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL) 。在訪問外部程序存儲(chǔ)器或用16位地址讀取外部數(shù)據(jù)存儲(chǔ)器 (例如執(zhí)行MOVX @DPTR)時(shí),P2 口送出高八位地址。在這種應(yīng)用中,P2 口使用很強(qiáng)的內(nèi)部上拉發(fā)送 1。在使用8位地址(如MOVX @RI)訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),P2口輸出P2鎖

21、存器的內(nèi)容。 在flash編程和校驗(yàn)時(shí),P2口也接收高8位地址字節(jié)和一些控制信號(hào)。 </p><p>  P3 口:P3 口是一個(gè)具有內(nèi)部上拉電阻的 8 位雙向 I/O 口,p2 輸出緩沖器能驅(qū)動(dòng) 4 個(gè)TTL 邏輯電平。對(duì) P3 端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL) 。P3口亦作為AT89S52特殊功能(第二功能

22、)使用,如下表所示。在flash編程和校驗(yàn)時(shí),P3口也接收一些控制信號(hào)。</p><p><b>  P3口第二功能</b></p><p>  RST: 復(fù)位輸入。晶振工作時(shí),RST腳持續(xù)2 個(gè)機(jī)器周期高電平將使單片機(jī)復(fù)位。看門狗計(jì)時(shí)完成后,RST 腳輸出 96 個(gè)晶振周期的高電平。特殊寄存器 AUXR(地址 8EH)上的DISRTO位可以使此功能無效。DISRTO

23、默認(rèn)狀態(tài)下,復(fù)位高電平有效。 </p><p>  ALE/PROG:地址鎖存控制信號(hào)(ALE)是訪問外部程序存儲(chǔ)器時(shí),鎖存低 8 位地址的輸出脈沖。在flash編程時(shí),此引腳(PROG)也用作編程輸入脈沖。在一般情況下,ALE 以晶振六分之一的固定頻率輸出脈沖,可用來作為外部定時(shí)器或</p><p>  時(shí)鐘使用。然而,特別強(qiáng)調(diào),在每次訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),ALE脈沖將會(huì)跳過。 <

24、/p><p>  如果需要,通過將地址為8EH的SFR的第0位置 “1”, ALE操作將無效。 這一位置 “1”,ALE僅在執(zhí)行 MOVX 或MOVC指令時(shí)有效。否則,ALE將被微弱拉高。這個(gè) ALE使能標(biāo)志位 (地址為8EH的SFR的第0位) 的設(shè)置對(duì)微控制器處于外部執(zhí)行模式下無效。 </p><p>  PSEN:外部程序存儲(chǔ)器選通信號(hào)(PSEN)是外部程序存儲(chǔ)器選通信號(hào)。 當(dāng) AT

25、89S52從外部程序存儲(chǔ)器執(zhí)行外部代碼時(shí),PSEN在每個(gè)機(jī)器周期被激活兩次,而在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),PSEN將不被激活。 EA/VPP:訪問外部程序存儲(chǔ)器控制信號(hào)。為使能從0000H 到FFFFH的外部程序存儲(chǔ)器讀取指令,EA必須接GND。 為了執(zhí)行內(nèi)部程序指令,EA應(yīng)該接VCC。在flash編程期間,EA也接收12伏VPP電壓。 </p><p>  XTAL1:振蕩器反相放大器和內(nèi)部時(shí)鐘發(fā)生電路的輸入端。

26、</p><p>  XTAL2:振蕩器反相放大器的輸出端。</p><p>  STC89C52的電路連接</p><p>  FM1702SL主要就是和單片機(jī)SPI通信部分,芯片本身的初始化,然后就是讀寫之類的功能操作。讀IC卡,主要就是尋卡,能尋到卡??梢哉f就成功一大半了。在這里我說一下,我在用示波器看TX1,TX2腳的時(shí)候,是一個(gè)類似山脈起伏一樣的13.56

27、MHZ的波形,電壓的話,大概就是2.6V左右。</p><p>  該系統(tǒng)中STC89C52與FM1702采用SPI通信連接,F(xiàn)M1702sl與單片機(jī)P0口相連,電源與地之間接一個(gè)電阻容,如果上電后,初始化成功,則提示刷卡;若初始化失敗,則留在初始化界面。</p><p><b>  USB供電接口</b></p><p>  USB是一種常用

28、的pc接口,只有四根線,兩根電源線,兩根信號(hào)線。因?yàn)樾盘?hào)是串行傳輸?shù)膗sb接口也成為串行口,usb2.0的速度可以達(dá)到480Mbps。可以滿足各種工業(yè)和民用需要。</p><p>  Usb接口的四根線一般是下面這樣分配的,需要注意的是千萬不能把正負(fù)極弄反了,否則會(huì)燒掉usb設(shè)備或電腦芯片:</p><p>  12864液晶顯示屏的使用</p><p>  想要在

29、液晶屏上顯示某一字符需要先設(shè)定字符的位置,也就是說先設(shè)定顯示地址,再把中文字符的編碼寫入進(jìn)去。</p><p>  2字節(jié)字符編碼,應(yīng)先高后低。</p><p>  只有在BF為0時(shí)處理器才能接收新的指令</p><p>  “RE”為基本指令集和擴(kuò)充指令集的選擇控制位,如果變更“RE”,以后的指令集將維持在最后的狀態(tài),除非再次變更“RE”位,否則使用相同指令集時(shí),

30、無需每次均重設(shè)“RE”位。</p><p>  51單片機(jī)的P2口有內(nèi)部上拉電阻,因此不需要接外部上拉電阻就能能輸出邏輯0和1,而使引腳保持高電平。12864的D17和D19管腳接5V電源,D7到D15管腳接到單片機(jī)的P2.0到P2.8管腳。這樣,當(dāng)引腳空閑的時(shí)候輸出的是1,接地的時(shí)候輸出的是0。</p><p><b>  刷卡模塊</b></p>&

31、lt;p><b>  (一)工作原理</b></p><p>  信息存儲(chǔ)在Mifare卡里,讀寫器與Mifare卡通過天線建立起二者之間非接觸信息傳輸通道。當(dāng)Mifare卡進(jìn)人系統(tǒng)的工作區(qū)域時(shí),讀寫器向Mifare卡發(fā)一組固定頻率的電磁波,Mifare卡內(nèi)有一個(gè)LC串聯(lián)諧振電路,兩者相同,在電磁波的激勵(lì)下,Lc諧振電路產(chǎn)生共振,從而使電容內(nèi)有電荷,在這個(gè)電容的另一端,接有一個(gè)單向?qū)?/p>

32、的電子泵,把一個(gè)電容內(nèi)的電荷存儲(chǔ)到另一個(gè)電容內(nèi),當(dāng)總電荷達(dá)到2V時(shí),因此這個(gè)電容也可以作為電源為其它電路提供電壓,將卡內(nèi)數(shù)據(jù)發(fā)射出去或讀取讀寫器的數(shù)據(jù)。通過調(diào)整天線驅(qū)動(dòng)電壓改變通信的最長距離。</p><p>  FMl702SL與MCU的接口電路</p><p>  圖3-5 FM1702sl與MCU接口電路</p><p>  電路如圖3-5所示,MCU與FMl

33、702SL是通過SPI總線通信的,使用中斷工作模式。要注意的是FMl702SL經(jīng)過復(fù)位后,必須要進(jìn)行一次初始化程序以便初始化SPI接口模式,以便同步MCU和FMl702SL的啟動(dòng)工作。 (二)讀寫器天線的設(shè)計(jì)</p><p>  根據(jù)互感原理可知,半徑越大、匝數(shù)越多,讀寫器上和卡互感系數(shù)就越大。天線可等效成R、L、c并聯(lián)回路,如圖3-6所示</p><p>  設(shè)計(jì)天線時(shí)要注意天線的品

34、質(zhì)因數(shù)。國際標(biāo)準(zhǔn)ISOl4443規(guī)定無論TYPEA或TYPEB非接觸式IC卡,讀寫器和卡之間的數(shù)據(jù)傳輸速度為106kbit/s,載波的頻率f=13.56MHz,因此,每一位的數(shù)據(jù)維持的時(shí)間t=106/104k=9.44μs,TypeA類射頻卡智能卡讀寫器到射頻卡的信號(hào)編碼是修正米勒編碼,傳送每一位數(shù)具有t=3μs的載波中斷,因此,該信號(hào)的帶寬近似為B=lT=1/3μs=333.333kHz,故天線的品質(zhì)因數(shù)Q= f/B=13.56 MH

35、z33.333kHz=35,天線的傳輸帶寬與品質(zhì)因數(shù)成反比關(guān)系。因此,過高的品質(zhì)因數(shù)會(huì)導(dǎo)致帶寬縮小,從而減弱讀寫器的調(diào)制邊帶,會(huì)導(dǎo)致讀寫器無法與卡通信。</p><p>  圖3-6 讀寫器天線</p><p> ?。ㄈ┳x寫器對(duì)卡的操作流程</p><p>  FMl702SL內(nèi)部一共有8個(gè)寄存器頁,每頁又有8個(gè)寄存器,每個(gè)寄存器又有8位數(shù)據(jù)。這些寄存器是統(tǒng)一編

36、址的,從Ox00~0x3F,MCU通過SPI接口與 FMl702SL通信對(duì)寄存器進(jìn)行設(shè)置。要注意的是,MCU對(duì)卡片的操作不能僅靠一條指令完成,其中必須有對(duì)FMl702SL硬件內(nèi)部寄存器的設(shè)置。操作步驟如圖3-5所示。</p><p>  圖3-7 MCU對(duì)卡片的操作</p><p>  (1)復(fù)位初始化FMr702SL:初始化FMl702SL的SPI接口,初始化FMl702SL定時(shí)器,設(shè)

37、置定時(shí)器控制寄存器,打開Txl、TX2。</p><p>  (2)請(qǐng)求:當(dāng)一張卡片處在讀寫器的天線的工作范圍之內(nèi)時(shí),程序員控制讀寫器向卡片發(fā)出R:EQUEsT all命令??ㄆ腁TR將啟動(dòng),將卡片BLOCkO中的卡片類型(TagType)號(hào)共2個(gè)字節(jié)傳送給讀寫器,建立卡片與讀寫器的第一步通信聯(lián)絡(luò)。如果不進(jìn)行復(fù)位請(qǐng)求操作,讀寫器對(duì)卡片的其它操作將不會(huì)進(jìn)行。</p><p>  (3)防沖

38、突機(jī)制:如果有多張卡片處在卡片讀寫器的天線的工作范圍之內(nèi)時(shí),讀寫器將會(huì)讀取最近的一張卡片序列號(hào)</p><p>  (4)選擇卡片:完成了上述二個(gè)步驟之后,讀寫器必須對(duì)卡片進(jìn)行選擇操作。執(zhí)行操作后,返回卡上的SIZE字節(jié)。</p><p>  (5)三次相互驗(yàn)證:經(jīng)過上述三個(gè)步驟,在確認(rèn)已經(jīng)選擇了一張卡片時(shí),讀寫器在對(duì)卡進(jìn)行讀寫操作之前,已經(jīng)對(duì)卡上設(shè)置好的密碼進(jìn)行確認(rèn)。如果匹配,才允許進(jìn)一

39、步的讀寫操作。</p><p>  (6)讀寫操作:對(duì)卡的最后操作是讀、寫、增值、減值、存儲(chǔ)和傳送等操作。</p><p><b>  電子鎖控制</b></p><p>  電子鎖控制采用9012三極管驅(qū)動(dòng)5V繼電器,單片機(jī)的輸出OUT通過9012三極管驅(qū)動(dòng)繼電器, 繼電器的輸出直接接繼電器線圈的一端,線圈的另一端接GND。繼電器的公共點(diǎn)和長

40、開點(diǎn)分別接電子鎖的兩跟控制線由于電子鎖的開關(guān)是靠兩根控制線是否連通來控制的,當(dāng)兩根控制線接在一起時(shí)就開門,反之如果兩根控制線斷開就鎖門。因此當(dāng)單片機(jī)的輸出端輸出高電平時(shí)三極管倒通,9012的輸入端為低電平,由于9012在這電路中起到開關(guān)作用,因此9012輸出為高電平。此時(shí)繼電器線圈上有電流流過,繼電器吸合,電子鎖的兩根控制線接通,電子鎖開門。反之,如果單片機(jī)輸出高電平三極管不倒通, 9012三極管的輸出為低電平,因此繼電器線圈沒電路,繼

41、電器不動(dòng)作,電子鎖的控制線保持?jǐn)嚅_,電子鎖鎖門。如圖3-6所示:</p><p><b>  報(bào)警模塊</b></p><p>  報(bào)警電路有一個(gè)直流蜂鳴器和9012三極管構(gòu)成,電路圖如圖3-9所示。圖中Alarm為單片機(jī)的P1.0腳,當(dāng)需要蜂鳴器報(bào)警時(shí)只需要將單片機(jī)的P1.0管腳置為高電平,三極管倒通,電流從+5V電源經(jīng)過蜂鳴器和三極管的CE極流向地,蜂鳴器有電流流

42、過則發(fā)聲報(bào)警。當(dāng)單片機(jī)P1.0管腳為低電平時(shí),三極管截止,沒有電流從蜂鳴器流過,蜂鳴器停止發(fā)聲,因此通過控制單片機(jī)P1.0管腳的高電平時(shí)間就可以控制縫鳴器的報(bào)警時(shí)間.</p><p>  射頻卡讀卡器塊的復(fù)位電路</p><p>  射頻卡讀卡器塊的采用了按鍵復(fù)位電路, 當(dāng)系統(tǒng)發(fā)生故障,可通過按下復(fù)位按鍵,系統(tǒng)將復(fù)位,讓系統(tǒng)重新初始化運(yùn)行。</p><p>  按下

43、設(shè)置鍵,把工作模式切換到“Register Mode”后,刷卡并顯示卡號(hào)自動(dòng)注冊(cè)。注冊(cè)完成后液晶顯示注冊(cè)完成。再次刷這張IC卡時(shí),就能開門。</p><p>  按下設(shè)置鍵,注銷通行卡(清除存儲(chǔ)器的卡號(hào)數(shù)據(jù))。</p><p>  按下設(shè)置鍵,把工作模式切換到“Clear buffer”后,按下“確認(rèn)鍵”,就把存儲(chǔ)里保存的卡號(hào)數(shù)據(jù)清除。清除數(shù)據(jù)后,IC卡已經(jīng)處于注銷狀態(tài)。</p>

44、;<p><b>  軟件代碼分析</b></p><p>  分析系統(tǒng)流程是按固定順序執(zhí)行的,開始讀卡等待驗(yàn)證是否滿足開門延遲后自動(dòng)關(guān)門,刷卡失敗后,初始化合法IC卡。讀卡主要流程包括尋卡、防沖突、選擇卡片、讀取卡片和卡掛起5步。</p><p><b>  尋卡</b></p><p>  尋卡首先要進(jìn)行

45、系統(tǒng)初始化階段然后感應(yīng)區(qū),感應(yīng)到有卡進(jìn)去感應(yīng)區(qū)域,由單片機(jī)判斷該卡片的合法性,如果合法則進(jìn)行FM1702的中斷處理程序;如果不合法則蜂鳴器報(bào)警返回系統(tǒng)初始化。繼續(xù)尋卡操作。</p><p><b>  防沖突</b></p><p>  當(dāng)多張卡進(jìn)入感應(yīng)區(qū)域時(shí),調(diào)用防沖突函數(shù)進(jìn)行選取卡的序列號(hào)將所選取卡的序列號(hào)送到控制器進(jìn)行卡片的選擇確定。若果同時(shí)有多張卡進(jìn)入感應(yīng)區(qū)域

46、,則防沖突函數(shù)選取其中一張得到其序列號(hào)進(jìn)行操作。</p><p>  uchar AntiColl()</p><p><b>  {</b></p><p>  unsigned chartemp;</p><p>  unsigned chari;</p><p>  RevBuffer[

47、0] = RF_CMD_ANTICOL; //寫尋卡通訊命令93H</p><p>  RevBuffer[1] = 0x20; //寫尋卡通訊命令20H</p><p>  SPIWrite(0x22,0x03); //address 22H 選擇數(shù)據(jù)校驗(yàn)種類和類型</p><p>  temp = Command_Send(2,

48、 RevBuffer, Transceive);//Transceive=0X1E命令</p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  if(temp == FALSE)</p><p><b>  {</b>&

49、lt;/p><p>  return(1); //無卡</p><p><b>  } </b></p><p>  temp = SPIRead(0x04); //讀0x04里的返回卡號(hào)長度</p><p>  if(temp == 0)</p><p><b>  {<

50、/b></p><p>  return FM1702_BYTECOUNTERR; //接收字節(jié)長度錯(cuò)誤</p><p><b>  }</b></p><p><b>  選擇卡片</b></p><p>  將已知卡片的序列號(hào)讀出才是真正選取這張卡,自此之后該系統(tǒng)的所有讀,寫操作都針對(duì)這張

51、卡進(jìn)行。</p><p><b>  讀卡</b></p><p>  在此之前的幾步完成之后,就可以確定此卡可以在本系統(tǒng)中進(jìn)行使用,讀卡模塊會(huì)對(duì)此卡進(jìn)行讀寫操作,將卡信息通過單片機(jī)顯示在12864液晶顯示屏上。</p><p>  Read_FIFO(RevBuffer); //讀取卡號(hào) </p>

52、<p>  for(i = 0; i < temp; i++)</p><p><b>  {</b></p><p>  UID[i] = RevBuffer[i]; //把臨時(shí)寄存器中的卡號(hào)放在UID專用寄存器中</p><p><b>  }</b></p><p>  

53、temp = Check_UID();/* 校驗(yàn)收到的UID */</p><p>  if(temp == FALSE)</p><p><b>  {</b></p><p>  return(FM1702_SERNRERR);</p><p><b>  }</b></p>

54、<p>  return(0);</p><p><b>  }</b></p><p>  return(0);</p><p><b>  }</b></p><p><b>  卡掛起</b></p><p>  卡掛起狀態(tài)也就是說,同

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論