基于rfid的教室門禁系統(tǒng)設(shè)計_第1頁
已閱讀1頁,還剩36頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  本科畢業(yè)論文(設(shè)計)</p><p><b>  (2015屆)</b></p><p>  基于RFID的教室門禁系統(tǒng)設(shè)計</p><p>  院 系 電子信息工程學(xué)院 </p><p>  專 業(yè) 電氣工程及其自動化</p><p>  姓 名

2、 李浩 </p><p>  指導(dǎo)教師 申遠(yuǎn) 副教授 </p><p><b>  摘要</b></p><p>  本設(shè)計采用STC89C52單片機作為基本控制,并從蜂鳴器控制電路裝置,斷路指示燈,電源門鎖控制電路和8位數(shù)碼管顯示電路。訪問控制系統(tǒng)由CPU復(fù)位電路,電源指示,工作指令,晶振電路,所述門鎖控制電路,

3、讀取器模塊,液晶模塊顯示器等組成。通過刷卡開門IC通過具體方案的設(shè)計和實施完成:第一種是當(dāng)IC卡作為該卡的授權(quán),允許顯示模塊顯示的卡號而繼電器開門,燈光熄滅,當(dāng)涉及到非法時沒有顯示卡號,鎖車門不會打開。第二種是按鍵密碼開鎖,輸入正確密碼而繼電器開門,輸入錯誤而會報警。該系統(tǒng)的設(shè)計方便,卓越的性能,具有一定的實踐。</p><p>  關(guān)鍵詞: 門禁系統(tǒng) 單片機 讀卡器 IC卡</p><

4、p><b>  Abstract</b></p><p>  This design uses STC89C52 microcontroller as the basic control, and from the buzzer control circuit devices, circuit indicator, power door lock control circuit and

5、 8 digital tube display circuit. The access control system by the CPU reset circuit, power indicator, work instructions, crystal oscillator circuit, the door lock control circuit, reader module, LCD display modules and o

6、ther components. By credit card through the door IC design and implementation of specific programs to complete: the f</p><p>  Keywords: Access control system Single chip microcomputer </p>&l

7、t;p>  Card reader Electric control lock</p><p><b>  目 錄</b></p><p>  1 引言……………………………………………………………………… 1</p><p>  2 門禁系統(tǒng)方案設(shè)計與選擇………………………………………………………… 2</p>

8、<p>  2.1 方案的選擇 …………………………………………………………………… 2</p><p>  2.2 IC卡的選擇 ………………………………………………………………… 3</p><p>  2.3 設(shè)計原理 ……………………………………………………………………… 3</p><p>  2.4 設(shè)計功能………………………………

9、………………………………………… 3 </p><p>  3 門禁系統(tǒng)硬件電路的設(shè)計……………………………………………………… 4</p><p>  3.1 門禁系統(tǒng)電路基本原理………………………………………………………… 4</p><p>  3.1.1 門禁系統(tǒng)結(jié)構(gòu)圖……………………………………………………………… 4</p&g

10、t;<p>  3.1.2 門禁系統(tǒng)工作原理…………………………………………………………… 4</p><p>  3.2 門禁系統(tǒng)整體電路圖…………………………………………………………4 </p><p>  3.3 門禁系統(tǒng)各部分電路圖………………………………………………………5</p><p>  3.3.1 主控芯 STC89C52…

11、………………………………………………………… 5 </p><p>  3.3.2 門鎖電路……………………………………………………………………… 5</p><p>  3.3.3 報警電路…………………………………………………………………… 6 </p><p>  3.3.4 讀卡模塊 …………………………………………………………………… 8&l

12、t;/p><p>  3.5 顯示模塊…………………………………………………………………… 10 </p><p>  3.6 修改密碼…………………………………………………………………… 11</p><p>  3.7 硬件調(diào)試過程…………………………………………………………………11 </p><p>  4 門禁

13、系統(tǒng)軟件設(shè)計與調(diào)試………………………………………………………14</p><p>  4.1 系統(tǒng)軟件設(shè)計基本思路………………………………………………………14</p><p>  4.2 系統(tǒng)軟件主流程圖…………………………………………………………14 </p><p>  4.3 軟件調(diào)試………………………………………………………………………15 <

14、/p><p>  4.3.1 程序調(diào)試用到的軟件及工具…………………………………………………16 </p><p>  4.3.2 調(diào)試過程………………………………………………………………………16</p><p>  5 門禁系統(tǒng)的仿真………………………………………………………………18 </p><p>  5.1 整體電路的功能仿真

15、………………………………………………………18 </p><p>  5.1.1 系統(tǒng)通電后無刷卡時的仿真………………………………………………18</p><p>  5.1.2 刷卡時的仿真………………………………………………………18</p><p>  5.2 調(diào)試分析………………………………………………………………………19</p>&l

16、t;p>  結(jié)論 …………………………………………………………………………………20 </p><p>  參考文獻(xiàn)……………………………………………………………………………21</p><p>  致謝………………………………………………………………………………22</p><p>  附錄A 程序清單……………………………………………………………………2

17、3</p><p><b>  1 引言</b></p><p>  在當(dāng)今社會,隨著人們在訪問控制系統(tǒng)的要求各方面繼續(xù)上漲,門禁系統(tǒng)的范圍更加廣泛,從而使開發(fā)門禁系統(tǒng)已成為一個熱門話題在現(xiàn)代技術(shù)領(lǐng)域。</p><p>  目前,門禁系統(tǒng)的安全系統(tǒng)已經(jīng)成為在發(fā)達(dá)世界極為重要的部分,訪問控制系統(tǒng)比其他安全產(chǎn)品高得多快節(jié)奏發(fā)展。門禁系統(tǒng)能夠無數(shù)安

18、全產(chǎn)品異軍突起,其根本原因是訪問控制系統(tǒng)在過去的安防產(chǎn)品,如防盜報警改變,閉路監(jiān)測被動安全通過主信道控制來代替主動控制被動監(jiān)視,大大防止罪犯從正常通道入侵,并致力于也相同罪行由該鏈的門控制限制罪犯的活動范圍制止犯罪或減少損失。此外,人們訪問控制系統(tǒng)的應(yīng)用已不再局限于一個輸入控制和單輸出,但它也適用于訪問控制的智能建筑和高檔社區(qū)防盜報警器,考勤管理,電梯控制,停車場控制,樓宇控制等。</p><p>  本文介紹了

19、基于訪問控制IC卡系統(tǒng)和實施的研究STC89C52單片機,采用了微控制器基本的編程方法,實現(xiàn)了門禁系統(tǒng)的功能。根據(jù)該指令的地圖和開關(guān)門的設(shè)計要求的比較已被寫入該程序,并寫在微控制器的程序存儲器中的程序。程序運行通過讀卡器讀取卡號碼,卡號,然后發(fā)送到微控制器作比較,以實現(xiàn)訪問控制功能。</p><p>  2 門禁系統(tǒng)的方案設(shè)計與選擇</p><p>  2.1 方案的選擇</p&

20、gt;<p>  門禁系統(tǒng)有許多種方案:主要有聯(lián)網(wǎng)和不聯(lián)網(wǎng)型。</p><p>  聯(lián)網(wǎng)型的結(jié)構(gòu)圖如圖2-1所示。</p><p>  圖2-1 聯(lián)網(wǎng)型結(jié)構(gòu)圖 </p><p>  基于網(wǎng)絡(luò)的訪問控制系統(tǒng)的優(yōu)點:</p><p><b>  (

21、1)實時聯(lián)網(wǎng)</b></p><p> ?。?)存儲卡后立刻將數(shù)據(jù)傳送到主機</p><p>  (3)易于檢查,并生成報告</p><p><b>  缺點:</b></p><p>  (1)要求計算機,每天24小時</p><p>  (2)計算機或管理單位的情況下,有故障系統(tǒng)癱

22、瘓</p><p> ?。?)有較大的影響面問題</p><p>  不聯(lián)網(wǎng)門禁系統(tǒng)的優(yōu)點:單卡機器的運轉(zhuǎn),無需布線,操作方便。</p><p><b>  缺點:不易查詢。</b></p><p>  基于以上分析,我們選擇不受聯(lián)網(wǎng)。由于這種設(shè)計簡單,易于提交工作,易操作。</p><p>  

23、2.2 IC卡的選擇</p><p>  目前市場上有很多種類型的卡:條碼,磁卡,接觸式IC卡,非接觸式IC卡,條碼和磁卡,超市和銀行更多的應(yīng)用程序,IC卡不接觸,在公共電話以前使用的</p><p>  在露卡易腐多,但非接觸式IC芯片,易折疊,而不是兩個非接觸式IC卡射頻卡,智能卡和線圈包,不易損壞,不怕惡劣的環(huán)境中現(xiàn)在是高可靠性的社區(qū)很受歡迎。</p><p&g

24、t;  根據(jù)分析,我們選擇了最廣泛的普及,高可靠性和卡只讀的成本低,使用的卡的MIFARE智能卡的類型。</p><p><b>  2.3 設(shè)計原理</b></p><p>  該設(shè)計采用STC89C52單片機作為主元件,它包括一個中央處理器CPU,隨機存取存儲器RAM,一個ROM,I / O接口電路,定時器/計數(shù)器,串行通信接口。在該結(jié)構(gòu)中,使用一個微控制器和一

25、個復(fù)位電路,一個振蕩器,一個蜂鳴器電路,門鎖控制電路讀取模塊,顯示模塊的訪問控制系統(tǒng)。 STC89C52是整個門禁系統(tǒng),以實現(xiàn)通過編制和實施程序訪問控制,指示和報警功能的核心組件。</p><p><b>  2.4 設(shè)計功能</b></p><p>  該設(shè)計是IC卡門禁系統(tǒng)。他的訪問控制功能的實現(xiàn):</p><p>  第一種通過IC卡非

26、接觸式刷卡式刷卡,當(dāng)刷卡成功會進入歡迎界面,同時將卡片信號顯示出來,同時繼電器熄合,指示燈亮,門禁開。</p><p>  第二種通過矩陣鍵盤輸入密碼。密碼輸入正確,也會今日歡迎界面,同時繼電器熄合,指示燈亮。如果密碼輸入錯誤,會有蜂鳴器報警提示。</p><p>  3 門禁系統(tǒng)硬件電路的設(shè)計</p><p>  3.1 電路基本原理</p>&

27、lt;p>  3.1.1 門禁系統(tǒng)結(jié)構(gòu)圖</p><p>  該門禁系統(tǒng)結(jié)構(gòu)圖如下圖所示。</p><p><b>  門禁系統(tǒng)結(jié)構(gòu)圖</b></p><p>  3.1.2 門禁系統(tǒng)的工作原理</p><p>  本系統(tǒng)由單片機最小系統(tǒng),液晶顯示模塊,4*4矩陣模塊,IC卡射頻識別模塊以及繼電器舉動模塊等組成

28、。</p><p>  當(dāng)合法刷卡時,蜂鳴器響,顯示卡號,而繼電器開門,指示燈亮。</p><p>  當(dāng)密碼輸入正確,繼電器開門,顯示燈亮。當(dāng)密碼輸入錯誤,則蜂鳴器報警。</p><p>  3.2 門禁系統(tǒng)電路原理圖 </p><p>  在STC89C52單片機的基礎(chǔ)上,外圍增加電控鎖控制電路、蜂鳴器控制電路、開門指示燈電路、電控鎖

29、控制電路以及LCD顯示電路等,構(gòu)成了門禁系統(tǒng)的控制電路。其電路原理圖如下圖所示。</p><p><b>  門禁系統(tǒng)電路原理圖</b></p><p>  3.3 各部分電路原理</p><p>  3.3.1主控芯片STC89C52</p><p>  3.1 主控芯片STC89C52 <

30、/p><p>  STC89C52單片機的主要特性如下:  </p><p>  Stc89c52是一種帶8K字節(jié)閃爍可編程可擦除只讀存儲器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱單片機。該器件采用A

31、TMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,STC的STC89C52是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案,STC89C52芯片引腳圖如圖3-1所示。 </p><p>  圖3-1  STC89C52芯片引腳圖 </p><p

32、><b>  主要特性: </b></p><p>  ·與MCS-51 兼容  </p><p>  ·8K字節(jié)可編程閃爍存儲器  </p><p>  ·壽命:1000寫/擦循環(huán) </p><p>  ·

33、;數(shù)據(jù)保留時間:10年 </p><p>  ·全靜態(tài)工作:0Hz-24Hz </p><p>  ·三級程序存儲器鎖定 </p><p>  ·128*8位內(nèi)部RAM </p><p>  ·32可編程I/O線 </p><p>

34、;  ·兩個16位定時器/計數(shù)器 </p><p><b>  ·6個中斷源  </b></p><p><b>  ·可編程串行通道 </b></p><p>  ·低功耗的閑置和掉電模式 </p><p>

35、  ·片內(nèi)振蕩器和時鐘電路  </p><p>  3.3.2 門鎖電路</p><p>  門鎖電路如圖3-2所示,門控信號的輸入端(Q2的基極)與P1.5口相連,此電路由12V繼電器、限流二極管、1K偏置電阻和S8500三級管的驅(qū)動電路組成。</p><p>  門鎖電路的工作原理:</p><p>  當(dāng)

36、P1.5口輸出高電平時,此時繼電器的控制線圈為開路,繼電器無反應(yīng)。門鎖接于繼電器常閉端,門鎖閉合,門處于關(guān)閉狀態(tài)。</p><p>  當(dāng)P1.5口輸出低電平時,此時繼電器的控制線圈閉合,繼電器熄合。繼電器常閉端打開,門鎖打開,門處于打開狀態(tài)。</p><p>  圖3-2 門鎖電路 </p><p>  3.3.3 報警電路</p><

37、p>  報警電路如圖3-3所示,蜂鳴器控制信號的輸入端(Q1的基極)與P2.4口相連,主要由蜂鳴器、S8550三極管組成。</p><p><b>  報警工作原理:</b></p><p>  當(dāng) P2.4輸出高電平時,蜂鳴器回路開路,蜂鳴器不響。</p><p>  當(dāng) P2.4輸出低電平時,蜂鳴器回路閉合,蜂鳴器發(fā)出報警。</

38、p><p>  圖3-3 報警電路 </p><p>  3.3.4 讀卡模塊</p><p>  3.4.RC500讀卡模塊</p><p>  RC500是高度集成的非接觸式讀寫卡芯片。此發(fā)送模塊利用調(diào)制和解調(diào)原理,并將它們完全集成到各種非接觸式通信方法和協(xié)議中。RC500芯片模塊的內(nèi)部發(fā)送器部分可驅(qū)動讀寫天線與MIFARE卡和應(yīng)答機的通信

39、,無需其他電路。接收器部分提供一個功能強大和高效的解調(diào)和譯碼電路,用來處理兼容ISO 14443/MIFARE卡和應(yīng)答機的信號。數(shù)字電路部分處理完整的ISO 14443A幀和錯誤檢測(奇偶&CRC)。RC500的簡化框圖如下:</p><p>  對于IC模塊與主控MCU通信部分來說主要分為三部分。</p><p>  第一部分是主控MCU部分,即此處所選擇的STC89C52單片機

40、,主要提供對射頻讀寫芯片的控制操作。這種控制操作體現(xiàn)在對射頻讀寫芯片的電源控制。通過對射頻讀寫部分的獨立電源控制,用戶可以在MCU中根據(jù)自己的需要選擇或關(guān)閉射頻讀寫功能。當(dāng)應(yīng)用系統(tǒng)有低功耗要求,不需要射頻讀寫芯片一直工作時,這種控制方式是必不可少的。而且,通過MCU的供電控制,可以用軟件方式實現(xiàn)射頻讀寫芯片的上電復(fù)位。</p><p>  第二部分,射頻讀寫芯片,它負(fù)責(zé)接收主控MCU 的控制信息并完成與MIFAR

41、E 卡的通信操作。為了正常工作,射頻讀寫芯片須選用合適的并行接口與MCU連接。而為了發(fā)送、接收穩(wěn)定的高頻信號,射頻讀寫芯片要通過高頻濾波電路與天線部分連接。</p><p>  第三部分,天線部分,包括線圈及匹配電路,這是讀寫模塊實現(xiàn)射頻通信必不可少的一部分。讀寫模塊要依靠天線產(chǎn)生的磁通量為MIFARE 卡提供電源、在讀寫模塊與MIFARE 卡之間傳送信息。</p><p>  讀卡器引腳

42、連接示意圖</p><p><b>  3.5 顯示模塊</b></p><p>  顯示模塊部分有二種方案可供選擇。第一種方案采用LED數(shù)碼管顯示,該方案具有實現(xiàn)容易、發(fā)光亮度大、驅(qū)動電路簡單等優(yōu)點。第二種方案是采用LCD液晶顯示,該方案具有低壓微功耗、平板型結(jié)構(gòu)、顯示的信息量大、無電磁輻射、使用壽命長等優(yōu)點。本設(shè)計要求顯示的數(shù)據(jù)量大,能發(fā)揮其顯示內(nèi)容豐富的優(yōu)點,同

43、時占用I/O口線較少,所以,通過比較,選用第二種方案LCD液晶顯示。顯示模塊電路圖如3-6所示。</p><p>  圖3-6 顯示模塊電路圖</p><p><b>  3.6修改密碼</b></p><p>  1.開機即需要輸入密碼:初始密碼為6個0??梢愿鶕?jù)鍵盤或遙控定義輸入密碼后,按確認(rèn)/返回鍵即可進入頁面。若密碼忘記,需重新上電即

44、恢復(fù)初始密碼初始界面下返回密碼輸入界面,繼續(xù)按確認(rèn)/返回鍵即可鎖屏。密碼未輸入或輸入錯誤LED亮,輸入正確進入主界面滅,表示輸入正確鎖開。</p><p>  2.密碼修改:按鍵盤上定義的 改密/返回鍵 即可進入改密狀態(tài),此狀態(tài)下,輸入任意6位數(shù)字,輸入完成后繼續(xù)按此鍵保存密碼并退出。</p><p>  3.改密驗證:當(dāng)修改完密碼后,按確認(rèn)/返回鍵 可以返回到密碼輸入狀態(tài),此狀態(tài)下輸入密

45、碼,弱正確則進入主界面若不正確則報警提示,密碼忘記重啟電源恢復(fù)初始密碼。</p><p><b>  按鍵功能說明圖</b></p><p><b>  3.7硬件調(diào)試過程</b></p><p>  項目設(shè)計重點是一切從頭開始。所以,從一開始就具備最基本的,先學(xué)會焊接電路,再學(xué)會識別各種電子元器件,然后就讀于整體開發(fā)板布

46、局和走線。從最直觀的了解如何單片機最小系統(tǒng)工作正常的角度。</p><p><b>  接通電源后的實物圖</b></p><p>  放入IC卡后可見下圖:</p><p>  讀出卡的序號0x0A,0x08,0x98,0xB4,是預(yù)設(shè)好的卡號,報警器不響,由此完成門禁系統(tǒng)硬件調(diào)試。</p><p>  4 門禁系統(tǒng)

47、軟件設(shè)計</p><p>  4.1 系統(tǒng)軟件設(shè)計整體思路</p><p>  一個應(yīng)用系統(tǒng)要完成各項功能,首先必須要擁有完善的硬件作為保證,同時還必須要擁有相應(yīng)的設(shè)計合理的軟件作為支持。尤其是在微機應(yīng)用十分發(fā)達(dá)的今天,許多需要由硬件來完成的工作,都可以通過軟件的編程來代替。甚至有些需要采用非常復(fù)雜的硬件來完成的工作,有時采用軟件編程會使工作變得很簡單。因此充分地利用其內(nèi)部十分豐富的硬件

48、和軟件資源,采用與STC系列單片機相對應(yīng)的匯編語言以及結(jié)構(gòu)化程序設(shè)計方法進行軟件編程。</p><p>  程序設(shè)計的語言分為三種:機器語言、高級語言和匯編語言。機器語言是計算機唯一能“看懂”的語言,用高級語言或匯編語言編寫的程序都必須要翻譯成機器語言的程序,這樣計算機才可以“看懂”,然后再去逐一地執(zhí)行。</p><p>  高級語言是面向問題和計算過程的語言,它可通過于各種不同的計算機,

49、用戶編程時不必仔細(xì)了解所用的計算機的具體性能與指令系統(tǒng),而且語句的功能強,常常一個語句已相當(dāng)于很多條計算機指令,于是用高級語言編制程序的速度比較快,也便于學(xué)習(xí)和交流,因此本系統(tǒng)選用了高級語言。</p><p>  4.2 系統(tǒng)軟件設(shè)計主流程圖</p><p>  主程序主要內(nèi)容是各程序模塊的調(diào)用,并利用各模塊進行電子密碼鎖功能的實現(xiàn),即是鍵盤輸入密碼并在LCD1602液晶顯示屏顯示密碼,

50、當(dāng)密碼輸入完成后,單片機會將輸入進的密碼與原單片機內(nèi)部所儲存的密碼進行對比,如若密碼正確,則代表電磁吸合器的發(fā)光二極管會發(fā)光,同時LCD1602液晶顯示屏?xí)@示出正確的密碼;如若密碼錯誤,會啟動計數(shù)器計數(shù),當(dāng)錯誤次數(shù)超過三次時,報警系統(tǒng)會啟動即是蜂鳴器會發(fā)出報警聲,以提醒保安。</p><p>  圖4-1 系統(tǒng)程序流程圖</p><p>  4.3 軟件調(diào)試 </p>

51、<p>  在已經(jīng)寫入的C語言程序調(diào)試軟件裝入軟件調(diào)試工具來檢查軟件是否已經(jīng)成功,根據(jù)軟件提示更改此過程,直到?jīng)]有任何錯誤,然后生成機器碼MCU可運行。根據(jù)51單片機開發(fā)板或其他工具來編寫寫在單片機程序調(diào)試的實際機器代碼,然后將程序按照短缺的實際情況進行修改,直至達(dá)到設(shè)計要求。本設(shè)計采用十六進制生成文件后,Proteus和KEIL軟件仿真,調(diào)試,首先在Proteus軟件描繪的硬件電路,其次是電子鎖,KEIL軟件的源代碼,源代碼

52、編譯的準(zhǔn)備,最后生成的目標(biāo)文件添加到單片機仿真調(diào)試。</p><p>  4.3.1 程序調(diào)試用到的軟件及工具</p><p>  調(diào)試本程序需要用到KEIL C51和開發(fā)板一塊及其配套的下載燒錄軟件。</p><p>  Keil C51是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可

53、維護性上有明顯的優(yōu)勢,因而易學(xué)易用。</p><p>  4.3.2 調(diào)試過程</p><p>  首先打開新建工程,新建文本框?qū)懭氤绦?,保存,檢查是否有語法錯誤,經(jīng)反復(fù)檢查無誤后匯編,生成51單片機可執(zhí)行的HEX文件。然后用51</p><p>  開發(fā)板相匹配的燒錄軟件把HEX文件寫入單片機。調(diào)試過程如圖4-2所示。</p><p> 

54、 圖4-2 調(diào)試過程</p><p>  5 門禁系統(tǒng)的仿真</p><p>  本文的前幾章詳細(xì)介紹了器件的選擇,硬件電路部分的設(shè)計以及軟件設(shè)計流程,本章的工作是把各部分組合成一個總體,進行軟硬件的聯(lián)合調(diào)試以及系統(tǒng)整體功能的仿真。</p><p>  5.1 整體電路的功能仿真</p><p>  5.1.1 系統(tǒng)通電后無刷卡時的仿

55、真</p><p>  系統(tǒng)通電后無刷卡時的仿真結(jié)果如圖5-1所示,從圖中可以看出當(dāng)系統(tǒng)通電后無刷卡時,紅色指示燈亮,數(shù)碼管無顯示,綠色指示燈不亮代表門鎖閉合,喇叭無響聲。</p><p>  圖5-1 系統(tǒng)通電后無刷卡時的仿真圖</p><p>  5.1.2 刷卡時的仿真</p><p>  刷卡時的仿真結(jié)果如圖5-2所示。事先存入單

56、片機一個合法卡號為“123456”,當(dāng)有合法卡進行刷卡時,紅色指示燈熄滅,綠色指示燈發(fā)光代表門鎖打開,數(shù)碼管顯示合法卡號“123456”,喇叭無響聲。</p><p>  圖5-2 合法卡刷卡時的仿真圖</p><p><b>  5.2 調(diào)試分析</b></p><p>  通過以上調(diào)試仿真的過程可以看出,IC卡門禁控制系統(tǒng)的基本功能都已

57、經(jīng)實現(xiàn),能夠?qū)崿F(xiàn)卡號的比較,卡號的顯示,開鎖,聲光報警等功能。由于proteus中沒有IC卡讀卡器的仿真模型,在仿真中用鍵盤輸入卡號的方式代替讀卡器讀取卡號并傳送給單片機的過程。此外為了更加直觀地表示門鎖是否打開,采用綠色LED代替繼電器開鎖。</p><p><b>  結(jié) 論</b></p><p>  本設(shè)計采用STC89C52 單片機作為控制核心,外圍加蜂鳴

58、器控制電路、開門指示燈電路、電控鎖控制電路以及LCD液晶顯示電路等,來實現(xiàn)門禁控制系統(tǒng)的功能。其中的主要工作有:</p><p> ?。?)本設(shè)計中采用STC89C52單片機作為主控元件。</p><p> ?。?)硬件系統(tǒng)主要設(shè)計了以下幾部分:讀卡器電路、液晶顯示電路、工作指示燈電路、開鎖電路、控制電路、報警電路等。</p><p> ?。?)軟件采用C語言來實現(xiàn)

59、初始化、卡號的對比、卡號的顯示和對設(shè)備的控制。</p><p>  (4)完成了整個系統(tǒng)的調(diào)試與仿真,實現(xiàn)了系統(tǒng)的基本功能。</p><p> ?。?)通過鍵盤輸入密碼的方式,這樣更有利于管理者管理用戶IC卡。</p><p>  本門禁控制系統(tǒng)還可以一些功能擴展,使其更符合實際應(yīng)用的需要。可以進行的改進與完善工作。如:本系統(tǒng)可以增加存儲模塊使系統(tǒng)功能更完善,管理者

60、可以查詢歷史刷卡記錄,以便統(tǒng)計人員出入情況。</p><p><b>  參 考 文 獻(xiàn)</b></p><p>  1 謝振輝.《改進式 MCS-51 單片機實驗》 ,北京,科學(xué)出版社,2006</p><p>  2 趙建領(lǐng).《51 系列單片機開發(fā)寶典》北京,電子工業(yè)出版社,2007</p><p>  3 楊

61、恢先,黃輝先 .《單片機應(yīng)用系統(tǒng)設(shè)計與仿真調(diào)試》 北京,北京航空航天大學(xué)出版社, 2005</p><p>  4 王為青,程國鋼.《單片機 KEIL CX51 應(yīng)用開發(fā)技術(shù)》 北京,人民郵電出版社,2007</p><p>  5 李玉梅.《基于 MCS-51 系列單片機原理的應(yīng)用設(shè)計》北京,國防工業(yè)出版社,2006</p><p>  6 李群芳,黃建.《

62、單片機微型計算機與接口技術(shù)》北京,電子工業(yè)出版社,2007</p><p>  7 黃菊生.基于智能IC卡的網(wǎng)絡(luò)門禁系統(tǒng)設(shè)計與開發(fā)[D].碩士論文長沙:湖南大學(xué),2006</p><p>  8 安靜宇.基于非接觸式IC卡門禁系統(tǒng)的設(shè)計.西安科技大學(xué),2006</p><p>  9 陳龍三.《8051單片機C語言控制與應(yīng)用》北京,清華大學(xué)出版社,2007&l

63、t;/p><p>  10 沙占友,孟志永,王彥明.《單片機外圍電路設(shè)計》北京,電子工業(yè)出版社,2006</p><p><b>  致 謝</b></p><p>  隨著畢業(yè)設(shè)計的完成,我的大學(xué)生涯也即將結(jié)束,在這四年里,給予我?guī)椭娜撕芏啵谶@里我要對你們說一聲謝謝。</p><p>  感謝我的論文導(dǎo)師申老師,從

64、選題到中期答辯,從電路調(diào)試到程序編寫再到最后論文的定稿,申老師對我的畢業(yè)設(shè)計的每一個步驟都嚴(yán)格要求,每當(dāng)我有不懂的問題或是在設(shè)計過程中遇到困難,申老師都會給我細(xì)心的指導(dǎo),為我答疑解惑,每一次講解每一次指導(dǎo)都令我醍醐灌頂。通過和申老師的學(xué)習(xí),我不但學(xué)習(xí)到過硬的專業(yè)知識,也體會到了人生的道理,申老師對設(shè)計的細(xì)心,給我講解時的耐心,以及平時對我的畢設(shè)情況的關(guān)心都令我非常感動,這也是我今后步入社會應(yīng)該學(xué)習(xí)的。謝謝你敬愛的申老師!</p&g

65、t;<p>  感謝我親愛的同學(xué)們,在我進行電路仿真遇到問題的時候,我的同學(xué)們各展所長,幫我找出問題,同時為我的設(shè)計方案提出不同的見解,我很榮幸生活在一群熱愛學(xué)習(xí),喜歡鉆研的同學(xué)周圍,和你們在一起我收獲很多,感謝你們。</p><p>  最后,答辯組的老師們,感謝你們在百忙之中為我的畢業(yè)設(shè)計提出意見和建議,感謝你們嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度,向你們致以最高的敬意。</p><p>&l

66、t;b>  附錄A 程序清單</b></p><p>  #include<at89x51.h></p><p>  #define uchar unsigned char</p><p>  #define uint unsigned int</p><p>  uint num=10;</p>

67、<p>  bit set=0;</p><p>  char count=-1;</p><p>  sbit Beep=P1^2; </p><p>  uchar temp;</p><p>  uchar pws[6]={1,2,3,4,5,6};</p><p>  uchar pwx[

68、6];</p><p>  bit rightflag;</p><p>  uchar workbuf[6];</p><p>  uchar code tabledu[]={</p><p>  0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x40</p&

69、gt;<p><b>  };</b></p><p>  uchar code tablewe[]={</p><p>  0xfe,0xfd,0xfb,0xf7,0xef,0xdf</p><p><b>  };</b></p><p>  uint keyscan(

70、);</p><p>  void delay(uchar z)</p><p><b>  {</b></p><p><b>  uchar y;</b></p><p>  for(;z>0;z--)</p><p>  for(y=120;y>0;y-

71、-);</p><p><b>  }</b></p><p>  void setpw()/</p><p><b>  {</b></p><p>  keyscan();</p><p><b>  }</b></p><p

72、>  uint keyscan()</p><p><b>  {</b></p><p><b>  P3=0xfe;</b></p><p><b>  temp=P3;</b></p><p>  temp=temp&0xf0;</p>&

73、lt;p>  if(temp!=0xf0)</p><p><b>  {</b></p><p>  delay(5);</p><p><b>  temp=P3;</b></p><p>  temp=temp&0xf0;</p><p>  if(te

74、mp!=0xf0)</p><p><b>  {</b></p><p><b>  count++;</b></p><p><b>  temp=P3;</b></p><p>  switch(temp)</p><p><b>  {

75、</b></p><p>  case 0xee: </p><p><b>  {</b></p><p><b>  num=7;</b></p><p>  if(count<6)</p><p><b>  {</b>&l

76、t;/p><p>  if(set==0)</p><p>  pwx[count]=num; </p><p><b>  else</b></p><p>  pws[count]=num; </p><p>  workbuf[count]=tabledu[11]; </p>&

77、lt;p><b>  }</b></p><p><b>  }</b></p><p><b>  break;</b></p><p>  case 0xde: </p><p><b>  {</b></p><p>

78、<b>  num=8;</b></p><p>  if(count<6)</p><p><b>  {</b></p><p>  if(set==0)</p><p>  pwx[count]=num;</p><p><b>  else<

79、/b></p><p>  pws[count]=num;</p><p>  workbuf[count]=tabledu[11];</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  break;&l

80、t;/b></p><p>  case 0xbe: </p><p><b>  {</b></p><p><b>  num=9;</b></p><p><b>  {</b></p><p>  if(count<6)</p

81、><p><b>  {</b></p><p>  if(set==0)</p><p>  pwx[count]=num;</p><p><b>  else</b></p><p>  pws[count]=num;</p><p>  workb

82、uf[count]=tabledu[11];</p><p><b>  }</b></p><p><b>  } </b></p><p><b>  }</b></p><p><b>  break;</b></p><p>

83、;  case 0x7e:</p><p><b>  {</b></p><p><b>  set=1;</b></p><p><b>  P1_3=0;</b></p><p>  workbuf[0]=0x00;</p><p>  wo

84、rkbuf[1]=0x00;</p><p>  workbuf[2]=0x00;</p><p>  workbuf[3]=0x00;</p><p>  workbuf[4]=0x00;</p><p>  workbuf[5]=0x00;</p><p>  count=-1;</p><p

85、>  if(count<6)</p><p><b>  {</b></p><p><b>  setpw();</b></p><p><b>  }</b></p><p><b>  }</b></p><p&

86、gt;<b>  break;</b></p><p><b>  }</b></p><p>  while(temp!=0xf0) </p><p><b>  {</b></p><p><b>  temp=P3;</b></p>&

87、lt;p>  temp=temp&0xf0;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  P3=0xfd;</b></p>

88、<p><b>  temp=P3;</b></p><p>  temp=temp&0xf0;</p><p>  if(temp!=0xf0)</p><p><b>  {</b></p><p><b>  delay(5);</b></p&g

89、t;<p><b>  temp=P3;</b></p><p>  temp=temp&0xf0;</p><p>  if(temp!=0xf0)</p><p><b>  {</b></p><p><b>  count++;</b></p

90、><p><b>  temp=P3;</b></p><p>  switch(temp)</p><p><b>  {</b></p><p>  case 0xed: </p><p><b>  {</b></p><p>

91、;<b>  num=4;</b></p><p>  if(count<6)</p><p><b>  {</b></p><p>  if(set==0)</p><p>  pwx[count]=num;</p><p><b>  else</

92、b></p><p>  pws[count]=num;</p><p>  workbuf[count]=tabledu[11];</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  break;<

93、;/b></p><p>  case 0xdd: </p><p><b>  {</b></p><p><b>  num=5;</b></p><p>  if(count<6)</p><p><b>  {</b></p&

94、gt;<p>  if(set==0)</p><p>  pwx[count]=num;</p><p><b>  else</b></p><p>  pws[count]=num;</p><p>  workbuf[count]=tabledu[11];</p><p>&

95、lt;b>  }</b></p><p><b>  }</b></p><p><b>  break;</b></p><p>  case 0xbd:</p><p><b>  {</b></p><p><b>  

96、num=6;</b></p><p>  if(count<6)</p><p><b>  {</b></p><p>  if(set==0)</p><p>  pwx[count]=num;</p><p><b>  else</b></p&

97、gt;<p>  pws[count]=num;</p><p>  workbuf[count]=tabledu[11];</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  break;</b></

98、p><p><b>  }</b></p><p>  while(temp!=0xf0)</p><p><b>  {</b></p><p><b>  temp=P3;</b></p><p>  temp=temp&0xf0;</p&

99、gt;<p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  P3=0xfb;</b></p><p><b>  temp=P3;</b&g

100、t;</p><p>  temp=temp&0xf0;</p><p>  if(temp!=0xf0)</p><p><b>  {</b></p><p><b>  delay(5);</b></p><p><b>  temp=P3;</

101、b></p><p>  temp=temp&0xf0;</p><p>  if(temp!=0xf0)</p><p><b>  {</b></p><p><b>  count++;</b></p><p><b>  temp=P3;&l

102、t;/b></p><p>  switch(temp)</p><p><b>  {</b></p><p>  case 0xeb:</p><p><b>  { </b></p><p><b>  num=1;</b></p>

103、;<p>  if(count<6)</p><p><b>  {</b></p><p>  if(set==0)</p><p>  pwx[count]=num;</p><p><b>  else</b></p><p>  pws[count

104、]=num;</p><p>  workbuf[count]=tabledu[11];</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  break;</b></p><p>  case 0x

105、db: </p><p><b>  {</b></p><p><b>  num=2;</b></p><p>  if(count<6)</p><p><b>  {</b></p><p>  if(set==0)</p>

106、<p>  pwx[count]=num;</p><p><b>  else</b></p><p>  pws[count]=num;</p><p>  workbuf[count]=tabledu[11];</p><p><b>  }</b></p><

107、p><b>  }</b></p><p><b>  break;</b></p><p>  case 0xbb:</p><p><b>  { </b></p><p><b>  num=3;</b></p><p>

108、;  if(count<6)</p><p><b>  {</b></p><p>  if(set==0)</p><p>  pwx[count]=num;</p><p><b>  else</b></p><p>  pws[count]=num;</

109、p><p>  workbuf[count]=tabledu[11];</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  break;</b></p><p><b>  }</b&g

110、t;</p><p>  while(temp!=0xf0)</p><p><b>  {</b></p><p><b>  temp=P3;</b></p><p>  temp=temp&0xf0;</p><p><b>  }</b>

111、</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  P3=0xf7;</b></p><p><b>  temp=P3;</b></p><p>  temp=temp&a

112、mp;0xf0;</p><p>  if(temp!=0xf0)</p><p><b>  {</b></p><p><b>  delay(5);</b></p><p><b>  temp=P3;</b></p><p>  temp=tem

113、p&0xf0;</p><p>  if(temp!=0xf0)</p><p><b>  {</b></p><p><b>  count++;</b></p><p><b>  temp=P3;</b></p><p>  switch

114、(temp)</p><p><b>  {</b></p><p>  case 0xd7:</p><p><b>  {</b></p><p><b>  num=0;</b></p><p>  if(count<6)</p>

115、;<p><b>  {</b></p><p>  if(set==0)</p><p>  pwx[count]=num;</p><p><b>  else</b></p><p>  pws[count]=num;</p><p>  workbuf[

116、count]=tabledu[11];</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  break;</b></p><p>  case 0xe7: num=20;break;</p><p&g

117、t;  case 0x77: </p><p><b>  {</b></p><p><b>  P1_1=0;</b></p><p><b>  P1_3=1;</b></p><p><b>  set=0;</b></p&g

118、t;<p><b>  num=10;</b></p><p>  count=-1;</p><p>  workbuf[0]=tabledu[10];</p><p>  workbuf[1]=tabledu[10];</p><p>  workbuf[2]=tabledu[10];

119、</p><p>  workbuf[3]=tabledu[10];</p><p>  workbuf[4]=tabledu[10];</p><p>  workbuf[5]=tabledu[10];</p><p>  P1_0=1;</p><p><b>  }</b>&

120、lt;/p><p><b>  break;</b></p><p>  case 0xb7:</p><p><b>  {</b></p><p><b>  count--;</b></p><p>  workbuf[count]=0x00;&

121、lt;/p><p><b>  count--;</b></p><p>  if(count<=-1)</p><p><b>  count=-1;</b></p><p><b>  }</b></p><p><b>  break

122、;</b></p><p><b>  }</b></p><p>  while(temp!=0xf0)</p><p><b>  {</b></p><p><b>  temp=P3;</b></p><p>  temp=temp&

123、amp;0xf0;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  return(num);</p><p><b>  }</b><

124、/p><p>  void init()</p><p><b>  {</b></p><p>  TMOD=0x01;</p><p>  TH0=(65536-500)/200;</p><p>  TL0=(65536-500)%200;</p><p><b

125、>  ET0=1;</b></p><p><b>  EA=1;</b></p><p><b>  TR0=1;</b></p><p><b>  }</b></p><p>  bit compare(){</p><p> 

126、 if((pwx[0]==pws[0])&(pwx[1]==pws[1])&(pwx[2]==pws[2])&(pwx[3]==pws[3])&(pwx[4]==pws[4])&(pwx[5]==pws[5])) </p><p>  rightflag=1;</p><p><b>  else</b></p>

127、<p>  rightflag=0;</p><p>  return(rightflag);</p><p><b>  }</b></p><p>  void main()</p><p><b>  {</b></p><p><b>  uint

128、 i,j;</b></p><p><b>  init();</b></p><p><b>  P0=0;</b></p><p><b>  P1_1=0;</b></p><p><b>  while(1)</b></p>

129、;<p><b>  {</b></p><p>  keyscan();</p><p>  if(num==20)</p><p><b>  {</b></p><p>  if(count==6)</p><p><b>  {</b&

130、gt;</p><p>  if(set==1)</p><p><b>  {</b></p><p><b>  P1_3=1;</b></p><p>  workbuf[0]=0;</p><p>  workbuf[1]=0;</p><p

131、>  workbuf[2]=0;</p><p>  workbuf[3]=0;</p><p>  workbuf[4]=0;</p><p>  workbuf[5]=0;</p><p><b>  }</b></p><p><b>  else</b><

132、;/p><p><b>  {</b></p><p><b>  set=0;</b></p><p>  compare();</p><p>  if(rightflag==1)</p><p><b>  {</b></p><

133、p><b>  P1_0=0;</b></p><p><b>  P1_1=1;</b></p><p>  workbuf[0]=tabledu[8];</p><p>  workbuf[1]=tabledu[8];</p><p>  workbuf[2]=tabledu[8];

134、</p><p>  workbuf[3]=tabledu[8];</p><p>  workbuf[4]=tabledu[8];</p><p>  workbuf[5]=tabledu[8];//......</p><p><b>  }</b></p><p><b>  

135、else</b></p><p><b>  {</b></p><p><b>  P1_1=0;</b></p><p>  workbuf[0]=0X71;</p><p>  workbuf[1]=0X71;</p><p>  workbuf[2]=

136、0X71;</p><p>  workbuf[3]=0X71;</p><p>  workbuf[4]=0X71;</p><p>  workbuf[5]=0X71;</p><p>  for(i=0;i<1000;i++)</p><p><b>  {</b></p&g

137、t;<p>  for(j=0;j<80;j++);</p><p>  Beep=~Beep;</p><p><b>  }</b></p><p><b>  break;</b></p><p><b>  }</b></p><

溫馨提示

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

評論

0/150

提交評論