基于單片機的電子密碼鎖設計與實現(xiàn)_第1頁
基于單片機的電子密碼鎖設計與實現(xiàn)_第2頁
基于單片機的電子密碼鎖設計與實現(xiàn)_第3頁
基于單片機的電子密碼鎖設計與實現(xiàn)_第4頁
基于單片機的電子密碼鎖設計與實現(xiàn)_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、畢 業(yè) 設 計題目:基于單片機的電子密碼鎖設計與實現(xiàn) 姓 名: 王東雪 學 號: 2010080403204 學 院: 信息學院 專 業(yè): 電子信息工程 指 導 教 師: 張巧杰 協(xié)助指導教師: 2012年 5月20日北京聯(lián)合大學 畢業(yè)設計摘 要近年來,隨著改革開放的深入發(fā)展,電子電器的飛速發(fā)展。人民的生活水平有了很大提高。各種高檔家電產(chǎn)品和貴重物品為許多家庭所擁有。然而不法分子也是越來越多,原因在于大部分人防盜意識還不夠強,造成偷盜現(xiàn)象屢見不鮮。越來越多的居民家庭對財產(chǎn)安全問題十分擔憂。因此,出于安全方便等方面的需求,電子密碼鎖相繼問世。本設計是以單片機AT89S51為主控芯片,并結合外圍液

2、晶顯示LCD1602、存儲芯片AT24C02、紅外遙控HS0038,以及鍵盤輸入、復位、電源等電路組合而成。系統(tǒng)能夠完成開鎖、報警、修改密碼等基本功能,還能夠通過紅外來控制單片機的開鎖,以及掉電儲存密碼的功能。整個設計在Keil開發(fā)環(huán)境下,用C語言編寫主控芯片的控制程序來實現(xiàn)具有多功能的電子密碼鎖。關鍵詞:密碼鎖 AT89S51 儲存 顯示 紅外AbstractIn recent years, with the deepening of reform and opening-up, with the rapid development of electronic appliances.The

3、peoples living standard has been greatly improved.A variety of high-grade household electrical appliances and the valuables have for many families.However criminals are also more and more, because most people security awareness is not strong enough, causing steal phenomenon it is often seen.More and

4、 more households in property safety is concerned about.Therefore, for the safe and convenient and other aspects of the demand, electronic password lock in succession.The design is based on SCM AT89S51 as main control chip, and the combination of peripheral LCD1602 liquid crystal display, memory chip

5、 AT24C02, infrared remote control HS0038, and keyboard input, reset, power circuit assembly.The system can complete the lock, alarm, modify passwords and other functions, can also through infrared to control chip lock, and power-down save password function.The whole design in the KEIL development en

6、vironment, using C language master control chip control procedures to achieve multifunctional electronic cipher lock.Key Words:Password lock AT89S51 Storage Display Infrared目 錄摘 要IAbstractII引 言11 概述21.1 課題背景和意義21.2電子密碼鎖的發(fā)展趨勢22 系統(tǒng)總體設計思路32.1 系統(tǒng)設計要求32.2系統(tǒng)設計方案33 系統(tǒng)硬件設計與實現(xiàn)43.1主控芯片AT89S5143.2 存儲模塊AT24C027

7、3.3紅外模塊HS003893.4 顯示模塊LCD1602103.5 電源電路模塊113.6 鍵盤輸入模塊123.7 報警電路133.8 開鎖電路133.9 復位電路143.10串行通信電路143.11 系統(tǒng)整體原理圖164系統(tǒng)軟件設計174.1 主程序設計174.2鍵值判斷設計184.3開鎖設計194.4密碼修改設計204.5 紅外遙控設計234.6 Keil編程軟件介紹245 仿真設計275.1 Protues仿真軟件概述275.2 Protues與Keil的連調285.3 Protues與Keil的連調的仿真結果295.4問題及解決辦法30結 論31致 謝32參考文獻3334引 言隨著新

8、技術的不斷開發(fā)與應用,近年來單片機發(fā)展十分迅速,一個以微機應用為主的新技術革命浪潮正在蓬勃興起,單片機的應用已經(jīng)滲透到冶金、電力、建材、化工、機械、石油、食品等各個行業(yè)。單片機控制無疑是人們追求的目標之一,它所給人們帶來的方便也是不可否認的其中單片機控制就是一個典型的例子。MCS-51系列單片機應用廣泛,是學習單片機技術較好的系統(tǒng)平臺,同時也是單片機微型計算機應用系統(tǒng)開發(fā)的一個重要系列。目前,單片機原理與應用教材大都采用匯編語言講解和設計程序實例,但匯編語言學習困難。在實際應用系統(tǒng)開發(fā)調試中,特別是開發(fā)比較復雜的應用系統(tǒng)時,為了提高開發(fā)效率和使程序便于移植,現(xiàn)在多用C語言。在信息產(chǎn)業(yè)飛速發(fā)展的

9、今天,我們生活中必不可需的設備都向著小型化、便攜化、智能化、自動化的方向發(fā)展。所以電子密碼鎖隨著快節(jié)奏的生活應運而生。在我國六七十年代還是傳統(tǒng)的一把鑰匙配一把鎖,不管是單位還是個人每天都要認真檢查是否鎖上了門,而且鑰匙還不能隨便亂放,一旦不小心忘記放在哪里很可能就打不開門了。傳統(tǒng)的鎖也相當?shù)牟话踩瑫幸恍┎环ǚ肿酉氡M辦法打開你的房鎖去偷盜東西。電子密碼鎖的產(chǎn)生使得這些問題都不再是問題,我們只需簡單的記住六位密碼即可。1 概述1.1 課題背景和意義人們從前使用的鎖不但不方便,而且安全系數(shù)也比較低。隨著社會的進步和人們生活水平的提高,老式的鎖已經(jīng)跟不上人們的要求,況且人們對防盜的要求越來越高,特

10、別是對使用的便捷性也有了更高的需求。因此近幾年一種新型的電子密碼鎖應運而生,受到了人們的青睞。有報警功能的密碼鎖這時正為人們解決了不少問題。但是市場上的密碼鎖大部分都是用于一些大公司財政機構、價格高昂,一般人們難以接受。如果再設計和生產(chǎn)一種價格低廉、性能靈敏可靠的密碼鎖,必將在防盜和保證財政安全方面發(fā)揮更加有效的作用。密碼鎖是現(xiàn)代生活中經(jīng)常用到的工具之一,廣泛應用于保險柜、房門、賓館、車庫等。電子密碼鎖克服了機械式密碼鎖量少、安全性能差的缺點,特別是使用單片機控制的智能電子密碼鎖,不但功能全,而且具有更高的安全性和可靠性。并且電子密碼鎖只需記住一組密碼,無需攜帶鑰匙,免除了人們攜帶鑰匙的煩惱,

11、被越來越多的人所喜歡。隨著我國第三產(chǎn)業(yè)的飛速發(fā)展,電子密碼鎖會在不久的將來得到廣泛的應用,方便社會和個人。1.2電子密碼鎖的發(fā)展趨勢20世紀80年代后,隨著電子鎖專用集成電路的出現(xiàn),電子鎖的體積縮小,同時可靠性提高,成本也相對提高,所以只適合使用在安全性要求較高的場合,且需要有電源提供能量,使用還局限在一定范圍,難以普及,所以對密碼鎖的研究一直沒有明顯進展。到了90年代,美國、意大利、德國、日本、加拿大、韓國以及我國的臺灣、香港等地的微電子技術的進步和通信技術的發(fā)展為密碼鎖提供了技術上的支持,從而推動密碼鎖走向實際應用的階段。目前,在西方國家,電子密碼鎖技術相對先進,種類齊全,電子密碼鎖已被廣

12、泛應用于智能門禁系統(tǒng)中,使之更加安全更加可靠實現(xiàn)大門的管理。我國于90年代初期開始對密碼鎖進行初步的探索。到目前為止,隨著電子技術和信息技術的發(fā)展,電子密碼鎖的技術領域已發(fā)展的十分成熟。從目前的技術水平和市場認可程度看,使用最為廣泛的是鍵盤式電子密碼鎖,該產(chǎn)品主要應用于保險箱、保險柜和金庫,還有一部分應用于保管箱和運鈔車。在其他技術領域還有遙控式電子密碼鎖以及卡片式密碼鎖等。2 系統(tǒng)總體設計思路2.1 系統(tǒng)設計要求單片機密碼鎖主要內容:用戶可以自由設定密碼、具有報警提示功能、可設置萬用密碼、具有掉電存儲密碼功能。2.2系統(tǒng)設計方案本系統(tǒng)采用以單片機為核心元件的控制方案。由于單片機種類繁多,各種

13、型號都有其一定的應用環(huán)境,因此在選用時要多加比較,合理選擇,以獲得最佳的性價比。一般來說在選取單片機時從下面幾個方面考慮:性能、存儲器、運行速度、I/O口、定時/計數(shù)器、串行接口、模擬電路功能、工作電壓、功耗、封裝形式、抗干擾性、保密性,除了以上的一些方面外,還有一些最基本的條件,比如:中斷源的數(shù)量和優(yōu)先級、工作溫度范圍、有沒有低電壓檢測功能、單片機內有無時鐘振蕩器、有無上電復位功能等。在開發(fā)過程中還要考慮開發(fā)工具、編程器、開發(fā)成本、開發(fā)人員的適應性、技術支持和服務等因素。基于以上因素本設計選用單片機AT89S51作為本設計的核心元件,利用單片機靈活的編程設計和豐富的I/O端口,及其控制的準確

14、性,實現(xiàn)基本的密碼鎖功能。在單片機的外圍電路外接輸入鍵盤用于密碼的輸入和一些功能的控制,外接AT24C02芯片用于密碼的存儲,外接LCD1602顯示器用于顯示作用。其原理如下圖1所示。顯示電路電源電路單片機AT89S51報警電路鍵盤輸入開鎖電路復位電路紅外遙控密碼儲存AT89S51 圖1單片機控制方案3 系統(tǒng)硬件設計與實現(xiàn)3.1主控芯片AT89S51在本設計中選用 ATMEL 公司的 AT89S51單片機作為主控芯片。它是一款低功耗,AT89S51就是一款廣泛應用的,高性能CMOS 8位單片機,由于系統(tǒng)控制方案簡單,數(shù)據(jù)量也不大,考慮到電路的簡單和成本等因素,因此在本設計中選用 ATMEL 公

15、司的 AT89S51單片機作為主控芯片。主控模塊采用單片機最小系統(tǒng)是由于 AT89S51芯片內含有8 B的 E2PROM ,無需外擴存儲器,電路簡單可靠,其時鐘頻率為 024 MHz,并且價格低廉,批量價在 10元以內。AT89S51是一款功能強大的微型計算機,它可為許多嵌入式控制應用系統(tǒng)提供高性價比。單片機的最小系統(tǒng)是由復位電路、時鐘電路和電源組成。復位操作有上電自動復位、按鍵復位和外部脈沖復位3種方法。本文采用的是上電復位它是通過系統(tǒng)外部的復位電路來實現(xiàn)的。根據(jù)電路原理可知電容兩極板間的電壓不能突變當單片機電源接通電源的瞬間單片機的9管腳會產(chǎn)生一個階躍信號,所以RTS端維持高電平由于這個充

16、電時間遠遠大于1ms,一般就可以實現(xiàn)對單片機的上電自動復位,即接通電源就完成了系統(tǒng)的初始化。初始化是為了讓單片機從地址0000H開始執(zhí)行, 除此之外單片機要想正常工作還必須有時鐘電路,時鐘電路是產(chǎn)生時序的基礎,單片機每執(zhí)行一條指令都是建立在時序電路上的,為了能保證單片機執(zhí)行指令的同步,電路就要在唯一的時鐘信號控制下按時序的先后進行工作。它分為內部時鐘電路和外部時鐘電路。本文采用的是內部時鐘電路,在MCS51單片機的內部有一個高增益的反向放大器,其輸入端為引腳XTAL1,輸出端為XTAL2,只要在外部接上兩個電容和一個晶振,就能夠成一個穩(wěn)定的自激振蕩器。這里主要看一下電容和晶振的選擇,晶振的大小

17、與單片機的振蕩頻率有關,電容的大小影響著振蕩器振蕩的穩(wěn)定性和起振的快速性,通常選擇1030pF的瓷片電容。本系統(tǒng)電容選擇為33pF,晶振為12MHz之所以選擇這一頻率的晶振是為了在進行單片機與電腦進行串口通信時容易產(chǎn)生和電腦時鐘同步的波特率,另外在設計電路時,晶振和電容應盡可能的靠近芯片,這樣可以提高系統(tǒng)的抗干擾能力,電源部分,電源與地之間可以接一個0.1uF的電容,它用來濾除電源的紋波,使單片機穩(wěn)定工作,單片機最小系統(tǒng)如圖3-1所示。 圖3-1 單片機最小系統(tǒng) 單片機引腳說明:VCC:電源電壓輸入端。 GND:電源地。 P0口:P0口是一個8位漏極開路雙向I/O端口,每個引腳可以吸收8TTL

18、門電流。P0口當作數(shù)據(jù)輸出時需要加上拉電阻,當P0口的I/O口被寫“1”后,被定義為高阻抗輸入狀態(tài)。P0可以用于外部程序數(shù)據(jù)存儲器,P0口可以是地址的低八位以及數(shù)據(jù)輸出口。 P1口:P1口是一個8位雙向的I/O端口單片機內部加上了上拉電阻的端口,P1口緩沖器可接收的4TTL柵極電流輸出。P1口的I/O口被寫 “1”后,內部上拉的是高的,可以作為輸入,P1口外部下拉低時輸出電流,這是因為有內部上拉的緣故。P2口:P2口是一個8位雙向的I/O端口單片機內部加上了上拉電阻的端口,P2口緩沖器可接收的4TTL柵極電流輸出。當P2口的I/O口被寫“1”后,內部上拉的是高的,可以作為輸入,P2口外部下拉低

19、時輸出電流,這是因為有內部上拉的緣故。當P2口用于外部程序存儲器或外部數(shù)據(jù)存儲器時P2口是地址高八位輸出。P3口:P3口是一個8位雙向的I/O端口單片機內部加上了上拉電阻的端口,P3口緩沖器可接收的4TTL柵極電流輸出。P3口的I/O口被寫“1”后,內部上拉的是高的,可以作為輸入,P3口外部下拉低時輸出電流,這是因為有內部上拉的緣故。P3口除了普通I/O口功能,還有其第二功能P3.0 RXD(串行輸入口) P3.1 TXD(串行輸出口) P3.2 /INT0(外部中斷0) P3.3 /INT1(外部中斷1) P3.4 T0(T0定時器的外部計數(shù)輸入) P3.5 T1(T1定時器的外部計數(shù)輸入)

20、 P3.6 /WR(外部數(shù)據(jù)存儲器的寫選通) P3.7 /RD(外部數(shù)據(jù)存儲器的讀選通) RST:復位引腳高電平時MCU復位,復位信號輸入端口,當MCU要復位時,給與此引腳高電平,高電平持續(xù)時間是不少于兩個機器周期的時間。ALE/PROG:地址鎖存使能以及編程脈沖信號端口。當單片機訪問外部的存儲器時,地址鎖存使能鎖存地址低八位。通常情況下,ALE引腳輸出單片機外部振蕩器的頻率的1/6的頻率輸出。應該注意到的是:當用于單片機擴展外部的數(shù)據(jù)存儲器時,它會少一個ALE脈沖。如果你想禁止ALE輸出可以設置為0在SFR8EH地址。此時,ALE只有在執(zhí)行MOVX,MOVC指令時ALE才起作用。此外,ALE

21、引腳倍稍微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE的禁令,設置無效。PSEN:程序存儲器允許輸出控制端,在讀外部程序存儲器時PSEN低電平有效,以實現(xiàn)外部程序存儲器單元的讀操作。EA/VPP:外部程序存儲器訪問允許。當/EA接高電平時,單片機讀取內部程序序存儲器,當擴展有外部ROM時,當讀完內部ROM后自動讀取外部ROM,當/EA接低電平時,單片機直接讀取外部程序存儲器。XTAL1:片內振蕩器反相放大器和時鐘發(fā)生器的輸入端。 XTAL2:片內振蕩器反相放大器的輸出端。3.2 存儲模塊AT24C02存儲模塊的設計是把WP引腳接到GND上因為要讓器件進行正常的讀/寫操作,把SDA串行數(shù)據(jù)/地址與單片

22、機的P3.7引腳使AT24C02與單片機進行所有數(shù)據(jù)的發(fā)送或接收,把SCK串行時鐘引腳與單片機的P3.6引腳相連接,讓單片機產(chǎn)生一個AT24C02工作的時鐘,使其正常的工作。存儲模塊電路如圖3-2所示。圖3-2存儲模塊 AT24C02硬件結構AT24C02的特點:數(shù)據(jù)線看門狗定時器;可編程復位門級;高數(shù)據(jù)傳輸速率400kHz速率和I2C總線;2.7V至7V電壓;低功耗CMOS工藝兼容;16 bespate寫緩沖區(qū);反撇寫保護芯片;高低電平復位信號輸出;100萬擦除周期;保存長達100年。定義如下的總線狀態(tài),見圖3-3。 圖3-3 總線時序1 總線空閑(狀態(tài)A) 數(shù)據(jù)線和時鐘線都保持高電平狀態(tài)。

23、2 起始信號(狀態(tài)B) 時鐘線保持高電平期間,數(shù)據(jù)線從高電平到低電平的跳變作為I2C總線的起始信號。所有操作都必須以起始信號為前提。3 停止信號(狀態(tài)C) 時鐘線保持高電平期間,數(shù)據(jù)線從低電平到高電平的跳變作為I2C總線的停止信號。所有操作都必須以停止信號結尾。4 數(shù)據(jù)有效(狀態(tài)D) 起始信號之后,在時鐘信號保持高電平期間,數(shù)據(jù)線傳送的數(shù)據(jù)有效。 數(shù)據(jù)線上的數(shù)據(jù)必須在時鐘信號為低電平時改變,以傳輸下一字節(jié)的數(shù)據(jù)。每傳輸一字節(jié)的數(shù)據(jù),就會有一個時鐘信號的暫停。數(shù)據(jù)傳輸都必須以起始信號開頭,以停止信號結尾。在起始信號和停止信號期間傳輸數(shù)據(jù)的總量大小由主器件決定,理論上是沒有限制的。但是在寫狀態(tài)下只

24、有最后16個周期傳送的數(shù)據(jù)會被寫入。如果待寫入的數(shù)據(jù)超出了這個限制,會根據(jù)先入先出的原則覆蓋掉前面的數(shù)據(jù)。圖3-4地址控制字節(jié) 每一個被尋址到的從設備,在成功接收一個字節(jié)的數(shù)據(jù)后,都必須產(chǎn)生一個應答信號。主設備必須增加一個額外的時鐘信號,接收從器件對收到數(shù)據(jù)的響應。器件應答的方式是在響應時鐘周期時將SDA線拉低,表示其已收到一個8位數(shù)據(jù)。如圖3-4。當然,調整時間和保持時間都必須計算在內。主器件在傳送完最后一個字節(jié)的數(shù)據(jù)之后,不傳送應答信號,從而向從器件標明數(shù)據(jù)傳送結束。在這種情況下,從器件必須保持SDA高電平,使主器件可以產(chǎn)生停止信號。當AT24C02在內部讀寫周期內是不會產(chǎn)生任何響應信號的

25、。3.3紅外模塊HS0038紅外數(shù)據(jù)傳輸?shù)奶攸c:成本廉價、建設工程期短、適應性好、擴展性好、設備維護上更容易實現(xiàn)。使用紅外模塊進行傳輸,豐富了系統(tǒng)的功能,提高了系統(tǒng)的可操作性,因而達到了交互式與智能化。紅外數(shù)據(jù)傳輸廣泛地運用在紅外遙控系統(tǒng)和車輛的監(jiān)控、門禁系統(tǒng)、小區(qū)的安全防火系統(tǒng)和傳呼系統(tǒng)、身份的識別、非接觸RF的智能卡等。工業(yè)設備中,在高壓,輻射、有毒氣體、粉塵等環(huán)境下,采用紅外遙控不僅完全可靠而且能有效地隔離電氣干擾。一體化紅外線接收頭三個管腳分別是地、+5 V電源、解調信號輸出端接在單片機P3.3引腳上。利用外部中斷進行數(shù)據(jù)的接收。下圖3-5為紅外模塊硬件結構。 圖3-5 紅外模塊硬件結

26、構紅外線接收器大都將信號的接受、放大、檢波等集于一身,而且可以經(jīng)過編碼解碼時單片機收到可識別的信號源。這樣一來便會減少硬件設計過程中的麻煩,使電路簡單化,且應用起來比較方便。下圖為紅外一體化接受頭HS0038,外觀圖如圖所示。 圖3-6紅外接收元器件3.4 顯示模塊LCD1602如果想要了解系統(tǒng)的運行與工作狀態(tài)顯示器是不可缺少的,顯示器是一個典型的輸出設備并且它的實際應用也是極為廣泛的,幾乎所有的電子產(chǎn)品都會使用到顯示器其差別僅在于顯示器的結構類型不同而已。最簡單的顯示器可以是LED發(fā)光二極管或者數(shù)碼管,它可以給出一個簡單的開關信息或者數(shù)字顯示,而需要顯示復雜的完整的信息上述的器件就不能勝任,

27、而液晶的出現(xiàn)就很好的解決了這一問題,它不僅顯示內容豐富而且好節(jié)約了單片機的管腳資源。本設計采用的是液晶顯示LCD1602。LCD1602內部的字符已經(jīng)儲存了不同的字符形式,每一個字符都有一個固定的代碼,其代碼與標準的ASCII字符代碼一致。因此只要寫入顯示字符的ASCII碼即可,這種標準化的設計給使用帶來很大的方便。比如英文字母“C”的ASCII代碼是01000011(43H),顯示時單片機往液晶模塊寫入顯示指令,模塊就會把地址為43H中的點陣字符圖形識別出,并會在液晶屏相應位置上看到字母“C”。LCD1602液晶顯示與單片機的連接可以分為兩種方式:總線方式和模擬口線方式。在實驗中,我們常采用

28、模擬口線連接方式。如圖3-7所示。 圖3-7 顯示模塊硬件結構目前市場字符液晶絕大多數(shù)是基于HD44780的液晶芯片,控制原理是完全相同的,因此基于HD44780的寫控制程序可以很容易地應用到市場上大部分的字符液晶。LCD1602液晶的幾個特性:+5V電壓、對比度可調、內含復位電路;提供各種控制命令,如:清屏、字符閃爍、光標閃爍、顯示移位等多種功能;有80字節(jié)顯示數(shù)據(jù)存儲器DDRAM;內建有160個5X7點陣的字型的字符發(fā)生器CGROM 8個可由用戶自定義的5X7的字符發(fā)生器CGRAM。 表3-1 LCD液晶屏引腳說明編號符號引腳說明編號符號引腳說明1VSS電源地9D2Data I/O2VDD

29、電源正極10D3Data I/O3VEE液晶顯示偏壓信號11D4Data I/O4RS數(shù)據(jù)/命令選擇端(H/L)12D5Data I/O5R/W讀寫選擇端(H/L)13D6Data I/O6E使能信號14D7Data I/O7D0Data I/O15BLA背光源正極8D1Data I/O16BLK背光源負極LCD1602采用標準的16腳接口,其中VSS為地電源,VDD接5V正電源,VEE為液晶顯示器。RS為寄存器選擇,高電平時選擇數(shù)據(jù)寄存器、低電平時選擇指令寄存器。RW為讀寫信號線,高電平1時進行讀操作,低電平0時進行寫操作。E端為使能端。D0D7為8位雙向數(shù)據(jù)線。3.5 電源電路模塊控制系統(tǒng)

30、主控制部分電源需要用5V直流電源供電,其電路如圖3-8所示,把有效值為220V頻率為50Hz單相交流電壓轉換為幅值穩(wěn)定的5V直流電壓。其主要原理是把單相交流電,經(jīng)過電源變壓器降壓。 由于輸入電壓為電網(wǎng)電壓,一般情況下所需直流電壓的數(shù)值和電網(wǎng)電壓的有效值相差較大,因而電源變壓器的主要作用是起到降壓作用。降壓后還是交流電壓,所以需要整流電路把交流電壓轉換成直流電壓。由于經(jīng)整流電路整流后的電壓含有較大的交流分量,會影響到負載電路的正常工作。需要通過低通濾波電路濾除交流成分使輸出電壓平滑穩(wěn)定。穩(wěn)壓電路的功能是使輸出直流電壓基本不受負載電阻變化和電網(wǎng)電壓波動的影響,從而獲得穩(wěn)定性足夠高的直流電壓。本電路

31、使用集成穩(wěn)壓芯片LM7805解決了電源穩(wěn)壓問題,在穩(wěn)壓芯片的前段分別放置兩個電容主要是為了濾除電源中的高低頻干擾而在芯片之后又經(jīng)過一級的濾波以使電源更為潔凈,并在電源輸出端加上LED以此來顯示電源的開關狀態(tài)。圖3-8 電源電路硬件結構3.6 鍵盤輸入模塊鍵盤是單片機十分重要的輸入設備,是實現(xiàn)人機對話的紐帶。鍵盤是由一組規(guī)則排列的按鍵組成,一個按鍵實際上就是一個開關元件,即鍵盤是一組規(guī)則排列的開關。根據(jù)按鍵與單片機的連接方式不同,按鍵主要分為獨立式按鍵和矩陣式按鍵 ,有了這些按鍵,對單片機的控制就方便多了。本設計按鍵數(shù)量較多,所以采用矩陣式按鍵以節(jié)省I/O口線。將16個按鍵分為4排4列排列好,如

32、圖3-9矩陣鍵盤硬件結構。當有一個鍵按下時,通過某一邊引腳賦低電平,掃描全部引腳看是否與最初的賦值一樣,不一樣則根據(jù)相應的算法(通過改變后的值與初始值相或,根據(jù)結果賦值)確定是哪個鍵按下。圖3-9鍵盤模塊硬件結構鍵盤為44形式,按鍵包括阿拉伯數(shù)字09,以及鎖定、更改和改密三個應用按鍵。當用戶需要輸入密碼或修改密碼時,按下相應按鍵即會與單片機產(chǎn)生信號,并會執(zhí)行相應的程序。3.7 報警電路當密碼輸入兩次的數(shù)值與所設定的參數(shù)值不同時,單片機AT89C51便通過P2.7口控制三極管來驅動揚聲器報警,當輸出低電平時三極管截止,當輸出高電平時三極管導通揚聲器報警。如圖3-10所示。圖3-10報警電路硬件結

33、構3.8 開鎖電路開鎖電路的功能是當輸入正確的密碼后密碼鎖將被鎖定,既開鎖。當單片機P2.6引腳發(fā)出信號經(jīng)三極管放大后,觸動電磁閥即會把鎖打開。一旦輸入密碼,單片機便會與初始密碼進行比對,如果密碼輸入兩次都與原始密碼不相符即會報警。其原理圖如圖3-11所示。 圖3-11 開鎖電路硬件結構3.9 復位電路能讓單片機運行起來的最小硬件連接就是單片機最小系統(tǒng)電路,51單片機的最小系統(tǒng)電路一般包括工作電源、振蕩電路和復位電路等幾部分。復位電路(圖3-12是單片機復位電路)具有上電自動復位和手動復位的雙重功能。單片機的RST引腳是復位信號的輸入端,復位信號是高電平的時候才有效,其有效時間應持續(xù)24個震蕩

34、脈沖周期(即2個機器周期)以上;通常為了保證應用系統(tǒng)能夠準確地復位,復位電路應使引腳RST腳保持10ms以上的高電平狀態(tài)。只要RST保持高電平,單片機就會自動循環(huán)復位。當RST引腳從高電平狀態(tài)轉為低電平狀態(tài)時,單片機退出復位狀態(tài),從程序存儲器的0000H地址開始執(zhí)行用戶程序。電容C3和電阻R5組成上電復位電路。上電瞬間RST引腳獲得高電平,隨著電容C11的充電,RST引腳的高電平逐漸下降。只要高電平保持足夠的時間,單片機就能完成復位。手動復位的原理與此類似。圖3-12 復位電路硬件結構3.10串行通信電路隨著計算機在各個領域的廣泛應用和智能化控制的發(fā)展,多微機系統(tǒng)和計算機網(wǎng)絡技術的普及,計算機

35、的通信功能顯得越來越重要。計算機通信是指將計算機技術和通信技術相結合完成計算機與外部控制設備或計算機與計算機之間的信息交換或信息處理,按通信方式可以分為兩大類:并行通信與串行通信。并行通信通常是將數(shù)據(jù)字節(jié)的各位用多條數(shù)據(jù)線同時進行傳送 , 并行通信控制簡單、傳輸速度快,但是由于傳輸線較多長距離傳送時成本高且接收方的各位同時接收存在一定的困難。串行通訊傳輸線少,長距離傳送時成本低且可以利用電話網(wǎng)等現(xiàn)成的設備所以本設計采用串口與單片機進行通信。大多數(shù)PC機都有一個串行通訊端口,RS-232主要用于計算機之間進行數(shù)據(jù)的交換與通訊RS-232通訊接口是電子領域的一種標準化傳輸接口,主要是為了進行遠程傳

36、輸與通訊連接終端設備的物理接口。RS-232采用非平衡連接在這個線路中信號的電壓都使用一個公共的接地線,所有信號電壓都加到一條導線上為了能提高串口通信的抗干擾能力和數(shù)據(jù)傳送距離,RS-232芯片的信號和電平采用負邏輯電平,直流電壓值在-15至-5V芯片規(guī)定為邏輯值“1”,直流電壓值在+ 5至+15V芯片規(guī)定邏輯值“0”,直流電壓在-5至+5V為過渡區(qū)。由于單片機輸入與輸出為TTL電平這與 PC機所執(zhí)行的串行接口標準不一致數(shù)據(jù)無法正常傳輸。因此要實現(xiàn)單片機與PC機之間的數(shù)據(jù)通讀,必須進行電平轉換。一般常用的電平轉換器件有MC1488、MC1489及MAX232等,但MC1488、MC1489需要

37、12V電源,這對于不具備12V電源的單片機系統(tǒng)是非常不便的。故本系統(tǒng)使用MAX232實現(xiàn)電平轉換。單片機的第10、11管腳與MAX232芯片的11、12管腳相連并互相傳送數(shù)據(jù)通過MAX232芯片將單片機的TTL電平轉換成電腦所能識別的電平。電路原理如圖3-13所示。圖3-13 串行通信電路硬件結構3.11 系統(tǒng)整體原理圖智能電子密碼鎖的基本原理是:從矩陣鍵盤輸入一組密碼,單片機把該密碼和設置密碼進行比較,若輸入的密碼正確,則控制電磁鎖動作,將電磁鎖抽回,從而將鎖打開;若輸入的密碼不正確,則要求從新輸入,并記錄錯誤次數(shù),如果2次錯誤,則被強制鎖定并報警。如下圖3-14所示:圖3-14 系統(tǒng)整體原

38、理圖4系統(tǒng)軟件設計軟件設計主要包括了主程序設計、鍵盤掃描設計、密碼修改設計、開鎖程序設計以及紅外遙控設計五個方面。本設計采用Keil編譯器來進行軟件的編程。4.1 主程序設計 圖4-1 主程序流程圖設計主程序主要完成了系統(tǒng)的初始化、按鍵掃描、按鍵功能、以及調用顯示等功能。主程序部分如下:En bit P8 將LCD的en引腳連接到單片機的P8Rw bit P9 Rs bit P10 Speaker bit P2.7Open bit P2.6 開鎖電路的控制端連接到P2.6口 4.2鍵值判斷設計鍵盤掃描和鍵值讀取程序主要判斷矩陣按鍵是否按下,按下的是哪一個鍵,并求出按鍵的鍵值。矩陣鍵盤的識別方法

39、有多種。相對來說,矩陣式鍵盤的軟件設計最終實現(xiàn)以下功能:是否有按鍵被按下;消除抖動;確定哪個鍵被按下,若按鍵閉合了一次,操作也只能是一次。鍵功能程序鍵值 =0-9密碼輸入程序 N Y N 鍵值 =鎖定開鎖程序 Y鍵值 =改密 N改密程序 Y鍵值 =更正 N設置程序 Y N鍵值 =確認確認程序 Y結束 圖4-2 鍵盤流程圖設計鍵盤程序如下:if(0keydata)|(4keydata)|(8keydata)|keydata=14)/在0-9之間的數(shù)字通過passwordi=keydata;/鍵盤值進行保存keydata=0;/把鍵盤值置其它值,不被其它利用,以一樣i+;4.3開鎖設計當輸入密碼正

40、確時,單片機輸出低電平,控制繼電器工作,模擬開鎖動作,同時,當輸入密碼或開鎖成功時,蜂鳴器發(fā)出相應的提示音。初始化按開鎖鍵輸入密碼確認程序所輸入密碼正確Y開鎖成功開鎖程序輸入次數(shù)加1次數(shù)2?報警程序返回NYN圖4-3開鎖流程圖設計開鎖程序設計如下:while(1)if(keydata=4)/鎖定功能P3_6=0;EX1=1;goto start;4.4密碼修改設計輸入密碼前,要先將正確的密碼從存儲器24C02中讀出,并存放在單片機RAM從40H開始的6個單元中。6位密碼鎖由矩陣按鍵輸入,輸入的密碼存儲在單片機RAM從30H開始的6個單元中,每輸入一位密碼,都要和正確的密碼進行比較;若全部6位密

41、碼均輸入正確,顯示密碼正確信息;若輸入的密碼不完全正確,則進行第二位輸入,若輸入3次仍不正確,則報錯。輸入密碼時,還要打開定時器T0,使定時器T0工作,當計時到30s時,若輸入的密碼不正確或未輸入密碼,則顯示出錯信息。密碼修改程序用來設置新密碼,當輸入的開鎖密碼正確后,可重新設置新密碼,輸入的新密碼暫存在單片機RAM從40H開始的單元中,然后,調用存儲器子程序,將40H開始的6位密碼存儲在24C02中。密碼程序初始化按下設置鍵輸舊密碼確認程序所輸入舊密碼正確輸新密碼確認程序設置成功輸入次數(shù)加1 大于2報警程序NYNY返回確認程序再次輸新密碼兩次新密碼輸入相同NY圖4-4 密碼修改流程圖設計密碼

42、程序如下:if(keydata=33) /確定進入密碼比較keydata=0;panduan:i=0;for(j=0;j6;j+)l+=passwordj;k+=Random_Read(j);if(l!=k)/密碼不同進行處理l=0;k=0;LCD_Write_String(0,0,bb);DelayMs(1000);a1+=1;if(a1=2)while(1)P3_7=1;P3_6=0;/兩次錯誤發(fā)出報警goto start; /第二次輸入密碼4.5 紅外遙控設計HS0038 接收頭負責紅外遙控信號的解調,將調制在38kHz上的紅外脈沖信號解調并反相后輸入到單片機的P3.2引腳,接收的信號由

43、單片機進行高電平與低電平寬度的測量,并進行解碼處理。解碼編程時,既可以使用中斷方式,也可以使用查詢方式。圖4-5 紅外遙控流程圖設計4.6 Keil編程軟件介紹單片機的開發(fā)離不開必要的硬件,同樣也離不開軟件,編寫的匯編語言源程序要變?yōu)镃PU可以執(zhí)行的機器碼有兩種方法,一種是手工匯編,另一種是機器匯編。隨著單片機開發(fā)技術的不斷發(fā)展,單片機的開發(fā)軟件也在不斷的發(fā)展,Keil軟件是目前最流行開發(fā)51單片機的軟件。在硬件電路設計好的同時,也需要軟件的開發(fā)及使用。目前單片機類的課程設計大多采用Keil軟件來進行程序的編寫。Keil不僅支持C語言還支持匯編語言。支持不同型號的MCS系類的51單片機的型號。

44、Keil軟件已從早期的第一代發(fā)展到第四代了,有了更強大的功能。這款軟件的操作方法也很簡單,甚至有些必須采用很復雜的硬件電路才能完成的工作,用軟件編程有時會變得很簡單,這樣可以把復雜電路的輸入信號直接用信號發(fā)生器給定,或是用電源來給定通過對電壓電流的調節(jié)來實現(xiàn)。Keil 工程的建立打開已安裝好的開發(fā)環(huán)境,進入界面后選擇project然后在其下拉菜單中選擇new project選項如圖4-6所示。圖4-6 新建工程 這樣就能新建一個工程 ,在選定的路徑下建立一個名字叫做abc的文件夾如圖4-7所示,在abc文件夾中建立了一個xyz.c文件之后點擊保存按鈕就會出現(xiàn)如圖4-8所示的畫面在此對話框中選擇

45、Atmel之后會彈出一系列的單片機在本次設計中選用的是51單片機,完成后在選Target 1下的Source Group 1選擇Add把xyz.c文件加載到里面在xyz.c下添加所編好的C語言程序或是匯編語言程序,如果程序是分開寫得就可以添加多個子程序還有主程序,每個程序中必須有頭文件否則編譯不會通過 ,會顯示有錯誤。等編譯.hex文件時就要在此文件夾下找到。圖4-7 新建工程文件夾的建立圖4-8 芯片的選擇所有程序都加到工程項目文件夾中后就可以對其進行編譯了。編譯成功后,下方會有對話框顯示,有幾個錯誤,分別是在那幾個位置。直接單擊錯誤這條信息就可以索引到源文件中。如圖所示4-9所示。圖4-9

46、 錯誤的生成及索引5 仿真設計5.1 Protues仿真軟件概述Protues是目前使用比較廣泛的單片機類的仿真系統(tǒng)的軟件之一,它可以實現(xiàn)的功能比較多,可以實現(xiàn)程序與原理圖的連調,也可以單獨作為繪制原理圖的工具使用,與Protel有著過之不及的功能,于此同時還可以進行PCB版圖的生成,在方法中與Protel類似。此款軟件及繪制原理圖、PCB版圖和仿真于一身。Protues此款軟件的使用比較簡單。在運行環(huán)境搭載好的前提下,打開ISIS直接進入到主界面,在左邊欄框中有一個快捷鍵P(從庫中選取),點擊后出現(xiàn)一個對話框然后輸入想要查找的元器件即可。之后在單擊確定按鍵所選器件就會顯示在界面左上角的小框中

47、此時點擊鼠標左鍵就會放到圖層中,然后直接把鼠標放到接頭處就會顯示一個畫筆的標志此時按住鼠標左鍵就可進行連線了。如圖5-1所示為繪圖界面。圖5-1 繪圖界面5.2 Protues與Keil的連調在進行連調之前必須確保程序是完整的,原理圖也是沒有錯誤的。還要在正確的運行平臺下進行操作。檢查沒有錯誤后,打開原理圖,點擊單片機就會出現(xiàn)一個對話框如圖5-2所示,然后把生成的.hex文件添加到里面即可實現(xiàn)。在這里比較重要的就是.hex文件的生成過程。首先把已編寫好的程序加載到Keil軟件下進行編譯如果沒有遇到任何錯誤后,就直接點擊工具欄中的就會彈出如下圖所示的對話框,然后選擇相應的選項就可以生成.hex文

48、件了。之后再按照生成的的路徑去尋找這個文件。找到之后加載到之前點開的 對話框上即可。在此后點擊運行按鍵就會進行仿真了,按照設計的功能去調試就可以了。圖5-2加載.hex文件5.3 Protues與Keil的連調的仿真結果系統(tǒng)仿真運行環(huán)境下的結果如圖5-3所示。圖5-3 系統(tǒng)仿真圖 開鎖仿真圖如5-4所示。 圖5-4 開鎖圖更改密碼圖如5-5所示。圖5-5 更改密碼圖輸入錯誤密碼報警如圖5-6所示。圖5-6 報警圖5.4問題及解決辦法在本系統(tǒng)的軟件設計過程中,遇到了很多問題。首先是對軟件的開發(fā)環(huán)境Keil的運用有些模糊、對它的操作過程需要看專業(yè)書以及向同學請教才能完成!其次是用C語言編程,這對于我來說可是一件十分困難的事情,最終是在同學的幫助之下才得以完成。而在Protues仿真過程中,也遇到了同樣的問題,最后通過網(wǎng)上的教學資料對其使用有了一定的了解。而在仿真軟件中,并沒有紅外一體化接收頭HS0038,所以在同學及指導老師的幫助下采用555振蕩器模擬仿真,一旦有信號發(fā)射或接收將會有波形顯示來模擬仿真。結 論本設

溫馨提示

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

評論

0/150

提交評論