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

圖4-9 輸入新密碼界面
圖4-9 修改密碼界面
4.4本章小結本章介紹了系統軟件部分的設計。畫出各模塊的框圖,可使整個設計流程一目了然,比如要實現什么功能,在哪塊還有問題需要解決和改進。軟件編寫時,記的加上注釋,這在以后檢查時很有幫助。
結論
經過三個多月的努力,終于如期完成了畢業設計這艱巨的任務。在整個設計過程中,出現過很多的難題,但都在老師和同學的幫助下順利解決了。本系統基本達到了預期的要求,可以實現以下功能:
(1)IC卡進行讀取
(2)將卡號信息顯示在LCD上
(3)通過按鍵可輸入密碼
(4)進行密碼驗證
(5)修改密碼
雖然本次設計的門禁系統基本完成了設計時預想的功能,但由于學識及設計能力有限,還有許多功能有待開發,具體可改進的設計如下:
(1)可將按鍵輸入該為4*4鍵盤輸入:可以增加功能,如退鉻、清除;單個鍵實現單個功能,不必一鍵多用。如功能鍵實現切換、確定。
(2)界面修改:增加刷卡、輸入密碼成功后歡迎界面。
(3)增加時鐘:記錄刷卡時間。
(4)上位機通訊:將刷卡信息通過串口傳給上位機,對刷卡人員、時間等信息進行處理,存入數據庫,以此來實現對刷卡門禁系統的管理。
謝辭經過三個多月的努力,終于完成了這次的畢業設計作品,由于經驗的缺乏,此次設計中難免有許多考慮不周全的地方,如果沒有導師的督促指導,以及同學們的幫助,想要完成這個設計的難度是極大的。
在這里首先要感謝我的指導老師XXX老師。從課題確定開始,查閱資料,設計草案的確定和修改,中期檢查,后期詳細設計,甚至最后論文編寫和完成校稿,整個過程中都給予了我悉心的指導。在此,特別向XXX老師表示由衷的感謝和誠摯的敬意。
其次要感謝和我一起作畢業設計的XXX同學,在課題研究過程中,我們一起討論、研究專業理論問題;在設計中勤奮工作,克服了許多困難來完成此次畢業設計。如果沒有他的努力工作,此次設計的完成將變得非常困難。
最后還要感謝大學四年來所有的老師,為我們打下扎實的專業知識的基礎,讓我們在遇到那些專業問題是不至于不知所措。同時還要感謝所有的同學們,正是有了你們的陪伴,大學四年才會過的如此精彩;正是有了你們的鼓勵,才不至于在遇到挫折時一蹶不振;正是有了你們的幫助,此次畢業設計才會順利完成。