




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
..基于單片機(jī)門(mén)禁系統(tǒng)的設(shè)計(jì)學(xué)號(hào):B11040926:寧志杰..基于單片機(jī)的門(mén)禁系統(tǒng)的設(shè)計(jì)摘要門(mén)禁系統(tǒng)采用89C52單片機(jī)作為控制核心,外圍加蜂鳴器控制電路、開(kāi)門(mén)指示燈電路、電控鎖控制電路以及LCD液晶顯示電路等。門(mén)禁系統(tǒng)主要由CPU、工作指示電路、振蕩電路、蜂鳴器電路、門(mén)控鎖電路、矩陣鍵盤(pán)、讀卡模塊、顯示模塊等組成。該門(mén)禁系統(tǒng)采用射頻卡完成刷卡進(jìn)門(mén),按刷卡出門(mén)等功能。其工作原理為:當(dāng)刷卡時(shí),蜂鳴器響一下,如卡權(quán)限獲得允許,顯示模塊顯示卡號(hào),同時(shí)繼電器動(dòng)作將門(mén)鎖翻開(kāi),指示燈點(diǎn)亮,延時(shí)一段時(shí)間后繼電器再次動(dòng)作將門(mén)鎖鎖閉,指示燈熄滅。當(dāng)按下出門(mén)按鈕時(shí),繼電器動(dòng)作將門(mén)鎖翻開(kāi),指示燈點(diǎn)亮,延時(shí)一段時(shí)間后繼電器再次動(dòng)作將門(mén)鎖鎖閉,指示燈熄滅。當(dāng)輸入初始密碼時(shí),假設(shè)輸入正確,繼電器動(dòng)作將門(mén)鎖翻開(kāi),指示燈點(diǎn)亮,延時(shí)一段時(shí)間后繼電器再次動(dòng)作將門(mén)鎖鎖閉。此外,程序中還增加了射頻卡權(quán)限判斷的功能,當(dāng)遇到合法卡時(shí)顯示卡號(hào),門(mén)鎖翻開(kāi),延時(shí)10s自動(dòng)關(guān)閉,當(dāng)遇到非法卡時(shí)不顯示卡號(hào)門(mén)鎖不開(kāi)。本系統(tǒng)設(shè)計(jì)簡(jiǎn)單、性能優(yōu)良,具有一定的實(shí)用性。關(guān)鍵詞:門(mén)禁,射頻卡,電控鎖,液晶顯示,單片機(jī)控制
AccessControlSystemDesignABSTRACTEntranceguardsystemuses89C52singlechipmicroputerascontrolcoreandperipheryaddabuzzercontrolcircuit,openthedoorindicatorlightcircuit,controlcircuitandcontrollockLCDdisplaycircuit,etc.EntranceguardsystemmainlybytheCPUandresetcircuit,thepowerindicativecircuit,workinstructionscircuit,oscillatingcircuit,abuzzercircuit,doorcontrolcircuit,gooutandlockbuttonreadingcardmodule,displaymodule.Theentranceguardsystemusesrfcardpletechargetakethedoor,accordingtocredittogoout,andotherfunctions.Itsworkingprincipleis:whencredit,abuzzerrang,suchascardtobeallowedtoaccess,displaymoduledisplaycardnumber,andatthesametimerelayactionwillopenthedoorlock,indicatorlight,delayafterperiodoftimerelayactionwillagainonlydoorlock,lightsgoout.Whenthepressoutbutton,therelayactionwillopenthedoorlock,indicatorlight,delayafterperiodoftimerelayactionwillagainonlydoorlock,lightsgoout.Whentheinputpassword,ifyouinputthecorrect,relayactionwillopenthedoorlock,indicatorlight,delayafterperiodoftimerelayactionwilllockdoorlockagain.Inaddition,theprogramwillalsoincreasetherfcardauthorityjudgmentfunction,whenfacinglegalcardshowedthecardnumber,dooropen,delay10sautomaticallyshutoff,whenmeetingtheillegalCARDSdon'tshowthecardnumberlocksdon'topen.Thesystemissimpleindesign,goodperformance,andhaspracticalvalue!KEYWORDS:AccessControl,
RadioFrequency
Card,ElectronicallyControlledLock,
LCD,MCU前言..目錄基于單片機(jī)的門(mén)禁系統(tǒng)的設(shè)計(jì)I前言1第1章概述21.1系統(tǒng)方案的比擬21.1.1選題論證21.1.2方案選擇21.1.3CPU的選擇31.1.4射頻卡的選擇41.1.5液晶顯示的選擇4第2章硬件電路的設(shè)計(jì)52.1電路原理52.1.1門(mén)禁系統(tǒng)主要組成52.1.2門(mén)禁系統(tǒng)工作原理52.2資源分配62.3最小系統(tǒng)設(shè)計(jì)62.3.189C52的簡(jiǎn)述62.4最小系統(tǒng)的設(shè)計(jì)8第3章硬件電路原理103.1門(mén)控鎖電路103.2蜂鳴器電路103.3控制指示燈113.44×4矩陣鍵盤(pán)113.5讀卡模塊123.6顯示模塊143.6.1LCD1602主要技術(shù)參數(shù)14引腳功能說(shuō)明143.6.31602指令集163.6.4與HD44780相兼容的芯片時(shí)序表17第4章軟件設(shè)計(jì)194.1Keil簡(jiǎn)介194.1.1KeilC51系統(tǒng)概述194.1系統(tǒng)主程序分析234.2子程序分析244.2.1顯示程序244.2.2鍵盤(pán)程序31結(jié)論38辭39參考文獻(xiàn)40附錄41..前言隨著科學(xué)技術(shù)的開(kāi)展和企業(yè)管理模式的日趨成熟,高度科學(xué)化的企業(yè)管理已成為企業(yè)生存的有力保障。出入口門(mén)禁平安管理系統(tǒng)是新型現(xiàn)代化平安管理系統(tǒng),它集微機(jī)自動(dòng)識(shí)別技術(shù)和現(xiàn)代平安管理措施為一體,它涉及電子,機(jī)械,光學(xué),計(jì)算機(jī)技術(shù),通訊技術(shù),生物技術(shù)等諸多新技術(shù)。它是解決重要部門(mén)出入口實(shí)現(xiàn)平安防管理的有效措施。適用各種機(jī)要部門(mén),如銀行、賓館、機(jī)房、軍械庫(kù)、機(jī)要室、辦公間,智能化小區(qū),工廠等。在數(shù)字技術(shù)網(wǎng)絡(luò)技術(shù)飛速開(kāi)展的今天,門(mén)禁技術(shù)得到了迅猛的開(kāi)展。門(mén)禁系統(tǒng)早已超越了單純的門(mén)道及鑰匙管理,它已經(jīng)逐漸開(kāi)展成為一套完整的出入管理系統(tǒng)。它在工作環(huán)境平安、人事考勤管理等行政管理工作中發(fā)揮著巨大的作用。因此,將實(shí)現(xiàn)門(mén)禁考勤管理系統(tǒng),充分的表達(dá)其優(yōu)點(diǎn),對(duì)人員進(jìn)出、授權(quán)、查詢(xún)、統(tǒng)計(jì)和防盜報(bào)警保安等多種功能,防止了早退,遲到,礦工等現(xiàn)象,使公司規(guī)律有序的進(jìn)展,對(duì)考勤管理起到很大作用,減少了很大的麻煩。也正是由于門(mén)禁系統(tǒng)實(shí)用性強(qiáng),市場(chǎng)需求大,應(yīng)用廣泛,我們便選此作為研究設(shè)計(jì)的課題。結(jié)論..第1章概述1.1系統(tǒng)方案的比擬1.1.1選題論證在現(xiàn)今社會(huì),隨著人們對(duì)門(mén)禁系統(tǒng)各方面要求的不斷提高,門(mén)禁系統(tǒng)的應(yīng)用圍越來(lái)越廣泛,因此門(mén)禁系統(tǒng)的研發(fā)已成為現(xiàn)代科技領(lǐng)域的一個(gè)熱門(mén)課題。目前,門(mén)禁系統(tǒng)已成為平安防系統(tǒng)中極其重要的一局部,在一些興旺國(guó)家,門(mén)禁系統(tǒng)正以遠(yuǎn)遠(yuǎn)高于其它類(lèi)安防產(chǎn)品的進(jìn)度迅猛開(kāi)展;門(mén)禁系統(tǒng)之所以能在眾多安防產(chǎn)品中脫穎而出,根本原因是因?yàn)槠涓淖兞艘酝卜喇a(chǎn)品,如:閉路監(jiān)控,防盜報(bào)警等被動(dòng)的安防方式,以主動(dòng)的控制替代了被動(dòng)監(jiān)視的方式,通過(guò)對(duì)主要通道的控制,大大的防止了罪犯從正常通道的侵入,并且可以在罪案發(fā)生時(shí)通過(guò)對(duì)通道門(mén)的控制限制罪犯的活動(dòng)圍,制止犯罪或減少損失。此外,人們對(duì)門(mén)禁系統(tǒng)的應(yīng)用已不局限在單一的出入口控制,而且還要求它不僅可應(yīng)用于智能大廈或智能社區(qū)的門(mén)禁控制、考勤管理、安防報(bào)警、停車(chē)場(chǎng)控制、電梯控制、樓宇自控等,還可與其它系統(tǒng)聯(lián)動(dòng)控制等多種控制功能。安裝有門(mén)禁系統(tǒng)的建筑具有以下優(yōu)點(diǎn):〔1〕具有對(duì)門(mén)戶(hù)出入控制,保安防盜,報(bào)警等多種功能。〔2〕方便部員工或住戶(hù)出入,同時(shí)杜絕外來(lái)人員隨意進(jìn)出,既方便了部管理,又增強(qiáng)了部的保安。〔3〕門(mén)禁管理系統(tǒng)作為智能建筑中不可缺少的安保自動(dòng)化的一局部,為用戶(hù)提供一個(gè)高效的工作環(huán)境,從而提高管理的層次。也正是由于門(mén)禁系統(tǒng)實(shí)用性強(qiáng),市場(chǎng)需求大,應(yīng)用廣泛,我們便選此作為研究設(shè)計(jì)的課題。1.1.2方案選擇門(mén)禁系統(tǒng)有許多種方案:主要有聯(lián)網(wǎng)和不聯(lián)網(wǎng)型。聯(lián)網(wǎng)型:構(gòu)造圖如圖1-1示:圖1-1 聯(lián)網(wǎng)型構(gòu)造圖聯(lián)網(wǎng)型門(mén)禁系統(tǒng)的優(yōu)點(diǎn):實(shí)時(shí)聯(lián)網(wǎng);刷卡后立即把數(shù)據(jù)傳輸?shù)街鳈C(jī)上;便于查詢(xún)并能生成報(bào)表;缺點(diǎn):計(jì)算機(jī)要求24小時(shí)開(kāi)機(jī);計(jì)算機(jī)或管理機(jī)萬(wàn)一有故障系統(tǒng)癱瘓;有問(wèn)題影響面大。不聯(lián)網(wǎng)型門(mén)禁系統(tǒng)的優(yōu)點(diǎn):?jiǎn)闻_(tái)刷卡機(jī)就能工作;不用布線;操作簡(jiǎn)單方便。缺點(diǎn):不便于查詢(xún)。根據(jù)以上分析,我們的課題選擇了不聯(lián)網(wǎng)型。因?yàn)榇嗽O(shè)計(jì)簡(jiǎn)單,提交作品方便,易操作。CPU的選擇我們?cè)谶@個(gè)課題的設(shè)計(jì)上采用了51單片機(jī)系統(tǒng),之所以采用單片機(jī)系統(tǒng)是由于本錢(qián)較低,功能完全可以滿足,開(kāi)展也比擬成熟且完善。而DSP、ARM系統(tǒng)雖然科技含量高于51單片機(jī)系統(tǒng),但是其價(jià)格昂貴并且開(kāi)展尚未成熟。因此,根據(jù)我們學(xué)的知識(shí)和市面上的應(yīng)用,經(jīng)過(guò)比擬我們選擇了技術(shù)成熟、價(jià)格廉價(jià)、設(shè)計(jì)簡(jiǎn)單、使用方便的單片機(jī)平臺(tái)。1.1.4射頻卡的選擇目前市面上的卡有很多種類(lèi):條碼、磁卡、接觸式IC卡,非接觸式IC卡等,條碼和磁卡,在超市和銀行方面應(yīng)用的比擬多,接觸式IC卡,以前在公共中用的比擬多,但接觸式IC卡,芯片外露易壞、易折,而非接觸式IC卡既射頻卡,它把芯片和線圈封裝卡片,不容易損壞、不怕惡劣的環(huán)境,現(xiàn)在社會(huì)上很流行,可靠性也高。根據(jù)卡的分析,我們選擇目前流行最廣,可靠性高,本錢(qián)低的只讀卡,即采用EM4000型的ID卡。液晶顯示的選擇1602液晶也叫1602字符型液晶它是一種專(zhuān)門(mén)用來(lái)顯示字母、數(shù)字、符號(hào)等的點(diǎn)陣型液晶模塊它有假設(shè)干個(gè)5×7或者5×11等點(diǎn)陣字符位組成,每個(gè)點(diǎn)陣字符位都可以顯示一個(gè)字符。每位之間有一個(gè)點(diǎn)距的間隔每行之間也有間隔起到了字符間距和行間距的作用,正因?yàn)槿绱怂运荒茱@示圖形。目前市面上字符液晶絕大多數(shù)是基于HD44780液晶芯片的,控制原理是完全一樣的,基于HD44780寫(xiě)的控制程序可以很方便地應(yīng)用于市面上大局部的字符型液晶。因此,選擇LCD1602能夠滿足門(mén)禁系統(tǒng)設(shè)計(jì)的需要。第2章硬件電路的設(shè)計(jì)2.1電路原理2.1.1門(mén)禁系統(tǒng)主要組成由單片機(jī)、電源指示、工作指示、振蕩電路、蜂鳴器電路、門(mén)控鎖電路、4×4矩陣鍵盤(pán)、讀卡模塊、顯示模塊組成。如圖2-1示:圖2-1電路原理圖2.1.2門(mén)禁系統(tǒng)工作原理1、當(dāng)刷卡時(shí),蜂鳴器響一下,如卡權(quán)限獲得允許,顯示模塊顯示卡號(hào),同時(shí)繼電器動(dòng)作將門(mén)鎖翻開(kāi)指示燈點(diǎn)亮,延時(shí)一段時(shí)間后繼電器再次動(dòng)作將門(mén)鎖鎖閉指示燈熄滅;當(dāng)非法卡刷卡時(shí),沒(méi)有任何動(dòng)作。2、當(dāng)按下出門(mén)按鈕時(shí),繼電器動(dòng)作將門(mén)鎖翻開(kāi)指示燈點(diǎn)亮,延時(shí)一段時(shí)間后繼電器再次動(dòng)作將門(mén)鎖鎖閉指示燈熄滅。3、當(dāng)進(jìn)門(mén)輸入密碼時(shí),密碼正確那么繼電器動(dòng)作將門(mén)鎖翻開(kāi)指示燈點(diǎn)亮,延時(shí)一段時(shí)間后繼電器再次動(dòng)作將門(mén)鎖鎖閉指示燈熄滅;密碼錯(cuò)誤那么蜂鳴器報(bào)警,延時(shí)一段時(shí)間后蜂鳴器停頓報(bào)警。2.2資源分配軟、硬件設(shè)計(jì)是設(shè)計(jì)中不可缺少的,為了滿足功能和指標(biāo)的要求,資源分配如下:1.晶振采用11.0592MHZ;2.單片機(jī)資源分配如表2-1、2-1示:表2-1單片機(jī)資源分配表〔1〕PPP2.0P2.1P2.2LCD顯示矩陣鍵盤(pán)RSRWE表2-2單片機(jī)資源分配表〔2〕P2.3P2.4P2.5P3.0P3.2鎖蜂鳴器LED讀卡按鍵中斷0開(kāi)0響0亮1不開(kāi)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*〔0+1〕〕/384*9600=253TH1=0FDHTL1=0FDH2.3最小系統(tǒng)設(shè)計(jì)2.3.189C52的簡(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ī)體系構(gòu)造和指令系統(tǒng),屬于89C51增強(qiáng)型單片機(jī)版本,集成了時(shí)鐘輸出和向上或向下計(jì)數(shù)器等更多的功能,適合于類(lèi)似馬達(dá)控制等應(yīng)用場(chǎng)合。89C52置8位中央處理單元、256字節(jié)部數(shù)據(jù)存儲(chǔ)器RAM、8k片程序存儲(chǔ)器〔ROM〕32個(gè)雙向輸入/輸出(I/O)口、3個(gè)16位定時(shí)/計(jì)數(shù)器和5個(gè)兩級(jí)中斷構(gòu)造,一個(gè)全雙工串行通信口,片時(shí)鐘振蕩電路。此外,89C52還可工作于低功耗模式,可通過(guò)兩種軟件選擇空閑和掉電模式。在空閑模式下凍結(jié)CPU而RAM定時(shí)器、串行口和中斷系統(tǒng)維持其功能。掉電模式下,保存RAM數(shù)據(jù),時(shí)鐘振蕩停頓,同時(shí)停頓芯片其它功能。89C52有PDIP(40pin)和PLCC(44pin)兩種封裝形式。89C52引腳圖如圖2-2示:圖2-289C52的引腳圖89C52單片機(jī)外部有32個(gè)端口可供用戶(hù)使用,其功能如表2-3示:表2-389C52外部端口功能表端口引腳位置第一功能區(qū)第二功能區(qū)符號(hào)功能符號(hào)功能P039~32P0.0~P0.7通用I/O口AD0AD7地址/數(shù)據(jù)總線(低位)P11~8通用I/O口P221~28通用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ǔ)存器寫(xiě)使能17P3.7RD外部?jī)?chǔ)存器讀使能門(mén)禁系統(tǒng)數(shù)控局部采用89C52單片機(jī)作為控制核心,其部組成包括:一個(gè)8位的微處理器CPU及片振蕩器和時(shí)鐘產(chǎn)生電路,但石英晶體和微調(diào)電容需要外接;片數(shù)據(jù)存儲(chǔ)器8KBRAM低128字節(jié),存放讀/寫(xiě)數(shù)據(jù);高128字節(jié)被特殊功能存放器占用;片程序存儲(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ī)的根底上,外圍增加蜂鳴器控制電路、開(kāi)門(mén)指示燈電路、電控鎖控制電路以及1602顯示電路等,構(gòu)成了門(mén)禁系統(tǒng)的控制電路。2.4最小系統(tǒng)的設(shè)計(jì)門(mén)禁系統(tǒng)數(shù)控局部采用89C52單片機(jī)作為控制核心,其部組成包括:一個(gè)8位的微處理器CPU及片振蕩器和時(shí)鐘產(chǎn)生電路,但石英晶體和微調(diào)電容需要外接;片數(shù)據(jù)存儲(chǔ)器8KBRAM低128字節(jié),存放讀/寫(xiě)數(shù)據(jù);高128字節(jié)被特殊功能存放器占用;片程序存儲(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ī)的根底上,外圍增加蜂鳴器控制電路、開(kāi)門(mén)指示燈電路、電控鎖控制電路以及1602顯示電路等,構(gòu)成了門(mén)禁系統(tǒng)的控制電路。其原理圖如圖2-3示:圖2-3門(mén)禁系統(tǒng)控制原理圖第3章硬件電路原理3.1門(mén)控鎖電路工作原理:當(dāng)P2.3口輸出高電平時(shí)Q2導(dǎo)通,Q3截止,此時(shí)繼電器的控制線圈為開(kāi)路,繼電器不動(dòng)作。門(mén)鎖接于繼電器常閉端,門(mén)鎖閉合,門(mén)處于鎖死狀態(tài)。當(dāng)P2.3口輸出低電平時(shí)Q2截止,Q3導(dǎo)通,此時(shí)繼電器的控制線圈閉合,繼電器動(dòng)作。繼電器常閉端斷開(kāi),門(mén)鎖翻開(kāi),門(mén)處于翻開(kāi)狀態(tài)。門(mén)控鎖電路如圖3-1示:圖3-1控制鎖電路圖3.2蜂鳴器電路工作原理:當(dāng)P2.4輸出高電平時(shí),Q4導(dǎo)通,Q5截止,蜂鳴器回路開(kāi)路,蜂鳴器不響。當(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.44×4矩陣鍵盤(pán)工作原理:P1口高四位為低電平,低四位為高電平。當(dāng)有鍵按下時(shí),P1.0-P1.3給P3.2口輸入低電平,觸發(fā)INT0中斷,程序作出相應(yīng)處理,如3-4示:圖3-44×4矩陣鍵盤(pán)電路圖3.5讀卡模塊設(shè)計(jì)上我們采用ID射頻卡讀卡器。EM9913BF125KHz感應(yīng)式讀卡模組是針對(duì)125KHz非接觸式RFID晶片而設(shè)計(jì)的讀卡模組,它能針對(duì)目前市面上125KHz非接觸式RFID晶片如凌航科技GK4001晶片或其它規(guī)格現(xiàn)相近產(chǎn)品進(jìn)展資料讀取與資料判斷,使用者可以一次開(kāi)發(fā)感應(yīng)式讀卡及相關(guān)應(yīng)用系統(tǒng),該模塊主要圍為互動(dòng)式玩具、門(mén)禁管制系統(tǒng)、人員考勤管理、動(dòng)物或物品辨識(shí)及產(chǎn)品管理,此讀卡模組主要優(yōu)缺點(diǎn)表達(dá)如下:優(yōu)點(diǎn):〔1〕獨(dú)立性高,〔2〕二次開(kāi)發(fā)容易,安裝簡(jiǎn)單資料讀取穩(wěn)定性高〔3〕統(tǒng)平安性高,RFID資料不重復(fù)且難以復(fù)制〔4〕可選擇數(shù)據(jù)輸出格式缺點(diǎn):電腦必須24小時(shí)開(kāi)機(jī),便于數(shù)據(jù)傳送。硬件/軟件功能:125KHz感應(yīng)式讀卡機(jī)系統(tǒng)如圖3-5示:感應(yīng)線圈感應(yīng)線圈讀卡器模組RS232outpu接CPU3.0圖3-5讀卡器示意圖讀卡器引腳連接圖如3-6示:圖3-6讀卡器引腳連接示意圖使用EM9913BF模塊,在5-15cm距離讀取GK4001的時(shí)間不超過(guò)70ms。感應(yīng)式讀卡系統(tǒng)電源DC5V,感應(yīng)線圈〔Antenna〕為系統(tǒng)必需,感應(yīng)線圈可以與系統(tǒng)分開(kāi)放置,亦可設(shè)計(jì)與系統(tǒng)中,為防止感應(yīng)電磁場(chǎng)干擾,請(qǐng)勿將金屬板置于感應(yīng)線圈前后。每個(gè)卡片部有一個(gè)小芯片和感應(yīng)線圈,價(jià)格低廉,國(guó)最普及的EMID卡,大多為瑞士nEM或GK公司的4100、4102系列芯片+線圈+卡基封裝而成。每卡有且只有一個(gè)唯一的,不可更改和復(fù)制的ID碼〔64位2進(jìn)制的永不重復(fù)的卡號(hào)〕,因其平安可靠,價(jià)格低廉而大量應(yīng)用于身份識(shí)別、產(chǎn)品防偽等領(lǐng)域。讀卡器卡號(hào)輸出格式的說(shuō)明:由于歷史的原因,或者不同領(lǐng)域習(xí)慣的原因,最常見(jiàn)到的有五種讀卡方式,我們采用的讀卡格式為:將10位十六進(jìn)制的ASCⅡ字符串,即10Hex格式的倒數(shù)第5、第6位,轉(zhuǎn)換為3位十進(jìn)制卡號(hào),在將后4位,轉(zhuǎn)換為5位十進(jìn)制卡號(hào),中間用",〞分開(kāi),即"2H+4H〞,即將2H"6F〞轉(zhuǎn)換為"111〞,4H"6c3a〞轉(zhuǎn)換為"27706〞,最終將2段連在一起輸出為"111,27706〞。3.6顯示模塊LCD1602是指顯示的容為16×2,即可以顯示兩行,每行16個(gè)字符液晶模塊。它是一種專(zhuān)門(mén)用來(lái)顯示字母、數(shù)字、符號(hào)等的點(diǎn)陣型液晶模塊它有假設(shè)干個(gè)5×7或者5×11等點(diǎn)陣字符位組成,每個(gè)點(diǎn)陣字符位都可以顯示一個(gè)字符。目前市面上字符液晶絕大多數(shù)是基于HD44780液晶芯片的,控制原理是完全一樣的,因此基于HD44780寫(xiě)的控制程序可以很方便地應(yīng)用于市面上大局部的字符型液晶。3.6.1LCD1602主要技術(shù)參數(shù)顯示容量:16×2個(gè)字符芯片工作電壓:4.5—5.5V工作電流:2.0mA(5.0V)模塊最正確工作電壓:5.0V字符尺寸:2.95×4.35(W×H)mm3.6.2引腳功能說(shuō)明1602引腳如圖3-8示:圖3-71602引腳示意圖1602引腳功能如表3-2示:表3-21602引腳功能表編號(hào)符號(hào)引腳說(shuō)明編號(hào)符號(hào)引腳說(shuō)明1VSS電源地9D2數(shù)據(jù)2VDD電源正極10D3數(shù)據(jù)3VL液晶顯示偏壓11D4數(shù)據(jù)4RS數(shù)據(jù)/命令選擇12D5數(shù)據(jù)5R/M讀/寫(xiě)選擇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為液晶顯示器比照度調(diào)整端,接正電源時(shí)比照度最弱,接地電源時(shí)比照度最高〔比照度過(guò)高時(shí)會(huì)產(chǎn)生"鬼影〞,使用時(shí)可以通過(guò)一個(gè)10K的電位器調(diào)整比照度〕。第4腳:RS為存放器選擇,高電平1時(shí)選擇數(shù)據(jù)存放器、低電平0時(shí)選擇指令存放器。第5腳:RW為讀寫(xiě)信號(hào)線,高電平(1)時(shí)進(jìn)展讀操作,低電平(0)時(shí)進(jìn)展寫(xiě)操作。第6腳:E(或EN)端為使能(enable)端。第7~14腳:D0~D7為8位雙向數(shù)據(jù)端。第15~16腳:空腳或背燈電源。15腳背光正極,16腳背光負(fù)極3.6.31602指令集1602液晶模塊的讀寫(xiě)操作,屏幕和光標(biāo)的操作都是通過(guò)指令編程來(lái)實(shí)現(xiàn)的〔說(shuō)明1為高電平,0為低電平〕。如表3-3示:表3-31602指令集指令1:清顯示,指令碼01H,光標(biāo)復(fù)位到地址00H位置。指令2:光標(biāo)復(fù)位,光標(biāo)返回到地址00H。指令3:光3標(biāo)和顯示位置設(shè)置I/D,光標(biāo)移動(dòng)方向,高電平右移,低電平左移,S:屏幕上所有文字是否左移或右移,高電平表示有效,低電平表示無(wú)效。指令4:顯示開(kāi)關(guān)控制。D:控制整體的顯示開(kāi)與關(guān),高電平表示開(kāi)顯示,低電平表示關(guān)顯示。C:控制光標(biāo)的開(kāi)與關(guān),高電平表示有光標(biāo),低電平表示無(wú)光標(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è)置。指令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)字寫(xiě)指令輸入RS=L,R/W=H,D0-D7=指令碼,E=高脈沖輸出無(wú)讀數(shù)據(jù)輸入RS=H,R/W=H,E=H輸出D0-D7=數(shù)據(jù)寫(xiě)數(shù)據(jù)輸入RS=H,R/W=L,D0-D7=數(shù)據(jù),E=高脈沖輸出無(wú)讀操作時(shí)序如圖3-8示:圖3-8讀操作時(shí)序圖寫(xiě)操作時(shí)序如圖3-9示:圖3-9寫(xiě)操作時(shí)序圖第4章軟件設(shè)計(jì)4.1Keil簡(jiǎn)介4.1.1KeilC51系統(tǒng)概述單片機(jī)開(kāi)發(fā)中除必要的硬件外,同樣離不開(kāi)軟件,匯編語(yǔ)言源程序要變?yōu)镃PU可以執(zhí)行的機(jī)器碼有兩種方法,一種是手工匯編,另一種是機(jī)器匯編,目前已極少使用手工匯編的方法了。KeilC51是美國(guó)KeilSoftware公司出品的51系列兼容單片機(jī)C語(yǔ)言軟件開(kāi)發(fā)系統(tǒng),與匯編相比,C語(yǔ)言在功能上、構(gòu)造性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。用過(guò)匯編語(yǔ)言后再使用C來(lái)開(kāi)發(fā),體會(huì)更加深刻。KeilC51軟件提供豐富的庫(kù)函數(shù)和功能強(qiáng)大的集成開(kāi)發(fā)調(diào)試工具,全Windows界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會(huì)到KeilC51生成的目標(biāo)代碼效率非常之高,多數(shù)語(yǔ)句生成的匯編代碼很緊湊,容易理解。在開(kāi)發(fā)大型軟件時(shí)更能表達(dá)高級(jí)語(yǔ)言的優(yōu)勢(shì)。下面詳細(xì)介紹KeilC51開(kāi)發(fā)系統(tǒng)各局部功能和使用。C51工具包的整體構(gòu)造,其中uVision是C51forWindows的集成開(kāi)發(fā)環(huán)境(IDE),可以完成編輯、編譯、連接、調(diào)試、仿真等整個(gè)開(kāi)發(fā)流程。開(kāi)發(fā)人員可用IDE本身或其它編輯器編輯C或匯編源文件。然后分別由C51及A51編譯器編譯生成目標(biāo)文件(.OBJ)。目標(biāo)文件可由LIB51創(chuàng)立生成庫(kù)文件,也可以與庫(kù)文件一起經(jīng)L51連接定位生成絕對(duì)目標(biāo)文件(.ABS)。ABS文件由OH51轉(zhuǎn)換成標(biāo)準(zhǔn)的Hex文件,以供調(diào)試器dScope51或tScope51使用進(jìn)展源代碼級(jí)調(diào)試,也可由仿真器使用直接對(duì)目標(biāo)板進(jìn)展調(diào)試,也可以直接寫(xiě)入程序存貯器如EPROM中。使用Keil的軟件工具時(shí),工程的開(kāi)發(fā)流程根本上與使用其他軟件開(kāi)發(fā)工程一樣。翻開(kāi)Keil軟件,如圖4-1示:圖4-1初始界面創(chuàng)立一個(gè)工程。點(diǎn)擊Project菜單,選擇彈出的下拉式菜單中的NewProject,如圖4-2示:圖4-2新建工程在"文件名〞中輸入C程序工程名稱(chēng)"電子門(mén)禁〞,"保存〞后的文件擴(kuò)展名為uvproj,這是KEILuVision4工程文件擴(kuò)展名從器件數(shù)據(jù)庫(kù)中選擇目標(biāo)芯片,這里選擇要用的Ateml公司的AT89C52。如圖4-3示:圖4-3選擇芯片配置工具軟件的設(shè)置,如圖4-4圖4-4軟件設(shè)置完成上面步驟后,可以進(jìn)展程序的編寫(xiě)了。點(diǎn)擊新建文件的快捷按鈕,在開(kāi)發(fā)環(huán)境下出現(xiàn)一個(gè)新的文字編輯窗口。用C創(chuàng)立源程序。編輯完成后,保存新建的程序,也可以用菜單File-Save或快捷鍵Ctrl+S進(jìn)展保存。鼠標(biāo)在屏幕左邊的SourceGroup1文件夾圖標(biāo)上右擊彈出菜單,在這里可以做在工程中增加減少文件等操作。點(diǎn)擊"AddFiletoGroup'SourceGroup1'"彈出文件窗口,選擇剛剛保存的文件,按ADD按鈕,關(guān)閉文件窗,程序文件已加到工程中了。這時(shí)在SourceGroup1文件夾圖標(biāo)左邊出現(xiàn)了一個(gè)小+號(hào)說(shuō)明,文件組中有了文件,點(diǎn)擊它可以展開(kāi)查看。如圖4-5示:圖4-5添加文件C程序文件已加到了工程中,下面開(kāi)場(chǎng)編譯運(yùn)行。圖中第1、2、3都是編譯按鈕,1是用于編譯單個(gè)文件;2是編譯當(dāng)前工程,如果先前編譯過(guò)一次之后文件沒(méi)有做動(dòng)編輯改動(dòng),這時(shí)再點(diǎn)擊是不會(huì)再次重新編譯的;3是重新編譯,每點(diǎn)擊一次均會(huì)再次編譯一次,不管程序是否有改動(dòng)。在3右邊的是停頓編譯按鈕,只有點(diǎn)擊了前三個(gè)中的任一個(gè),停頓按鈕才會(huì)生效。如圖4-6示:圖4-6編譯運(yùn)行下列圖中有一個(gè)小放大鏡的按鈕,這就是開(kāi)啟\關(guān)閉調(diào)試模式的按鈕,它也存在于菜單Debug-Start\StopDebugSession,快捷鍵為Ctrl+F5。進(jìn)入調(diào)試模式,軟件窗口樣式大致如圖4-7示:圖4-7調(diào)試按鈕進(jìn)入調(diào)試模式,軟件窗口樣式如圖4-8示:圖4-8調(diào)試圖中按鈕1為運(yùn)行,當(dāng)程序處于停頓狀態(tài)時(shí)才有效。2為停頓,程序處于運(yùn)行狀態(tài)時(shí)才有效。3是復(fù)位,模擬芯片的復(fù)位,程序回到最開(kāi)頭處執(zhí)行。如圖4-9示:圖4-9運(yùn)行按鈕4.1系統(tǒng)主程序分析1.主程序流程圖主程序流程圖如圖4-10示:圖4-10主程序流程圖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>/***********************主程序*************************/voidmain(){ LED=0; //LED亮 BUZZER=0; //蜂鳴器響 EA=1; //開(kāi)所有中斷 INT0_init(); T1_init(); lcd_init(); P1=0x0f; //鍵盤(pán)初始化 delay(100); LED=1; //熄滅LED BUZZER=1; //關(guān)蜂鳴器 while(1) { display(); delay(50); }} 4.2子程序分析4.2.1顯示程序1.顯示程序流程圖如圖4-11示:圖4-11顯示程序流程圖2.顯示程序清單:/***************************************************************函數(shù)功能:與最近一次lcd顯示界面比擬,以此作是否清屏處理入口參數(shù):出口參數(shù):***************************************************************/voidjudge_clear_lcd(){ if(N_DISPLAY!=N_DISPLAY_HISTORY) { lcd_wcmd(0x01); //清屏 } }/***************************************************************函數(shù)功能:lcd顯示第0幕入口參數(shù):出口參數(shù):***************************************************************/voiddisplay0(){ uchari; judge_clear_lcd(); //是否清屏處理lcd_pos(0x00); //設(shè)置顯示位置delay1(1); for(i=0;wel[i]!='\0';i++) { lcd_wdat(wel[i]); } N_DISPLAY_HISTORY=0;//記錄歷史顯示界面編號(hào)}/***************************************************************函數(shù)功能:lcd顯示第1幕入口參數(shù):出口參數(shù):***************************************************************/voiddisplay1(){ uchari; judge_clear_lcd(); //是否清屏處理 lcd_pos(0x00); //設(shè)置顯示位置delay1(1); for(i=0;_in[i]!='\0';i++) //顯示"einplease!" { lcd_wdat(_in[i]); } lcd_pos(0x40); //設(shè)置顯示位置delay1(1); for(i=0;push[i]!='\0';i++) //顯示"Pushthedoor!"{ lcd_wdat(push[i]); } N_DISPLAY_HISTORY=1; //記錄歷史顯示界面編號(hào)}/***************************************************************函數(shù)功能:lcd顯示第2幕入口參數(shù):出口參數(shù):***************************************************************/voiddisplay2(){ uchari; judge_clear_lcd(); //是否清屏處理lcd_pos(0x00); //設(shè)置顯示位置 delay1(1); for(i=0;pull[i]!='\0';i++) //顯示"Pullthedoor!" { lcd_wdat(pull[i]); } N_DISPLAY_HISTORY=2; //記錄歷史顯示界面編號(hào)}/***************************************************************函數(shù)功能:lcd顯示第3幕入口參數(shù):出口參數(shù):***************************************************************/voiddisplay3(){ uchari; bitj=0; //已顯示‘*’標(biāo)志judge_clear_lcd(); //是否清屏處理lcd_pos(0x00); //設(shè)置顯示位置 delay1(1); for(i=0;input[i]!='\0';i++) //顯示"Intputpassword" { lcd_wdat(input[i]); }lcd_wcmd(0x0d); //顯示閃爍光標(biāo) delay1(1); lcd_pos(0x43); //設(shè)置顯示位置 delay1(1); do { if((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; //置位已顯示‘*’標(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ù):***************************************************************/voiddisplay4(){ uchari; judge_clear_lcd(); //是否清屏處理 lcd_pos(0x00); //設(shè)置顯示位置 delay1(1); for(i=0;passw_err[i]!='\0';i++) //顯示"Error!" { lcd_wdat(passw_err[i]); } N_DISPLAY_HISTORY=4; //記錄歷史顯示界面編號(hào)}/***************************************************************函數(shù)功能:lcd顯示第5幕入口參數(shù):出口參數(shù):***************************************************************/voiddisplay5(){ uchari; judge_clear_lcd(); //是否清屏處理 lcd_pos(0x42); //設(shè)置顯示位置 delay1(1); for(i=0;passw_err[i]!='\0';i++) //顯示"Test..."{lcd_wdat(test[i]); } N_DISPLAY_HISTORY=5; //記錄歷史顯示界面編號(hào)}/***************************************************************函數(shù)功能:lcd顯示幕判別入口參數(shù):出口參數(shù):***************************************************************/voiddisplay(){switch(N_DISPLAY) //根據(jù)當(dāng)前界面編號(hào)N_DISPLAY進(jìn)展顯示{case0:display0();break;case1:display1();break;case2:display2();break;case3:display3();break;case4:display4();break;case5:display5();break;}}4.2.2鍵盤(pán)程序1.鍵盤(pán)程序流程圖如圖4-12示:圖4-12鍵盤(pán)程序流程圖2.鍵盤(pán)程序清單:/***************************************************************函數(shù)功能:鍵值計(jì)算程序,返回鍵值0~15入口參數(shù):i出口參數(shù):v***************************************************************/ucharkey_calcu(uchari,ucharm){ ucharv;switch(m) { case0x0e:v=(i*4)+0;break;//第i行第1列case0x0d:v=(i*4)+1;break;//第i行第2列 case0x0b:v=(i*4)+2;break;//第i行第3列 case0x07:v=(i*4)+3;break;//第i行第4列default:v=0xff; } returnv;}/***************************************************************函數(shù)功能:鍵盤(pán)掃描程序,返回鍵值0~15入口參數(shù):出口參數(shù): 〔鍵值〕***************************************************************/ucharkey_scan(void)//使用行列逐級(jí)掃描法{ uchari,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.4~P1.7逐次給低電平,P1口其他引腳為高P1=temp; if(P1!=temp) //確認(rèn)第i行是否有鍵按下 { m=P1&0x0f; //取P1.0~P1.3的狀態(tài),用于計(jì)算鍵值 while(P1!=temp); //等待按鍵松開(kāi)delay(5); //去抖動(dòng),延時(shí)0.01swhile(P1!=temp); //等待按鍵松開(kāi) v_key=key_calcu(i,m); //計(jì)算鍵值if(v_key!=0xff) { returnv_key; //返回有效鍵值 } } } } } return0xff; //無(wú)鍵按下或掃描異常時(shí),返回0xff作為鍵值}/***************************************************************函數(shù)功能:密碼驗(yàn)證程序入口參數(shù):出口參數(shù):***************************************************************/voidpassw_check(){ uchari,j=0;rec_passw[N_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_passw[i]==pass_word[i]) { j++; //記錄正確密碼個(gè)數(shù)} else break; //假設(shè)有一位密碼錯(cuò)誤,那么跳出、不再比擬 }if(j==6) { //密碼正確N_DISPLAY=1; //顯示請(qǐng)進(jìn)提示界面 go_out_OR_enter();//開(kāi)鎖等處理 }else { //密碼錯(cuò)誤 BUZZER=0; //蜂鳴器響 N_DISPLAY=4; //顯示密碼錯(cuò)誤提示界面 set_origscr(); //置位返回初始界面標(biāo)志 } }}/***************************************************************函數(shù)功能:鍵值處理程序入口參數(shù):出口參數(shù):***************************************************************/voidkey_dispose(){if((F_INPUT==1)&&(V_KEY>=0)&&(V_KEY<=9)) //是否輸入密碼為0~9有效且進(jìn)入輸入密碼程序標(biāo)志為1 { passw_check(); //密碼驗(yàn)證處理 }else { switch(V_KEY) {case12: //輸入密碼鍵{ N_DISPLAY=3; //改變顯示界面 F_INPUT=1; //置位進(jìn)入輸入密碼程序標(biāo)志 F_PASSW_O=0; //清零密碼輸入完畢標(biāo)志 N_PASSW=0; //密碼比擬位置零 break; } case13: //出門(mén)按鈕鍵 { N_DISPLAY=2; //改變顯示界面 go_out_OR_enter(); //開(kāi)鎖等處理 F_INPUT=0; //去除進(jìn)入輸入密碼程序標(biāo)志 break; } case14: //模擬刷卡鍵 { N_DISPLAY=1; //改變顯示界面 go_out_OR_enter(); //開(kāi)鎖等處理 F_INPUT=0; //去除進(jìn)入輸入密碼程序標(biāo)志 break; } case15: //確認(rèn)/返回鍵 { N_DISPLAY=0; //改變顯示界面 if(F_INPUT==1) { BUZZER=0; //蜂鳴器響 N_DISPLAY=4; //改變顯示界面 set_origscr(); //置位返回初始界面標(biāo)志 } else { BUZZER=1; //在密碼錯(cuò)誤使蜂鳴器響的情況下,按"確認(rèn)/返回〞鍵可關(guān)蜂鳴器 } F_INPUT =0; //去除進(jìn)入輸入密碼程序標(biāo)志 break; } } } }/***************************************************************函數(shù)功能:INTO初始化入口參數(shù):出口參數(shù):***************************************************************/voidINT0_init(void){ IT0=0; //低電平觸發(fā) IT0=1; //邊沿觸發(fā)方式EX0=1; //允許外部中斷0中斷}/***************************************************************函數(shù)功能:INT0中斷效勞程序入口參數(shù):出口參數(shù):***************************************************************/voidINT0_irq(void)interrupt0{ V_KEY=key_scan(); //取鍵值if(V_KEY!=0xff) {key_dispose(); //鍵值處理 } P1=0x0f;}結(jié)論經(jīng)過(guò)全組人員的屢次探討研究,翻閱大量文獻(xiàn)資料,最終確定各個(gè)模塊的實(shí)現(xiàn)方案,使得系統(tǒng)初步具備一定的穩(wěn)定性與創(chuàng)新性。系統(tǒng)的可靠性表達(dá)在控制開(kāi)鎖設(shè)計(jì)上:當(dāng)讀卡器檢索到合法IC卡時(shí),由CPU的P2.3引腳提供一個(gè)低電平信號(hào),因?yàn)椋?9C52單片機(jī)復(fù)位狀態(tài)是高電平,而一般實(shí)用電路必須有看門(mén)狗電路,一旦出現(xiàn)故障,也需要復(fù)位,也是高電平。在設(shè)計(jì)上如果采用高電平開(kāi)門(mén),是不可以的。所以,我們?cè)谠O(shè)計(jì)電路時(shí),通過(guò)論證,選用低電平作為信號(hào),控制門(mén)的開(kāi)啟,此時(shí)門(mén)鎖自動(dòng)翻開(kāi)。從消防平安考慮,如果發(fā)生意外或危險(xiǎn),只要斷開(kāi)電源,門(mén)鎖同樣可以被翻開(kāi)。系統(tǒng)的創(chuàng)新性表達(dá)在采用非接觸的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),無(wú)機(jī)械磨損等優(yōu)點(diǎn)。而且它還克制了接觸式IC卡所無(wú)法防止的缺點(diǎn),如讀寫(xiě)故障率高,由于觸點(diǎn)外露而導(dǎo)致的污染、損傷、磨損、靜電以及插卡不便、易受惡意攻擊等。由于時(shí)間、精力以及學(xué)識(shí)等方面的缺乏,以至于本次設(shè)計(jì)存在一些問(wèn)題,下面就個(gè)人看法,提出一些改善建議:〔1〕硬件局部,采用液晶模塊顯示,增強(qiáng)了系統(tǒng)的交互性,但液晶顯示模塊壽命有限而且容易損壞,使得維護(hù)本錢(qián)提高。建議用其他顯示模塊代替。〔2〕為了加強(qiáng)系統(tǒng)的實(shí)時(shí)性,軟件局部采用中斷程序處理密碼驗(yàn)證及刷卡,但程序過(guò)長(zhǎng),處理時(shí)可能會(huì)占用較多的資源。建議下一步稍作調(diào)整,將相關(guān)程序放入主程序中進(jìn)展處理。附錄.PAGE16.辭時(shí)光飛逝,來(lái)不及感慨,三年的大學(xué)生活已近尾聲,期間我不斷得到各位教師、同學(xué)的關(guān)心與幫助,感受到了友誼的溫暖與純真,最重要的是一種精神上的鼓勵(lì),讓我非常感動(dòng)。經(jīng)過(guò)不懈的努力,我的畢業(yè)論文"基于單片機(jī)的門(mén)禁系統(tǒng)的設(shè)計(jì)"在娟梅教師的悉心指導(dǎo)下已經(jīng)完成初稿。論文的寫(xiě)作是枯燥艱辛而又富有挑戰(zhàn)的。教師的諄諄誘導(dǎo)、同學(xué)的出謀劃策及家長(zhǎng)的支持鼓勵(lì),是我堅(jiān)持完成論文的動(dòng)力源泉。在此,我特別要感我的導(dǎo)師娟梅教師。從論文的選題、文獻(xiàn)的采集、框架的設(shè)計(jì)、構(gòu)造的布局到最終的論文定稿,沉著到格式,從標(biāo)題到標(biāo)點(diǎn),他都費(fèi)盡心血。教師溫和的性格,樸素的作風(fēng),深深地感動(dòng)著我。同時(shí),我還要感幫助我的各位同學(xué),在論文的寫(xiě)作的這段時(shí)間里,給我提出了很多珍貴的意見(jiàn)和建議,與他們的交流使我受益頗多。感大學(xué)里的每一位教師的支持和幫助,真誠(chéng)地感他們?nèi)陙?lái)的辛勤栽培。最后要感我的家人以及我的朋友們對(duì)我的理解、支持、鼓勵(lì)和幫助,正是因?yàn)橛辛怂麄儯宜龅囊磺胁鸥幸饬x;也正是因?yàn)橛辛怂麄儯也庞辛俗非筮M(jìn)步的勇氣和信心。最后感辯論組教師們的評(píng)閱,辛苦了,!參考文獻(xiàn)[1]忠國(guó).單片機(jī)應(yīng)用技能訓(xùn)練.:人民郵電,2006[2]朝青.單片微機(jī)原理及接口技術(shù).:航空航天大學(xué),1998[3]守義.智能卡技術(shù).:電子科技大學(xué),2004.〔220~222〕[4]林全新.單片機(jī)原理與接口技術(shù).:人民郵電,2002〔184~186〕[5]王汝琳.智能門(mén)禁控制系統(tǒng).:電子工業(yè),2004[6]新民,王燕芳.微型計(jì)算機(jī)控制技術(shù).:電子工業(yè),2011[7]素行.模擬電子技術(shù)根底簡(jiǎn)明教程.:高等教育,2006[8]何立民.嵌入式系統(tǒng)可靠性設(shè)計(jì)得探討.:大學(xué)學(xué)報(bào),1998〔增刊〕[9]譚浩強(qiáng).C程序設(shè)計(jì).:清華大學(xué),2005[10]王開(kāi)滿,江平,潔.門(mén)禁系統(tǒng)在地鐵綜合監(jiān)控系統(tǒng)中的研究與應(yīng)用.都市快軌交通,2007[11]紅衛(wèi).單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)實(shí)例與分析.航空航天大學(xué),1999[12]周遐.安防系統(tǒng)工程.:機(jī)械工業(yè),2004[13]志軍,晉源,王振波.單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì).機(jī)械工業(yè),2005[14]錢(qián)逸秋.單片機(jī)原理與應(yīng)用.:電子工業(yè),2002[15]于孟嘗.數(shù)字電子技術(shù)根底簡(jiǎn)明教程.:高等教育,2006.7[16]苗健.大型智能IC卡網(wǎng)絡(luò)門(mén)禁管理系統(tǒng)在地鐵三號(hào)線中的實(shí)際應(yīng)用.智能建筑與城市信息,2007附錄局部源程序頭文件<define.h>#defineuintunsignedint#defineucharunsignedcharucharN_T1_10=0; //定時(shí)器T1定時(shí)10s標(biāo)志ucharV_KEY=0; //鍵值 ucharN_DISPLAY=0; //當(dāng)前界面標(biāo)號(hào)ucharN_DISPLAY_HISTORY=0; //最近一次顯示界面編號(hào)ucharN_PASSW=0; //密碼存放位ucharrec_passw[6]; //輸入密碼存放bitF_GO_OUT=0; //門(mén)鎖開(kāi)標(biāo)志bitF_PASSW=0; //新密碼輸入標(biāo)志bitF_INPUT=0; //進(jìn)入輸入密碼程序標(biāo)志bitF_PASSW_O=0; //密碼輸入完畢標(biāo)志ucharcodewel[]="Wele!";ucharcode _in[]="einplease!";ucharcode push[]="Pushthedoor!";ucharcode pull[]="Pullthedoor!";ucharcode input[]="Intputpassword";ucharcode passw_err[]="Error!";ucharcode pass_word[]={0,1,2,3,4,0};ucharcode test[]="Test...";/**************************端口定義***************
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 玉米品種采購(gòu)合同協(xié)議
- 電塔電池租賃合同協(xié)議
- 生態(tài)板買(mǎi)賣(mài)交易合同協(xié)議
- 玩具加工代理合同協(xié)議
- 電機(jī)銷(xiāo)售安裝合同協(xié)議
- 玉石供貨協(xié)議合同協(xié)議
- 電子汽車(chē)計(jì)量衡合同協(xié)議
- 牲豬屠宰工作合同協(xié)議
- 申通快遞協(xié)議物流合同
- 電器設(shè)備采購(gòu)合同協(xié)議
- 管制刀具課件教學(xué)課件
- 金融違反案例
- 工商銀行營(yíng)銷(xiāo)培訓(xùn)課件
- 煤礦人員定位系統(tǒng)管理制度
- 動(dòng)火作業(yè)施工方案5篇
- 全心智造(廈門(mén))體育用品有限公司體育用品制造項(xiàng)目
- 【基于PLC的搬運(yùn)機(jī)器人系統(tǒng)設(shè)計(jì)(論文)7400字】
- 光纖光纜線路維護(hù)技術(shù) 第3部分:基于光傳感技術(shù)的光纜識(shí)別 征求意見(jiàn)稿
- 成都地鐵運(yùn)營(yíng)有限公司招聘筆試題庫(kù)2024
- 小小理財(cái)師教學(xué)課件
- 知識(shí)產(chǎn)權(quán)法(四川師范大學(xué))智慧樹(shù)知到答案2024年四川師范大學(xué)
評(píng)論
0/150
提交評(píng)論