版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、基于單片機(jī)電子密碼鎖的設(shè)計(jì)摘要:隨著科技和人們的生活水平的提高,如何實(shí)現(xiàn)家庭防盜這一問(wèn)題也變的尤其的突出。由于傳統(tǒng)機(jī)械鎖存在構(gòu)造簡(jiǎn)單,鑰匙互開(kāi)容易等不安全因素;使得家庭的安全性與保密性降低。電子鎖由于其保密性高,使用靈活性好,安全系數(shù)高,顯得日趨重要。本設(shè)計(jì)以單片機(jī)AT89C51與低功耗CMOS型E²PROM AT24C02作為主控芯片與數(shù)據(jù)存儲(chǔ)器單元,結(jié)合外圍的鍵盤(pán)輸入、LCD顯示、報(bào)警、開(kāi)鎖等電路模塊。它具有以下的功能:輸入密碼正確,實(shí)現(xiàn)開(kāi)鎖;輸入密碼錯(cuò)誤三次以上,報(bào)警;可以根據(jù)用戶需求更改密碼。本設(shè)計(jì)用用Keil軟件進(jìn)行編譯,C51語(yǔ)言編寫(xiě)主控芯片控制程序與EEPROM AT2
2、4C02讀寫(xiě)程序相結(jié)合,設(shè)計(jì)出一款可以更改密碼,并且具有報(bào)警功能的電子密碼控制系統(tǒng)。軟件設(shè)計(jì)采用自上而下的模塊化設(shè)計(jì)思想,增強(qiáng)系統(tǒng)的可擴(kuò)展性和運(yùn)行的穩(wěn)定性,使系統(tǒng)朝著分布式、小型化方向發(fā)展。本密碼鎖具有一定的推廣價(jià)值。關(guān)鍵詞:?jiǎn)纹瑱C(jī);AT89C51;密碼鎖;報(bào)警 ;液晶顯示Microcontroller-based Design Of Electronic LocksAbstract: With the improvement of social science and the living level of people, how to realize the family anti-the
3、ft, this problem also become particularly prominent. Because of the traditional mechanical lock has e many unsafe factors,such as simple structure, easy open; Reduces the security and privacy of family. Electronic lock is increasingly important,because of its high confidentiality, use good flexibili
4、ty, high safety coefficient.This system by theAT89C51 with low power CMOS based E ² PROM AT24C02 as the master chip and the data memory unit, combined with the external keyboard, LCD display, alarm, unlock and other circuit modules. It has the following features: enter the password correctly un
5、der the premise of unlocking; Input wrong password more than three times case the alarm; password can be changed according to user needs.This design use Keil software to compile,Master in C language control program and EEPROM AT24C02 chip to read and write process are combined.designed a number you
6、can change the password, the password with an electronic alarm control system. The software design adoption the design thought from top to bottom, strengthen the system and can expand the stability and circulate,to make the system toward wear distribute type,turn to the direction development of smal
7、l.The lock has some promotional value.Keywords: singlechip; AT89C51;cryptogram lock;alarm; LCD目錄摘要iAbstracti目錄iii1緒論11.1單片機(jī)的應(yīng)用領(lǐng)域21.1.1智能儀器儀表21.1.2工業(yè)控制21.1.3家用電器21.1.4計(jì)算機(jī)網(wǎng)絡(luò)和通信21.1.5醫(yī)用設(shè)備21.1.6大型電器31.2課題的目的和意義31.2.1選題目的31.2.2選題意義31.3國(guó)內(nèi)外研究現(xiàn)狀與水平31.4發(fā)展趨勢(shì)41.5本設(shè)計(jì)特點(diǎn)42分析52.1方案選擇52.2總體設(shè)計(jì)思路52.2.1系統(tǒng)實(shí)現(xiàn)功能52.2.2系統(tǒng)運(yùn)
8、行過(guò)程62.2.3系統(tǒng)總設(shè)計(jì)結(jié)構(gòu)圖62.3主要元器件介紹72.3.1AT89C51介紹72.3.2LCD1602顯示器介紹92.3.3存儲(chǔ)芯片AT24C02介紹102.3.4I2C總線介紹112.3.5矩陣鍵盤(pán)介紹133設(shè)計(jì)143.1硬件設(shè)計(jì)143.1.1單片機(jī)的晶振、復(fù)位電路143.1.2鍵盤(pán)輸入電路153.1.3顯示電路163.1.4存儲(chǔ)電路173.1.5報(bào)警電路173.1.6開(kāi)鎖電路183.1.7生成電路圖183.1.8元器件采購(gòu)193.2軟件設(shè)計(jì)193.2.1主程序193.2.2鍵盤(pán)掃描程序233.2.3密碼修改程序263.2.4LCD顯示程序283.2.5延時(shí)程序303.2.6中斷程
9、序313.3調(diào)試程序323.3.1Proeus 軟件介紹323.3.2Keil C51軟件介紹323.3.3Proteus 軟件與Keil uVision 的結(jié)合324結(jié)論34致謝2參考文獻(xiàn)3iv34基于單片機(jī)的電子密碼鎖的設(shè)計(jì)1 緒論隨著新技術(shù)的不斷開(kāi)發(fā)與應(yīng)用,日常生活中住宅的安全防范以及一些個(gè)人資料的保存等一系列安全防盜問(wèn)題已成為社會(huì)普遍關(guān)注的問(wèn)題。傳統(tǒng)的機(jī)械鎖由于其互開(kāi)率非常高,并且構(gòu)造的簡(jiǎn)單,安全性能極低;且人們常需攜帶多把鑰匙, 使用起來(lái)非常的不方便, 在鑰匙丟失的突發(fā)情況下,鎖的安全性大大降低。隨著人們生活水平的提高,人們對(duì)日常生活中的安全保險(xiǎn)器件的要求逐步升高。電子密碼鎖的產(chǎn)生使
10、得這些問(wèn)題得到改善,密碼鎖因具有安全性高、成本低、功耗低、易操作等優(yōu)點(diǎn),受到了廣大用戶的青睞,用戶只需簡(jiǎn)單的記住密碼便可對(duì)家庭或者保險(xiǎn)柜上鎖。早期的電子密碼鎖主要應(yīng)用于一些特殊場(chǎng)所。多半是配合機(jī)械鎖一起作用且存在著諸如體積較大,成本較高,可靠性較低等缺點(diǎn)一時(shí)難以普及。20世紀(jì)80年代后,隨著信息技術(shù)、集成電路、半導(dǎo)體技術(shù)的發(fā)展,電子鎖的體積縮小,同時(shí)可靠性提高,成本也相對(duì)提高,且需要有電源提供能量,所以只適合使用在安全性要求較高的場(chǎng)合,難以得到廣泛對(duì)的應(yīng)用。到了90年代,世界微電子技術(shù)的進(jìn)步和通信技術(shù)的發(fā)展為密碼鎖提供了技術(shù)上的支持,從而使密碼鎖應(yīng)用于實(shí)際。目前,隨著電子技術(shù)和信息技術(shù)的發(fā)展,
11、電子密碼鎖的技術(shù)領(lǐng)域已發(fā)展的十分成熟。西方國(guó)家尤為突出,電子密碼鎖技術(shù)相對(duì)先進(jìn),并且種類(lèi)齊全,已被廣泛應(yīng)用于安全處所,使之更加安全更加可靠實(shí)現(xiàn)大門(mén)的管理。現(xiàn)今常見(jiàn)的密碼鎖設(shè)計(jì)主要有兩種方案,一種是中規(guī)模集成電路控制的方案,另一種是單片機(jī)控制的方案。采用集成電路控制的方案,主要由輸入元件、電路(包括電源)以及鎖體三部分組成。編碼電子鎖電路分為編碼電路、控制電路、復(fù)位電路、解碼電路、防盜報(bào)警電路、門(mén)鈴電路,此種方案的結(jié)構(gòu)較為復(fù)雜且重新設(shè)置密碼、輸入密碼的操作過(guò)程會(huì)給用戶帶來(lái)很大的不便。利用單片機(jī)控制的方案,由于單片機(jī)靈活的編程設(shè)計(jì)和豐富的I/O端口,及其控制的準(zhǔn)確性,可以方便的實(shí)現(xiàn)密碼鎖的基本功能
12、。但電子密碼鎖也有一定的局限性,電子密碼鎖的復(fù)雜的控制原理以及對(duì)設(shè)計(jì)人員良好的程序設(shè)計(jì)能力的要求,使得電子密碼鎖可能造成極大的損失。通過(guò)對(duì)這兩種方案的優(yōu)缺點(diǎn)比較,再考慮到本人自己對(duì)單片機(jī)設(shè)計(jì)具有一定的基礎(chǔ),所以此次選擇利用單片機(jī)來(lái)進(jìn)行密碼鎖的設(shè)計(jì)。本文從經(jīng)濟(jì)實(shí)用的角度出發(fā),以AT89C51單片機(jī)為核心器件,結(jié)合按鍵電路、LCD液晶顯示電路、報(bào)警指示電路和開(kāi)鎖電路,組成電子密碼鎖控制系統(tǒng)。密碼鎖可設(shè)置09之間的四位作為密碼。每個(gè)密碼按鍵都有聲提示,用戶可通過(guò)輸入正確的密碼打開(kāi)鎖。系統(tǒng)特點(diǎn)如下:(1)保密性好,通過(guò)鍵盤(pán)輸入四位密碼,若密碼正確,將鎖打開(kāi)。(2)密碼輸入錯(cuò)誤,LCD液晶顯示密碼輸入錯(cuò)
13、誤,并有提示音。(3)用戶可以自由設(shè)定密碼,防止密碼被盜。(4)使用靈活性好,無(wú)活動(dòng)零件,不會(huì)磨損,使用時(shí)間長(zhǎng)。(5)輸入密碼三次以上錯(cuò)誤,將會(huì)啟動(dòng)報(bào)警系統(tǒng)。1.1 單片機(jī)的應(yīng)用領(lǐng)域單片機(jī)廣泛應(yīng)用于儀器儀表、家用電器、醫(yī)用設(shè)備、航空航天、專(zhuān)用設(shè)備的智能化管理及過(guò)程控制等領(lǐng)域,單片機(jī)的學(xué)習(xí)、開(kāi)發(fā)與應(yīng)用將造就一批計(jì)算機(jī)應(yīng)用與智能化控制的科學(xué)家、工程師。 單片機(jī)的應(yīng)用領(lǐng)域大致可分如下幾個(gè)范疇:1.1.1 智能儀器儀表采用單片機(jī)控制使得儀器儀表數(shù)字化、智能化、微型化,且功能比起采用電子或數(shù)字電路更加強(qiáng)大。單片機(jī)憑借其具有體積小、控制功能強(qiáng)、擴(kuò)展靈活、功耗低和使用方便等優(yōu)點(diǎn),廣泛應(yīng)用于儀器儀表中,結(jié)合不
14、同類(lèi)型的傳感器,可實(shí)現(xiàn)諸如電壓、功率、頻率、濕度、溫度、流量、速度、厚度、角度、長(zhǎng)度、硬度、元素、壓力等物理量的測(cè)量。例如精密的各種分析儀、示波器。1.1.2 工業(yè)控制工廠流水線的智能化管理,電梯智能化控制、各種報(bào)警系統(tǒng),與計(jì)算機(jī)聯(lián)網(wǎng)構(gòu)成二級(jí)控制系統(tǒng)等,都是單片機(jī)控制系統(tǒng),單片機(jī)可以構(gòu)成形式多樣的控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng),方便工業(yè)控制。1.1.3 家用電器現(xiàn)今的家用電器大部分都采用了單片機(jī)控制系統(tǒng),從電飯煲、洗衣機(jī)、電冰箱、空調(diào)機(jī)、彩電、其他音響視頻器材、再到電子秤量設(shè)備,單片機(jī)無(wú)所不在。1.1.4 計(jì)算機(jī)網(wǎng)絡(luò)和通信現(xiàn)在的通信設(shè)備基本上都實(shí)現(xiàn)了單片機(jī)智能控制,單片機(jī)的通信接口,可以很方便地與計(jì)算
15、機(jī)進(jìn)行數(shù)據(jù)通信,為在計(jì)算機(jī)網(wǎng)絡(luò)和通信設(shè)備間的應(yīng)用提供了極好的物質(zhì)條件,手機(jī),電話機(jī)、樓宇自動(dòng)通信呼叫系統(tǒng)、列車(chē)無(wú)線通信、無(wú)線電對(duì)講機(jī)等,都應(yīng)用了單片機(jī)控制。1.1.5 醫(yī)用設(shè)備醫(yī)用呼吸機(jī),各種分析儀,監(jiān)護(hù)儀,超聲診斷設(shè)備及病床呼叫系統(tǒng)等等,均用到了單片機(jī)系統(tǒng),單片機(jī)在醫(yī)用設(shè)備中的用途相當(dāng)廣泛。1.1.6 大型電器對(duì)于音樂(lè)集成單片機(jī)等大型電器,看似功能簡(jiǎn)單,微縮在純電子芯片中(有別于磁帶機(jī)的原理),就需要復(fù)雜的類(lèi)似于計(jì)算機(jī)的原理。如:音樂(lè)信號(hào)轉(zhuǎn)化為模擬音樂(lè)電信號(hào)等。在大型電路中,某些專(zhuān)用單片機(jī)設(shè)計(jì)用于實(shí)現(xiàn)特定功能,從而在各種電路中進(jìn)行模塊化應(yīng)用,這種模塊化應(yīng)用極大地縮小了體積,簡(jiǎn)化了電路,降低了
16、損壞、錯(cuò)誤率,也方便于更換。此外,單片機(jī)在工商,金融,科研、教育,國(guó)防航空航天等領(lǐng)域都有著十分廣泛的用途。1.2 課題的目的和意義1.2.1 選題目的在日常的工作和生活中,住宅的安全防范以及一些個(gè)人資料的保存等一系列安全防盜問(wèn)題已成為社會(huì)普遍關(guān)注的問(wèn)題。傳統(tǒng)的機(jī)械鎖由于其構(gòu)造的簡(jiǎn)單,被撬的事件屢見(jiàn)不鮮,且人們經(jīng)常需要攜帶多把鑰匙,使用起來(lái)非常的不方便,鑰匙丟失后安全性降低。電子密碼鎖的產(chǎn)生使得這些問(wèn)題得到改善,密碼鎖因具有安全性高、成本低、無(wú)磨損、壽命長(zhǎng)、功耗低、易操作等優(yōu)點(diǎn),受到了廣大用戶的青睞,用戶只需簡(jiǎn)單的記住密碼便可對(duì)家庭或者保險(xiǎn)柜上鎖。本設(shè)計(jì)采用單片機(jī)AT89C51作為單片機(jī)的核心單
17、元,設(shè)計(jì)一款具有本機(jī)開(kāi)鎖,密碼更改和報(bào)警功能的電子密碼鎖。即簡(jiǎn)單又適用。1.2.2 選題意義電子密碼鎖是一種通過(guò)密碼輸入來(lái)控制電路或是芯片工作,從而控制機(jī)械開(kāi)關(guān)的閉合,完成開(kāi)鎖、閉鎖任務(wù)的電子產(chǎn)品。通過(guò)本次畢設(shè)可以促進(jìn)加深對(duì)單片機(jī)、數(shù)電模電知識(shí)的掌握,也可以熟悉PROTEUS、KEIL環(huán)境下設(shè)計(jì)一個(gè)單片機(jī)系統(tǒng)的方法,并進(jìn)一步促進(jìn)電子密碼鎖知識(shí)的普及和發(fā)展。1.3 國(guó)內(nèi)外研究現(xiàn)狀與水平目前,在西方發(fā)達(dá)國(guó)家,電子密碼鎖技術(shù)相對(duì)先進(jìn),種類(lèi)齊全,電子密碼鎖已被廣泛應(yīng)用于智能門(mén)禁系統(tǒng)中。國(guó)內(nèi)有幾個(gè)廠生產(chǎn)供應(yīng)市場(chǎng)。但國(guó)內(nèi)自行研制開(kāi)發(fā)的電子鎖,其市場(chǎng)結(jié)構(gòu)尚未形成,應(yīng)用還不廣泛。電子密碼鎖越來(lái)越普及到平常化,
18、未來(lái)的發(fā)展前景非常的大。希望通過(guò)不斷的努力,使電子密碼鎖在我國(guó)也能得到廣泛應(yīng)用。目前使用的電子密碼鎖大部分是基于單片機(jī)技術(shù),以單片機(jī)為主要器件,其編碼器與解碼器的生成為軟件方式。相比傳統(tǒng)的機(jī)械式鑰匙開(kāi)鎖攜帶不方便、安全性能差等特點(diǎn),電子密碼鎖有易操作、功耗低等優(yōu)勢(shì),使其越來(lái)越成為市場(chǎng)上的主流產(chǎn)品。1.4 發(fā)展趨勢(shì)當(dāng)今電子密碼鎖發(fā)展已經(jīng)到了非常高的境界,由于電子元件特別是單片機(jī)應(yīng)用在這幾年得到空前發(fā)展,無(wú)論功能性,穩(wěn)定性都比較全面,在保密方面已做到人眼識(shí)別,指紋識(shí)別,人聲識(shí)別基本上電影上有的現(xiàn)實(shí)也有。在國(guó)外發(fā)展比較早,所以應(yīng)用也比較廣泛,主要在家庭裝較貴重地方,銀行,保險(xiǎn)柜等應(yīng)用較多,在國(guó)內(nèi)這方
19、面發(fā)展也較快,不管自己開(kāi)發(fā)或是引進(jìn)都有,在重要地方應(yīng)用也較多,由于價(jià)錢(qián)比普通彈子鎖較貴,早幾年應(yīng)用較少,現(xiàn)在越來(lái)越普及到平?;?,未來(lái)的發(fā)展也會(huì)越來(lái)越被大眾采用,由于它的功能、安全是彈子鎖無(wú)法相比的。發(fā)展前境也是非常大的。1.5 本設(shè)計(jì)特點(diǎn)本設(shè)計(jì)采用AT89C51單機(jī),研制了一款具有防盜自動(dòng)報(bào)警功能的電子密碼鎖。該密碼鎖設(shè)計(jì)方法合理,簡(jiǎn)單易行,成本低,符合住宅、辦公室用鎖要求,具有一定的推廣價(jià)值。(1)系統(tǒng)設(shè)置4位密碼,密碼通過(guò)鍵盤(pán)輸入,若密碼正確,則將鎖打開(kāi)。(2)密碼由用戶自己設(shè)定,在開(kāi)鎖狀態(tài)下,用戶可自行修改密碼。(3)具有自動(dòng)報(bào)警功能。系統(tǒng)工作時(shí),用戶通過(guò)按鍵輸入4位密碼,單片機(jī)將輸入密
20、碼與設(shè)定密碼進(jìn)行比較,若密碼正確,則發(fā)出開(kāi)鎖信號(hào),將門(mén)打開(kāi),系統(tǒng)不報(bào)警;若密碼不正確,會(huì)顯示輸入錯(cuò)誤,重新輸入密碼的次數(shù)超過(guò)3次,將會(huì)發(fā)出報(bào)警信號(hào)。 2 分析2.1 方案選擇現(xiàn)今常見(jiàn)的密碼鎖設(shè)計(jì)主要有以下兩種方案。方案一:中規(guī)模集成電路控制用以74LS112雙JK觸發(fā)器構(gòu)成的數(shù)字邏輯電路作為密碼鎖的核心控制,將密碼保存在JK觸發(fā)器中,與輸入密碼通過(guò)比較器比較,判斷結(jié)果是否相符合。采用數(shù)字電路設(shè)計(jì)的方案好處就是設(shè)計(jì)簡(jiǎn)單,但物理實(shí)現(xiàn)結(jié)構(gòu)較為復(fù)雜且重新設(shè)置密碼、輸入密碼的操作過(guò)程也會(huì)給用戶帶來(lái)一定的不方便,故不采用。 方案二:采用一種是用以AT89C51為核心的單片機(jī)控制方案選用AT89C51單片機(jī)
21、作為系統(tǒng)的核心部件,系統(tǒng)主要由單片機(jī)系統(tǒng)、矩陣鍵盤(pán)、LED顯示和報(bào)警系統(tǒng)組成。利用單片機(jī)的靈活的編程設(shè)計(jì)和豐富的I/O端口,及其控制的準(zhǔn)確性,不但能實(shí)現(xiàn)基本的密碼鎖功能,還能添加聲光提示功能甚至還能添加掉電存儲(chǔ)和遙控控制功能等,能在很大程度上擴(kuò)展功能,方便對(duì)系統(tǒng)進(jìn)行升級(jí)實(shí)現(xiàn)控制與處理的功能。因此綜合考慮,本系統(tǒng)采用方案二。2.2 總體設(shè)計(jì)思路本設(shè)計(jì)采用以單片機(jī)為核心元件的控制方案。綜合考慮單片機(jī)的性能后,選擇AT89C51為核心元件。利用單片機(jī)靈活的編程設(shè)計(jì)和豐富的I/O端口,及其控制的準(zhǔn)確性,實(shí)現(xiàn)基本的密碼鎖功能。本設(shè)計(jì)主要由單片機(jī)、矩陣鍵盤(pán)、液晶顯示器和密碼存儲(chǔ)等部分組成。在單片機(jī)的外圍電
22、路外接輸入鍵盤(pán)用于密碼的輸入和一些功能的控制,外接AT24C02芯片用于密碼的存儲(chǔ),外接LCD1602顯示器用于顯示作用。用戶通過(guò)連接單片機(jī)的矩陣鍵盤(pán)輸入密碼,后經(jīng)過(guò)單片機(jī)對(duì)用戶輸入的密碼與自己保存的密碼進(jìn)行對(duì)比,從而判斷密碼是否正確,然后控制引腳的高低電平傳到開(kāi)鎖電路或者報(bào)警電路控制開(kāi)鎖還是報(bào)警。本系統(tǒng)共有兩部分構(gòu)成,即硬件部分與軟件部分。其中硬件部分由鍵盤(pán)輸入電路、復(fù)位電路、晶振電路、顯示電路、報(bào)警電路等組成,軟件部分對(duì)應(yīng)的由主程序、初始化程序、LCD顯示程序、鍵盤(pán)掃描程序、啟動(dòng)程序、關(guān)閉程序、鍵功能程序、密碼設(shè)置程序、EEPROM讀寫(xiě)程序和延時(shí)程序等組成。2.2.1 系統(tǒng)實(shí)現(xiàn)功能1正確輸
23、入四位密碼的之后,按開(kāi)鎖鍵,有開(kāi)鎖提示;2錯(cuò)誤輸入密碼情況下,提示錯(cuò)誤;開(kāi)鎖密碼錯(cuò)3次,啟動(dòng)報(bào)警電路;3用戶可以自行設(shè)定和修改密碼;4液晶顯示屏直接顯示密碼輸入情況。2.2.2 系統(tǒng)運(yùn)行過(guò)程初始狀態(tài)為閉鎖,此時(shí)整個(gè)系統(tǒng)等待按鍵輸入,液晶顯示屏顯示上鎖狀態(tài)。每按下一位數(shù)據(jù)鍵,液晶顯示屏相應(yīng)的顯示一個(gè)“*”標(biāo)志,當(dāng)密碼全部輸入完成后,按下開(kāi)鎖鍵,系統(tǒng)判斷密碼是否正確,正確則開(kāi)鎖,以發(fā)光二極管亮為打開(kāi)標(biāo)志,錯(cuò)誤則提示錯(cuò)誤,此后繼續(xù)等待按鍵;密碼輸入錯(cuò)誤三次以后,系統(tǒng)會(huì)發(fā)出報(bào)警蜂鳴聲。需要重置密碼操作等,均可以通過(guò)鍵盤(pán)輸入控制。2.2.3 系統(tǒng)總設(shè)計(jì)結(jié)構(gòu)圖89C51單片機(jī)輸入電路報(bào)警電路開(kāi)鎖電路存儲(chǔ)電
24、路顯示電路晶振電路圖2.1 總體設(shè)計(jì)結(jié)構(gòu)圖本設(shè)計(jì)由主控芯片51單片機(jī),單片機(jī)時(shí)鐘電路,鍵盤(pán),和開(kāi)鎖電路組成。單片負(fù)責(zé)控制整個(gè)系統(tǒng)的執(zhí)行過(guò)程。2.3 主要元器件介紹2.3.1 AT89C51介紹 圖2.2 AT89C51引腳圖本次畢業(yè)設(shè)計(jì)選用的是AT89C51,AT89C51是一種帶4K字節(jié)FLASH存儲(chǔ)器(FPEROMFlash Programmable and Erasable Read Only Memory)的低電壓、高性能CMOS 8位微處理器,俗稱(chēng)單片機(jī)。單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除1000次。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集
25、和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器。AT89C51單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。(1) AT89C51主要特性1. 與MCS-51 兼容2. 4K字節(jié)可編程FLASH存儲(chǔ)器3. 壽命:1000寫(xiě)/擦循環(huán)4. 數(shù)據(jù)保留時(shí)間:10年5. 全靜態(tài)工作:0Hz-24MHz6. 三級(jí)程序存儲(chǔ)器鎖定7. 128×8位內(nèi)部RAM832可編程I/O線9. 兩個(gè)16位定時(shí)器/計(jì)數(shù)器105個(gè)中斷源11可編程串行通道12. 低功耗的閑置和掉電模式13. 片內(nèi)振蕩器和時(shí)鐘電路(2) AT89C51單片
26、機(jī)引腳VCC:供電電壓。 GND:接地。 P0口:P0口為一個(gè)8位漏級(jí)開(kāi)路雙向I/O口,每腳可吸收8TTL門(mén)電流。當(dāng)P0口的管腳第一次寫(xiě)1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的低八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須接上拉電阻。 P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門(mén)電流。P1口管腳寫(xiě)入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為低八位地址接收。 P
27、2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門(mén)電流,當(dāng)P2口被寫(xiě)“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫(xiě)時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。 P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門(mén)電流。當(dāng)P3口寫(xiě)入“1”后,它們
28、被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。 P3口也可作為AT89C51的一些特殊功能口,如下表所示: P3.0 RXD(串行輸入口) P3.1 TXD(串行輸出口) P3.2 /INT0(外部中斷0) P3.3 /INT1(外部中斷1) P3.4 T0(記時(shí)器0外部輸入) P3.5 T1(記時(shí)器1外部輸入) P3.6 /WR(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通) P3.7 /RD(外部數(shù)據(jù)存儲(chǔ)器讀選通) P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。 RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。 ALE
29、/PROG:當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無(wú)效。 /PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問(wèn)
30、外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。 /EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。 XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。 XTAL2:來(lái)自反向振蕩器的輸出。 振蕩器特性: XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,XTAL2應(yīng)不接。有
31、余輸入至內(nèi)部時(shí)鐘信號(hào)要通過(guò)一個(gè)二分頻觸發(fā)器,因此對(duì)外部時(shí)鐘信號(hào)的脈寬無(wú)任何要求,但必須保證脈沖的高低電平要求的寬度。2.3.2 LCD1602顯示器介紹液晶顯示模塊已作為很多電子產(chǎn)品中都可以看到,顯示的主要是數(shù)字、專(zhuān)用符號(hào)和圖形。1602型LCD顯示模塊具有體積小,功耗低,顯示內(nèi)容豐富等特點(diǎn)。1602型LCD可以顯示2行16個(gè)字符,有8位數(shù)產(chǎn)品的通過(guò)器件,如在計(jì)算器、萬(wàn)用表、電子表及很多家用電子據(jù)總線D0-D7和RS,R/W,EN三個(gè)控制端口,工作電壓為5V,并且具有字符對(duì)比度調(diào)節(jié)和背光功能。引腳功能說(shuō)明:LCD1602采用標(biāo)準(zhǔn)的14腳(無(wú)背光)或16腳(帶背光)接口,各引腳接口說(shuō)明,如表2-
32、1所示:表2- 1 LCD1602引腳接口說(shuō)明表編號(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ù)/命令選擇(H/L)12D5數(shù)據(jù)5R/W讀/寫(xiě)選擇(H/L)13D6數(shù)據(jù)6E使能信號(hào)14D7數(shù)據(jù)7D0數(shù)據(jù)15BLA背光源正極8D1數(shù)據(jù)16BLK背光源負(fù)極第1腳:VSS為地電源。第2腳:VDD接5V正電源。第3腳:VL為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地時(shí)對(duì)比度最高,對(duì)比度過(guò)高時(shí)會(huì)產(chǎn)生“鬼影”,使用時(shí)可以通過(guò)一個(gè)10K的電位器調(diào)整對(duì)比度。第4腳:RS為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存
33、器。第5腳:R/W為讀寫(xiě)信號(hào)線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫(xiě)操作。當(dāng)RS和R/W共同為低電平時(shí)可以寫(xiě)入指令或者顯示地址,當(dāng)RS為低電平R/W為高電平時(shí)可以讀忙信號(hào),當(dāng)RS為高電平R/W為低電平時(shí)可以寫(xiě)入數(shù)據(jù)。第6腳:E端為使能端,當(dāng)E端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令。第714腳:D0D7為8位雙向數(shù)據(jù)線。第15腳:背光源正極。第16腳:背光源負(fù)極。2.3.3 存儲(chǔ)芯片AT24C02介紹AT24C02是美國(guó)Atmel公司的低功耗CMOS型E²PROM,內(nèi)含256×8位存儲(chǔ)空間,具有工作電壓寬(2.55.5 V)、擦寫(xiě)次數(shù)多(大于10000次)、寫(xiě)入速度快(小于
34、10 ms)、抗干擾能力強(qiáng)、數(shù)據(jù)不易丟失、體積小等特點(diǎn)。而且他是采用了I²C總線式進(jìn)行數(shù)據(jù)讀寫(xiě)的串行器件,占用很少的資源和I/O線,并且支持在線編程,進(jìn)行數(shù)據(jù)實(shí)時(shí)的存取十分方便。AT24C02中帶有的片內(nèi)地址寄存器。每寫(xiě)入或讀出一個(gè)數(shù)據(jù)字節(jié)后,該地址寄存器自動(dòng)加1,以實(shí)現(xiàn)對(duì)下一個(gè)存儲(chǔ)單元的讀寫(xiě)。所有字節(jié)均以單一操作方式讀取。為降低總的寫(xiě)入時(shí)間,一次操作可寫(xiě)入多達(dá)8個(gè)字節(jié)的數(shù)據(jù)。I2C總線是一種用于IC器件之間連接的二線制總線。他通過(guò)SDA(串行數(shù)據(jù)線)及SCL(串行時(shí)鐘線)兩根線在連到總線上的器件之間傳送信息,并根據(jù)地址識(shí)別每個(gè)器件。 AT24C02正是運(yùn)用了I²C規(guī)程,使
35、用主/從機(jī)雙向通信,主機(jī)(通常為單片機(jī))和從機(jī)(AT24C02)均可工作于接收器和發(fā)送器狀態(tài)。主機(jī)產(chǎn)生串行時(shí)鐘信號(hào)(通過(guò)SCL引腳)并發(fā)出控制字,控制總線的傳送方向,并產(chǎn)生開(kāi)始和停止的條件。無(wú)論是主機(jī)還是從機(jī),接收到一個(gè)字節(jié)后必須發(fā)出一個(gè)確認(rèn)信號(hào)ACK。AT24C02的控制字由8位二進(jìn)制數(shù)構(gòu)成,在開(kāi)始信號(hào)發(fā)出以后,主機(jī)便會(huì)發(fā)出控制字,以選擇從機(jī)并控制總線傳送的方向。管腳描述:SCL 為串行時(shí)鐘:串行時(shí)鐘輸入管腳用于產(chǎn)生器件所有數(shù)據(jù)發(fā)送或接收的時(shí)鐘這是一個(gè)輸入管腳。SDL 為串行數(shù)據(jù)/地址:雙向串行數(shù)據(jù)/地址管腳用于器件所有數(shù)據(jù)的發(fā)送或接收SDL,是一個(gè)開(kāi)漏輸出管腳可與其它開(kāi)漏輸出或集電極開(kāi)路輸
36、出進(jìn)行線或。A0、A1、A2 為器件地址輸入端:當(dāng)使用24C02 時(shí)最大可級(jí)聯(lián)8個(gè)器件,如果只有一個(gè)24C02被總線尋址,這三個(gè)地址輸入腳A0、A1、A2可懸空或連接到Vss。WP為寫(xiě)保護(hù):如果WP 管腳連接到Vcc 所有的內(nèi)容都被寫(xiě)保護(hù)只能讀當(dāng)WP, 管腳連接到Vss 或懸空,允許器件進(jìn)行正常的讀/寫(xiě)操作。管腳圖如圖2.3所示。 圖2.3 AT24C02引腳圖2.3.4 I2C總線介紹I2C(InterIntegrated Circuit)總線是一種由PHILIPS公司開(kāi)發(fā)的兩線式串行總線,用于連接微控制器及其外圍設(shè)備。I2C總線產(chǎn)生于在80年代,最初為音頻和視頻設(shè)備開(kāi)發(fā),如今主要在服務(wù)器管
37、理中使用,其中包括單個(gè)組件狀態(tài)的通信。例如管理員可對(duì)各個(gè)組件進(jìn)行查詢,以管理系統(tǒng)的配置或掌握組件的功能狀態(tài),如電源和系統(tǒng)風(fēng)扇。I2C總線的硬件結(jié)構(gòu):I2C串行總線一般有兩根信號(hào)線,一根是雙向的數(shù)據(jù)線SDA,另一根是時(shí)鐘線SCL。所有接到I2C總線設(shè)備上的串行數(shù)據(jù)SDA都接到總線的SDA上,各設(shè)備的時(shí)鐘線SCL接到總線的SCL上。為了避免總線信號(hào)的混亂,要求各設(shè)備連接到總線的輸出端時(shí)必須是開(kāi)漏輸出或集電極開(kāi)路輸出。設(shè)備上的串行數(shù)據(jù)線SDA接口電路應(yīng)該是雙向的,輸出電路用于向總線上發(fā)送數(shù)據(jù),輸入電路用于接收總線上的數(shù)據(jù)。而串行時(shí)鐘線也應(yīng)是雙向的,作為控制總線數(shù)據(jù)傳送的主機(jī)。 總線的運(yùn)行(數(shù)據(jù)傳輸)
38、由主機(jī)控制。所謂主機(jī)是指啟動(dòng)數(shù)據(jù)的傳送(發(fā)出啟動(dòng)信號(hào))、發(fā)出時(shí)鐘信號(hào)以及傳送結(jié)束時(shí)發(fā)出停止信號(hào)的設(shè)備,通常主機(jī)都是微處理器。被主機(jī)尋訪的設(shè)備稱(chēng)為從機(jī)。為了進(jìn)行通訊,每個(gè)接到I2C總線的設(shè)備都有一個(gè)唯一的地址,以便于主機(jī)尋訪。主機(jī)和從機(jī)的數(shù)據(jù)傳送,可以由主機(jī)發(fā)送數(shù)據(jù)到從機(jī),也可以由從機(jī)發(fā)到主機(jī)。凡是發(fā)送數(shù)據(jù)到總線的設(shè)備稱(chēng)為發(fā)送器,從總線上接收數(shù)據(jù)的設(shè)備被稱(chēng)為接受器。總線的構(gòu)成及信號(hào)類(lèi)型:I2C總線是由數(shù)據(jù)線SDA和時(shí)鐘SCL構(gòu)成的串行總線,可發(fā)送和接收數(shù)據(jù)。在CPU與被控IC之間、IC與IC之間進(jìn)行雙向傳送,最高傳送速率100kbps。各種被控制電路均并聯(lián)在這條總線上,但就像電話機(jī)一樣只有撥通各
39、自的號(hào)碼才能工作,所以每個(gè)電路和模塊都有唯一的地址,在信息的傳輸過(guò)程中,I2C總線上并接的每一模塊電路既是主控器(或被控器),又是發(fā)送器(或接收器),這取決于它所要完成的功能。I2C總線在傳送數(shù)據(jù)過(guò)程中共有三種類(lèi)型信號(hào), 它們分別是:開(kāi)始信號(hào)、結(jié)束信號(hào)和應(yīng)答信號(hào)。開(kāi)始信號(hào):SCL為高電平時(shí),SDA由高電平向低電平跳變,開(kāi)始傳送數(shù)據(jù)。結(jié)束信號(hào):SCL為高電平時(shí),SDA由低電平向高電平跳變,結(jié)束傳送數(shù)據(jù)。 應(yīng)答信號(hào):接收數(shù)據(jù)的IC在接收到8bit數(shù)據(jù)后,向發(fā)送數(shù)據(jù)的IC發(fā)出特定的低電平脈沖,表示已收到數(shù)據(jù)。CPU向受控單元發(fā)出一個(gè)信號(hào)后,等待受控單元發(fā)出一個(gè)應(yīng)答信號(hào),CPU接收到應(yīng)答信號(hào)后,根據(jù)實(shí)
40、際情況作出是否繼續(xù)傳遞信號(hào)的判斷。若未收到應(yīng)答信號(hào),由判斷為受控單元出現(xiàn)故障。如圖2.4所示SDASCL開(kāi)始結(jié)束圖2.4 開(kāi)始結(jié)束信號(hào)圖目前有很多半導(dǎo)體集成電路上都集成了I2C接口。帶有I2C接口的單片機(jī)有:CYGNAL的 C8051F0XX系列,PHILIPSP87LPC7XX系列,MICROCHIP的PIC16C6XX系列等。很多外圍器件如存儲(chǔ)器、監(jiān)控芯片等也提供I2C接口。總線基本操作:I2C規(guī)程運(yùn)用主/從雙向通訊。器件發(fā)送數(shù)據(jù)到總線上,則定義為發(fā)送器,器件接收數(shù)據(jù)則定義為接收器。主器件和從器件都可以工作于接收和發(fā)送狀態(tài)。 總線必須由主器件(通常為微控制器)控制,主器件產(chǎn)生串行時(shí)鐘(SC
41、L)控制總線的傳輸方向,并產(chǎn)生起始和停止條件。SDA線上的數(shù)據(jù)狀態(tài)僅在SCL為低電平的期間才能改變,SCL為高電平的期間,SDA狀態(tài)的改變被用來(lái)表示起始和停止條件。1) 控制字節(jié):在起始條件之后,必須是器件的控制字節(jié),其中高四位為器件類(lèi)型識(shí)別符(不同的芯片類(lèi)型有不同的定義,EEPROM一般應(yīng)為1010),接著三位為片選,最后一位為讀寫(xiě)位,當(dāng)為1時(shí)為讀操作,為0時(shí)為寫(xiě)操作。2)寫(xiě)操作:寫(xiě)操作分為字節(jié)寫(xiě)和頁(yè)面寫(xiě)兩種操作,對(duì)于頁(yè)面寫(xiě)根據(jù)芯片的一次裝載的字節(jié)不同有所不同。3) 讀操作:讀操作有三種基本操作:當(dāng)前地址讀、隨機(jī)讀和順序讀。圖4給出的是順序讀的時(shí)序圖。應(yīng)當(dāng)注意的是:最后一個(gè)讀操作的第9個(gè)時(shí)鐘
42、周期不是“不關(guān)心”。為了結(jié)束讀操作,主機(jī)必須在第9個(gè)周期時(shí)發(fā)出停止條件或者在第9個(gè)時(shí)鐘周期內(nèi)保持SDA為高電平、然后發(fā)出停止條件。2.3.5 矩陣鍵盤(pán)介紹圖2.5 矩陣鍵盤(pán)在鍵盤(pán)中按鍵數(shù)量較多時(shí),為了減少I(mǎi)/O口的占用,通常將按鍵排列成矩陣形式,如圖2.5所示。在矩陣式鍵盤(pán)中,每條水平線和垂直線在交叉處不直接連通,而是通過(guò)一個(gè)按鍵加以連接。這樣,一個(gè)端口(如P1口)就可以構(gòu)成4*4=16個(gè)按鍵,比之直接將端口線用于鍵盤(pán)多出了一倍,而且線數(shù)越多,區(qū)別越明顯,比如再多加一條線就可以構(gòu)成20鍵的鍵盤(pán),而直接用端口線則只能多出一鍵(9鍵)。由此可見(jiàn),在需要的鍵數(shù)比較多時(shí),采用矩陣法來(lái)做鍵盤(pán)是合理的。矩
43、陣式結(jié)構(gòu)的鍵盤(pán)顯然比直接法要復(fù)雜一些,識(shí)別也要復(fù)雜一些,上圖中,列線通過(guò)電阻接正電源,并將行線所接的單片機(jī)的I/O口作為輸出端,而列線所接的I/O口則作為輸入。這樣,當(dāng)按鍵沒(méi)有按下時(shí),所有的輸入端都是高電平,代表無(wú)鍵按下。行線輸出是低電平,一旦有鍵按下,則輸入線就會(huì)被拉低,這樣,通過(guò)讀入輸入線的狀態(tài)就可得知是否有鍵按下了。 3 設(shè)計(jì)3.1 硬件設(shè)計(jì)3.1.1 單片機(jī)的晶振、復(fù)位電路圖3.1 晶振、復(fù)位電路單片機(jī)復(fù)位是使CPU和系統(tǒng)中的其他功能部件都處在一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)開(kāi)始工作,無(wú)論是在單片機(jī)剛開(kāi)始接上電源時(shí),還是斷電后或者發(fā)生故障后都要復(fù)位。復(fù)位電路具有上電自動(dòng)復(fù)位和手動(dòng)復(fù)位的
44、雙重功能。單片機(jī)的RST引腳是復(fù)位信號(hào)的輸入端,復(fù)位信號(hào)是高電平的時(shí)候才有效,其有效時(shí)間應(yīng)持續(xù)24個(gè)震蕩脈沖周期,即2個(gè)機(jī)器周期以上;通常為了保證應(yīng)用系統(tǒng)能夠準(zhǔn)確地復(fù)位,復(fù)位電路應(yīng)使引腳RST腳保持10ms以上的高電平狀態(tài)。只要RST保持高電平,單片機(jī)就會(huì)自動(dòng)循環(huán)復(fù)位。當(dāng)RST引腳從高電平狀態(tài)轉(zhuǎn)為低電平狀態(tài)時(shí),單片機(jī)退出復(fù)位狀態(tài),從程序存儲(chǔ)器的0000H地址開(kāi)始執(zhí)行用戶程序。電容C3和電阻R5組成上電復(fù)位電路。上電瞬間RST引腳獲得高電平,隨著電容C11的充電,RST引腳的高電平逐漸下降。只要高電平保持足夠的時(shí)間,單片機(jī)就能完成復(fù)位。手動(dòng)復(fù)位的原理與此類(lèi)似。AT89C51引腳XTAL1和XTA
45、L2與晶體振蕩器及電容C2、C1按圖3.1所示方式連接。晶振、電容C2C3及片內(nèi)與非門(mén)(作為反饋、放大元件)構(gòu)成了電容三點(diǎn)式振蕩器,振蕩信號(hào)頻率與晶振頻率及電容C1、C2的容量有關(guān),但主要由晶振頻率決定。根據(jù)實(shí)際情況,本設(shè)計(jì)中采用12MHZ做系統(tǒng)的外部晶振。電容取值為22pF。3.1.2 鍵盤(pán)輸入電路鍵盤(pán)是單片機(jī)十分重要的輸入設(shè)備,是實(shí)現(xiàn)人機(jī)對(duì)話的紐帶。由于本設(shè)計(jì)所用到的按鍵數(shù)量較多而不適合用獨(dú)立按鍵式鍵盤(pán)。采用的是矩陣式按鍵鍵盤(pán),一個(gè)按鍵實(shí)際上就是一個(gè)開(kāi)關(guān)元件,即鍵盤(pán)是一組規(guī)則排列的開(kāi)關(guān)。與AT89C51的P1口相連,提供按鍵輸入,它由行線和列線組成,也稱(chēng)行列式鍵盤(pán),按鍵位于行列的交叉點(diǎn)上,
46、密碼鎖的密碼由鍵盤(pán)輸入完成,與獨(dú)立式按鍵鍵盤(pán)相比,要節(jié)省很多I/O口。本設(shè)計(jì)中使用的這個(gè)4*4矩陣式鍵盤(pán),鍵盤(pán)的每個(gè)按鍵功能在程序設(shè)計(jì)中設(shè)置,本鍵盤(pán)即能完成密碼的輸入,還能作特別功能鍵使用,修改密碼鍵等。鍵盤(pán)功能圖如圖3.2所示:圖3.2 鍵盤(pán)輸入模塊表3-1 按鍵功能按 鍵鍵 名功 能 說(shuō) 明09鍵數(shù)字鍵輸 入 密 碼開(kāi)鎖鍵開(kāi)鎖鍵開(kāi)鎖上鎖鍵上鎖鍵上鎖輸入新密碼鍵輸入鍵輸入密碼保存新密碼鍵保存鍵保存密碼重新輸入鍵輸入鍵重新輸入密碼3.1.3 顯示電路 圖3.3 顯示電路顯示電路如圖3.3所示。本設(shè)計(jì)的顯示部分由液晶顯示器LCD1602完成。其4個(gè)位選信號(hào)與P2.0-P2.3相連,當(dāng)其中某位為低
47、電平時(shí)表示選中該位;8段段選信號(hào)與P0口相連,當(dāng)其中某段為高電平時(shí)導(dǎo)通該段。由于AT89C51的P0口的驅(qū)動(dòng)能力較弱,不足以驅(qū)動(dòng)數(shù)碼管點(diǎn)亮,故在此又引入上拉電阻RP1以驅(qū)動(dòng)數(shù)碼管。關(guān)于上拉電阻有如下介紹:1、 當(dāng)TTL電路驅(qū)動(dòng)CMOS電路時(shí),如果電路輸出的高電平低于CMOS電路的最低高電平(一般為3.5V), 這時(shí)就需要在TTL的輸出端接上拉電阻,以提高輸出高電平的值。 2、OC門(mén)電路必須加上拉電阻,以提高輸出的高電平值。3、為加大輸出引腳的驅(qū)動(dòng)能力,有的單片機(jī)管腳上也常使用上拉電阻。4、在CMOS芯片上,為了防止靜電造成損壞,不用的管腳不能懸空,一般接上拉電阻產(chǎn)生降低輸入阻抗, 提供泄荷通路
48、。5、芯片的管腳加上拉電阻來(lái)提高輸出電平,從而提高芯片輸入信號(hào)的噪聲容限增強(qiáng)抗干擾能力。6、提高總線的抗電磁干擾能力。管腳懸空就比較容易接受外界的電磁干擾 。7、長(zhǎng)線傳輸中電阻不匹配容易引起反射波干擾,加上下拉電阻是電阻匹配,有效的抑制反射波干擾。3.1.4 存儲(chǔ)電路AT24C02是一個(gè)2K位串行CMOS E2PROM, 內(nèi)部含有256個(gè)8位字節(jié),CATALYST公司的先進(jìn)CMOS技術(shù)實(shí)質(zhì)上減少了器件的功耗。AT24C02有一個(gè)16字節(jié)頁(yè)寫(xiě)緩沖器。該器件通過(guò)IC總線接口進(jìn)行操作,有一個(gè)專(zhuān)門(mén)的寫(xiě)保護(hù)功能。采用兩線串行的總線和單片機(jī)通訊,電壓最低可以到2.5V,額定電流為1mA,靜態(tài)電流10UA(
49、5.5V),芯片內(nèi)的資料可以在斷電的情況下保存40年以上,而且采用8腳的DIP封裝,使用方便。 如圖3.4 存儲(chǔ)電路。圖3.4 存儲(chǔ)電路3.1.5 報(bào)警電路當(dāng)有鍵按一下,發(fā)聲一次,密碼正確時(shí),開(kāi)鎖,當(dāng)密碼輸入三次的數(shù)值與所設(shè)定的參數(shù)值不同時(shí),單片機(jī)AT89C51便通過(guò)P2.7口控制三極管來(lái)驅(qū)動(dòng)揚(yáng)聲器報(bào)警,當(dāng)輸出低電平時(shí)三極管截止,當(dāng)輸出高電平時(shí)三極管導(dǎo)通揚(yáng)聲器報(bào)警。如圖3.5報(bào)警時(shí)顯示屏上顯示。圖3.5 報(bào)警顯示3.1.6 開(kāi)鎖電路開(kāi)鎖電路的功能是當(dāng)輸入正確的密碼后密碼鎖將開(kāi)鎖。 圖3.6 開(kāi)鎖電路如圖3.6所示。當(dāng)用戶輸入的密碼正確時(shí),單片機(jī)便輸出開(kāi)門(mén)信號(hào),送到開(kāi)鎖驅(qū)動(dòng)電路,然后驅(qū)動(dòng)電磁鎖,
50、達(dá)到開(kāi)門(mén)的目的。在設(shè)計(jì)中,暫時(shí)用發(fā)光二極管代替電磁鎖,發(fā)光管發(fā)出黃色光,表示開(kāi)鎖;不發(fā)光時(shí),表示沒(méi)有開(kāi)鎖。3.1.7 生成電路圖單片機(jī)電子密碼鎖的基本原理是:從矩陣鍵盤(pán)輸入一組四位密碼,單片機(jī)把該密碼和設(shè)置密碼進(jìn)行比較,若輸入的密碼正確,則控制電磁鎖動(dòng)作,將電磁鎖抽回,從而將鎖打開(kāi);若輸入的密碼不正確,則重新輸入,并記錄錯(cuò)誤次數(shù),如果3次錯(cuò)誤,則被強(qiáng)制鎖定并報(bào)警。在選擇好各部分元件后,使用Proteus進(jìn)行仿真,生成整體仿真圖3.7如下。圖3.7 整體仿真圖3.1.8 元器件采購(gòu)元器件清單表3-2元器件清單原件名稱(chēng)備注單片機(jī)AT89C51電阻R1,R210K,100K各一只電解電容C31uF無(wú)
51、極電容C1,C222pFLCD液晶屏一個(gè)5V蜂鳴器一個(gè)晶振12MHZ上拉電阻一個(gè)4X4鍵盤(pán)一個(gè)LED D1黃一個(gè)萬(wàn)能電路板1塊3.2 軟件設(shè)計(jì)一個(gè)應(yīng)用系統(tǒng)要完成各項(xiàng)功能,在有較完善的硬件作保證的情況下,同時(shí)還必須得到相應(yīng)設(shè)計(jì)合理的軟件的支持,許多由硬件完成的工作,用軟件編程有時(shí)會(huì)變得很簡(jiǎn)單。因此充分利用其內(nèi)部豐富的硬件資源和軟件資源,采用與C51系列單片機(jī)相對(duì)應(yīng)的51匯編語(yǔ)言和結(jié)構(gòu)化程序設(shè)計(jì)方法進(jìn)行軟件編程。程序設(shè)計(jì)語(yǔ)言有三種:機(jī)器語(yǔ)言、匯編語(yǔ)言和高級(jí)語(yǔ)言。機(jī)器語(yǔ)言是機(jī)器唯一能“懂”的語(yǔ)言,用匯編語(yǔ)言或高級(jí)語(yǔ)言編寫(xiě)的程序(稱(chēng)為源程序)最終都必須翻譯成機(jī)器語(yǔ)言的程序(成為目標(biāo)程序),計(jì)算機(jī)才能“看懂”,然后逐一執(zhí)行。高級(jí)語(yǔ)言是面向問(wèn)題和計(jì)算過(guò)程的語(yǔ)言,它可通過(guò)于各種不同的計(jì)算機(jī),用戶編程時(shí)不必仔細(xì)了解所用的計(jì)算機(jī)的具體性能與指令系統(tǒng),而且語(yǔ)句的功能強(qiáng),常常一個(gè)語(yǔ)句已相當(dāng)于很多條計(jì)算機(jī)指令,于是用高級(jí)語(yǔ)言編制程序的速度比較快,也便于學(xué)習(xí)和交流,但是本系統(tǒng)卻選用了匯編語(yǔ)言。原因在于,本系統(tǒng)是編制程序工作量不大、規(guī)模較小的單片機(jī)微控制系統(tǒng),使用匯編語(yǔ)言可以不用像高級(jí)語(yǔ)言那樣占用較多的存儲(chǔ)空間,適合于存儲(chǔ)容量較小的系統(tǒng)。本系統(tǒng)軟件設(shè)計(jì)由主程序、鍵盤(pán)掃描程序、密碼設(shè)置修改程序、開(kāi)鎖程序、LCD顯示程序、密碼設(shè)置程序、延時(shí)程序等組成。3.2.1 主程序(
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)個(gè)人述職報(bào)告
- 關(guān)于房頂做防水的合同書(shū)
- 中班新學(xué)期工作計(jì)劃
- 死因培訓(xùn)課件教學(xué)課件
- 探公望隱居地-思創(chuàng)業(yè)中國(guó)夢(mèng)
- 鱷魚(yú)掉牙課件教學(xué)課件
- 自建房安全事故免責(zé)協(xié)議書(shū)(2篇)
- 南京航空航天大學(xué)《材料工藝學(xué)實(shí)踐》2021-2022學(xué)年第一學(xué)期期末試卷
- 稻香樓賓館臨湖俱樂(lè)部項(xiàng)目安裝工程施工組織設(shè)計(jì)
- 法國(guó)號(hào)說(shuō)課稿
- 云南小學(xué)地方課程二年級(jí)上冊(cè)動(dòng)物王國(guó)教學(xué)設(shè)計(jì)
- 管轄權(quán)異議申請(qǐng)書(shū)電子版下載
- 耳鼻喉科手術(shù)分級(jí)目錄2022
- 課后習(xí)題答案-電機(jī)與拖動(dòng)-劉錦波
- GB/T 11836-2023混凝土和鋼筋混凝土排水管
- 第三章 繼承優(yōu)良傳統(tǒng) 弘揚(yáng)中國(guó)精神
- 中國(guó)陰道炎診治課件
- 微生物生物轉(zhuǎn)化
- 冠心病的護(hù)理心得體會(huì)(11篇)
- 高中數(shù)學(xué) 人教A版 選修一 空間向量基本定理 課件
評(píng)論
0/150
提交評(píng)論