第1章 緒論
1.1 課題研究的背景及意義門禁系統(tǒng),又稱出人口控制系統(tǒng)。在何時(shí)允許某些人進(jìn)出,拒絕某些人進(jìn)出,什么情況下要發(fā)出警報(bào),記錄人員出入情況,是門禁系統(tǒng)最基本的功能。門禁系統(tǒng)的發(fā)展是隨著人類社會(huì)的發(fā)展一起進(jìn)步的。從原始社會(huì)開(kāi)始,隨著剩余價(jià)值的產(chǎn)生,人們有了自己的財(cái)產(chǎn),有的人覬覦他人的財(cái)產(chǎn)而進(jìn)行盜搶等犯罪行為,直接危害了人們的財(cái)產(chǎn)乃至生命安全。為了保護(hù)自己的財(cái)產(chǎn)不受他人的侵犯,人們用木棒或鐵鏈將門鎖起。門禁也就隨之產(chǎn)生了。隨著社會(huì)的發(fā)展和人們安全意識(shí)的提高,產(chǎn)生了鐵鎖和暗鎖等門鎖設(shè)備[1]。
隨著社會(huì)經(jīng)濟(jì)的發(fā)展,城市面貌發(fā)生了巨大的變化,高樓大廈越來(lái)越多,安全隱患也越來(lái)越多,出現(xiàn)了更多的高科技的犯罪,直接威脅到每個(gè)人的人身財(cái)產(chǎn)安全。僅僅靠傳統(tǒng)的門鎖和防盜門是遠(yuǎn)遠(yuǎn)不夠的�!爸悄荛T禁系統(tǒng)”應(yīng)運(yùn)而生。
智能門禁系統(tǒng)是對(duì)樓房中的重要通道進(jìn)行管理。在門口、電梯、等人員來(lái)往頻繁或重要的地方安裝控制裝置,例如:讀卡器、鍵盤等,人員要想進(jìn)入,必須有卡且輸入密碼正確,才能通過(guò),大大增強(qiáng)了安全性。而傳統(tǒng)的機(jī)械門鎖僅僅是單純的機(jī)械裝置,無(wú)論結(jié)構(gòu)設(shè)計(jì)多么合理,材料多么堅(jiān)固,人們總能通過(guò)各種手段把它打開(kāi)。在小區(qū)等人流量大的地方由人來(lái)充當(dāng)保安控制和監(jiān)控人員流動(dòng)更是實(shí)際意義不大。智能化門禁管理方便了內(nèi)部管理,而且比傳統(tǒng)的門禁系統(tǒng)的安全性更高。
基于RFID技術(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ā)的方向。
1.2 課題研究現(xiàn)狀
1.2.1 國(guó)內(nèi)研究現(xiàn)狀1994年RFID技術(shù)進(jìn)入中國(guó),引發(fā)了中國(guó)RFID技術(shù)的應(yīng)用革命。在國(guó)內(nèi),其應(yīng)用領(lǐng)域越來(lái)越廣,涉及到交通、商場(chǎng)、銀行、物流等各多個(gè)領(lǐng)域。智能門禁就是其中一個(gè)重要的組成部分。
國(guó)內(nèi)從事門禁系統(tǒng)有門吉利、捷順、北京青云等公司。在技術(shù)方面,中國(guó)目前也有很多廠家,仿制國(guó)外優(yōu)秀的門禁系統(tǒng),但生產(chǎn)IC卡和讀卡器的關(guān)鍵技術(shù)則被歐美國(guó)家和部分亞洲國(guó)家所壟斷,并且真正形成大批量生產(chǎn)的廠家還只有美國(guó);德國(guó)、英國(guó)次之。雖然雖然國(guó)內(nèi)已經(jīng)實(shí)行“金卡工程”,并著力于發(fā)展非接觸式IC卡的技術(shù),但是基于射頻識(shí)別的智能門禁系統(tǒng)的使用在國(guó)內(nèi)還處于發(fā)展?fàn)顟B(tài),因此對(duì)射頻識(shí)別技術(shù)在門禁系統(tǒng)方面應(yīng)用的理論及實(shí)際可行及實(shí)用性進(jìn)行研究是重中之重 [2]。
2005年的門禁行業(yè)是在整個(gè)安防行業(yè)集成化、網(wǎng)絡(luò)化、數(shù)字化的推動(dòng)下不斷完善的一年。隨著中國(guó)房地產(chǎn)業(yè)的發(fā)展、智能建筑的推廣和智能小區(qū)安全防范工作的加強(qiáng),門禁應(yīng)用領(lǐng)域的進(jìn)一步拓展,2006年的門禁行業(yè)是高速發(fā)展的一年。雙總線的通訊模式、指紋等生物識(shí)別設(shè)備的集成管理及DVR系統(tǒng)的集成成為2006年門禁系統(tǒng)發(fā)展的亮點(diǎn)。另外,作為蓬勃發(fā)展的生物識(shí)別技術(shù),隨著其辨別的辨別速度和辨別的準(zhǔn)確度的提高,以及人們對(duì)這類產(chǎn)品的進(jìn)一步了解,若價(jià)格因素能保持了人們可以接受的范圍內(nèi),那這技術(shù)的應(yīng)用前景將會(huì)是非常廣闊的。
1.2.2 國(guó)外研究現(xiàn)狀歐美門禁系統(tǒng)市場(chǎng)的發(fā)展已經(jīng)日趨成熟,產(chǎn)業(yè)分工細(xì)化,并且在國(guó)際市場(chǎng)上占有較大的份額。國(guó)外門禁系統(tǒng)的知識(shí)品牌有美國(guó)的休斯(HID)、西屋(WSE)、洛泰克(NTK),以色列的DDS、英國(guó)的集寶等品牌。當(dāng)今世界上非接觸式IC卡主流產(chǎn)品是PhiliPs公司的Miafer技術(shù),己經(jīng)被制定為國(guó)際標(biāo)準(zhǔn)150/IEC14443TypeA標(biāo)準(zhǔn)。歐洲一些IC卡及讀卡器制造商大都以Mifare技術(shù)為標(biāo)準(zhǔn)發(fā)展自己的IC卡事業(yè)。
隨著其產(chǎn)業(yè)化的形成,各大公司由于其財(cái)力的雄厚、技術(shù)的先進(jìn)、市場(chǎng)的導(dǎo)向以及專業(yè)知識(shí)產(chǎn)權(quán),市場(chǎng)逐漸被壟斷,大公司越做越大,中小公司被淘汰或兼并。從目前全球門禁系統(tǒng)的前端輸入設(shè)備的水平及發(fā)展方向來(lái)看,雖然磁卡和接觸式IC卡在門禁系統(tǒng)的應(yīng)用中還有一部分市場(chǎng),但從發(fā)展趨勢(shì)上看,除賓館鎖外,磁卡和接觸式IC卡己在逐步地退出門禁系統(tǒng)市場(chǎng)。
ATMEL公司生產(chǎn)的Temic非接觸式IC卡是一種ID(身份)識(shí)別卡片,信息容量為264位EEPROM,采用125KHz工作頻率,是一種低頻無(wú)源卡,操作距離5-10cm。相應(yīng)的讀寫基站芯片為U2270B,此芯片在身份識(shí)別、考勤控制等方面得到了應(yīng)用。瑞士EM公司的H40OI非接觸IC卡,信息容量為64位EEPROM,采用125KHz工作頻率,也是低頻無(wú)源卡。美國(guó)TI公司的ID卡是一種低頻只讀卡,內(nèi)部有8字節(jié)(64位)ID號(hào)碼,己應(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),此卡最大的特點(diǎn)是交易時(shí)間只有31.4ms,比其它Mifare卡要短得多[3]。
1.3 門禁系統(tǒng)發(fā)展趨勢(shì)隨著現(xiàn)代科學(xué)技術(shù)的發(fā)展,傳統(tǒng)的門禁被逐漸取代并向智能化發(fā)展。基于RFID的智能門禁系統(tǒng)絕對(duì)是未來(lái)的主流,已占據(jù)目前約9成的市場(chǎng)。生物識(shí)別雖然安全性上也許更高些,但其價(jià)格的高昂阻礙了它走入人們的日常生活。在非接觸式IC卡門禁系統(tǒng)銷售額中,卡片和讀卡器占了3成以上,飛利浦的Mifare卡是目前中國(guó)市場(chǎng)上最主要產(chǎn)品[4]。RFID技術(shù)以其更快的響應(yīng)速度和更高的頻率成為目前的潮流。未來(lái)國(guó)內(nèi)門禁系統(tǒng)發(fā)展方向?yàn)榛诖笕萘縄C卡、基于開(kāi)放式通道、基于消費(fèi)系統(tǒng)、基于傳統(tǒng)門禁系統(tǒng)、基于LAN/WAN網(wǎng)絡(luò)管理,真正實(shí)現(xiàn)的一卡通系統(tǒng)。雖然這樣,但不少?gòu)S家認(rèn)為,一味地追求新技術(shù)和一卡通的理念實(shí)現(xiàn),并不能給實(shí)際應(yīng)用帶來(lái)成功,反而會(huì)造成資金的浪費(fèi),造成整個(gè)系統(tǒng)的不穩(wěn)定。所以,目前中國(guó)市場(chǎng)上一卡通標(biāo)準(zhǔn)還不是很規(guī)范,所以需要大家一起來(lái)制定標(biāo)準(zhǔn),推動(dòng)行業(yè)的發(fā)展[5]。
1.4 課題設(shè)計(jì)任務(wù)智能門禁系統(tǒng)設(shè)計(jì)主要分為兩個(gè)部分:外圍硬件系統(tǒng)和軟件系統(tǒng)。硬件系統(tǒng)包括射頻系統(tǒng)外圍電路的設(shè)計(jì);軟件系統(tǒng)包括非接觸式IC卡讀寫程序、LCD顯示程序、密碼驗(yàn)證及重置程序的設(shè)計(jì)編寫。此門禁系統(tǒng)基于RFID射頻識(shí)別技術(shù),可實(shí)現(xiàn)IC卡識(shí)別,并可完成顯示IC卡卡號(hào)、進(jìn)行密碼驗(yàn)證、重置密碼的功能。
1.5 論文結(jié)構(gòu)第1章:簡(jiǎn)要概述了課題研究現(xiàn)狀、課題研究的相關(guān)內(nèi)容和論文主要結(jié)構(gòu)。
第2章:介紹基于RFID技術(shù)的門禁系統(tǒng)理論基礎(chǔ)。
第3章:基于RFID技術(shù)的門禁系統(tǒng)硬件設(shè)計(jì),主要介紹單片機(jī)STC89C52及LCD12864模塊及其接口電路。
第4章:基于RFID技術(shù)的門禁系統(tǒng)軟件設(shè)計(jì)。
第2章 基于RFID技術(shù)的門禁系統(tǒng)理論基礎(chǔ)
2.1 射頻識(shí)別技術(shù)概述
2.1.1 射頻識(shí)別技術(shù)射頻識(shí)別(Radio Frequency Identification,RFID)技術(shù)是從八十年代逐漸走向成熟
的一種自動(dòng)識(shí)別技術(shù),它是一項(xiàng)利用射頻信號(hào)通過(guò)空間耦合(交變磁場(chǎng)或電磁場(chǎng))實(shí)現(xiàn)無(wú)接觸信息傳遞并通過(guò)所傳遞的信息達(dá)到識(shí)別目的的技術(shù)。射頻識(shí)別是無(wú)線電識(shí)別的簡(jiǎn)稱,它源于無(wú)線電通信技術(shù),綜合了現(xiàn)代計(jì)算機(jī)智能控制、智能識(shí)別等高新技術(shù),順應(yīng)了電子商務(wù)、交通運(yùn)輸、物流管理的發(fā)展需要。是當(dāng)前最受人們關(guān)注的技術(shù)之一。射頻識(shí)別技術(shù)具有非接觸、自動(dòng)完成識(shí)別過(guò)程、不易損壞、可識(shí)別高速運(yùn)動(dòng)物體、數(shù)據(jù)存儲(chǔ)量大等優(yōu)點(diǎn),極大地加速了有關(guān)信息的收集和處理,在近年來(lái)獲得了極為迅速的發(fā)展[6]。
2.1.2 射頻識(shí)別技術(shù)的分類RFID系統(tǒng)的分類方法主要有以下幾種:
根據(jù)系統(tǒng)采用的頻率不同可分成低頻系統(tǒng)和高頻系統(tǒng)。低頻系統(tǒng)的工作頻率一般小于30MHz,典型的工作頻率有:125KHz、13.56MHz等,其基本特點(diǎn)是成本較低、電子標(biāo)簽內(nèi)存儲(chǔ)的數(shù)據(jù)量較少、感應(yīng)范圍較�。o(wú)源情況,與讀卡器距離約為10cm時(shí)才可感應(yīng))、電子標(biāo)簽外形多樣(卡狀、環(huán)狀、筆狀),不適合高速運(yùn)動(dòng)的物體等。高頻系統(tǒng)的工作頻率一般大于400MHz,典型的工作頻段有:915MHz、5800MHz等,其基本特點(diǎn)是電子標(biāo)簽及閱讀器成本較高、標(biāo)簽內(nèi)保存的數(shù)據(jù)量較大、感應(yīng)距離較遠(yuǎn)(可達(dá)幾米至十幾米)、外形一般為卡狀、適應(yīng)物體高速運(yùn)動(dòng)性能好等[7]。
按射頻卡有無(wú)電池可分為無(wú)源系統(tǒng)和有源系統(tǒng)。有源系統(tǒng)中電子標(biāo)簽內(nèi)裝有電池,一般具有較遠(yuǎn)的閱讀距離,使用壽命取決于電池容量。無(wú)源系統(tǒng)中電子標(biāo)簽內(nèi)無(wú)電池,一般識(shí)別距離短,但與有源系統(tǒng)相比,對(duì)工作環(huán)境要求不高并且壽命較長(zhǎng)。
根據(jù)工作方式的不同還可分為主動(dòng)式和被動(dòng)式。主動(dòng)式系統(tǒng)主要用于有障礙物的應(yīng)用中,距離更遠(yuǎn)(可達(dá)30米); 被動(dòng)式系統(tǒng)主要在門禁或交通應(yīng)用中。
根據(jù)射頻卡讀寫方式的不同可分成可讀寫(RW)卡、一次寫入多次讀出(WORM)卡和只讀(RO)卡。RW卡成本較WORM卡和RO卡相比要高,而且寫入數(shù)據(jù)所花費(fèi)的時(shí)間要遠(yuǎn)大于讀取數(shù)據(jù)所花費(fèi)的時(shí)間。用戶可以一次性將信息寫入WORM卡,寫入后數(shù)據(jù)不能改變。RO卡存有一個(gè)唯一的號(hào)碼。只可讀取,不能修改,雖然安全性較高,但用途有限。
2.1.3 射頻識(shí)別系統(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)以及計(jì)算機(jī)系統(tǒng)等組成。讀寫器由無(wú)線收發(fā)模塊、天線、控制模塊及接口電路等組成。應(yīng)答器也稱電子標(biāo)簽,它具有可存儲(chǔ)讀寫信息及對(duì)信息進(jìn)行加密的能力,是射頻識(shí)別系統(tǒng)主要的核心。在閱讀器的感應(yīng)范圍之外,電子標(biāo)簽無(wú)源無(wú)法工作,只有在閱讀器感應(yīng)范圍之內(nèi),電子標(biāo)簽才是有源的。應(yīng)答器工作所需的能量,是通過(guò)讀寫器的耦合單元傳輸給應(yīng)答器的。應(yīng)答器如果是無(wú)源系統(tǒng),即應(yīng)答器內(nèi)不含電池,則應(yīng)答器工作的能量是由讀寫器發(fā)出的射頻脈沖提供[8]。應(yīng)答器如果是有源系統(tǒng),即應(yīng)答器內(nèi)含有電池,則應(yīng)答器工作能量和工作壽命有電池決定。
2.1.4 射頻識(shí)別系統(tǒng)的工作原理實(shí)用RFID系統(tǒng)為無(wú)源系統(tǒng),即射頻卡能量由讀寫器發(fā)出的射頻脈沖信號(hào)提供。無(wú)源系統(tǒng)的通信優(yōu)劣取決于讀寫器發(fā)出的脈沖信號(hào)能否被射頻卡完整接受。當(dāng)射頻卡進(jìn)入讀卡器接受范圍后,如果接收到讀卡器發(fā)出的射頻信號(hào),就能憑借產(chǎn)生的感應(yīng)電流所獲得的能量發(fā)送出存儲(chǔ)在卡片中的信息,通過(guò)讀卡器的處理,將信息送至信息管理系統(tǒng)進(jìn)行有關(guān)數(shù)據(jù)處理[9]。
2.2 非接觸式讀卡芯片MFRC522
2.2.1 MFRC522概述MFRC522是應(yīng)用于13.56MHz 非接觸式通信中高集成度讀寫卡系列芯片中的一員,是NXP公司推出的一款非接觸式讀寫卡芯片。MFRC522利用了先進(jìn)的調(diào)制和解調(diào)的技術(shù),完全集成了在13.56MHz下所有類型的通信協(xié)議,支持多種工作在13.56MHz下的射頻卡讀寫操作 [10]。其內(nèi)部發(fā)送器部分可驅(qū)動(dòng)讀寫器天線與射頻卡和應(yīng)答機(jī)的通信,無(wú)需其它的電路。
2.2.2 MFRC522特性1)高集成度的調(diào)制解調(diào)電路
2)支持 ISO/IEC 14443 TypeA 和MIFARE®通信協(xié)議
3)支持多種工作頻率為13.56M的射頻卡的信息讀寫
4)支持在線SPI編程
5)雙向數(shù)據(jù)傳輸速率高達(dá)424kbit/s
6)64字節(jié)的發(fā)送和接收緩沖區(qū)
7)靈活的中斷模式
8)可編程定時(shí)器
9)內(nèi)部振蕩器,晶振頻率為 27.12MHz
10)采用相互獨(dú)立的多組電源供電,提高工作的穩(wěn)定性及安全性
11)采用硬件掉電、軟件掉電和發(fā)送器掉電3種節(jié)電模式[11]
2.2.3 MFRC522管腳排列MFRC522管腳如圖2-2所示:
圖2-2 MFRC522引腳圖
2.3 本章小結(jié)本章對(duì)基于RFID技術(shù)的門禁系統(tǒng)的理論基礎(chǔ)進(jìn)行簡(jiǎn)單的介紹,重點(diǎn)講述了RFID技術(shù)概念和原理,并介紹了射頻芯片MFRC522。
第3章 門禁系統(tǒng)硬件設(shè)計(jì)本電路是由STC89C52 單片機(jī)為控制核心,射頻卡信息由MFRC522模塊讀出,通過(guò)MCU在LCD12864上顯示,通過(guò)按鍵完成密碼驗(yàn)證和修改密碼的功能。整個(gè)門禁系統(tǒng)框圖如圖3-1所示。
圖3-1 門禁系統(tǒng)框圖
3.1 STC89C52主控模塊3.1.1 STC89C52簡(jiǎn)介STC89C52是宏晶科技發(fā)行的一款兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),工業(yè)80C51產(chǎn)品指令和引腳完全兼容的51單片機(jī)。傳統(tǒng)的8051系列單片機(jī)只有128-256個(gè)字節(jié)RAM可使用,對(duì)于工程量較大的程序設(shè)計(jì)時(shí)往往會(huì)不夠用。而STC89C52RC系列單片機(jī)擴(kuò)展了256個(gè)字節(jié)RAM,拓展的容量,在應(yīng)用中漸漸取代傳統(tǒng)單片機(jī)被廣泛應(yīng)用。STC89C52還擁有8K字節(jié)在線可編程的Flash存儲(chǔ)器、支持在線SPI編程、32個(gè)雙向數(shù)據(jù)I/O口線、兩個(gè)16位定時(shí)器/計(jì)數(shù)器和全雙工UART串行通道[12]。
3.1.2 STC89C52主要特性1)與MCS-51 兼容
2)壽命:1000次擦/寫
3)據(jù)保留時(shí)間:10年
4)全靜態(tài)工作:0Hz-24Hz
5)512M內(nèi)部RAM
6)32雙向數(shù)據(jù)I/O線
7)兩個(gè)16位定時(shí)器/計(jì)數(shù)器
8)5個(gè)中斷源
9)可編程串行通道
10)芯片內(nèi)自帶振蕩器和時(shí)鐘電路[13]
3.1.3 STC89C52管腳說(shuō)明
圖3-2 STC89C52管腳圖
VCC:電源電壓。
GND:接地。
P0口:P0口為一個(gè)8位雙向I/O口,內(nèi)部不提供上拉電阻。連接電路時(shí)需外接上拉電阻。P0口緩沖器能接受輸出8TTL門電流。當(dāng)P0口的管腳第一次寫入“1”時(shí),被定義為高阻輸入。P0能夠作為外部程序數(shù)據(jù)存儲(chǔ)器,暫時(shí)存儲(chǔ)外部輸入數(shù)據(jù)而不需反復(fù)輸入。
P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。由于內(nèi)部上拉的緣故,P1口管腳寫入“1”后,其管腳電平被上拉電阻拉高,此時(shí)管腳用作輸入。P1口被上拉電阻下拉為低電平時(shí),此時(shí)管腳作為將輸出電流端口用。
P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收輸出4個(gè)TTL門電流。由于內(nèi)部上拉的緣故,當(dāng)P2口被寫“1”時(shí),其管腳電平被上拉電阻拉高,且作為輸入。P2口被上拉電阻下拉為低電平時(shí),此時(shí)管腳作為將輸出電流端口用。在FLASH編程和
校驗(yàn)時(shí),P2口用來(lái)接收高八位地址和控制信號(hào)。
P3口:P3 口是一個(gè)具有內(nèi)部上拉電阻的8 位雙向I/O 口,P3口緩沖器可接收輸出4個(gè)TTL門電流。對(duì)P3口管腳寫入“1”時(shí),其管腳電平被上拉電阻拉高,此時(shí)可以作為輸入口使用。P3口也作為STC89C52的第二功能使用[14]。具體功能如表3-1所示:
表3-1 P3口功能表
| |
| |
| |
| |
| |
| |
| |
| WR(外部數(shù)據(jù)存儲(chǔ)器寫選通) |
| RD(外部數(shù)據(jù)存儲(chǔ)器讀選通) |
RST:復(fù)位輸入,高電平有效。當(dāng)需對(duì)器件進(jìn)行復(fù)位時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。
ALE/PROG: ALE是地址鎖存允許信號(hào)端,低電平有效。在FLASH編程期間,此引腳用于輸入編程脈沖。PORG為編程脈沖的輸入端。當(dāng)ALE/PROG接上低電平的時(shí)候,單片機(jī)對(duì)外部存儲(chǔ)器進(jìn)行數(shù)據(jù)讀取時(shí),用來(lái)鎖住地址線的低位地址。
/PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。
/EA/VPP:當(dāng)/EA保持低電平時(shí),在此期間數(shù)據(jù)輸入都存入外部程序存儲(chǔ)器,不管內(nèi)部程序存儲(chǔ)器是否有空間存儲(chǔ)數(shù)據(jù)。
XTAL1:反向振蕩放大器的輸入及外部時(shí)鐘工作電路的輸入。
XTAL2:反向振蕩放大器的輸出及外部時(shí)鐘工作電路的輸出。
3.1.4 STC89C52最小系統(tǒng)接口電路單片機(jī)最小系統(tǒng)接口電路如圖3-3所示:
圖3-3 最小系統(tǒng)接口圖
3.2 LCD12864液晶顯示模塊圖3-3 最小系統(tǒng)接口圖
3.2.1 LCD12864簡(jiǎn)介帶中文字庫(kù)的12864是一種具有4位/8位并行、2線或3線串行多種接口方式,內(nèi)部含有簡(jiǎn)體中文字庫(kù)的圖形液晶顯示模塊,內(nèi)部含8192個(gè)漢字,其顯示分辨率為128×64 [15]。利用該模塊靈活的接口方式,通過(guò)簡(jiǎn)單的代碼編寫,可在界面上顯示漢字和圖形。而且由于其工作電壓和功率較同類型顯示圖形漢字的點(diǎn)陣模塊低,且硬件電路和程序都簡(jiǎn)單的多,因此LCD12864與同類型點(diǎn)陣相比,有更廣闊的市場(chǎng)。
3.2.2 LCD12864分類128×64點(diǎn)陣液晶顯示屏有三種控制器,分別是KS0107(KS0108)、T6963C和ST7920。三種控制器主要區(qū)別是:KS0107(KS0108)不帶任何字庫(kù)、T6963C帶ASCII碼,使用前兩種LCD若要顯示漢字,則需要通過(guò)字模軟件,將漢字取模后進(jìn)行編譯才可顯示,而ST7920自帶國(guó)標(biāo)二級(jí)字庫(kù)(8千多個(gè)漢字),可自動(dòng)顯示漢字。以此,在需要顯示字的情況下,使用ST7920控制器的12864更受歡迎。
3.2.3 12864管腳說(shuō)明表3-2 12864管腳功能(見(jiàn)附件)
LCD連接電路中,兩側(cè)1、2和20、19腳分別接地和+5V。V0為L(zhǎng)CD驅(qū)動(dòng)電壓輸入端,與一個(gè)三端滑動(dòng)變阻器相連,這樣通過(guò)調(diào)整V0端輸入電壓,可實(shí)現(xiàn)對(duì)LCD液晶屏對(duì)比度的調(diào)整,它決定了LCD能否正常顯示數(shù)據(jù)及顯示的效果[16]。
3.2.4 LCD12864基本特性(1)顯示分辨率:128×64點(diǎn)
(2)內(nèi)置128個(gè)16×8點(diǎn)陣字符
(3)內(nèi)部含有繁體、簡(jiǎn)體中文字庫(kù),包括含8192個(gè)漢字
(4)低電源電壓(VDD:+3.0-+5.5V)
(5)2MHZ時(shí)鐘頻率
(6)顯示方式:STN、正顯、半透
(7)工作溫度: 0℃-+55℃ ,存儲(chǔ)溫度: -20℃- +60℃
(8)通訊方式:串行、并行
(9)內(nèi)置轉(zhuǎn)換電路,無(wú)需轉(zhuǎn)換電壓或外加負(fù)壓 [17]
3.2.5 12864與89C52接口
3.3 按鍵本系統(tǒng)使用三個(gè)按鍵順序控制而非4*4鍵盤實(shí)現(xiàn)密碼輸入驗(yàn)證及修改功能。三個(gè)按鍵分別接89C52的P3.5、P3.6、P3.7口,通過(guò)軟件程序,實(shí)現(xiàn)一個(gè)按鍵實(shí)現(xiàn)+1,多次按壓則多次+1;一個(gè)按鍵實(shí)現(xiàn)-1,多次按壓則多次-1;另一按鍵作為功能鍵,實(shí)現(xiàn)數(shù)位變動(dòng)及確定功能。
3.4 本章小結(jié)本章對(duì)系統(tǒng)的外圍電路進(jìn)行了分析。圖3-5為完整的電路圖:
圖3-5 總體設(shè)計(jì)圖
第4章 門禁系統(tǒng)軟件設(shè)計(jì)4.1 Keil C51開(kāi)發(fā)系統(tǒng)Keil C51是美國(guó)Keil Software公司出品的51系列兼容單片機(jī)C語(yǔ)言軟件開(kāi)發(fā)系統(tǒng)。Keil C51軟件以其豐富的庫(kù)函數(shù)、強(qiáng)大的開(kāi)發(fā)功能和超高的代碼生成率成為單片機(jī)C51開(kāi)發(fā)所用到的主要調(diào)試工具 [18]。
C51有6種編譯時(shí)間庫(kù),支持絕大部分ANSIC-C函數(shù),它們適用于不同的應(yīng)用存儲(chǔ)模式。6種庫(kù)文件如表4-1所示:
表4-1 C51六種庫(kù)文件
Keil C51程序編譯界面:
圖4-1 Keil編譯界面
4.2 LCD顯示程序設(shè)計(jì)這里采用8位并行接口方式對(duì)12864進(jìn)行操作,D0-D7與單片機(jī)P0.0-P0.7對(duì)接,由89C52的P0端口作為數(shù)據(jù)的輸入端口。對(duì)RS、PSB等控制引腳進(jìn)行定義:
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的延時(shí)程序
PSB=1; //設(shè)置為8BIT并口工作模式
LCDdelay(1); //延時(shí)
RES=0; //復(fù)位
LCDdelay(100); //大于100uS的延時(shí)程序
TransferData(0x30,0); //Function Set
LCDdelay(100); //大于100uS的延時(shí)程序
TransferData(0x10,0); //Cursor Display Control光標(biāo)設(shè)置
LCDdelay(100); //大于100uS的延時(shí)程序
TransferData(0x0C,0); //Display Control,D=1,顯示開(kāi)
LCDdelay(100); //大于100uS的延時(shí)程序
TransferData(0x01,0); //Display Clear
LCDdelay(100); //大于100uS的延時(shí)程序
}
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);
}
本程序作用是用來(lái)判斷LCD當(dāng)前狀態(tài),BF狀態(tài)字決定了LCD模塊的工作狀態(tài),當(dāng)處于忙狀態(tài)時(shí),此時(shí)模塊不接受外部指令和數(shù)據(jù),BF=0時(shí),模塊為準(zhǔn)備狀態(tài),可對(duì)外部指令和數(shù)據(jù)進(jìn)行處理。因此,對(duì)LCD進(jìn)行操作之前,要對(duì)其工作狀態(tài)進(jìn)行判斷。
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ù)和指令之前,先對(duì)LCD狀態(tài)進(jìn)行判斷。當(dāng)BF=0,即LCD非忙時(shí),即可進(jìn)行寫入指令和數(shù)據(jù)的操作。寫入指令還是數(shù)據(jù)由RS,RW,EP三個(gè)引腳來(lái)確定。當(dāng)三個(gè)引腳分別為1,0,0時(shí),為寫入數(shù)據(jù)模式;三個(gè)引腳為0,0,0時(shí),為寫入指令模式。
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) //按任意鍵進(jìn)入
圖4-5 刷卡界面
4.3按鍵程序設(shè)計(jì)
4.3.1 密碼驗(yàn)證
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 密碼驗(yàn)證顯示圖
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鍵實(shí)現(xiàn)相加功能,連續(xù)按下實(shí)現(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鍵實(shí)現(xiàn)相減功能,連續(xù)按下實(shí)現(xiàn)9-0之間切換。
//按下功能鍵
if(K3==0)
{
Delay_ms(20);
while(K3==0)
Mode++;
lcd_pos(3,2+Mode);
}
K3為功能鍵,前三次按下功能鍵實(shí)現(xiàn)移位功能,光標(biāo)分別切換至1、2、3、4位。第四次按下實(shí)現(xiàn)確定功能,即輸入完畢后將數(shù)據(jù)輸入MCU并進(jìn)行處理。
uchar code Menu_3[]={
" 請(qǐng)輸入新密碼 " //0x80ok
"卡號(hào): " //0x88ok
"================" //0x90ok
"密碼: " //0x98ok
initinal(); //調(diào)用LCD字庫(kù)初始化程序
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è)計(jì)。畫(huà)出各模塊的框圖,可使整個(gè)設(shè)計(jì)流程一目了然,比如要實(shí)現(xiàn)什么功能,在哪塊還有問(wèn)題需要解決和改進(jìn)。軟件編寫時(shí),記的加上注釋,這在以后檢查時(shí)很有幫助。
結(jié)論
經(jīng)過(guò)三個(gè)多月的努力,終于如期完成了畢業(yè)設(shè)計(jì)這艱巨的任務(wù)。在整個(gè)設(shè)計(jì)過(guò)程中,出現(xiàn)過(guò)很多的難題,但都在老師和同學(xué)的幫助下順利解決了。本系統(tǒng)基本達(dá)到了預(yù)期的要求,可以實(shí)現(xiàn)以下功能:
(1)IC卡進(jìn)行讀取
(2)將卡號(hào)信息顯示在LCD上
(3)通過(guò)按鍵可輸入密碼
(4)進(jìn)行密碼驗(yàn)證
(5)修改密碼
雖然本次設(shè)計(jì)的門禁系統(tǒng)基本完成了設(shè)計(jì)時(shí)預(yù)想的功能,但由于學(xué)識(shí)及設(shè)計(jì)能力有限,還有許多功能有待開(kāi)發(fā),具體可改進(jìn)的設(shè)計(jì)如下:
(1)可將按鍵輸入該為4*4鍵盤輸入:可以增加功能,如退鉻、清除;單個(gè)鍵實(shí)現(xiàn)單個(gè)功能,不必一鍵多用。如功能鍵實(shí)現(xiàn)切換、確定。
(2)界面修改:增加刷卡、輸入密碼成功后歡迎界面。
(3)增加時(shí)鐘:記錄刷卡時(shí)間。
(4)上位機(jī)通訊:將刷卡信息通過(guò)串口傳給上位機(jī),對(duì)刷卡人員、時(shí)間等信息進(jìn)行處理,存入數(shù)據(jù)庫(kù),以此來(lái)實(shí)現(xiàn)對(duì)刷卡門禁系統(tǒng)的管理。
謝辭經(jīng)過(guò)三個(gè)多月的努力,終于完成了這次的畢業(yè)設(shè)計(jì)作品,由于經(jīng)驗(yàn)的缺乏,此次設(shè)計(jì)中難免有許多考慮不周全的地方,如果沒(méi)有導(dǎo)師的督促指導(dǎo),以及同學(xué)們的幫助,想要完成這個(gè)設(shè)計(jì)的難度是極大的。
在這里首先要感謝我的指導(dǎo)老師XXX老師。從課題確定開(kāi)始,查閱資料,設(shè)計(jì)草案的確定和修改,中期檢查,后期詳細(xì)設(shè)計(jì),甚至最后論文編寫和完成校稿,整個(gè)過(guò)程中都給予了我悉心的指導(dǎo)。在此,特別向XXX老師表示由衷的感謝和誠(chéng)摯的敬意。
其次要感謝和我一起作畢業(yè)設(shè)計(jì)的XXX同學(xué),在課題研究過(guò)程中,我們一起討論、研究專業(yè)理論問(wèn)題;在設(shè)計(jì)中勤奮工作,克服了許多困難來(lái)完成此次畢業(yè)設(shè)計(jì)。如果沒(méi)有他的努力工作,此次設(shè)計(jì)的完成將變得非常困難。
最后還要感謝大學(xué)四年來(lái)所有的老師,為我們打下扎實(shí)的專業(yè)知識(shí)的基礎(chǔ),讓我們?cè)谟龅侥切⿲I(yè)問(wèn)題是不至于不知所措。同時(shí)還要感謝所有的同學(xué)們,正是有了你們的陪伴,大學(xué)四年才會(huì)過(guò)的如此精彩;正是有了你們的鼓勵(lì),才不至于在遇到挫折時(shí)一蹶不振;正是有了你們的幫助,此次畢業(yè)設(shè)計(jì)才會(huì)順利完成。