版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、武漢職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)論文論文題目: 姓 名: 所在院系: 班 級(jí): 學(xué) 號(hào): 指導(dǎo)教師: 武漢職業(yè)技術(shù)學(xué)院二一三年十二月二十六日基于單片機(jī)的門禁系統(tǒng)的設(shè)計(jì)摘 要門禁系統(tǒng)采用89C52 單片機(jī)作為控制核心,外圍加蜂鳴器控制電路、開門指示燈電路、電控鎖控制電路以及LCD液晶顯示電路等。門禁系統(tǒng)主要由CPU、工作指示電路、振蕩電路、蜂鳴器電路、門控鎖電路、矩陣鍵盤、讀卡模塊、顯示模塊等組成。該門禁系統(tǒng)采用射頻卡完成刷卡進(jìn)門,按刷卡出門等功能。其工作原理為:當(dāng)刷卡時(shí),蜂鳴器響一下,如卡權(quán)限獲得允許,顯示模塊顯示卡號(hào),同時(shí)繼電器動(dòng)作將門鎖打開,指示燈點(diǎn)亮,延時(shí)一段時(shí)間后繼電器再次動(dòng)作將門鎖鎖閉,指示
2、燈熄滅。當(dāng)按下出門按鈕時(shí),繼電器動(dòng)作將門鎖打開,指示燈點(diǎn)亮,延時(shí)一段時(shí)間后繼電器再次動(dòng)作將門鎖鎖閉,指示燈熄滅。當(dāng)輸入初始密碼時(shí),若輸入正確,繼電器動(dòng)作將門鎖打開,指示燈點(diǎn)亮,延時(shí)一段時(shí)間后繼電器再次動(dòng)作將門鎖鎖閉。此外,程序中還增加了射頻卡權(quán)限判斷的功能,當(dāng)遇到合法卡時(shí)顯示卡號(hào),門鎖打開,延時(shí)10s自動(dòng)關(guān)閉,當(dāng)遇到非法卡時(shí)不顯示卡號(hào)門鎖不開。本系統(tǒng)設(shè)計(jì)簡(jiǎn)單、性能優(yōu)良,具有一定的實(shí)用性。關(guān)鍵詞:門禁,射頻卡,電控鎖,液晶顯示,單片機(jī)控制第1章 概述1.1 系統(tǒng)方案的比較1.1.1 選題論證在現(xiàn)今社會(huì),隨著人們對(duì)門禁系統(tǒng)各方面要求的不斷提高,門禁系統(tǒng)的應(yīng)用范圍越來越廣泛,因此門禁系統(tǒng)的研發(fā)已成為
3、現(xiàn)代科技領(lǐng)域的一個(gè)熱門課題。目前,門禁系統(tǒng)已成為安全防范系統(tǒng)中極其重要的一部分,在一些發(fā)達(dá)國(guó)家,門禁系統(tǒng)正以遠(yuǎn)遠(yuǎn)高于其它類安防產(chǎn)品的進(jìn)度迅猛發(fā)展;門禁系統(tǒng)之所以能在眾多安防產(chǎn)品中脫穎而出,根本原因是因?yàn)槠涓淖兞艘酝卜喇a(chǎn)品,如:閉路監(jiān)控,防盜報(bào)警等被動(dòng)的安防方式,以主動(dòng)的控制替代了被動(dòng)監(jiān)視的方式,通過對(duì)主要通道的控制,大大的防止了罪犯從正常通道的侵入,并且可以在罪案發(fā)生時(shí)通過對(duì)通道門的控制限制罪犯的活動(dòng)范圍,制止犯罪或減少損失。此外,人們對(duì)門禁系統(tǒng)的應(yīng)用已不局限在單一的出入口控制,而且還要求它不僅可應(yīng)用于智能大廈或智能社區(qū)的門禁控制、考勤管理、安防報(bào)警、停車場(chǎng)控制、電梯控制、樓宇自控等,還可與
4、其它系統(tǒng)聯(lián)動(dòng)控制等多種控制功能。安裝有門禁系統(tǒng)的建筑具有以下優(yōu)點(diǎn):(1)具有對(duì)門戶出入控制,保安防盜,報(bào)警等多種功能。(2)方便內(nèi)部員工或住戶出入,同時(shí)杜絕外來人員隨意進(jìn)出,既方便了內(nèi)部管理,又增強(qiáng)了內(nèi)部的保安。(3)門禁管理系統(tǒng)作為智能建筑中不可缺少的安保自動(dòng)化的一部分,為用戶提供一個(gè)高效的工作環(huán)境,從而提高管理的層次。也正是由于門禁系統(tǒng)實(shí)用性強(qiáng),市場(chǎng)需求大,應(yīng)用廣泛,我們便選此作為研究設(shè)計(jì)的課題。1.1.2 方案選擇 門禁系統(tǒng)有許多種方案:主要有聯(lián)網(wǎng)和不聯(lián)網(wǎng)型。 聯(lián)網(wǎng)型:結(jié)構(gòu)圖如圖1-1示:圖1-1 聯(lián)網(wǎng)型結(jié)構(gòu)圖聯(lián)網(wǎng)型門禁系統(tǒng)的優(yōu)點(diǎn):(1)實(shí)時(shí)聯(lián)網(wǎng);(2)刷卡后立即把數(shù)據(jù)傳輸?shù)街鳈C(jī)上;(3
5、)便于查詢并能生成報(bào)表;缺點(diǎn):(1)計(jì)算機(jī)要求24小時(shí)開機(jī);(2)計(jì)算機(jī)或管理機(jī)萬一有故障系統(tǒng)癱瘓;(3)有問題影響面大。不聯(lián)網(wǎng)型門禁系統(tǒng)的優(yōu)點(diǎn):(1)單臺(tái)刷卡機(jī)就能工作;(2)不用布線;(3)操作簡(jiǎn)單方便。缺點(diǎn):不便于查詢。根據(jù)以上分析,我們的課題選擇了不聯(lián)網(wǎng)型。因?yàn)榇嗽O(shè)計(jì)簡(jiǎn)單,提交作品方便,易操作。1.1.3 CPU的選擇我們?cè)谶@個(gè)課題的設(shè)計(jì)上采用了51單片機(jī)系統(tǒng),之所以采用單片機(jī)系統(tǒng)是由于成本較低,功能完全可以滿足,發(fā)展也比較成熟且完善。而DSP、ARM系統(tǒng)雖然科技含量高于51單片機(jī)系統(tǒng),但是其價(jià)格昂貴并且發(fā)展尚未成熟。因此,根據(jù)我們學(xué)的知識(shí)和市面上的應(yīng)用,經(jīng)過比較我們選擇了技術(shù)成熟、價(jià)
6、格便宜、設(shè)計(jì)簡(jiǎn)單、使用方便的單片機(jī)平臺(tái)。1.1.4 射頻卡的選擇目前市面上的卡有很多種類:條碼、磁卡、接觸式IC卡,非接觸式IC卡等,條碼和磁卡,在超市和銀行方面應(yīng)用的比較多,接觸式IC卡,以前在公共電話中用的比較多,但接觸式IC卡,芯片外露易壞、易折,而非接觸式IC卡既射頻卡,它把芯片和線圈封裝卡片內(nèi),不容易損壞、不怕惡劣的環(huán)境,現(xiàn)在社會(huì)上很流行,可靠性也高。根據(jù)卡的分析,我們選擇目前流行最廣,可靠性高,成本低的只讀卡,即采用EM4000型的ID卡。1.1.5 液晶顯示的選擇1602液晶也叫1602字符型液晶它是一種專門用來顯示字母、數(shù)字、符號(hào)等的點(diǎn)陣型液晶模塊它有若干個(gè)5×7或者
7、5×11等點(diǎn)陣字符位組成,每個(gè)點(diǎn)陣字符位都可以顯示一個(gè)字符。每位之間有一個(gè)點(diǎn)距的間隔每行之間也有間隔起到了字符間距和行間距的作用,正因?yàn)槿绱怂运荒茱@示圖形。目前市面上字符液晶絕大多數(shù)是基于HD44780液晶芯片的,控制原理是完全相同的,基于HD44780寫的控制程序可以很方便地應(yīng)用于市面上大部分的字符型液晶。因此,選擇LCD1602能夠滿足門禁系統(tǒng)設(shè)計(jì)的需要。第2章 硬件電路的設(shè)計(jì)2.1 電路原理2.1.1 門禁系統(tǒng)主要組成由單片機(jī)、電源指示、工作指示、振蕩電路、蜂鳴器電路、門控鎖電路、4×4矩陣鍵盤、讀卡模塊、顯示模塊組成。如圖2-1示:圖2-1 電路原理圖2.1.2
8、 門禁系統(tǒng)工作原理1、當(dāng)刷卡時(shí),蜂鳴器響一下,如卡權(quán)限獲得允許,顯示模塊顯示卡號(hào),同時(shí)繼電器動(dòng)作將門鎖打開指示燈點(diǎn)亮,延時(shí)一段時(shí)間后繼電器再次動(dòng)作將門鎖鎖閉指示燈熄滅;當(dāng)非法卡刷卡時(shí),沒有任何動(dòng)作。2、當(dāng)按下出門按鈕時(shí),繼電器動(dòng)作將門鎖打開指示燈點(diǎn)亮,延時(shí)一段時(shí)間后繼電器再次動(dòng)作將門鎖鎖閉指示燈熄滅。3、當(dāng)進(jìn)門輸入密碼時(shí),密碼正確則繼電器動(dòng)作將門鎖打開指示燈點(diǎn)亮,延時(shí)一段時(shí)間后繼電器再次動(dòng)作將門鎖鎖閉指示燈熄滅;密碼錯(cuò)誤則蜂鳴器報(bào)警,延時(shí)一段時(shí)間后蜂鳴器停止報(bào)警。2.2 資源分配軟、硬件設(shè)計(jì)是設(shè)計(jì)中不可缺少的,為了滿足功能和指標(biāo)的要求,資源分配如下:1晶振采用11.0592MHZ;2單片機(jī)資源
9、分配如表2-1、2-1示:表2-1單片機(jī)資源分配表(1)P0.0-P0.7P1.0-P1.7P2.0P2.1P2.2LCD顯示矩陣鍵盤RSRWE表2-2單片機(jī)資源分配表(2)P2.3P2.4P2.5P3.0P3.2鎖蜂鳴器LED讀卡按鍵中斷0開0響0亮1不開1不響1不亮3、計(jì)算:因?yàn)樯漕l卡的讀卡頭選用EM4000型,讀卡頻率是11.0592MHZ,所以最小系統(tǒng)晶振,必須用11.0592MHZ才能讀卡。(1)定時(shí)控制字確定:選用定時(shí)器T1,方式2,所以 TMOD是20H。(2)計(jì)算初值 X = 256 -(foxc*(SMOD+1)/384*波特率 = 256 -(11.0592 *106 *(
10、0+1)/384*9600 = 253TH1= 0FDH TL1= 0FDH2.3 最小系統(tǒng)設(shè)計(jì) 2.3.1 89C52的簡(jiǎn)述1.89C52的簡(jiǎn)介89C52是INTEL公司MCS-51系列單片機(jī)中基本的產(chǎn)品,它采用ATMEL公司可靠的CMOS工藝技術(shù)制造的高性能8位單片機(jī),屬于標(biāo)準(zhǔn)的MCS-51的HCMOS產(chǎn)品。它結(jié)合了CMOS的高速和高密度技術(shù)及CMOS的低功耗特征,它基于標(biāo)準(zhǔn)的MCS-51單片機(jī)體系結(jié)構(gòu)和指令系統(tǒng),屬于89C51增強(qiáng)型單片機(jī)版本,集成了時(shí)鐘輸出和向上或向下計(jì)數(shù)器等更多的功能,適合于類似馬達(dá)控制等應(yīng)用場(chǎng)合。89C52內(nèi)置8位中央處理單元、256字節(jié)內(nèi)部數(shù)據(jù)存儲(chǔ)器RAM、8k片
11、內(nèi)程序存儲(chǔ)器(ROM)32個(gè)雙向輸入/輸出(I/O)口、3個(gè)16位定時(shí)/計(jì)數(shù)器和5個(gè)兩級(jí)中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片內(nèi)時(shí)鐘振蕩電路。此外,89C52還可工作于低功耗模式,可通過兩種軟件選擇空閑和掉電模式。在空閑模式下凍結(jié)CPU而RAM定時(shí)器、串行口和中斷系統(tǒng)維持其功能。掉電模式下,保存RAM數(shù)據(jù),時(shí)鐘振蕩停止,同時(shí)停止芯片內(nèi)其它功能。89C52有PDIP(40pin)和PLCC(44pin)兩種封裝形式。89C52引腳圖如圖2-2示:圖2-2 89C52的引腳圖89C52 單片機(jī)外部有32個(gè)端口可供用戶使用,其功能如表2-3示:表2-3 89C52外部端口功能表端口引腳位置第一功能區(qū)第二
12、功能區(qū)符號(hào)功能符號(hào)功能P03932P0.0P0.7通用I/O口AD0AD7地址/數(shù)據(jù)總線(低位)P118P1.0P1.7通用I/O口P22128P2.0P2.7通用I/O口A8A15地址總線(高位)P310P3.0通用I/O口RXD串行通信發(fā)送口11P3.1TX0串行通信接收口12P3.2INT0外部中斷013P3.3INT1外部中斷114P3.4T0計(jì)數(shù)器0輸入端口15P3.5T1計(jì)數(shù)器1輸入端口16P3.6WR外部?jī)?chǔ)存器寫使能17P3.7RD外部?jī)?chǔ)存器讀使能門禁系統(tǒng)數(shù)控部分采用89C52 單片機(jī)作為控制核心,其內(nèi)部組成包括:一個(gè)8位的微處理器CPU及片內(nèi)振蕩器和時(shí)鐘產(chǎn)生電路,但石英晶體和微
13、調(diào)電容需要外接;片內(nèi)數(shù)據(jù)存儲(chǔ)器8KB RAM低128字節(jié),存放讀/寫數(shù)據(jù);高128字節(jié)被特殊功能寄存器占用;片內(nèi)程序存儲(chǔ)器 ROM;四個(gè)8位并行I/O(輸入/輸出)接口P3 -P0,每個(gè)口可以用作輸入,也可以用作輸出;兩個(gè)定時(shí)/計(jì)數(shù)器,每個(gè)定時(shí)/計(jì)數(shù)器都可以設(shè)置成計(jì)數(shù)方式,用以對(duì)外部事件進(jìn)行計(jì)數(shù),也可以設(shè)置成定時(shí)方式,并可以根據(jù)計(jì)數(shù)或定時(shí)的結(jié)果實(shí)現(xiàn)計(jì)算機(jī)控制;五個(gè)中斷源的中斷控制系統(tǒng);一個(gè)全雙工UART(通用異步接收發(fā)送器)的串行I/O口。在89C52 單片機(jī)的基礎(chǔ)上,外圍增加蜂鳴器控制電路、開門指示燈電路、電控鎖控制電路以及1602顯示電路等,構(gòu)成了門禁系統(tǒng)的控制電路。2.4 最小系統(tǒng)的設(shè)計(jì)
14、門禁系統(tǒng)數(shù)控部分采用89C52 單片機(jī)作為控制核心,其內(nèi)部組成包括:一個(gè)8位的微處理器CPU及片內(nèi)振蕩器和時(shí)鐘產(chǎn)生電路,但石英晶體和微調(diào)電容需要外接;片內(nèi)數(shù)據(jù)存儲(chǔ)器8KB RAM低128字節(jié),存放讀/寫數(shù)據(jù);高128字節(jié)被特殊功能寄存器占用;片內(nèi)程序存儲(chǔ)器 ROM;四個(gè)8位并行I/O(輸入/輸出)接口P3P0,每個(gè)口可以用作輸入,也可以用作輸出;兩個(gè)定時(shí)/計(jì)數(shù)器,每個(gè)定時(shí)/計(jì)數(shù)器都可以設(shè)置成計(jì)數(shù)方式,用以對(duì)外部事件進(jìn)行計(jì)數(shù),也可以設(shè)置成定時(shí)方式,并可以根據(jù)計(jì)數(shù)或定時(shí)的結(jié)果實(shí)現(xiàn)計(jì)算機(jī)控制;五個(gè)中斷源的中斷控制系統(tǒng);一個(gè)全雙工UART(通用異步接收發(fā)送器)的串行I/O口。在89C52 單片機(jī)的基礎(chǔ)
15、上,外圍增加蜂鳴器控制電路、開門指示燈電路、電控鎖控制電路以及1602顯示電路等,構(gòu)成了門禁系統(tǒng)的控制電路。其原理圖如圖2-3示:圖2-3 門禁系統(tǒng)控制原理圖第3章 硬件電路原理3.1 門控鎖電路工作原理:當(dāng)P2.3口輸出高電平時(shí)Q2導(dǎo)通,Q3截止,此時(shí)繼電器的控制線圈為開路,繼電器不動(dòng)作。門鎖接于繼電器常閉端,門鎖閉合,門處于鎖死狀態(tài)。當(dāng)P2.3口輸出低電平時(shí)Q2截止,Q3導(dǎo)通,此時(shí)繼電器的控制線圈閉合,繼電器動(dòng)作。繼電器常閉端斷開,門鎖打開,門處于打開狀態(tài)。門控鎖電路如圖3-1示:圖3-1 控制鎖電路圖3.2 蜂鳴器電路工作原理:當(dāng) P2.4輸出高電平時(shí),Q4導(dǎo)通,Q5截止,蜂鳴器回路開路
16、,蜂鳴器不響。當(dāng) P2.4輸出高電平時(shí),Q4截止,Q5導(dǎo)通,蜂鳴器回路閉合,蜂鳴器發(fā)出響聲。電路組成如圖3-2示:圖3-2 蜂鳴器電路圖3.3 控制指示燈工作原理:當(dāng)P2.5口輸出高電平時(shí),Q1截止,發(fā)光二極管熄滅。當(dāng)P2.5口輸出低電平時(shí),Q1導(dǎo)通,發(fā)光二極管點(diǎn)亮。電路組成如圖3-3示:圖3-3 工作指示燈電路圖3.4 4×4矩陣鍵盤工作原理: P1口高四位為低電平,低四位為高電平。當(dāng)有鍵按下時(shí),P1.0-P1.3給P3.2口輸入低電平,觸發(fā)INT0中斷,程序作出相應(yīng)處理,如3-4示:圖3-4 4×4矩陣鍵盤電路圖3.5 讀卡模塊設(shè)計(jì)上我們采用ID射頻卡讀卡器。EM991
17、3BF 125KHz感應(yīng)式讀卡模組是針對(duì)125KHz非接觸式RFID晶片而設(shè)計(jì)的讀卡模組,它能針對(duì)目前市面上125KHz非接觸式RFID晶片如凌航科技GK4001晶片或其它規(guī)格現(xiàn)相近產(chǎn)品進(jìn)行資料讀取與資料判斷,使用者可以一次開發(fā)感應(yīng)式讀卡及相關(guān)應(yīng)用系統(tǒng),該模塊主要范圍為互動(dòng)式玩具、門禁管制系統(tǒng)、人員考勤管理、動(dòng)物或物品辨識(shí)及產(chǎn)品管理,此讀卡模組主要優(yōu)缺點(diǎn)敘述如下:優(yōu)點(diǎn):(1)獨(dú)立性高,(2)二次開發(fā)容易,安裝簡(jiǎn)單資料讀取穩(wěn)定性高(3)統(tǒng)安全性高,RFID資料不重復(fù)且難以復(fù)制(4)可選擇數(shù)據(jù)輸出格式缺點(diǎn):電腦必須24小時(shí)開機(jī),便于數(shù)據(jù)傳送。硬件/軟件功能:125KHz感應(yīng)式讀卡機(jī)系統(tǒng)如圖3-5示
18、:感應(yīng)線圈讀卡器模組RS232outpu接CPU3.0圖3-5 讀卡器示意圖讀卡器引腳連接圖如3-6示:圖3-6 讀卡器引腳連接示意圖使用EM9913BF模塊,在5-15cm距離內(nèi)讀取GK4001的時(shí)間不超過70ms。感應(yīng)式讀卡系統(tǒng)電源DC 5V,感應(yīng)線圈(Antenna)為系統(tǒng)必需,感應(yīng)線圈可以與系統(tǒng)分開放置,亦可設(shè)計(jì)與系統(tǒng)中,為防止感應(yīng)電磁場(chǎng)干擾,請(qǐng)勿將金屬板置于感應(yīng)線圈前后。每個(gè)卡片內(nèi)部有一個(gè)小芯片和感應(yīng)線圈,價(jià)格低廉,國(guó)內(nèi)最普及的EM ID卡,大多為瑞士nEM或臺(tái)灣GK公司的4100、4102系列芯片+線圈+卡基封裝而成。每張卡有且只有一個(gè)唯一的,不可更改和復(fù)制的ID內(nèi)碼(64位2進(jìn)制
19、機(jī)密的永不重復(fù)的卡號(hào)),因其安全可靠,價(jià)格低廉而大量應(yīng)用于身份識(shí)別、產(chǎn)品防偽等領(lǐng)域。讀卡器卡號(hào)輸出格式的說明:由于歷史的原因,或者不同領(lǐng)域習(xí)慣的原因,最常見到的有五種讀卡方式,我們采用的讀卡格式為:將10位十六進(jìn)制的ASC字符串,即10Hex格式的倒數(shù)第5、第6位,轉(zhuǎn)換為3位十進(jìn)制卡號(hào),在將后4位,轉(zhuǎn)換為5位十進(jìn)制卡號(hào),中間用“,”分開,即“2H+4H”,即將2H“6F”轉(zhuǎn)換為“111”,4H“6c3a”轉(zhuǎn)換為“27706”,最終將2段連在一起輸出為“111,27706”。3.6 顯示模塊LCD1602是指顯示的內(nèi)容為16×2,即可以顯示兩行,每行16個(gè)字符液晶模塊。它是一種專門用來
20、顯示字母、數(shù)字、符號(hào)等的點(diǎn)陣型液晶模塊它有若干個(gè)5×7或者5×11等點(diǎn)陣字符位組成,每個(gè)點(diǎn)陣字符位都可以顯示一個(gè)字符。目前市面上字符液晶絕大多數(shù)是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780寫的控制程序可以很方便地應(yīng)用于市面上大部分的字符型液晶。3.6.1 LCD1602 主要技術(shù)參數(shù)顯示容量:16×2 個(gè)字符 芯片工作電壓:4.55.5V 工作電流:2.0mA(5.0V) 模塊最佳工作電壓:5.0V 字符尺寸:2.95×4.35(W×H)mm 3.6.2引腳功能說明1602引腳如圖3-8示:圖3-7 1602引腳
21、示意圖1602引腳功能如表3-2示:表3-2 1602引腳功能表編號(hào)符號(hào)引腳說明編號(hào)符號(hào)引腳說明1VSS電源地9D2數(shù)據(jù)2VDD電源正極10D3數(shù)據(jù)3VL液晶顯示偏壓11D4數(shù)據(jù)4RS數(shù)據(jù)/命令選擇12D5數(shù)據(jù)5R/M讀/寫選擇13D6數(shù)據(jù)6E使能信號(hào)14D9數(shù)據(jù)7D0數(shù)據(jù)15BLA背光源正極8D1數(shù)據(jù)16BLK背光源負(fù)極1602采用標(biāo)準(zhǔn)的16腳接口,其中: 第1腳:VSS為電源地 第2腳:VDD接5V電源正極 第3腳:V0為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比度最高(對(duì)比度過高時(shí)會(huì) 產(chǎn)生“鬼影”,使用時(shí)可以通過一個(gè)10K的電位器調(diào)整對(duì)比度)。 第4腳:RS為寄存器選擇
22、,高電平1時(shí)選擇數(shù)據(jù)寄存器、低電平0時(shí)選擇指令寄存器。 第5腳:RW為讀寫信號(hào)線,高電平(1)時(shí)進(jìn)行讀操作,低電平(0)時(shí)進(jìn)行寫操作。 第6腳:E(或EN)端為使能(enable)端。 第714腳:D0D7為8位雙向數(shù)據(jù)端。 第1516腳:空腳或背燈電源。15腳背光正極,16腳背光負(fù)極3.6.3 1602指令集1602 液晶模塊的讀寫操作,屏幕和光標(biāo)的操作都是通過指令編程來實(shí)現(xiàn)的(說明1為高電平,0為低電平)。如表3-3示:表3-3 1602指令集指令1:清顯示,指令碼01H,光標(biāo)復(fù)位到地址 00H 位置。指令2:光標(biāo)復(fù)位,光標(biāo)返回到地址00H。指令3:光3標(biāo)和顯示位置設(shè)置I/D,光標(biāo)移動(dòng)方向
23、,高電平右移,低電平左移,S:屏幕上所有文字是否左移或右移,高電平表示有效,低電平表示無效。指令 4:顯示開關(guān)控制。D:控制整體的顯示開與關(guān),高電平表示開顯示,低電平表示關(guān)顯示。C:控制光標(biāo)的開與關(guān),高電平表示有光標(biāo),低電平表示無光標(biāo) B:控制光標(biāo)是否閃爍,高電平閃爍,低電平不閃爍。指令 5:光標(biāo)或顯示移位 S/C :高電平時(shí)顯示移動(dòng)的文字,低電平時(shí)移動(dòng)光標(biāo)。指令 6:功能設(shè)置命令 DL:高電平時(shí)為 4 位總線,低電平時(shí)為 8 位總線 N:低電平時(shí)為單行顯示,高電平時(shí)為雙行顯示,F(xiàn):低電平時(shí)顯示 5X7 的點(diǎn)陣字符,高電平時(shí)顯示 5X10 的顯示字符。指令 7:字符發(fā)生器RAM地址設(shè)置。 指令
24、 8:DDRAM 地址設(shè)置。指令 9:讀忙信號(hào)和光標(biāo)地址 BF:忙標(biāo)志位,高電平表示忙,此時(shí)模塊不能接收命令或數(shù)據(jù),如果為低電平表示不忙。3.6.4 與HD44780相兼容的芯片時(shí)序表基本操作時(shí)序表如表3-5示:表3-5 基本操作時(shí)序表讀狀態(tài)輸入RS=L,R/W=H,E=H輸出D0-D7=狀態(tài)字寫指令輸入RS=L,R/W=H,D0-D7=指令碼,E=高脈沖輸出無讀數(shù)據(jù)輸入RS=H,R/W=H,E=H輸出D0-D7=數(shù)據(jù)寫數(shù)據(jù)輸入RS=H,R/W=L,D0-D7=數(shù)據(jù), E=高脈沖輸出無讀操作時(shí)序如圖3-8示:圖3-8 讀操作時(shí)序圖寫操作時(shí)序如圖3-9示:圖3-9 寫操作時(shí)序圖第4章 軟件設(shè)計(jì)4
25、.1 系統(tǒng)主程序分析4.1.1主程序流程圖 主程序流程圖如圖4-10示:圖4-10 主程序流程圖4.1.2主程序清單#include<reg52.h>#include<intrins.h>#include<define.h>#include<delay.h>#include<enter_out.h>#include<lcd.h>#include<keyboard.h>#include<display.h>#include<T1.h>/*主程序*/void main()LED = 0;/L
26、ED 亮BUZZER = 0;/蜂鳴器 響 EA = 1;/開所有中斷INT0_init();T1_init();lcd_init();P1 = 0x0f;/鍵盤初始化delay(100);LED = 1;/熄滅LEDBUZZER=1; /關(guān) 蜂鳴器while(1)display();delay(50);4.2 子程序分析4.2.1 顯示程序1. 顯示程序流程圖如圖4-11示:圖4-11 顯示程序流程圖2.顯示程序清單:/*函數(shù)功能:與最近一次lcd顯示界面比較,以此作是否清屏處理入口參數(shù):出口參數(shù):*/void judge_clear_lcd()if( N_DISPLAY != N_DISP
27、LAY_HISTORY )lcd_wcmd(0x01);/清屏/*函數(shù)功能:lcd顯示第0幕入口參數(shù):出口參數(shù):*/void display0()uchar i;judge_clear_lcd(); /是否清屏處理lcd_pos(0x00);/設(shè)置顯示位置delay1(1);for(i=0; weli!='0' i+)lcd_wdat(weli);N_DISPLAY_HISTORY=0; /記錄 歷史顯示界面編號(hào)/*函數(shù)功能:lcd顯示第1幕入口參數(shù):出口參數(shù):*/void display1()uchar i;judge_clear_lcd();/是否清屏處理lcd_pos(0
28、x00);/設(shè)置顯示位置delay1(1);for(i=0; com_ini !='0' i+)/顯示"Come in please !"lcd_wdat(com_ini); lcd_pos(0x40);/設(shè)置顯示位置delay1(1);for(i=0; pushi !='0' i+) /顯示"Push the door !"lcd_wdat(pushi);N_DISPLAY_HISTORY=1; /記錄 歷史顯示界面編號(hào)/*函數(shù)功能:lcd顯示第2幕入口參數(shù):出口參數(shù):*/void display2()uchar i;j
29、udge_clear_lcd();/是否清屏處理lcd_pos(0x00);/設(shè)置顯示位置delay1(1);for(i=0; pulli!='0' i+)/顯示"Pull the door !"lcd_wdat(pulli);N_DISPLAY_HISTORY=2; /記錄 歷史顯示界面編號(hào)/*函數(shù)功能:lcd顯示第3幕入口參數(shù):出口參數(shù):*/void display3()uchar i;bit j = 0;/ 已顯示* 標(biāo)志judge_clear_lcd();/是否清屏處理lcd_pos(0x00);/設(shè)置顯示位置delay1(1);for(i=0; i
30、nputi!='0' i+)/顯示"Intput password"lcd_wdat(inputi);lcd_wcmd(0x0d);/顯示閃爍光標(biāo)delay1(1);lcd_pos(0x43);/設(shè)置顯示位置delay1(1);doif( (V_KEY>=13) && (V_KEY<=15) )lcd_wcmd(0x0c);/不顯示閃爍光標(biāo)delay1(1);return;/跳出本界面if( F_PASSW = 1 )/是否有密碼輸入lcd_wdat('*');F_PASSW = 0;j = 1;/置位 已顯示*
31、標(biāo)志if( (V_KEY = 12) && (j = 1) ) /是否在 已顯示*下情況下按“輸入密碼”鍵/清除之前顯示的字符'*'j = 0;/清除 已顯示*標(biāo)志lcd_pos(0x43);/設(shè)置顯示位置for(i=0; i<6; i+)lcd_wdat(0x0a);/顯示空格lcd_pos(0x43);/設(shè)置顯示位置while( F_PASSW_O != 1 );lcd_wcmd(0x0c);/不顯示閃爍光標(biāo)delay1(2);N_DISPLAY_HISTORY = 3; /記錄 歷史顯示界面編號(hào)/*函數(shù)功能:lcd顯示第4幕入口參數(shù):出口參數(shù):*/v
32、oid display4()uchar i;judge_clear_lcd();/是否清屏處理lcd_pos(0x00);/設(shè)置顯示位置delay1(1);for(i=0; passw_erri!='0' i+)/顯示"Error !"lcd_wdat(passw_erri);N_DISPLAY_HISTORY=4; /記錄 歷史顯示界面編號(hào)/*函數(shù)功能:lcd顯示第5幕入口參數(shù):出口參數(shù):*/void display5()uchar i;judge_clear_lcd(); /是否清屏處理lcd_pos(0x42);/設(shè)置顯示位置delay1(1);for
33、(i=0; passw_erri!='0' i+)/顯示"Test ."lcd_wdat(testi);N_DISPLAY_HISTORY=5;/記錄 歷史顯示界面編號(hào)/*函數(shù)功能:lcd顯示幕判別入口參數(shù):出口參數(shù):*/void display()switch( N_DISPLAY ) /根據(jù)當(dāng)前界面編號(hào)N_DISPLAY進(jìn)行顯示case 0 : display0();break;case 1 : display1();break;case 2 : display2();break;case 3 : display3();break;case 4 : di
34、splay4();break;case 5 : display5();break;4.2.2 鍵盤程序1. 鍵盤程序流程圖如圖4-12示:圖4-12 鍵盤程序流程圖2.鍵盤程序清單:/*函數(shù)功能:鍵值計(jì)算程序,返回鍵值015入口參數(shù):i出口參數(shù):v*/uchar key_calcu(uchar i, uchar m)uchar v;switch(m)case 0x0e: v=(i*4)+0;break; /第i行第1列case 0x0d: v=(i*4)+1;break; /第i行第2列case 0x0b: v=(i*4)+2;break; /第i行第3列case 0x07: v=(i*4)+
35、3;break; /第i行第4列default : v=0xff;return v;/*函數(shù)功能:鍵盤掃描程序,返回鍵值015入口參數(shù):出口參數(shù):(鍵值)*/uchar key_scan(void) /使用行列逐級(jí)掃描法 uchar i, temp=0, m, v_key;P1 = 0x0f;/高四位低電平,低四位高電平if(P1 != 0x0f)/確認(rèn)是否有鍵按下 delay(5);/去抖動(dòng),延時(shí)0.01sif(P1 != 0x0f) /有鍵按下for(i=0; i<4; i+)/逐行掃描temp = ( 1<<(4+i) );/P1.4P1.7逐次給低電平,P1口其他引腳
36、為高P1 = temp;if(P1 != temp)/確認(rèn)第i行是否有鍵按下m = P1 & 0x0f;/取P1.0P1.3的狀態(tài),用于計(jì)算鍵值while( P1 != temp ) ;/等待按鍵松開delay(5);/去抖動(dòng),延時(shí)0.01swhile( P1 != temp ) ;/等待按鍵松開v_key = key_calcu( i, m );/計(jì)算鍵值if(v_key != 0xff) return v_key; /返回有效鍵值return 0xff;/無鍵按下或掃描異常時(shí),返回0xff作為鍵值 /*函數(shù)功能:密碼驗(yàn)證程序入口參數(shù):出口參數(shù):*/void passw_check(
37、)uchar i, j = 0;rec_passwN_PASSW = V_KEY;/暫存輸入密碼F_PASSW = 1;/置位新密碼輸入標(biāo)志N_PASSW+;/密碼存放位加1if(N_PASSW = 6)/6位密碼是否輸入完畢F_INPUT = 0; /清零 進(jìn)入輸入密碼程序標(biāo)志F_PASSW_O = 1;/置位 密碼輸入完畢標(biāo)志 for(i=0; i<6; i+)if( rec_passwi = pass_wordi )j+;/記錄正確密碼個(gè)數(shù)elsebreak;/若有一位密碼錯(cuò)誤,則跳出、不再比較if(j = 6)/密碼正確 N_DISPLAY = 1;/顯示請(qǐng)進(jìn)提示界面go_out
38、_OR_enter(); /開鎖等處理else/密碼錯(cuò)誤BUZZER = 0;/蜂鳴器響 N_DISPLAY = 4;/顯示密碼錯(cuò)誤提示界面set_origscr();/置位返回初始界面標(biāo)志/*函數(shù)功能:鍵值處理程序入口參數(shù):出口參數(shù):*/void key_dispose()if( (F_INPUT = 1) && (V_KEY >= 0) && (V_KEY <= 9) )/是否輸入密碼為09有效且進(jìn)入輸入密碼程序標(biāo)志為1passw_check();/密碼驗(yàn)證處理else switch(V_KEY)case 12 : /輸入密碼 鍵N_DISPLA
39、Y=3;/改變顯示界面F_INPUT = 1; /置位進(jìn)入輸入密碼程序標(biāo)志F_PASSW_O = 0;/清零密碼輸入完畢標(biāo)志N_PASSW = 0;/密碼比較位置零 break;case 13 : /出門按鈕 鍵N_DISPLAY=2;/改變顯示界面go_out_OR_enter();/開鎖等處理F_INPUT = 0;/清除 進(jìn)入輸入密碼程序標(biāo)志break;case 14 :/模擬刷卡 鍵N_DISPLAY=1; /改變顯示界面go_out_OR_enter();/開鎖等處理F_INPUT = 0;/清除 進(jìn)入輸入密碼程序標(biāo)志break;case 15 :/確認(rèn)/返回 鍵N_DISPLAY=
40、0;/改變顯示界面if(F_INPUT = 1)BUZZER = 0;/蜂鳴器 響 N_DISPLAY = 4; /改變顯示界面set_origscr(); /置位返回初始界面標(biāo)志elseBUZZER = 1;/在密碼錯(cuò)誤使蜂鳴器響的情況下,按“確認(rèn)/返回”鍵可關(guān)蜂鳴器F_INPUT= 0;/清除 進(jìn)入輸入密碼程序標(biāo)志break; /*函數(shù)功能:INTO初始化入口參數(shù):出口參數(shù):*/void INT0_init(void)IT0 = 0;/低電平觸發(fā)IT0=1;/邊沿觸發(fā)方式EX0 = 1;/允許外部中斷0中斷/*函數(shù)功能:INT0中斷服務(wù)程序入口參數(shù):出口參數(shù):*/void INT0_irq
41、(void) interrupt 0V_KEY = key_scan();/取鍵值if(V_KEY != 0xff)key_dispose();/鍵值處理 P1 = 0x0f;結(jié) 論經(jīng)過全組人員的多次探討研究,翻閱大量文獻(xiàn)資料,最終確定各個(gè)模塊的實(shí)現(xiàn)方案,使得系統(tǒng)初步具備一定的穩(wěn)定性與創(chuàng)新性。系統(tǒng)的可靠性體現(xiàn)在控制開鎖設(shè)計(jì)上:當(dāng)讀卡器檢索到合法IC卡時(shí),由CPU的P2.3引腳提供一個(gè)低電平信號(hào),因?yàn)椋?9C52 單片機(jī)復(fù)位狀態(tài)是高電平,而一般實(shí)用電路必須有看門狗電路,一旦出現(xiàn)故障,也需要復(fù)位,也是高電平。在設(shè)計(jì)上如果采用高電平開門,是不可以的。所以,我們?cè)谠O(shè)計(jì)電路時(shí),通過論證,選用低電平作為信
42、號(hào),控制門的開啟,此時(shí)門鎖自動(dòng)打開。從消防安全考慮,如果發(fā)生意外或危險(xiǎn),只要斷開電源,門鎖同樣可以被打開。系統(tǒng)的創(chuàng)新性體現(xiàn)在采用非接觸的IC卡。采用了更為先進(jìn)的非接觸式IC卡。我們之所以使用非接觸式IC卡,是由于非接觸式IC卡相對(duì)于以往傳統(tǒng)的接觸式系統(tǒng),具有更多的優(yōu)點(diǎn)。非接觸式IC卡,是感應(yīng)卡家族中的一員,除具有接觸式IC卡的優(yōu)點(diǎn),更有存儲(chǔ)容量大,安全性強(qiáng),無機(jī)械磨損等優(yōu)點(diǎn)。而且它還克服了接觸式IC卡所無法避免的缺點(diǎn),如讀寫故障率高,由于觸點(diǎn)外露而導(dǎo)致的污染、損傷、磨損、靜電以及插卡不便、易受惡意攻擊等。致謝時(shí)光飛逝,來不及感嘆,三年的大學(xué)生活已近尾聲,期間我不斷得到各位老師、同學(xué)的關(guān)心與幫助
43、,感受到了友誼的溫暖與純真,最重要的是一種精神上的激勵(lì),讓我非常感動(dòng)。經(jīng)過不懈的努力,我的畢業(yè)論文基于單片機(jī)的門禁系統(tǒng)的設(shè)計(jì)在張娟梅老師的悉心指導(dǎo)下已經(jīng)完成初稿。論文的寫作是枯燥艱辛而又富有挑戰(zhàn)的。老師的諄諄誘導(dǎo)、同學(xué)的出謀劃策及家長(zhǎng)的支持鼓勵(lì),是我堅(jiān)持完成論文的動(dòng)力源泉。在此,我特別要感謝我的導(dǎo)師張娟梅老師。從論文的選題、文獻(xiàn)的采集、框架的設(shè)計(jì)、結(jié)構(gòu)的布局到最終的論文定稿,從內(nèi)容到格式,從標(biāo)題到標(biāo)點(diǎn),他都費(fèi)盡心血。老師溫和的性格,樸素的作風(fēng),深深地感動(dòng)著我。同時(shí),我還要感謝幫助我的各位同學(xué),在論文的寫作的這段時(shí)間里,給我提出了很多寶貴的意見和建議,與他們的交流使我受益頗多。感謝大學(xué)里的每一位
44、老師的支持和幫助,真誠(chéng)地感謝他們?nèi)陙淼男燎谠耘?。最后要感謝我的家人以及我的朋友們對(duì)我的理解、支持、鼓勵(lì)和幫助,正是因?yàn)橛辛怂麄?,我所做的一切才更有意義;也正是因?yàn)橛辛怂麄?,我才有了追求進(jìn)步的勇氣和信心。最后感謝答辯組老師們的評(píng)閱,辛苦了,謝謝!參考文獻(xiàn)1 李忠國(guó).單片機(jī)應(yīng)用技能訓(xùn)練.北京:人民郵電出版社,20062 李朝青.單片微機(jī)原理及接口技術(shù).北京:北京航空航天大學(xué)出版社,19983 劉守義.智能卡技術(shù).西安:西安電子科技大學(xué)出版社,2004.(220222)4 林全新.單片機(jī)原理與接口技術(shù).北京:人民郵電出版社,2002(184186)5 王汝琳.智能門禁控制系統(tǒng).北京:電子工業(yè)出版社,20046 潘新民,王燕芳.微型計(jì)算機(jī)控制技術(shù).北京:電子工業(yè)出版社,20117 楊素行.模擬電子技術(shù)基礎(chǔ)簡(jiǎn)明教程.北京:高等教育出版社,20068 何立民.嵌入式系統(tǒng)可靠性設(shè)計(jì)得探討.浙江:浙江大學(xué)學(xué)報(bào),1998(增刊)9 譚浩強(qiáng).C程序設(shè)計(jì).北京:清華大學(xué)出版社,200510 王開滿,江平,李潔.門禁系統(tǒng)在地鐵綜合監(jiān)控系統(tǒng)中的研究與應(yīng)用.都市快軌交通,200711 沈紅衛(wèi).單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)實(shí)例與分析.北京航空航天大學(xué)
溫馨提示
- 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. 人人文庫(kù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 貝樂的課程設(shè)計(jì)
- 軸座刀具課程設(shè)計(jì)
- 網(wǎng)紅茶飲制作培訓(xùn)課程設(shè)計(jì)
- 舞臺(tái)編導(dǎo)培訓(xùn)課程設(shè)計(jì)
- 二零二五年掛車租賃與物流信息化管理合作協(xié)議3篇
- 錐頭端軸數(shù)控課程設(shè)計(jì)
- 2024深圳貨運(yùn)信息平臺(tái)數(shù)據(jù)服務(wù)合同規(guī)范3篇
- 銷售測(cè)評(píng)方案課程設(shè)計(jì)
- 二零二五年度酒精生產(chǎn)專用發(fā)酵菌種采購(gòu)合同3篇
- 項(xiàng)目管理與應(yīng)用課程設(shè)計(jì)
- 2025新北師大版英語七年級(jí)下單詞表
- 《智慧城市概述》課件
- 校長(zhǎng)在2024-2025年秋季第一學(xué)期期末教師大會(huì)上的講話
- 浙江省杭州市八縣區(qū)2024-2025學(xué)年高二數(shù)學(xué)上學(xué)期期末學(xué)業(yè)水平測(cè)試試題
- 超星爾雅學(xué)習(xí)通《孫子兵法與執(zhí)政藝術(shù)(浙江大學(xué))》2024章節(jié)測(cè)試含答案
- 分布式光伏高處作業(yè)專項(xiàng)施工方案
- 同濟(jì)大學(xué)本科生學(xué)籍管理規(guī)定
- 單細(xì)胞水平同位素拉曼散射分析
- 三年級(jí)數(shù)學(xué)寒假每日一練
- 最新宜昌市中考數(shù)學(xué)21題圓訓(xùn)練(1)教師版有答案
- 工作計(jì)劃酒店上半年工作總結(jié)及下半年工作計(jì)劃
評(píng)論
0/150
提交評(píng)論