密碼鎖控制器_第1頁
密碼鎖控制器_第2頁
密碼鎖控制器_第3頁
密碼鎖控制器_第4頁
密碼鎖控制器_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、中文摘要、關(guān)鍵詞1英文摘要、關(guān)鍵詞2引言3第1章總體方案設(shè)計(jì)51.1總體框圖設(shè)計(jì)51.2顯示控制方案 51.3鍵盤控制方案61.4軟件總體設(shè)計(jì)方案 71.5電路原理圖7第2章 硬件模塊設(shè)計(jì) 82.1 AT89C51單片機(jī)的簡介 82.2 AT89C51單片機(jī)的引腳 92.3 AT89C51單片機(jī)復(fù)位方式 102.4 M24C01 的功能112.5 74LS244 的功能122.6 74LS273 的功能122.7鍵盤接口工作原理132.7.1 按鍵開關(guān)的去除抖動功能 132.7.2 獨(dú)立式鍵盤的接口電路 132.8七段LED顯示工作原理 14第3章軟件設(shè)計(jì)163.1主程序模塊163.2鍵盤掃描

2、子程序模塊163.3數(shù)字處理程序模塊 173.4開鎖程序183.5密碼設(shè)置程序193.6總的匯編程序20第4章系統(tǒng)調(diào)試264.1在偉福中的調(diào)試264.2在Keil中的調(diào)試27結(jié)論29致謝30參考文獻(xiàn)31密碼鎖控制器摘要:隨著社會的發(fā)展,單片機(jī)市場已經(jīng)形成一個規(guī)格齊全、品種繁多的大家族,用戶 有非常大的選擇余地。單片機(jī)的應(yīng)用十分廣泛,在工業(yè)控制領(lǐng)域、家電產(chǎn)品、智能化儀 器儀表、計(jì)算機(jī)外部設(shè)備,特別是機(jī)電一體化產(chǎn)品中,都有非常重要的用途。本設(shè)計(jì)以單片機(jī)為核心部件的密碼鎖控制器, 擴(kuò)展74LS273作為LED顯示器字段口, 位選由P1.0-P1.5控制,LED七段數(shù)碼管作為密碼顯示用,按下密碼設(shè)置鍵

3、開始設(shè)置密 碼,密碼通過09十個數(shù)字鍵設(shè)定和修改,用開鎖確認(rèn)鍵打開密碼鎖,在密碼輸入錯 誤時系統(tǒng)會自動報(bào)警,可按復(fù)位鍵重新輸入密碼。設(shè)計(jì)包括系統(tǒng)硬件的設(shè)計(jì)和軟件的設(shè) 計(jì),硬件設(shè)計(jì)主要是對CPU勺選用,本設(shè)計(jì)選用的是型號為 AT89C51的單片機(jī),其次是 各種擴(kuò)展模塊的選用,如 74LS273 74LS244等擴(kuò)展模塊,還有各種電子元件的選用。 軟件設(shè)計(jì)主要是對主程序、鍵盤掃描子程序、數(shù)字處理程序、開鎖程序、密碼設(shè)置程序 等程序的設(shè)計(jì)與編寫。本設(shè)計(jì)中的密碼鎖具有系統(tǒng)簡單,實(shí)用性強(qiáng),成本低,使用維護(hù)方便,軟件功能強(qiáng), 運(yùn)行穩(wěn)定可靠等優(yōu)點(diǎn)。關(guān)鍵詞:單片機(jī)密碼鎖報(bào)警1Passport Lock Con

4、trollerAbstract: With the development of society, the microcontroller market has formed a variety of specificati on s, family, users are very big choices. The applicatio n of SCM in in dustrial control is very extensive, electrical home appliances products field, intelligent instrument, computer, ex

5、ternal devices, especially the mechtronie product, have very important applicati ons.Design passport lock controller Based on SCM components and expand 74LS273 as LED display field mouth. The bit select is con trolled by the P1.0-P1.5 so the seve n digital tubes are used as the password. Whe n press

6、 ing the key to start to set password. The password is set and modified by 10 nu mber keys from 0 to 9. Use the uni ock con firmati on key to ope n the lock. In a password mistake, the system will automatically alarm, can press the reset butt on to en ter a password .The desig n is divided into both

7、 hardware and software desig ns. With the hardware design consisting of the selection of CPU.This design is model for AT89C51 single-chip, followed by various extension module selection, such as 74LS273 ,74LS244, such extension module, and the selection of electronic components.A variety of expa nsi

8、on modules and electro nic comp onents selecti ons' Software desig n con sists of the desigh and compilation of a main program, the keyboard scan subroutine. digital process ing procedures, uni ock program, the password sett ing procedures etc.The passport lock in this design have such advantage

9、s as simple system practical utility, low cost, easy maintenan ce. Mighty software fun cti ons stable and reliable running and so on.keywords: SCM; passport lock; alarm2引言計(jì)算機(jī)系統(tǒng)已明顯地朝巨型化、單片化、網(wǎng)絡(luò)化三個方向發(fā)展。巨型化發(fā)展的目的在于不斷提高計(jì)算機(jī)的運(yùn)算速度和處理能力,以解決復(fù)雜系統(tǒng)計(jì)算和高速數(shù)據(jù)處理,比如系 統(tǒng)仿真和模擬、實(shí)時運(yùn)算和處理。單片化是把計(jì)算機(jī)系統(tǒng)盡可能集成在一塊半導(dǎo)體芯片上, 其目的在于計(jì)算機(jī)微型化

10、和提高系統(tǒng)的可靠性,這種單片計(jì)算簡稱單片機(jī)。單片機(jī)的內(nèi)部 硬件結(jié)構(gòu)和指令系統(tǒng)主要是針對自動控制應(yīng)用而設(shè)計(jì)的所以單片機(jī)又稱微控制器MCU(Micro Controller Unit )。用它可以很容易地將計(jì)算機(jī)嵌入到各種儀器和現(xiàn)場控制設(shè)備 中,因此單片機(jī)又叫做嵌入式微控制器(Embedded MCU單片機(jī)自20世紀(jì)70年代問世 以來,以其鮮明的特點(diǎn)得到迅猛發(fā)展,已廣泛應(yīng)用于家用電器、智能玩具、智能儀器儀表、 工業(yè)控制、航空航天等領(lǐng)域,經(jīng)過 30多年的發(fā)展,性能不斷提高,品種不斷豐富,已經(jīng) 形成自動控制的一支中堅(jiān)力量。據(jù)統(tǒng)計(jì),我國的單片機(jī)年容量已達(dá)13億片,且每年以大約16%的速度增長,但相對于國

11、際市場我國的占有率還不到1%。這說明單片機(jī)應(yīng)用在我國有著廣闊的前景。對于從事自動控制的技術(shù)人員來講,掌握單片機(jī)原理及其應(yīng)用已經(jīng) 成為必不可少的學(xué)習(xí)任務(wù)。單片機(jī)經(jīng)過30多年的發(fā)展,已經(jīng)形成一個規(guī)格齊全、品種繁多的大家族,用戶有非常大的選擇余地。下面為讀者簡單介紹目前市面上常見的主流單片機(jī)。單片機(jī)的應(yīng)用十分廣泛,在工業(yè)控制領(lǐng)域、家電產(chǎn)品、智能化儀器儀表、計(jì)算機(jī)外部 設(shè)備,特別是機(jī)電一體化產(chǎn)品中,都有重要的用途。其主要的用途可以分為以下方面。1. 顯示:通過單片機(jī)控制發(fā)光二極管或是液晶,顯示特定的圖形和字符。2. 機(jī)電控制:用單片機(jī)控制機(jī)電產(chǎn)品做定時或定向的動作。3. 檢測:通過單片機(jī)和傳感器的聯(lián)合

12、使用,用來檢測產(chǎn)品或者工況的意外發(fā)生。4. 通信:通過RS-232串行通信或者是USB通信,傳輸數(shù)據(jù)和信號。5. 科學(xué)計(jì)算:用來實(shí)現(xiàn)簡單的算法。那么單片機(jī)是不是解決上述應(yīng)用的唯一選擇呢?當(dāng)然不是!目前,在自動控制中,一 般有三種選擇,分別是嵌入式微機(jī)、DSF和單片機(jī)。單片機(jī)最明顯的優(yōu)點(diǎn)是價格便宜,從幾元人民幣到幾十元人民幣。這是因?yàn)檫@類芯片 的生產(chǎn)量很大,技術(shù)也很成熟。其次,單片機(jī)的體積也遠(yuǎn)小于其他兩種方案。單片機(jī)本身一般用 40引腳封裝,當(dāng)然 功能多一些的單片機(jī)也有引腳比較多的,如 68引腳,功能少的只有10多個或20多個引 腳,有的甚至只有8只引腳。當(dāng)然,單片機(jī)無論在速度還是容量方面都小于

13、其他兩種方案,但是在實(shí)際工作中并不 是任何需要計(jì)算機(jī)的場合都要求計(jì)算機(jī)有很高的性能。例如,控制電冰箱的控制器就不需 要使用嵌入式系統(tǒng),用一片 51就可以輕松實(shí)現(xiàn)。所以應(yīng)用的關(guān)鍵是看能否夠用,是否有 很好的性能價格比。51系列的單片機(jī)已經(jīng)面世十多年,依然沒有被淘汰,還在不斷發(fā)展中, 這就說明它有著廣闊的應(yīng)用前景。本次設(shè)計(jì)所設(shè)計(jì)的是密碼鎖控制器就是以單片機(jī)為核心設(shè)計(jì)的,本設(shè)計(jì)采用的是ATMEL公司的AT89C51芯片,此芯片根據(jù)了充分的靜止 CMOS空制器與三級節(jié)目記憶鎖, 共有32條I/O線,2定時計(jì)數(shù)器,6個中斷來源,4 K閃存,128個字節(jié)在芯片RAM隨著社會的發(fā)展,密碼鎖制器也在不斷的發(fā)展

14、,最早的有 4位密碼的密碼鎖控制器, 發(fā)展到6位,甚至可以設(shè)計(jì)出具有語音功能(聲控)、紅外線感應(yīng)功能等先進(jìn)的密碼鎖控 制器。在這里,本次設(shè)計(jì)的是一個可以設(shè)置 6位密碼的密碼鎖控制器。4第1章 總體方案設(shè)計(jì)1.1總體框圖設(shè)計(jì)根據(jù)設(shè)計(jì)要求,選用AT89C51單片機(jī),加上相應(yīng)的按鍵、晶振、復(fù)位、顯示電路,并 進(jìn)行各種軟件的設(shè)計(jì)。密碼鎖控制器的總體設(shè)計(jì)框圖如圖1.1所示。圖1.1 總體設(shè)計(jì)框圖1.2顯示控制方案在構(gòu)成多位LED顯示時,點(diǎn)亮數(shù)碼管的方式有靜態(tài)顯示和動態(tài)顯示兩種。靜態(tài)顯示方式:LED的靜態(tài)顯示是指當(dāng)數(shù)碼管顯示某一字符時,相應(yīng)段的發(fā)光二極管 處于恒定地導(dǎo)通或截止?fàn)顟B(tài),直到顯示另一字符為止。靜

15、態(tài)顯示方式各位可獨(dú)立顯示。由于各位分別由一個8位I/O接口控制段選碼,故在同一時間里,每一位顯示的字符可以各不相同。這種顯示方式接口,較小的電流即可獲得 較高的亮度,且占用CPU時間少,編程簡單,便于監(jiān)測和控制。動態(tài)顯示方式:LED動態(tài)顯示就是利用單片機(jī)依次輸出每一位數(shù)碼管的段選碼和對應(yīng) 于該位數(shù)碼管的位選控制信號,一位一位輪流點(diǎn)亮各七段數(shù)碼管。對每位數(shù)碼管來說,每 隔一段時間點(diǎn)亮一次,如此循環(huán)。利用人眼的“視覺暫留”效應(yīng),只要每位顯示間隔足夠 短就可以給人一同時顯示的感覺。在動態(tài)顯示方式中,同一時刻,只有一位LED數(shù)碼管在顯示,其他各位是關(guān)閉的。在段選碼和位選碼每送出一次后,應(yīng)保持1ms左右

16、,這個時間應(yīng)根據(jù)實(shí)際情況而定。不能太小,因?yàn)榘l(fā)光二極管從導(dǎo)通到發(fā)光有一定的延時,導(dǎo)通時間 太小,發(fā)光太弱人眼無法看清。但也不能太大,因?yàn)楫吘挂芟拗朴谂R界閃爍頻率,而且 此時間越長,占用CPU寸間也越多。在這里我們選用動態(tài)顯示方案,74LS273作為LED顯示器字段口,位選由AT89C5忡P1.0P1.5控制74LS2-3圖1.2 動態(tài)顯示電路圖1.3鍵盤控制方案鍵盤分為獨(dú)立式鍵盤和行列式鍵盤,獨(dú)立式鍵盤接口電路配置靈活,硬件結(jié)構(gòu)簡單, 工作可靠但每個按鍵必須占用一跟I/O接口線,I/O接口線浪費(fèi)較大,在單片機(jī)應(yīng)用系統(tǒng) 中,有時只需要幾個簡單的按鍵向系統(tǒng)輸入信息,可將按鍵直接在一根I/O接口線

17、上,故只在按鍵數(shù)量不多時采用。而行列式鍵盤每條行線與列線在交叉處不直接相通,而是通過 一個按鍵加以連接,當(dāng)按鍵較多時可采用行列式鍵盤以節(jié)省I/O接口。本設(shè)計(jì)選用獨(dú)立式鍵盤。74LS244mlAi1Y21A3ITS1A3m1M2¥13A12V22A22YS3 A32742M1G25iili1HiIJ1i1ikJ1i1d»p&iP0.1POJPMPJJRDEmaouloa圖1.3獨(dú)立式鍵盤電路圖1.4軟件總體設(shè)計(jì)方案對于軟件我們的設(shè)計(jì)思路是:1. 要有鍵盤掃描子程序,按下的功能鍵和數(shù)字鍵的掃描后,送數(shù)字鍵處理程序、開鎖 程序、密碼設(shè)定程序進(jìn)行下一步動作。并對功能鍵和復(fù)位

18、鍵設(shè)置有效的標(biāo)志以便于應(yīng)用。2. 要有數(shù)字處理程序,以下是數(shù)字處理程序,將6位密碼放入40卄45H單元,并調(diào)用顯示子程序。3. 要有開鎖程序,開鎖程序首先判斷密碼是否為6位,如不是,重新掃描按鍵。如是6位,將密碼進(jìn)行逐位比較,密碼正確則開鎖,密碼錯誤報(bào)警并復(fù)位,重新設(shè)置密碼。4. 要有密碼設(shè)置程序,將6位密碼寫入M24C01中后鎖死密碼鎖并調(diào)用顯示子程序顯 示密碼。5. 要有顯示子程序,當(dāng)鍵入一個數(shù)值或符號時顯示程序要把這個鍵入的數(shù)字或字符顯 示出來。1.5電路原理圖AT89C51P3.1?3.0Ij6器KIagTP2.37#圖1.4電路原理總圖#第2章硬件模塊設(shè)計(jì)2.1 AT89C51單片機(jī)

19、的簡介AT89C51是MCS-51系列單片機(jī)的典型產(chǎn)品,我們就這一代表性的機(jī)型進(jìn)行系統(tǒng)的講解。AT89C51單片機(jī)包含中央處理器、程序存儲器(ROM)數(shù)據(jù)存儲器(RAM)定時/計(jì)數(shù)器、并 行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線,現(xiàn) 在我們分別加以說明:TINTP咔TXDRXD圖2.1單片機(jī)內(nèi)部結(jié)構(gòu)示意圖1. 中央處理器中央處理器(CPU)是整個單片機(jī)的核心部件,是 8位數(shù)據(jù)寬度的處理器,能處理 8位 二進(jìn)制數(shù)據(jù)或代碼,CPU負(fù)責(zé)控制、指揮和調(diào)度整個單元系統(tǒng)協(xié)調(diào)的工作,完成運(yùn)算和控 制輸入輸出功能等操作。2. 數(shù)據(jù)存儲器(RAM)AT89C51內(nèi)部有128個

20、8位用戶數(shù)據(jù)存儲單元和128個專用寄存器單元,它們是統(tǒng)一 編址的,專用寄存器只能用于存放控制指令數(shù)據(jù),用戶只能訪問,而不能用于存放用戶數(shù) 據(jù),所以,用戶能使用的RAMR有128個,可存放讀寫的數(shù)據(jù),運(yùn)算的中間結(jié)果或用戶定 義的字型表。3. 程序存儲器(ROM)AT89C51共有4KB掩膜ROM最大可擴(kuò)展64K字節(jié),用于存放用戶程序,原始數(shù)據(jù)或 表格。4. 定時/計(jì)數(shù)器:AT89C51有兩個16位的可編程定時/計(jì)數(shù)器,以實(shí)現(xiàn)定時或計(jì)數(shù)產(chǎn)生中斷用于控制程 序轉(zhuǎn)向。5. 并行輸入輸出(I/O) 口:AT89C5供有4組8位I/O 口(PO、P1、P2或P3),用于對外部數(shù)據(jù)的傳輸。6. 中斷系統(tǒng)AT

21、89C51具備較完善的中斷功能,有兩個外中斷、兩個定時/計(jì)數(shù)器中斷和一個串行中 斷,可滿足不同的控制要求,并具有 2級的優(yōu)先級別選擇。2.2 AT89C51單片機(jī)的引腳AT89C51單片機(jī)內(nèi)部總線是單總線結(jié)構(gòu),即數(shù)據(jù)總線和地址總線是公用的.AT89C51有 40條引腳,與其他51系列單片機(jī)引腳是兼容的.這40條引腳可分為I/O接口線、電源線、 控制線、外接晶體線4部分.AT89C51單片機(jī)為雙列直插式封裝結(jié)構(gòu),如圖2.2所示. 主要特性:I. 與MCS-51兼容2.4K字節(jié)可編程閃爍存儲器3. 壽命:1000寫/擦循環(huán)4. 數(shù)據(jù)保留時間:10年5. 全靜態(tài)工作:0Hz-24Hz6. 三級程序存

22、儲器鎖定7.128*8 位內(nèi)部 RAM8.32可編程I/O線9.兩個16位定時器/計(jì)數(shù)器10.5個中斷源II. 可編程串行通道12. 低功耗的閑置和掉電模式13. 片內(nèi)振蕩器和時鐘電路XTAL1XTAL2RSTPSEN «LEEAP1 0 P1.1P1 2P1.3P1.4P1.5P1JSP1 7PO.a/AK POJ/Ad P0.2WD2P0-3/AD3PO.4ZAD4PO-S/ADSPO.BWDCPO-7/AD7F2.O/seP2.2/A10P2.3/A11P2./A12P2.5/A13P2.6/A14P2.7/A15P3.Q/RXDP3.irTXD FS.2/INTO P3.3/

23、INT1P3 4ZT0P3 5/T1P3.BJWRP3 7/RDAT8GC51圖22 AT89C51引腳分配圖AT89C51單機(jī)的電源線有以下兩種:(1)VCC: +5V電源線。電源線(2)GND接地線。AT89C51單片機(jī)的外接晶體引腳有以下兩種:(1)XTAL1片內(nèi)振蕩器反相放大器的輸入端和內(nèi)部時鐘工作的輸入端。采用內(nèi)部振蕩 器時,它接外部石英晶體和微調(diào)電容的一個引腳。(2)XTAL2:片內(nèi)振蕩器反相放大器的輸出端,接外部石英晶體和微調(diào)電容的另一端。 采用外部振蕩器時,該引腳懸空。外接晶體引腳??刂凭€AT89C51單片機(jī)的控制線有以下幾種:(1)RST:復(fù)位輸入端,高電平有效。(2)ALE

24、/PROG地址鎖存允許/編程線。(3)PSEN外部程序存儲器的讀選通線。(4)EA/Vpp :片外ROM允許訪問端/編程電源端。2.3 AT89C51單片機(jī)復(fù)位方式單片機(jī)在開機(jī)時或在工作中因干擾而使程序失控,或工作中程序處于某種死循環(huán)狀態(tài),在這種情況下都需要復(fù)位.復(fù)位的作用是使中央處理器CPU以及其他功能部件都恢復(fù) 到一個確定的初始狀態(tài),并從這個狀態(tài)重新開始工作AT89C51單片機(jī)的復(fù)位靠外部電路實(shí)現(xiàn),信號由RESET(RST)|腳輸入,高電平有效,在 振蕩器工作時,只要保持RST引腳高電平兩個機(jī)器周期,單片機(jī)即復(fù)位復(fù)位后,PC程序計(jì) 數(shù)器的內(nèi)容為0000H,片內(nèi)RAM中內(nèi)容不變.復(fù)位電路一般

25、有上電復(fù)位、手動開關(guān)復(fù)位和自 動復(fù)位電路3種,如圖2.3所示.(1)上電復(fù)位電路(2)手動復(fù)位電路(3)自動復(fù)位電路圖2.3單片機(jī)復(fù)位電路由于設(shè)計(jì)所需,我們在這里選用手動式復(fù)位電路。由外部擴(kuò)展M24C01設(shè)定功能鍵控制手動式復(fù)位電路。2.4 M24C01的功能串行EEPRO用M24C01本次設(shè)計(jì)中此芯片用來存放密碼,并控制開鎖確認(rèn)鍵、復(fù)位 鍵、密碼設(shè)置鍵等功能鍵的控制。引腳含義如下:1.E0、E1、E2:芯片的地址輸入端。2.SDA:串行數(shù)據(jù)輸入/輸出端。3.SCL:串行時鐘輸入端。4.WC寫保護(hù)輸入端,當(dāng)該端為低電平時不允許向芯片寫數(shù)據(jù)。8SCLE0152SDAE137WCE2124C01圖

26、2.4M24C01管腳圖2.5 74LS244 的功能74LS244是一種史密特觸發(fā)的8位三態(tài)緩沖器,抗干擾性好。在這里它被用作鍵盤控 制。它的引腳封裝圖如圖2.5所示。74LS244的主要性能如下:1. 三態(tài)輸出驅(qū)動總線。2. 抑制噪聲設(shè)計(jì)。3. 典型邏輯延時為10.5ns (輸出狀態(tài)不改變)/12ns (輸出狀態(tài)改變)。4. 快速使能為12ns.5. 在較低功耗下具有很強(qiáng)的驅(qū)動能力。A0Y0A1Y1A2Y2A3Y30E19圖2.5 74LS244 管腳圖74LS2442.6 74LS273 的功能74LS273為8D鎖存器。當(dāng)它的使能端信號有效且觸發(fā)端信號有效時,輸入D1D8端的數(shù)據(jù)被鎖存

27、到8D觸發(fā)器中并形成輸出Q1Q8 74LS273的引腳封裝如圖2.6所示。3玄衛(wèi)1314 丘 花0 12 3 4 5 D D D D D D01234567QQQQQQQ25B912151 619CLKMR74LS273圖2.6 74LS273 管腳圖74LS273在這里作為LED顯示器字段口2.7鍵盤接口工作原理在單片機(jī)應(yīng)用系統(tǒng)中,常用鍵盤作為輸入設(shè)備,通過它將數(shù)據(jù)、內(nèi)存地址、命令及指 令等輸入到系統(tǒng)中,來實(shí)現(xiàn)簡單的人機(jī)通信。2.7.1按鍵開關(guān)的去除抖動功能目前,MC51單片機(jī)應(yīng)用系統(tǒng)上的按鍵常采用機(jī)械觸點(diǎn)式按鍵,它在斷開、閉合時 輸入電壓波形如圖2.7所示.可以看出機(jī)械觸點(diǎn)在閉合及斷開瞬間

28、均有抖動過程 ,時間長短 與開關(guān)的機(jī)械特性有關(guān),一般為510ms由于抖動,會造成被查詢的開關(guān)狀態(tài)無法準(zhǔn)確讀 出。例如,一次按鍵產(chǎn)生的正確開關(guān)狀態(tài),由于鍵的抖動,CPU多次采集到底電平信號,會被誤認(rèn)為按鍵被多次按下,就會多次進(jìn)行鍵輸入操作,這是不允許的。為了保證CPU寸鍵的一次閉合僅在按鍵穩(wěn)定時作一次鍵輸入處理,必須消除產(chǎn)生的前沿(后沿)抖動影響。圖2.7 按鍵過程2.7.2獨(dú)立式鍵盤的接口電路獨(dú)立式鍵盤的接口電路:在單片機(jī)應(yīng)用系統(tǒng)中,有時只需要幾個簡單的按鍵向系統(tǒng)輸 入信息。這時,可將每個按鍵直接接在一根I/O接口線上,這種連接方式的鍵盤稱為獨(dú)立式鍵盤。如圖2.8所示,每個獨(dú)立按鍵單獨(dú)占有一根

29、I/O接口線,每根I/O接口線的工作 狀態(tài)不會影響到其他I/O接口線。這種按鍵接口電路配置靈活,硬件結(jié)構(gòu)簡單,但每個按 鍵必須占用一根I/O線,I/O接口線浪費(fèi)較大。故只在按鍵數(shù)量不多時采用這種按鍵電路。在此電路中,按鍵輸入都采用低電平有效。上拉電阻保證了按鍵斷開時,I/O接口線有確定的高電平。當(dāng)I/O接口內(nèi)部有上拉電阻時,外電路可以不配置上拉電阻。13° +5VAT89C51K8K7K6K5K4K3常765 4321O1 1 PPPPPPPP14#圖2.8 獨(dú)立式鍵盤電路2.8七段LED顯示工作原理數(shù)碼管結(jié)構(gòu):數(shù)碼管由8個發(fā)光二極管(以下簡稱字段)構(gòu)成,通過不同的組合可用來顯示數(shù)字

30、 0 9、 字符A F及小數(shù)點(diǎn)“ ”數(shù)碼管的外形結(jié)構(gòu)如圖2.9 (1)所示。數(shù)碼管又分為共陰極和 共陽極兩種結(jié)構(gòu),分別如圖2.9 (2)和圖2.9 (3)所示。LED顯示器是由發(fā)光二極管顯示字段的 MCS-51單片機(jī)輸出設(shè)備。單片機(jī)應(yīng)用系統(tǒng)常采 用七段LED數(shù)碼管作為顯示器,這種顯示器具有耗電低、配置靈活、線路簡單、安裝方便、 耐轉(zhuǎn)動、價格低廉且壽命長等優(yōu)點(diǎn)。因此應(yīng)用比較廣泛。LED數(shù)碼管顯示器可以分為共陰極和共陽極兩種結(jié)構(gòu):aCM J O q(1)外形結(jié)構(gòu)共陰極圖2.9數(shù)碼管結(jié)構(gòu)圖共陽極在這里我們選用共陰極結(jié)構(gòu)。共陰極數(shù)碼管的8個發(fā)光二極管的陰極(二極管負(fù)端)連接在一起。通常,公共陰極 接低

31、電平(一般接地),其它管腳接段驅(qū)動電路輸出端。當(dāng)某段驅(qū)動電路的輸出端為高電 平時,則該端所連接的字段導(dǎo)通并點(diǎn)亮。根據(jù)發(fā)光字段的不同組合可顯示出各種數(shù)字或字 符。此時,要求段驅(qū)動電路能吸收額定的段導(dǎo)通電流,還需根據(jù)外接電源及額定段導(dǎo)通電 流來確定相應(yīng)的限流電阻。共陽極數(shù)碼管的工作原理與共陰極的正好相反。15第3章軟件設(shè)計(jì)3.1主程序模塊程序初始化和按鍵控制,首先分別將數(shù)據(jù)單元進(jìn)行初始化清 0,然后將功能鍵和復(fù)位 鍵原有標(biāo)志清除,將密碼讀出單元初始化,并鎖定報(bào)警器和密碼鎖,同時顯示出提示符“P”, 再調(diào)用掃描子程序,如此周而復(fù)始的循環(huán),如圖 3.1所示密碼數(shù)據(jù)區(qū)4CH“47H單元清01清除攻能鍵和

32、駕位擦標(biāo)志讀門密碼30H35H單元丨顯示提示符調(diào)鍵掃描子稈序能鍵標(biāo)志有效么%位鍵標(biāo)志有效么?圖3.1主程序流程圖3.2鍵盤掃描子程序模塊要有鍵盤掃描子程序,按下的功能鍵和數(shù)字鍵的掃描后,送數(shù)字鍵處理程序、開鎖程序、密碼設(shè)定程序進(jìn)行下一步動作。并對功能鍵和復(fù)位鍵設(shè)置有效的標(biāo)志以便于應(yīng)用。(開始)設(shè)置功能鍵和釧立鍵有效標(biāo)志設(shè)置功能¥塞和復(fù)位鍵有效彳圖3.2 鍵盤掃描子程序流程圖CHKEY:CLR P2.5MOVXA,ROCPL AJZTZ1LJMPKEYO3.3數(shù)字處理程序模塊要有數(shù)字處理程序,以下是數(shù)字處理程序,將6位密碼放入40H45H單元,并調(diào)用顯示子程序圖3.3數(shù)字處理程序流程圖

33、CHECK:INC47HMOVACJNEADEC47HLCALLDISPLAYLJMPJANTRAN:LCALLNEXTLCALLDISPLAYLCALLDISPLAYLJMPCHKEY,47H,#07H,TRAN3.4開鎖程序要有開鎖程序,開鎖程序首先判斷密碼是否為 6位,如不是,重新掃描按鍵。如是 6 位,將密碼進(jìn)行逐位比較,密碼正確則開鎖,密碼錯誤報(bào)警并復(fù)位,重新設(shè)置密碼。圖3.4開鎖程序流程圖OPEN:MOVA,47HCJNEA,#06H,JCHECKLJMPCMPJHECK:LCALLDISPLAYLJMPCHKEYCMP:MOVR0,#35HMOVR2,#06HMOVR1,#45H

34、C1:MOVA,R1XRLA,R0JNZC3DECR13.5密碼設(shè)置程序要有密碼設(shè)置程序,將6位密碼寫入M24C01中后鎖死密碼鎖并調(diào)用顯示子程序顯示密碼。( 開始J將密碼寫入ME4C011犠死密碼錨"調(diào)奈碼顯示子稈序ihspl凸丫妾置復(fù)1立鍵標(biāo)志圖3.5密碼設(shè)置程序流程圖EPASS:MOVACJNEALCALLWRITESETBP1.7LCALLDISPLAYLJMPPEDERR:SETB21H,47H,#06H,ERRPED:RET3.6總的匯編程序Biaozhi EQU 46HOGR 0000HJMP MAINOGR 0030HMOVBiaozhi,#00HMOVRO,#30H

35、MOVR3,#00HMOVP2,#0FFHMOVA,p2CJNEA,#0FEH ,MOV47H,ACALLDELAYMOVA,P2CJNEA,47H ,MM0LCALLanjia nshifa ngLCALLKEYJNCMM2LCALLKEYPDLCALLanjia nshifa ngMOVA,#0AAH , MM2LCALLPDZHILJMPMAINMOVP2 ,#0FFHMOVA,P2CJNEA,#0FFH , M0CLRCRETMOVA,P2MOV47H,ALCALLDELAYMOVA,P2CJNEA,47H ,M1SETBCMAIN:MMO:MM2:KEY:M1:MO:MMORET21

36、KEYPD:MOVA,P2CJNEA,#0FEH, RR1INCR0MOVR0,#0AHMOVBiaozhi,#0AAHLCALLDISPLAYRETMOV P2,#0FFHMOVA,P2CJNEA,#0FDH , RR2INCR0INCR3MOVR0,#02HRR1:MOV P2 , #OFFHLCALL DISPLAYMOVP2,#0FFHMOVA,P2CJNEA, #0FBH , RR3INCR0RR2:RETINC R3MOV R0 ,#03HLCALL DISPLAYRETRR3:MOV P2 , #0FFHMOV A , P2CJNE A , #0F7H , RR4INC R0IN

37、C R3MOV R0 ,#04H22LCALL DISPLAYRETRR4: MOVP2 , #OFFHMOVA,P2CJNEA,#OFEH , RR5INCROINCR3MOV R0 ,#05HLCALL DISPLAYRR5: MOV P2 , #0FFHMOV A, P2CJNE A, #0FEH , RR6INC R0INC R3MOV R0,#06LCALL DISPLAYRR6:RETPDZHI:MOV 48H,R3MOVA ,R3CJNEA ,#40H , K2MOVDPTR,#SHU1LCALLXHPDLCALLDISPLAYK2:MOV AR3CJNEA ,#41H , K3

38、LCALLXHPDLCALLDISPLAYK3:MOV AR3CJNEA ,#42H , K4LCALL XHPD23LCALL DISPLAYK4:MOVA, R3CJNEA ,#43H ,k5LCALLXHPDLCALLDISPLAYK5:MOVA,R3CJNEA ,#44H ,K6LCALLXHPDLCALLDISPLAYK6:MOVA,R3CJNEA ,#45H ,K7LCALLXHPDLCALLDISPLAYK7:RETXHPDMOVR4,#00HMOVRO ,#31HHH1:MOVA,R4MOV48H,R0MOVCA ,A+DPTRCJNEA ,48H,HHHINCR4INCR0D

39、JNZ47H,HH1SETBCRETHHH:CLRCRETAn jia nshifa ng:U1:MOV AP2CJNE A#0FFH ,U124RETDISPLAY: MOV R5,#20HMOVR6,#01HMOVDPTR,#TABL1: MOVA,R5MOVCA,A+DPTRMOVP0,AMOVP1,R6LCALLDEALYINCR5MOVA,R6JBACC.5,L2MOVR6,ASJMP L1L2: SJMP L1RETTAB: DB 3FH , 06H, 5BH 4FH, 66H, 6DHDB 7DH, 07H, 7FH, 6FH, 77H, 7CHDB 39H , 5EH 79H,

40、 71H, 00H, 01HDEALY:MOV1R7,#05LL2: MOVR8,200LL1: DJNZ R8,LL1DJNZ R7,LL2RETSHU1:DB 02H ,40HSHU2:DB 07H ,05H,41HSHU3:DB 07H ,04H,02H, 42HSHU4: DB 06HH , 05H, 04H, 02H, 43HSHU5:DB 06H , 06H,03H,01H,07H,44HSHU6:DB 03H , 04H,02H,01H,07H,05H,45H25第4章系統(tǒng)調(diào)試26#4.1在偉福中的調(diào)試完成了硬件的設(shè)計(jì)、制作和軟件編程之后,要使系統(tǒng)能夠按設(shè)計(jì)意圖正常運(yùn)行,必須 進(jìn)

41、行系統(tǒng)調(diào)試。系統(tǒng)調(diào)試包括硬件調(diào)試和軟件調(diào)試兩個部分。不過,作為一個單片機(jī)系統(tǒng), 其運(yùn)行是軟硬件相結(jié)合的,因此,軟硬件的調(diào)試也是絕對不可能分開的。首先在偉福中進(jìn)行調(diào)試,打開偉福仿真軟件的界面,對仿真器進(jìn)行參數(shù)設(shè)置。通信錯誤:請檢查電源 通信電纜,靖口設(shè)置!#語盲目標(biāo)立件型其器通信設(shè)置|選擇仍宜器E6000/TE6000/SE2000/LE2000/TE2000/S遶擇訪真頭 |ron5F0D-8X5XF選擇CPU18031 gggg/L/T/S/L/T/S/L-n I* 11 11 1- 1- 1-K5ESK5H5H5H5S5E5POD-IH8X5XFOD-N59XFODSIBPOD-80C55

42、2POD-80C592POD-8TC520fOD-LPCTBXFOD-LFC93XFOD-87C520FPOD-BOC196KKFOD-80C196MXFOIFFIC5XPv87518752375487558T5810512Tie.40S1#揮庫頻率(Hz|l200000n結(jié)柬地址|001DH廠便用偉福軟件福擬器X取消圖4.1仿真器的選擇我們所選的是8751的仿真器,在目標(biāo)生成文件中選擇生成 BIN和HE)文件(即二進(jìn)制和十六進(jìn)制文件)其設(shè)置如圖4.2所示,設(shè)置完成后點(diǎn)“好”就可以了逋信錯誤:諳榜查電源,逋愕電纜,罰錢置!5語言塑報(bào)仿真器|通信設(shè)置|地址選擇I*缺省地址由編譯結(jié)果確定尹始地址|

43、0000H生成BIN文件17生成HEX文件IV置未用程序存貯器肯|0FFH/好| X取夠 ?幫助I圖4.2生成文件進(jìn)制的選擇在偉福中輸入程序后并編譯之后,出現(xiàn)一些輸入錯誤和程序編寫錯誤。在經(jīng)過一番修改之后,糾正了這些錯誤終于編譯成功。最后,將文件保存在自己設(shè)定的文件夾下4.2在Keil中的調(diào)試在偉福內(nèi)調(diào)試通過以后,再在Keil中下載到實(shí)驗(yàn)箱上進(jìn)行驗(yàn)證,顯現(xiàn)出所要求的效果。 而在Keil中也要進(jìn)行一些參數(shù)的設(shè)置,首先打開 Keil仿真軟件,首先要新建一個項(xiàng)目,點(diǎn) 菜單Project NewProject,在彈出的對話框中選擇保存的路徑并輸入項(xiàng)目名稱“密碼鎖”后保存,然后在彈出新的項(xiàng)目窗口中選擇參

44、數(shù),其參數(shù)的設(shè)置如下,由于我們使用的是 Atmel公司的芯片,所以要選Atmel后確定。如圖4.3所示:27#圖4.3軟件開發(fā)公司的選擇在彈出的對話框中選擇AT89C5這個芯片,確定。如圖4.4所示:CFV#Vendor: Ain elD«vic«: ATSlSlCBlUssLinker QJ辱 1) in-stc«dFsrr.ily: NCS-51廠 USD51Full tiLlic CUDS cooitrolletr with Thriae-Ljaivl Ft蛙 l/Oi lunes, 2 Tan er s/Counter 5 & Interrup t

45、 s sources 4 I Flash Mzc紐日嚴(yán)陌 Ctor chip RAWb«s.eDescrip t a oit:r AnaeoiLJ AI0TC5IIO3 口 ATO7F5ILJ ATB7F5LRE AT8TF5E k A76TF55lfRO A70gCIQ5l O ATagCID5LU 匚| AiaSC2051 LJ AT99C4051取俏圖4.4單片機(jī)型號的選擇然后開始設(shè)置它的參數(shù)值,如圖4.5所示:28圖4.5參數(shù)設(shè)置在Xtal中輸入頻率為11. 0592MHZ然后再選Debugs個標(biāo)簽,選中第二個Use復(fù)選框后點(diǎn)擊Setting在彈出的對話框中選擇Baudrat

46、e這一項(xiàng),設(shè)置它的參數(shù)為38400,后OK如圖4.6所示:IELastingCSL丨旳|1£毗 tinesTaj°s#t | (htpu.li* 血電:|KtalDraper TF7IniUtlaK«stw« Be'buc' Sessi 硬 Br Ep41Hl3 麗 T4.tchponl5 4 麗 iMifiory DispliLyChJ DLL:|S B051.DLLIHaI 臨 DLL. ?AT 4.T AoisTbu知 dll ntin圖4.6參數(shù)設(shè)置把以上的參數(shù)設(shè)置完成以后把程序添加進(jìn)來編譯,編譯通過后接上實(shí)驗(yàn)箱進(jìn)行驗(yàn)顯30依據(jù)本

47、論文設(shè)計(jì)是以ATMEL公司開發(fā)的型號為AT89C51單片機(jī)為核心的密碼鎖控制 器,屬于MCS-51系列8位單片機(jī),目前此類單片機(jī)在國內(nèi)獲得廣泛的應(yīng)用。本設(shè)計(jì)主要 做了以下幾方面的工作:1 在選擇擴(kuò)展模塊時,針對單片機(jī)是 8位的,故選擇了型號為74LS273的8D鎖存器 和型號為74LS244的8位三態(tài)緩沖器,用來減小鍵盤按鍵因抖動而造成的誤差。2在單片機(jī)應(yīng)用系統(tǒng)中,有時只需要幾個簡單的按鍵向系統(tǒng)輸入信息,故本設(shè)計(jì)采 用的是獨(dú)立式鍵盤接口電路。3. LED顯示器是由發(fā)光二極管顯示字段的 MCS-51單片機(jī)輸出設(shè)備,因?yàn)閷γ课粩?shù)碼 管來說,每隔一段時間點(diǎn)亮一次,如此循環(huán)。利用人眼的“視覺暫留”效應(yīng),只要每位顯 示間隔足夠短就可以給人一同時顯示的感覺,故本設(shè)計(jì)選用LED動態(tài)顯示。4在軟件設(shè)計(jì)方面,首先是對主程序模塊的設(shè)計(jì),其次是對鍵盤掃描子程序模塊、 數(shù)字處理程序模塊、開鎖程序模塊、密碼設(shè)置模塊的設(shè)計(jì)。選擇

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論