標(biāo)題: 基于MFRC522 RFID技術(shù)的單片機智能門禁系統(tǒng)設(shè)計論文 [打印本頁]

作者: 51hei小明    時間: 2018-4-28 18:10
標(biāo)題: 基于MFRC522 RFID技術(shù)的單片機智能門禁系統(tǒng)設(shè)計論文
基于RFID技術(shù)的智能門禁系統(tǒng)設(shè)計(控制部分)
摘 要
隨著社會經(jīng)濟和科技的飛速發(fā)展,射頻識別技術(shù)越來越廣泛的應(yīng)用于各種行業(yè),如:商流、物流、信息和資金等方的重要單元越來越得到重視。
門禁安全管理系統(tǒng)是新型現(xiàn)代化安全管理系統(tǒng),它集自動識別技術(shù)和現(xiàn)代安全管理措施為一體你在哪里的  dsfdf體某些部位(如眼睛、指紋)的識別來確認(rèn)來人是否經(jīng)過授權(quán)。這種門禁系統(tǒng)相對射頻識別的系統(tǒng)安全系數(shù)有很大提高,但其成本較高,在日常生活中還未廣泛應(yīng)用。
文章從門禁技術(shù)面,并以前所未有的速度迅猛發(fā)展,引起了許多國家的重視。特別是身份識別和安防等行業(yè)。門禁系統(tǒng)作為智能建筑的發(fā)展出發(fā),首先介紹了射頻識別技術(shù)的概念、分類及工作原理,然后介紹了本次使用的射頻芯片MFRC522。本RFID系統(tǒng)設(shè)計可分為硬件部分和軟件部分。硬件部分以MFRC522射頻識別模塊為核心,結(jié)合主控模塊STC89C52設(shè)計系統(tǒng)的外圍硬件電路,實現(xiàn)對射頻卡的控制與MCU之間的互通。軟件部分采用C語言進行系統(tǒng)的下位機程序的開發(fā),完成與IC卡之間的通信,實現(xiàn)數(shù)據(jù)交換功能.

目 錄


摘要
Abstract              II
第1章 緒論              1
1.1 課題研究的背景及意義              1
1.2 課題研究現(xiàn)狀              1
1.2.1國內(nèi)研究現(xiàn)狀              1
1.2.2國外研究現(xiàn)狀              2
1.3 門禁系統(tǒng)發(fā)展趨勢              3
1.4 課題設(shè)計任務(wù)              3
1.5 論文結(jié)構(gòu)              3
第2章 基于RFID技術(shù)的門禁系統(tǒng)理論基礎(chǔ)              4
2.1射頻識別技術(shù)概述              4
2.1.1射頻識別技術(shù)              4
2.1.2射頻識別技術(shù)的分類              4
2.1.3射頻識別技術(shù)的典型結(jié)構(gòu)              5
2.1.4射頻識別技術(shù)的工作原理              5
2.2非接觸式讀卡芯片MFRC522              6
2.2.1 MFRC522概述              6
2.2.2 MFRC522特性              6
2.2.3 MFRC522管腳排列              7
2.3本章小結(jié)              7
第3章 門禁系統(tǒng)硬件設(shè)計
3.1 STC89C52主控模塊
3.1.1 STC89C52簡介
3.1.2 STC89C52主要特性
3.1.3 STC89C52管腳說明              10
3.3.4 STC89C52最小系統(tǒng)接口電路              11
3.2 LCD12864液晶顯示模塊              11
3.2.1 LCD12864簡介              11
3.2.2 LCD12864分類              11
3.2.3 12864管腳說明              12
3.2.4 LCD12864基本特性              12
3.2.5 12864與89C52接口              13
3.3 按鍵              13
3.4 本章小結(jié)              14
第4章 門禁系統(tǒng)軟件設(shè)計              15
4.1 Keil C51開發(fā)系統(tǒng)              15
4.2 LCD顯示程序設(shè)計              16
4.2.1 LCD初始化              16
4.2.2 LCD顯示              17
4.3 按鍵程序設(shè)計              22
4.3.1 密碼驗證              22
4.3.2 密碼修改              24
4.4 本章小結(jié)              27
結(jié)論              28
謝辭              29
參考文獻              30


第1章 緒論
1.1 課題研究的背景及意義
門禁系統(tǒng),又稱出人口控制系統(tǒng)。在何時允許某些人進出,拒絕某些人進出,什么情況下要發(fā)出警報,記錄人員出入情況,是門禁系統(tǒng)最基本的功能。門禁系統(tǒng)的發(fā)展是隨著人類社會的發(fā)展一起進步的。從原始社會開始,隨著剩余價值的產(chǎn)生,人們有了自己的財產(chǎn),有的人覬覦他人的財產(chǎn)而進行盜搶等犯罪行為,直接危害了人們的財產(chǎn)乃至生命安全。為了保護自己的財產(chǎn)不受他人的侵犯,人們用木棒或鐵鏈將門鎖起。門禁也就隨之產(chǎn)生了。隨著社會的發(fā)展和人們安全意識的提高,產(chǎn)生了鐵鎖和暗鎖等門鎖設(shè)備[1]。
隨著社會經(jīng)濟的發(fā)展,城市面貌發(fā)生了巨大的變化,高樓大廈越來越多,安全隱患也越來越多,出現(xiàn)了更多的高科技的犯罪,直接威脅到每個人的人身財產(chǎn)安全。僅僅靠傳統(tǒng)的門鎖和防盜門是遠遠不夠的!爸悄荛T禁系統(tǒng)”應(yīng)運而生。
智能門禁系統(tǒng)是對樓房中的重要通道進行管理。在門口、電梯、等人員來往頻繁或重要的地方安裝控制裝置,例如:讀卡器、鍵盤等,人員要想進入,必須有卡且輸入密碼正確,才能通過,大大增強了安全性。而傳統(tǒng)的機械門鎖僅僅是單純的機械裝置,無論結(jié)構(gòu)設(shè)計多么合理,材料多么堅固,人們總能通過各種手段把它打開。在小區(qū)等人流量大的地方由人來充當(dāng)保安控制和監(jiān)控人員流動更是實際意義不大。智能化門禁管理方便了內(nèi)部管理,而且比傳統(tǒng)的門禁系統(tǒng)的安全性更高。
基于RFID技術(shù)的門禁系統(tǒng)作為智能門禁系統(tǒng)中的“骨干”,已經(jīng)成為一項先進的高科技技術(shù)防范和管理手段,在一些經(jīng)濟發(fā)達的國家已經(jīng)廣泛應(yīng)用于科研、工業(yè)、博物館、酒店、商場、醫(yī)療監(jiān)護、銀行、監(jiān)獄等,已成為安防技術(shù)重點研究和開發(fā)的方向。

1.2 課題研究現(xiàn)狀
1.2.1 國內(nèi)研究現(xiàn)狀
1994年RFID技術(shù)進入中國,引發(fā)了中國RFID技術(shù)的應(yīng)用革命。在國內(nèi),其應(yīng)用領(lǐng)域越來越廣,涉及到交通、商場、銀行、物流等各多個領(lǐng)域。智能門禁就是其中一個重要的組成部分。
國內(nèi)從事門禁系統(tǒng)有門吉利、捷順、北京青云等公司。在技術(shù)方面,中國目前也有很多廠家,仿制國外優(yōu)秀的門禁系統(tǒng),但生產(chǎn)IC卡和讀卡器的關(guān)鍵技術(shù)則被歐美國家和部分亞洲國家所壟斷,并且真正形成大批量生產(chǎn)的廠家還只有美國;德國、英國次之。雖然雖然國內(nèi)已經(jīng)實行“金卡工程”,并著力于發(fā)展非接觸式IC卡的技術(shù),但是基于射頻識別的智能門禁系統(tǒng)的使用在國內(nèi)還處于發(fā)展?fàn)顟B(tài),因此對射頻識別技術(shù)在門禁系統(tǒng)方面應(yīng)用的理論及實際可行及實用性進行研究是重中之重 [2]。
2005年的門禁行業(yè)是在整個安防行業(yè)集成化、網(wǎng)絡(luò)化、數(shù)字化的推動下不斷完善的一年。隨著中國房地產(chǎn)業(yè)的發(fā)展、智能建筑的推廣和智能小區(qū)安全防范工作的加強,門禁應(yīng)用領(lǐng)域的進一步拓展,2006年的門禁行業(yè)是高速發(fā)展的一年。雙總線的通訊模式、指紋等生物識別設(shè)備的集成管理及DVR系統(tǒng)的集成成為2006年門禁系統(tǒng)發(fā)展的亮點。另外,作為蓬勃發(fā)展的生物識別技術(shù),隨著其辨別的辨別速度和辨別的準(zhǔn)確度的提高,以及人們對這類產(chǎn)品的進一步了解,若價格因素能保持了人們可以接受的范圍內(nèi),那這技術(shù)的應(yīng)用前景將會是非常廣闊的。

1.2.2 國外研究現(xiàn)狀
歐美門禁系統(tǒng)市場的發(fā)展已經(jīng)日趨成熟,產(chǎn)業(yè)分工細化,并且在國際市場上占有較大的份額。國外門禁系統(tǒng)的知識品牌有美國的休斯(HID)、西屋(WSE)、洛泰克(NTK),以色列的DDS、英國的集寶等品牌。當(dāng)今世界上非接觸式IC卡主流產(chǎn)品是PhiliPs公司的Miafer技術(shù),己經(jīng)被制定為國際標(biāo)準(zhǔn)150/IEC14443TypeA標(biāo)準(zhǔn)。歐洲一些IC卡及讀卡器制造商大都以Mifare技術(shù)為標(biāo)準(zhǔn)發(fā)展自己的IC卡事業(yè)。
隨著其產(chǎn)業(yè)化的形成,各大公司由于其財力的雄厚、技術(shù)的先進、市場的導(dǎo)向以及專業(yè)知識產(chǎn)權(quán),市場逐漸被壟斷,大公司越做越大,中小公司被淘汰或兼并。從目前全球門禁系統(tǒng)的前端輸入設(shè)備的水平及發(fā)展方向來看,雖然磁卡和接觸式IC卡在門禁系統(tǒng)的應(yīng)用中還有一部分市場,但從發(fā)展趨勢上看,除賓館鎖外,磁卡和接觸式IC卡己在逐步地退出門禁系統(tǒng)市場。
ATMEL公司生產(chǎn)的Temic非接觸式IC卡是一種ID(身份)識別卡片,信息容量為264位EEPROM,采用125KHz工作頻率,是一種低頻無源卡,操作距離5-10cm。相應(yīng)的讀寫基站芯片為U2270B,此芯片在身份識別、考勤控制等方面得到了應(yīng)用。瑞士EM公司的H40OI非接觸IC卡,信息容量為64位EEPROM,采用125KHz工作頻率,也是低頻無源卡。美國TI公司的ID卡是一種低頻只讀卡,內(nèi)部有8字節(jié)(64位)ID號碼,己應(yīng)用在門禁考勤系統(tǒng)中。
Philips公司的Mifare IC卡系列產(chǎn)品有三大類:Mifare Standard,Mifare light,Mifare PLUS(第一代)和MifarePRO(第二代)。最近又推出一種新型Mifare卡,即Mifare ultralight非接觸式IC卡,有512字節(jié)EEpROM,專用于車票系統(tǒng),此卡最大的特點是交易時間只有31.4ms,比其它Mifare卡要短得多[3]。

1.3 門禁系統(tǒng)發(fā)展趨勢
隨著現(xiàn)代科學(xué)技術(shù)的發(fā)展,傳統(tǒng)的門禁被逐漸取代并向智能化發(fā)展;赗FID的智能門禁系統(tǒng)絕對是未來的主流,已占據(jù)目前約9成的市場。生物識別雖然安全性上也許更高些,但其價格的高昂阻礙了它走入人們的日常生活。在非接觸式IC卡門禁系統(tǒng)銷售額中,卡片和讀卡器占了3成以上,飛利浦的Mifare卡是目前中國市場上最主要產(chǎn)品[4]。RFID技術(shù)以其更快的響應(yīng)速度和更高的頻率成為目前的潮流。未來國內(nèi)門禁系統(tǒng)發(fā)展方向為基于大容量IC卡、基于開放式通道、基于消費系統(tǒng)、基于傳統(tǒng)門禁系統(tǒng)、基于LAN/WAN網(wǎng)絡(luò)管理,真正實現(xiàn)的一卡通系統(tǒng)。雖然這樣,但不少廠家認(rèn)為,一味地追求新技術(shù)和一卡通的理念實現(xiàn),并不能給實際應(yīng)用帶來成功,反而會造成資金的浪費,造成整個系統(tǒng)的不穩(wěn)定。所以,目前中國市場上一卡通標(biāo)準(zhǔn)還不是很規(guī)范,所以需要大家一起來制定標(biāo)準(zhǔn),推動行業(yè)的發(fā)展[5]。

1.4 課題設(shè)計任務(wù)
智能門禁系統(tǒng)設(shè)計主要分為兩個部分:外圍硬件系統(tǒng)和軟件系統(tǒng)。硬件系統(tǒng)包括射頻系統(tǒng)外圍電路的設(shè)計;軟件系統(tǒng)包括非接觸式IC卡讀寫程序、LCD顯示程序、密碼驗證及重置程序的設(shè)計編寫。此門禁系統(tǒng)基于RFID射頻識別技術(shù),可實現(xiàn)IC卡識別,并可完成顯示IC卡卡號、進行密碼驗證、重置密碼的功能。

1.5 論文結(jié)構(gòu)
第1章:簡要概述了課題研究現(xiàn)狀、課題研究的相關(guān)內(nèi)容和論文主要結(jié)構(gòu)。
第2章:介紹基于RFID技術(shù)的門禁系統(tǒng)理論基礎(chǔ)。
第3章:基于RFID技術(shù)的門禁系統(tǒng)硬件設(shè)計,主要介紹單片機STC89C52及LCD12864模塊及其接口電路。
第4章:基于RFID技術(shù)的門禁系統(tǒng)軟件設(shè)計。

第2章 基于RFID技術(shù)的門禁系統(tǒng)理論基礎(chǔ)
2.1 射頻識別技術(shù)概述

2.1.1
射頻識別技術(shù)
射頻識別(Radio Frequency Identification,RFID)技術(shù)是從八十年代逐漸走向成熟
的一種自動識別技術(shù),它是一項利用射頻信號通過空間耦合(交變磁場或電磁場)實現(xiàn)無接觸信息傳遞并通過所傳遞的信息達到識別目的的技術(shù)。射頻識別是無線電識別的簡稱,它源于無線電通信技術(shù),綜合了現(xiàn)代計算機智能控制、智能識別等高新技術(shù),順應(yīng)了電子商務(wù)、交通運輸、物流管理的發(fā)展需要。是當(dāng)前最受人們關(guān)注的技術(shù)之一。射頻識別技術(shù)具有非接觸、自動完成識別過程、不易損壞、可識別高速運動物體、數(shù)據(jù)存儲量大等優(yōu)點,極大地加速了有關(guān)信息的收集和處理,在近年來獲得了極為迅速的發(fā)展[6]。
2.1.2 射頻識別技術(shù)的分類
RFID系統(tǒng)的分類方法主要有以下幾種:
根據(jù)系統(tǒng)采用的頻率不同可分成低頻系統(tǒng)和高頻系統(tǒng)。低頻系統(tǒng)的工作頻率一般小于30MHz,典型的工作頻率有:125KHz、13.56MHz等,其基本特點是成本較低、電子標(biāo)簽內(nèi)存儲的數(shù)據(jù)量較少、感應(yīng)范圍較小(無源情況,與讀卡器距離約為10cm時才可感應(yīng))、電子標(biāo)簽外形多樣(卡狀、環(huán)狀、筆狀),不適合高速運動的物體等。高頻系統(tǒng)的工作頻率一般大于400MHz,典型的工作頻段有:915MHz、5800MHz等,其基本特點是電子標(biāo)簽及閱讀器成本較高、標(biāo)簽內(nèi)保存的數(shù)據(jù)量較大、感應(yīng)距離較遠(可達幾米至十幾米)、外形一般為卡狀、適應(yīng)物體高速運動性能好等[7]。
按射頻卡有無電池可分為無源系統(tǒng)和有源系統(tǒng)。有源系統(tǒng)中電子標(biāo)簽內(nèi)裝有電池,一般具有較遠的閱讀距離,使用壽命取決于電池容量。無源系統(tǒng)中電子標(biāo)簽內(nèi)無電池,一般識別距離短,但與有源系統(tǒng)相比,對工作環(huán)境要求不高并且壽命較長。
根據(jù)工作方式的不同還可分為主動式和被動式。主動式系統(tǒng)主要用于有障礙物的應(yīng)用中,距離更遠(可達30米); 被動式系統(tǒng)主要在門禁或交通應(yīng)用中。
根據(jù)射頻卡讀寫方式的不同可分成可讀寫(RW)卡、一次寫入多次讀出(WORM)卡和只讀(RO)卡。RW卡成本較WORM卡和RO卡相比要高,而且寫入數(shù)據(jù)所花費的時間要遠大于讀取數(shù)據(jù)所花費的時間。用戶可以一次性將信息寫入WORM卡,寫入后數(shù)據(jù)不能改變。RO卡存有一個唯一的號碼。只可讀取,不能修改,雖然安全性較高,但用途有限。

2.1.3 射頻識別系統(tǒng)的典型結(jié)構(gòu)
圖2-1 RFID系統(tǒng)典型結(jié)構(gòu)圖

典型RFID系統(tǒng)(如圖2-1所示)由應(yīng)答器(Tag)、讀寫器(Read and Write Device)以及計算機系統(tǒng)等組成。讀寫器由無線收發(fā)模塊、天線、控制模塊及接口電路等組成。應(yīng)答器也稱電子標(biāo)簽,它具有可存儲讀寫信息及對信息進行加密的能力,是射頻識別系統(tǒng)主要的核心。在閱讀器的感應(yīng)范圍之外,電子標(biāo)簽無源無法工作,只有在閱讀器感應(yīng)范圍之內(nèi),電子標(biāo)簽才是有源的。應(yīng)答器工作所需的能量,是通過讀寫器的耦合單元傳輸給應(yīng)答器的。應(yīng)答器如果是無源系統(tǒng),即應(yīng)答器內(nèi)不含電池,則應(yīng)答器工作的能量是由讀寫器發(fā)出的射頻脈沖提供[8]。應(yīng)答器如果是有源系統(tǒng),即應(yīng)答器內(nèi)含有電池,則應(yīng)答器工作能量和工作壽命有電池決定。

2.1.4 射頻識別系統(tǒng)的工作原理
實用RFID系統(tǒng)為無源系統(tǒng),即射頻卡能量由讀寫器發(fā)出的射頻脈沖信號提供。無源系統(tǒng)的通信優(yōu)劣取決于讀寫器發(fā)出的脈沖信號能否被射頻卡完整接受。當(dāng)射頻卡進入讀卡器接受范圍后,如果接收到讀卡器發(fā)出的射頻信號,就能憑借產(chǎn)生的感應(yīng)電流所獲得的能量發(fā)送出存儲在卡片中的信息,通過讀卡器的處理,將信息送至信息管理系統(tǒng)進行有關(guān)數(shù)據(jù)處理[9]。
2.2 非接觸式讀卡芯片MFRC522
2.2.1 MFRC522概述
MFRC522是應(yīng)用于13.56MHz 非接觸式通信中高集成度讀寫卡系列芯片中的一員,是NXP公司推出的一款非接觸式讀寫卡芯片。MFRC522利用了先進的調(diào)制和解調(diào)的技術(shù),完全集成了在13.56MHz下所有類型的通信協(xié)議,支持多種工作在13.56MHz下的射頻卡讀寫操作 [10]。其內(nèi)部發(fā)送器部分可驅(qū)動讀寫器天線與射頻卡和應(yīng)答機的通信,無需其它的電路。
2.2.2 MFRC522特性
1)高集成度的調(diào)制解調(diào)電路
2)支持 ISO/IEC 14443 TypeA 和MIFARE®通信協(xié)議
3)支持多種工作頻率為13.56M的射頻卡的信息讀寫
4)支持在線SPI編程
5)雙向數(shù)據(jù)傳輸速率高達424kbit/s
6)64字節(jié)的發(fā)送和接收緩沖區(qū)
7)靈活的中斷模式
8)可編程定時器
9)內(nèi)部振蕩器,晶振頻率為 27.12MHz
10)采用相互獨立的多組電源供電,提高工作的穩(wěn)定性及安全性
11)采用硬件掉電、軟件掉電和發(fā)送器掉電3種節(jié)電模式[11]

2.2.3 MFRC522管腳排列
MFRC522管腳如圖2-2所示:



圖2-2 MFRC522引腳圖

2.3 本章小結(jié)
本章對基于RFID技術(shù)的門禁系統(tǒng)的理論基礎(chǔ)進行簡單的介紹,重點講述了RFID技術(shù)概念和原理,并介紹了射頻芯片MFRC522。

第3章 門禁系統(tǒng)硬件設(shè)計
本電路是由STC89C52 單片機為控制核心,射頻卡信息由MFRC522模塊讀出,通過MCU在LCD12864上顯示,通過按鍵完成密碼驗證和修改密碼的功能。整個門禁系統(tǒng)框圖如圖3-1所示。


                            圖3-1 門禁系統(tǒng)框圖                           

3.1 STC89C52主控模塊3.1.1 STC89C52簡介
STC89C52是宏晶科技發(fā)行的一款兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),工業(yè)80C51產(chǎn)品指令和引腳完全兼容的51單片機。傳統(tǒng)的8051系列單片機只有128-256個字節(jié)RAM可使用,對于工程量較大的程序設(shè)計時往往會不夠用。而STC89C52RC系列單片機擴展了256個字節(jié)RAM,拓展的容量,在應(yīng)用中漸漸取代傳統(tǒng)單片機被廣泛應(yīng)用。STC89C52還擁有8K字節(jié)在線可編程的Flash存儲器、支持在線SPI編程、32個雙向數(shù)據(jù)I/O口線、兩個16位定時器/計數(shù)器和全雙工UART串行通道[12]。

3.1.2 STC89C52主要特性
1)與MCS-51 兼容
2)壽命:1000次擦/寫
3)據(jù)保留時間:10年
4)全靜態(tài)工作:0Hz-24Hz
5)512M內(nèi)部RAM
6)32雙向數(shù)據(jù)I/O線
7)兩個16位定時器/計數(shù)器
8)5個中斷源
9)可編程串行通道
10)芯片內(nèi)自帶振蕩器和時鐘電路[13]

3.1.3 STC89C52管腳說明

圖3-2 STC89C52管腳圖
VCC:電源電壓。
GND:接地。
P0口:P0口為一個8位雙向I/O口,內(nèi)部不提供上拉電阻。連接電路時需外接上拉電阻。P0口緩沖器能接受輸出8TTL門電流。當(dāng)P0口的管腳第一次寫入“1”時,被定義為高阻輸入。P0能夠作為外部程序數(shù)據(jù)存儲器,暫時存儲外部輸入數(shù)據(jù)而不需反復(fù)輸入。
P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。由于內(nèi)部上拉的緣故,P1口管腳寫入“1”后,其管腳電平被上拉電阻拉高,此時管腳用作輸入。P1口被上拉電阻下拉為低電平時,此時管腳作為將輸出電流端口用。
P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收輸出4個TTL門電流。由于內(nèi)部上拉的緣故,當(dāng)P2口被寫“1”時,其管腳電平被上拉電阻拉高,且作為輸入。P2口被上拉電阻下拉為低電平時,此時管腳作為將輸出電流端口用。在FLASH編程和

校驗時,P2口用來接收高八位地址和控制信號。
P3口:P3 口是一個具有內(nèi)部上拉電阻的8 位雙向I/O 口,P3口緩沖器可接收輸出4個TTL門電流。對P3口管腳寫入“1”時,其管腳電平被上拉電阻拉高,此時可以作為輸入口使用。P3口也作為STC89C52的第二功能使用[14]。具體功能如表3-1所示:
表3-1 P3口功能表
端口引腳
第二功能
P3.0
RXD(串行輸入口)
P3.1
TXD(串行輸出口)
P3.2
INT0(外部中斷0)
P3.3
INT1(外部中斷1)
P3.4
T0(記時器0)
P3.5
T1(記時器1)
P3.6
WR(外部數(shù)據(jù)存儲器寫選通)
P3.7
RD(外部數(shù)據(jù)存儲器讀選通)

RST:復(fù)位輸入,高電平有效。當(dāng)需對器件進行復(fù)位時,要保持RST腳兩個機器周期的高電平時間。
ALE/PROG: ALE是地址鎖存允許信號端,低電平有效。在FLASH編程期間,此引腳用于輸入編程脈沖。PORG為編程脈沖的輸入端。當(dāng)ALE/PROG接上低電平的時候,單片機對外部存儲器進行數(shù)據(jù)讀取時,用來鎖住地址線的低位地址。
/PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。
/EA/VPP:當(dāng)/EA保持低電平時,在此期間數(shù)據(jù)輸入都存入外部程序存儲器,不管內(nèi)部程序存儲器是否有空間存儲數(shù)據(jù)。
XTAL1:反向振蕩放大器的輸入及外部時鐘工作電路的輸入。
XTAL2:反向振蕩放大器的輸出及外部時鐘工作電路的輸出。


3.1.4 STC89C52最小系統(tǒng)接口電路
單片機最小系統(tǒng)接口電路如圖3-3所示:

圖3-3 最小系統(tǒng)接口圖
3.2 LCD12864液晶顯示模塊
圖3-3 最小系統(tǒng)接口圖
3.2.1 LCD12864簡介
帶中文字庫的12864是一種具有4位/8位并行、2線或3線串行多種接口方式,內(nèi)部含有簡體中文字庫的圖形液晶顯示模塊,內(nèi)部含8192個漢字,其顯示分辨率為128×64 [15]。利用該模塊靈活的接口方式,通過簡單的代碼編寫,可在界面上顯示漢字和圖形。而且由于其工作電壓和功率較同類型顯示圖形漢字的點陣模塊低,且硬件電路和程序都簡單的多,因此LCD12864與同類型點陣相比,有更廣闊的市場。

3.2.2 LCD12864分類
128×64點陣液晶顯示屏有三種控制器,分別是KS0107(KS0108)、T6963C和ST7920。三種控制器主要區(qū)別是:KS0107(KS0108)不帶任何字庫、T6963C帶ASCII碼,使用前兩種LCD若要顯示漢字,則需要通過字模軟件,將漢字取模后進行編譯才可顯示,而ST7920自帶國標(biāo)二級字庫(8千多個漢字),可自動顯示漢字。以此,在需要顯示字的情況下,使用ST7920控制器的12864更受歡迎。


3.2.3 12864管腳說明
表3-2 12864管腳功能(見附件)

LCD連接電路中,兩側(cè)1、2和20、19腳分別接地和+5V。V0為LCD驅(qū)動電壓輸入端,與一個三端滑動變阻器相連,這樣通過調(diào)整V0端輸入電壓,可實現(xiàn)對LCD液晶屏對比度的調(diào)整,它決定了LCD能否正常顯示數(shù)據(jù)及顯示的效果[16]。
3.2.4 LCD12864基本特性
(1)顯示分辨率:128×64點
(2)內(nèi)置128個16×8點陣字符
(3)內(nèi)部含有繁體、簡體中文字庫,包括含8192個漢字
(4)低電源電壓(VDD:+3.0-+5.5V)
(5)2MHZ時鐘頻率
(6)顯示方式:STN、正顯、半透
(7)工作溫度: 0℃-+55℃ ,存儲溫度: -20℃- +60℃
(8)通訊方式:串行、并行
(9)內(nèi)置轉(zhuǎn)換電路,無需轉(zhuǎn)換電壓或外加負壓 [17]

3.2.5 12864與89C52接口

3.3 按鍵本系統(tǒng)使用三個按鍵順序控制而非4*4鍵盤實現(xiàn)密碼輸入驗證及修改功能。三個按鍵分別接89C52的P3.5、P3.6、P3.7口,通過軟件程序,實現(xiàn)一個按鍵實現(xiàn)+1,多次按壓則多次+1;一個按鍵實現(xiàn)-1,多次按壓則多次-1;另一按鍵作為功能鍵,實現(xiàn)數(shù)位變動及確定功能。
3.4 本章小結(jié)
本章對系統(tǒng)的外圍電路進行了分析。圖3-5為完整的電路圖:

圖3-5 總體設(shè)計圖

第4章 門禁系統(tǒng)軟件設(shè)計4.1 Keil C51開發(fā)系統(tǒng)
Keil C51是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng)。Keil C51軟件以其豐富的庫函數(shù)、強大的開發(fā)功能和超高的代碼生成率成為單片機C51開發(fā)所用到的主要調(diào)試工具 [18]。
C51有6種編譯時間庫,支持絕大部分ANSIC-C函數(shù),它們適用于不同的應(yīng)用存儲模式。6種庫文件如表4-1所示:
表4-1 C51六種庫文件
庫文件
說明
C51S.LIB
小模式,無浮點計算
C51L.LIB
大模式,無浮點計算
C51C.LIB
緊湊模式,無浮點計算
C51FPS.LIB
小模式,有浮點計算
C51FPL.LIB
大模式,有浮點計算
C51FPC.LIB
緊湊模式,有浮點計算

Keil C51程序編譯界面:
  

圖4-1 Keil編譯界面
4.2 LCD顯示程序設(shè)計
這里采用8位并行接口方式對12864進行操作,D0-D7與單片機P0.0-P0.7對接,由89C52的P0端口作為數(shù)據(jù)的輸入端口。對RS、PSB等控制引腳進行定義:
sbit RS = P1^0;
sbit WRD = P1^1;
sbit E= P1^2;
sbit PSB = P1^3;
sbit RES = P1^4;
4.2.1 LCD初始化
圖4-2 LCD初始化流程圖


void initinal(void)         
{
LCDdelay(40);          //大于40MS的延時程序
PSB=1;                 //設(shè)置為8BIT并口工作模式
LCDdelay(1);           //延時
RES=0;                 //復(fù)位
LCDdelay(100);          //大于100uS的延時程序
TransferData(0x30,0);  //Function Set
LCDdelay(100);         //大于100uS的延時程序
TransferData(0x10,0);  //Cursor Display Control光標(biāo)設(shè)置
LCDdelay(100);         //大于100uS的延時程序
TransferData(0x0C,0);  //Display Control,D=1,顯示開
LCDdelay(100);         //大于100uS的延時程序
TransferData(0x01,0);  //Display Clear
LCDdelay(100);         //大于100uS的延時程序
}

4.2.2 LCD顯示
1)BF的判斷
bit isbusy(void) // 判斷是否忙?busy=1,表示忙;busy=0,表示不忙;
{bit busy;
RS=0;RW=1;EP=1;delay 1ms(4);
Busy=(P1&0x80);EP=0;
Return(busy);
}
本程序作用是用來判斷LCD當(dāng)前狀態(tài),BF狀態(tài)字決定了LCD模塊的工作狀態(tài),當(dāng)處于忙狀態(tài)時,此時模塊不接受外部指令和數(shù)據(jù),BF=0時,模塊為準(zhǔn)備狀態(tài),可對外部指令和數(shù)據(jù)進行處理。因此,對LCD進行操作之前,要對其工作狀態(tài)進行判斷。
2)寫指令和數(shù)據(jù)
void writedata(unsighed char dat)      //寫數(shù)據(jù)模式
{while(isbusy()==1);             //判斷BF是否忙
RS=1;RW=0;EP=0;delay 1ms(2);P1=dat;
delay1 ms(5);EP=1;delay 1ms(5);EP=0;
}

void writecode(unsigned char dat)     //寫指令模式
{while(isbusy()==1);            //判斷BF是否忙
RS=0;RW=0;EP=0;delay 1ms(2);P1=dat;
Delay 1ms(5);EP=1;delay 1ms(5);EP=0;
}
在寫數(shù)據(jù)和指令之前,先對LCD狀態(tài)進行判斷。當(dāng)BF=0,即LCD非忙時,即可進行寫入指令和數(shù)據(jù)的操作。寫入指令還是數(shù)據(jù)由RS,RW,EP三個引腳來確定。當(dāng)三個引腳分別為1,0,0時,為寫入數(shù)據(jù)模式;三個引腳為0,0,0時,為寫入指令模式。
3)顯示


void lcd_mesg(uchar code *adder1)
{
uchar i;
TransferData(0x80,0);  //Set Graphic Display RAM Address
LCDdelay(100);
for(i=0;i<32;i++)
{
TransferData(*adder1,1);
adder1++;
}
TransferData(0x90,0);  //Set Graphic Display RAM Address
LCDdelay(100);
for(i=32;i<64;i++)
{
TransferData(*adder1,1);
adder1++;
}
}
//*******顯示上半屏內(nèi)容設(shè)置
fo

圖4-4 系統(tǒng)初始界面
5)刷卡界面顯示
while(K1==1&&K2==1&&K3==1)  //按任意鍵進入

圖4-5 刷卡界面
4.3按鍵程序設(shè)計4.3.1 密碼驗證


char code Menu_2[]={
"歡迎您使用本系統(tǒng)"                                          //0x80ok
"    密碼正確    "                                          //0x90ok
"  是否修改密碼? "                                          //0x88ok
"  YES     NO    "                                          //0x98ok
};

//密碼輸入完畢

if(Mode==5)

{

Mode=1;

OK_temp=0;

S=SSSS_MM[0]*1000+SSSS_MM[1]*100+SSSS_MM[2]*10+SSSS_MM[3];}

//認(rèn)證成功

if(S==money)

{

lcd_init_T();

Delay_ms(250);

lcd_mesg(Menu_2);      //顯示菜單2

}

圖4-7 密碼驗證顯示圖

4.3.2 密碼修改


圖4-8 密碼修改流程圖

//按下++

if(K1==0)

{

write_data('0'+SSSS_MM[0]);

write_data('0'+SSSS_MM[1]);

write_data('0'+SSSS_MM[2]);

write_data('0'+SSSS_MM[3]);

lcd_pos(3,2+Mode);

}

K1鍵實現(xiàn)相加功能,連續(xù)按下實現(xiàn)0-9之間切換。

//按下--

if(K2==0)

write_data('0'+SSSS_MM[0]);

write_data('0'+SSSS_MM[1]);

write_data('0'+SSSS_MM[2]);

write_data('0'+SSSS_MM[3]);

lcd_pos(3,2+Mode);

}

K2鍵實現(xiàn)相減功能,連續(xù)按下實現(xiàn)9-0之間切換。

//按下功能鍵

if(K3==0)

{

Delay_ms(20);

while(K3==0)

Mode++;

lcd_pos(3,2+Mode);

}

K3為功能鍵,前三次按下功能鍵實現(xiàn)移位功能,光標(biāo)分別切換至1、2、3、4位。第四次按下實現(xiàn)確定功能,即輸入完畢后將數(shù)據(jù)輸入MCU并進行處理。

uchar code Menu_3[]={

"  請輸入新密碼  "                                          //0x80ok

"卡號:           "                                          //0x88ok

"================"                                          //0x90ok

"密碼:           "                                          //0x98ok

initinal();                                               //調(diào)用LCD字庫初始化程序

Delay_ms(10);

lcd_init_T();            

Delay_ms(10);

lcd_mesg(Menu_3);      //顯示菜單3

修改密碼界面如圖4-9所示:



圖4-9 輸入新密碼界面

圖4-9 修改密碼界面

4.4本章小結(jié)
本章介紹了系統(tǒng)軟件部分的設(shè)計。畫出各模塊的框圖,可使整個設(shè)計流程一目了然,比如要實現(xiàn)什么功能,在哪塊還有問題需要解決和改進。軟件編寫時,記的加上注釋,這在以后檢查時很有幫助。

結(jié)論
經(jīng)過三個多月的努力,終于如期完成了畢業(yè)設(shè)計這艱巨的任務(wù)。在整個設(shè)計過程中,出現(xiàn)過很多的難題,但都在老師和同學(xué)的幫助下順利解決了。本系統(tǒng)基本達到了預(yù)期的要求,可以實現(xiàn)以下功能:
(1)IC卡進行讀取
(2)將卡號信息顯示在LCD上
(3)通過按鍵可輸入密碼
(4)進行密碼驗證
(5)修改密碼
雖然本次設(shè)計的門禁系統(tǒng)基本完成了設(shè)計時預(yù)想的功能,但由于學(xué)識及設(shè)計能力有限,還有許多功能有待開發(fā),具體可改進的設(shè)計如下:
(1)可將按鍵輸入該為4*4鍵盤輸入:可以增加功能,如退鉻、清除;單個鍵實現(xiàn)單個功能,不必一鍵多用。如功能鍵實現(xiàn)切換、確定。
(2)界面修改:增加刷卡、輸入密碼成功后歡迎界面。
(3)增加時鐘:記錄刷卡時間。
(4)上位機通訊:將刷卡信息通過串口傳給上位機,對刷卡人員、時間等信息進行處理,存入數(shù)據(jù)庫,以此來實現(xiàn)對刷卡門禁系統(tǒng)的管理。

謝辭
經(jīng)過三個多月的努力,終于完成了這次的畢業(yè)設(shè)計作品,由于經(jīng)驗的缺乏,此次設(shè)計中難免有許多考慮不周全的地方,如果沒有導(dǎo)師的督促指導(dǎo),以及同學(xué)們的幫助,想要完成這個設(shè)計的難度是極大的。
在這里首先要感謝我的指導(dǎo)老師XXX老師。從課題確定開始,查閱資料,設(shè)計草案的確定和修改,中期檢查,后期詳細設(shè)計,甚至最后論文編寫和完成校稿,整個過程中都給予了我悉心的指導(dǎo)。在此,特別向XXX老師表示由衷的感謝和誠摯的敬意。
其次要感謝和我一起作畢業(yè)設(shè)計的XXX同學(xué),在課題研究過程中,我們一起討論、研究專業(yè)理論問題;在設(shè)計中勤奮工作,克服了許多困難來完成此次畢業(yè)設(shè)計。如果沒有他的努力工作,此次設(shè)計的完成將變得非常困難。
最后還要感謝大學(xué)四年來所有的老師,為我們打下扎實的專業(yè)知識的基礎(chǔ),讓我們在遇到那些專業(yè)問題是不至于不知所措。同時還要感謝所有的同學(xué)們,正是有了你們的陪伴,大學(xué)四年才會過的如此精彩;正是有了你們的鼓勵,才不至于在遇到挫折時一蹶不振;正是有了你們的幫助,此次畢業(yè)設(shè)計才會順利完成。


全部資料51hei下載地址(源碼+電路圖等全套資料):
http://www.torrancerestoration.com/bbs/dpj-115348-1.html



作者: hbsun2007    時間: 2018-7-23 20:55
學(xué)習(xí)一下




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1