找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 63159|回復(fù): 23
打印 上一主題 下一主題
收起左側(cè)

基于單片機(jī)的電子密碼鎖設(shè)計(jì)與實(shí)現(xiàn) 論文下載

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
介紹比較完整的

畢 業(yè) 設(shè) 計(jì)
題目:基于單片機(jī)的電子密碼鎖設(shè)計(jì)與實(shí)現(xiàn)
姓       名:       王x雪      
學(xué)       號(hào):2010080403204
學(xué)        院:      信息學(xué)院     
專(zhuān)        業(yè):    電子信息工程   
指 導(dǎo)  教 師:張x杰
協(xié)助指導(dǎo)教師:



摘    要
近年來(lái),隨著改革開(kāi)放的深入發(fā)展,電子電器的飛速發(fā)展。人民的生活水平有了很大提高。各種高檔家電產(chǎn)品和貴重物品為許多家庭所擁有。然而不法分子也是越來(lái)越多,原因在于大部分人防盜意識(shí)還不夠強(qiáng),造成偷盜現(xiàn)象屢見(jiàn)不鮮。越來(lái)越多的居民家庭對(duì)財(cái)產(chǎn)安全問(wèn)題十分擔(dān)憂。因此,出于安全方便等方面的需求,電子密碼鎖相繼問(wèn)世。
本設(shè)計(jì)是以單片機(jī)AT89S51為主控芯片,并結(jié)合外圍液晶顯示LCD1602、存儲(chǔ)芯片AT24C02、紅外遙控HS0038,以及鍵盤(pán)輸入、復(fù)位、電源等電路組合而成。系統(tǒng)能夠完成開(kāi)鎖、報(bào)警、修改密碼等基本功能,還能夠通過(guò)紅外來(lái)控制單片機(jī)的開(kāi)鎖,以及掉電儲(chǔ)存密碼的功能。整個(gè)設(shè)計(jì)在Keil開(kāi)發(fā)環(huán)境下,用C語(yǔ)言編寫(xiě)主控芯片的控制程序來(lái)實(shí)現(xiàn)具有多功能的電子密碼鎖。

目  錄
摘    要
Abstract
引   言
1 概述
1.1 課題背景和意義
1.2電子密碼鎖的發(fā)展趨勢(shì)
2 系統(tǒng)總體設(shè)計(jì)思路
2.1 系統(tǒng)設(shè)計(jì)要求
2.2系統(tǒng)設(shè)計(jì)方案
3 系統(tǒng)硬件設(shè)計(jì)與實(shí)現(xiàn)
3.1主控芯片AT89S51
3.2 存儲(chǔ)模塊AT24C02
3.3紅外模塊HS0038
3.4 顯示模塊LCD1602
3.5 電源電路模塊
3.6 鍵盤(pán)輸入模塊
3.7 報(bào)警電路
3.8 開(kāi)鎖電路
3.9 復(fù)位電路
3.10串行通信電路
3.11 系統(tǒng)整體原理圖
4系統(tǒng)軟件設(shè)計(jì)
4.1 主程序設(shè)計(jì)
4.2鍵值判斷設(shè)計(jì)
4.3開(kāi)鎖設(shè)計(jì)
4.4密碼修改設(shè)計(jì)
4.5 紅外遙控設(shè)計(jì)
4.6 Keil編程軟件介紹
5 仿真設(shè)計(jì)
5.1 Protues仿真軟件概述
5.2 Protues與Keil的連調(diào)
5.3 Protues與Keil的連調(diào)的仿真結(jié)果
5.4問(wèn)題及解決辦法
結(jié)   論
致    謝

引   言
隨著新技術(shù)的不斷開(kāi)發(fā)與應(yīng)用,近年來(lái)單片機(jī)發(fā)展十分迅速,一個(gè)以微機(jī)應(yīng)用為主的新技術(shù)革命浪潮正在蓬勃興起,單片機(jī)的應(yīng)用已經(jīng)滲透到冶金、電力、建材、化工、機(jī)械、石油、食品等各個(gè)行業(yè)。單片機(jī)控制無(wú)疑是人們追求的目標(biāo)之一,它所給人們帶來(lái)的方便也是不可否認(rèn)的其中單片機(jī)控制就是一個(gè)典型的例子。MCS-51系列單片機(jī)應(yīng)用廣泛,是學(xué)習(xí)單片機(jī)技術(shù)較好的系統(tǒng)平臺(tái),同時(shí)也是單片機(jī)微型計(jì)算機(jī)應(yīng)用系統(tǒng)開(kāi)發(fā)的一個(gè)重要系列。目前,單片機(jī)原理與應(yīng)用教材大都采用匯編語(yǔ)言講解和設(shè)計(jì)程序?qū)嵗,但匯編語(yǔ)言學(xué)習(xí)困難。在實(shí)際應(yīng)用系統(tǒng)開(kāi)發(fā)調(diào)試中,特別是開(kāi)發(fā)比較復(fù)雜的應(yīng)用系統(tǒng)時(shí),為了提高開(kāi)發(fā)效率和使程序便于移植,現(xiàn)在多用C語(yǔ)言。
在信息產(chǎn)業(yè)飛速發(fā)展的今天,我們生活中必不可需的設(shè)備都向著小型化、便攜化、智能化、自動(dòng)化的方向發(fā)展。所以電子密碼鎖隨著快節(jié)奏的生活應(yīng)運(yùn)而生。在我國(guó)六七十年代還是傳統(tǒng)的一把鑰匙配一把鎖,不管是單位還是個(gè)人每天都要認(rèn)真檢查是否鎖上了門(mén),而且鑰匙還不能隨便亂放,一旦不小心忘記放在哪里很可能就打不開(kāi)門(mén)了。傳統(tǒng)的鎖也相當(dāng)?shù)牟话踩,?huì)有一些不法分子想盡辦法打開(kāi)你的房鎖去偷盜東西。電子密碼鎖的產(chǎn)生使得這些問(wèn)題都不再是問(wèn)題,我們只需簡(jiǎn)單的記住六位密碼即可。
1 概述
1.1 課題背景和意義
人們從前使用的鎖不但不方便,而且安全系數(shù)也比較低。隨著社會(huì)的進(jìn)步和人們生活水平的提高,老式的鎖已經(jīng)跟不上人們的要求,況且人們對(duì)防盜的要求越來(lái)越高,特別是對(duì)使用的便捷性也有了更高的需求。因此近幾年一種新型的電子密碼鎖應(yīng)運(yùn)而生,受到了人們的青睞。有報(bào)警功能的密碼鎖這時(shí)正為人們解決了不少問(wèn)題。但是市場(chǎng)上的密碼鎖大部分都是用于一些大公司財(cái)政機(jī)構(gòu)、價(jià)格高昂,一般人們難以接受。如果再設(shè)計(jì)和生產(chǎn)一種價(jià)格低廉、性能靈敏可靠的密碼鎖,必將在防盜和保證財(cái)政安全方面發(fā)揮更加有效的作用。
密碼鎖是現(xiàn)代生活中經(jīng)常用到的工具之一,廣泛應(yīng)用于保險(xiǎn)柜、房門(mén)、賓館、車(chē)庫(kù)等。電子密碼鎖克服了機(jī)械式密碼鎖量少、安全性能差的缺點(diǎn),特別是使用單片機(jī)控制的智能電子密碼鎖,不但功能全,而且具有更高的安全性和可靠性。并且電子密碼鎖只需記住一組密碼,無(wú)需攜帶鑰匙,免除了人們攜帶鑰匙的煩惱,被越來(lái)越多的人所喜歡。隨著我國(guó)第三產(chǎn)業(yè)的飛速發(fā)展,電子密碼鎖會(huì)在不久的將來(lái)得到廣泛的應(yīng)用,方便社會(huì)和個(gè)人。
1.2電子密碼鎖的發(fā)展趨勢(shì)
20世紀(jì)80年代后,隨著電子鎖專(zhuān)用集成電路的出現(xiàn),電子鎖的體積縮小,同時(shí)可靠性提高,成本也相對(duì)提高,所以只適合使用在安全性要求較高的場(chǎng)合,且需要有電源提供能量,使用還局限在一定范圍,難以普及,所以對(duì)密碼鎖的研究一直沒(méi)有明顯進(jìn)展。到了90年代,美國(guó)、意大利、德國(guó)、日本、加拿大、韓國(guó)以及我國(guó)的臺(tái)灣、香港等地的微電子技術(shù)的進(jìn)步和通信技術(shù)的發(fā)展為密碼鎖提供了技術(shù)上的支持,從而推動(dòng)密碼鎖走向?qū)嶋H應(yīng)用的階段。目前,在西方國(guó)家,電子密碼鎖技術(shù)相對(duì)先進(jìn),種類(lèi)齊全,電子密碼鎖已被廣泛應(yīng)用于智能門(mén)禁系統(tǒng)中,使之更加安全更加可靠實(shí)現(xiàn)大門(mén)的管理。我國(guó)于90年代初期開(kāi)始對(duì)密碼鎖進(jìn)行初步的探索。到目前為止,隨著電子技術(shù)和信息技術(shù)的發(fā)展,電子密碼鎖的技術(shù)領(lǐng)域已發(fā)展的十分成熟。從目前的技術(shù)水平和市場(chǎng)認(rèn)可程度看,使用最為廣泛的是鍵盤(pán)式電子密碼鎖,該產(chǎn)品主要應(yīng)用于保險(xiǎn)箱、保險(xiǎn)柜和金庫(kù),還有一部分應(yīng)用于保管箱和運(yùn)鈔車(chē)。在其他技術(shù)領(lǐng)域還有遙控式電子密碼鎖以及卡片式密碼鎖等。


2 系統(tǒng)總體設(shè)計(jì)思路
2.1 系統(tǒng)設(shè)計(jì)要求
單片機(jī)密碼鎖主要內(nèi)容:用戶可以自由設(shè)定密碼、具有報(bào)警提示功能、可設(shè)置萬(wàn)用密碼、具有掉電存儲(chǔ)密碼功能。
2.2系統(tǒng)設(shè)計(jì)方案
本系統(tǒng)采用以單片機(jī)為核心元件的控制方案。由于單片機(jī)種類(lèi)繁多,各種型號(hào)都有其一定的應(yīng)用環(huán)境,因此在選用時(shí)要多加比較,合理選擇,以獲得最佳的性?xún)r(jià)比。一般來(lái)說(shuō)在選取單片機(jī)時(shí)從下面幾個(gè)方面考慮:性能、存儲(chǔ)器、運(yùn)行速度、I/O口、定時(shí)/計(jì)數(shù)器、串行接口、模擬電路功能、工作電壓、功耗、封裝形式、抗干擾性、保密性,除了以上的一些方面外,還有一些最基本的條件,比如:中斷源的數(shù)量和優(yōu)先級(jí)、工作溫度范圍、有沒(méi)有低電壓檢測(cè)功能、單片機(jī)內(nèi)有無(wú)時(shí)鐘振蕩器、有無(wú)上電復(fù)位功能等。在開(kāi)發(fā)過(guò)程中還要考慮開(kāi)發(fā)工具、編程器、開(kāi)發(fā)成本、開(kāi)發(fā)人員的適應(yīng)性、技術(shù)支持和服務(wù)等因素;谝陨弦蛩乇驹O(shè)計(jì)選用單片機(jī)AT89S51作為本設(shè)計(jì)的核心元件,利用單片機(jī)靈活的編程設(shè)計(jì)和豐富的I/O端口,及其控制的準(zhǔn)確性,實(shí)現(xiàn)基本的密碼鎖功能。在單片機(jī)的外圍電路外接輸入鍵盤(pán)用于密碼的輸入和一些功能的控制,外接AT24C02芯片用于密碼的存儲(chǔ),外接LCD1602顯示器用于顯示作用。其原理如下圖1所示。






                            AT89S51






1單片機(jī)控制方案

3 系統(tǒng)硬件設(shè)計(jì)與實(shí)現(xiàn)
3.1主控芯片AT89S51
在本設(shè)計(jì)中選用 ATMEL 公司的 AT89S51單片機(jī)作為主控芯片。它是一款低功耗,AT89S51就是一款廣泛應(yīng)用的,高性能CMOS 8位單片機(jī),由于系統(tǒng)控制方案簡(jiǎn)單,數(shù)據(jù)量也不大,考慮到電路的簡(jiǎn)單和成本等因素,因此在本設(shè)計(jì)中選用 ATMEL 公司的 AT89S51單片機(jī)作為主控芯片。主控模塊采用單片機(jī)最小系統(tǒng)是由于 AT89S51芯片內(nèi)含有8 B的 E2PROM ,無(wú)需外擴(kuò)存儲(chǔ)器,電路簡(jiǎn)單可靠,其時(shí)鐘頻率為 0~24 MHz,并且價(jià)格低廉,批量?jī)r(jià)在 10元以?xún)?nèi)。AT89S51是一款功能強(qiáng)大的微型計(jì)算機(jī),它可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性?xún)r(jià)比。
單片機(jī)的最小系統(tǒng)是由復(fù)位電路、時(shí)鐘電路和電源組成。復(fù)位操作有上電自動(dòng)復(fù)位、按鍵復(fù)位和外部脈沖復(fù)位3種方法。本文采用的是上電復(fù)位它是通過(guò)系統(tǒng)外部的復(fù)位電路來(lái)實(shí)現(xiàn)的。根據(jù)電路原理可知電容兩極板間的電壓不能突變當(dāng)單片機(jī)電源接通電源的瞬間單片機(jī)的9管腳會(huì)產(chǎn)生一個(gè)階躍信號(hào),所以RTS端維持高電平由于這個(gè)充電時(shí)間遠(yuǎn)遠(yuǎn)大于1ms,一般就可以實(shí)現(xiàn)對(duì)單片機(jī)的上電自動(dòng)復(fù)位,即接通電源就完成了系統(tǒng)的初始化。
初始化是為了讓單片機(jī)從地址0000H開(kāi)始執(zhí)行, 除此之外單片機(jī)要想正常工作還必須有時(shí)鐘電路,時(shí)鐘電路是產(chǎn)生時(shí)序的基礎(chǔ),單片機(jī)每執(zhí)行一條指令都是建立在時(shí)序電路上的,為了能保證單片機(jī)執(zhí)行指令的同步,電路就要在唯一的時(shí)鐘信號(hào)控制下按時(shí)序的先后進(jìn)行工作。它分為內(nèi)部時(shí)鐘電路和外部時(shí)鐘電路。本文采用的是內(nèi)部時(shí)鐘電路,在MCS—51單片機(jī)的內(nèi)部有一個(gè)高增益的反向放大器,其輸入端為引腳XTAL1,輸出端為XTAL2,只要在外部接上兩個(gè)電容和一個(gè)晶振,就能夠成一個(gè)穩(wěn)定的自激振蕩器。
這里主要看一下電容和晶振的選擇,晶振的大小與單片機(jī)的振蕩頻率有關(guān),電容的大小影響著振蕩器振蕩的穩(wěn)定性和起振的快速性,通常選擇10~30pF的瓷片電容。本系統(tǒng)電容選擇為33pF,晶振為12MHz之所以選擇這一頻率的晶振是為了在進(jìn)行單片機(jī)與電腦進(jìn)行串口通信時(shí)容易產(chǎn)生和電腦時(shí)鐘同步的波特率,另外在設(shè)計(jì)電路時(shí),晶振和電容應(yīng)盡可能的靠近芯片,這樣可以提高系統(tǒng)的抗干擾能力,電源部分,電源與地之間可以接一個(gè)0.1uF的電容,它用來(lái)濾除電源的紋波,使單片機(jī)穩(wěn)定工作,單片機(jī)最小系統(tǒng)如圖3-1所示。



                       3-1 單片機(jī)最小系統(tǒng)

    單片機(jī)引腳說(shuō)明:

VCC:電源電壓輸入端。

GND:電源地。

P0口:P0口是一個(gè)8位漏極開(kāi)路雙向I/O端口,每個(gè)引腳可以吸收8TTL門(mén)電流。P0口當(dāng)作數(shù)據(jù)輸出時(shí)需要加上拉電阻,當(dāng)P0口的I/O口被寫(xiě)“1”后,被定義為高阻抗輸入狀態(tài)。P0可以用于外部程序數(shù)據(jù)存儲(chǔ)器,P0口可以是地址的低八位以及數(shù)據(jù)輸出口。
P1口:P1口是一個(gè)8位雙向的I/O端口單片機(jī)內(nèi)部加上了上拉電阻的端口,P1口緩沖器可接收的4TTL柵極電流輸出。P1口的I/O口被寫(xiě) “1”后,內(nèi)部上拉的是高的,可以作為輸入,P1口外部下拉低時(shí)輸出電流,這是因?yàn)橛袃?nèi)部上拉的緣故。
P2口:P2口是一個(gè)8位雙向的I/O端口單片機(jī)內(nèi)部加上了上拉電阻的端口,P2口緩沖器可接收的4TTL柵極電流輸出。當(dāng)P2口的I/O口被寫(xiě)“1”后,內(nèi)部上拉的是高的,可以作為輸入,P2口外部下拉低時(shí)輸出電流,這是因?yàn)橛袃?nèi)部上拉的緣故。當(dāng)P2口用于外部程序存儲(chǔ)器或外部數(shù)據(jù)存儲(chǔ)器時(shí)P2口是地址高八位輸出。

P3口:P3口是一個(gè)8位雙向的I/O端口單片機(jī)內(nèi)部加上了上拉電阻的端口,P3口緩沖器可接收的4TTL柵極電流輸出。P3口的I/O口被寫(xiě)“1”后,內(nèi)部上拉的是高的,可以作為輸入,P3口外部下拉低時(shí)輸出電流,這是因?yàn)橛袃?nèi)部上拉的緣故。P3口除了普通I/O口功能,還有其第二功能

P3.0 RXD(串行輸入口)

P3.1 TXD(串行輸出口)

P3.2 /INT0(外部中斷0)

P3.3 /INT1(外部中斷1)

P3.4 T0(T0定時(shí)器的外部計(jì)數(shù)輸入)

P3.5 T1(T1定時(shí)器的外部計(jì)數(shù)輸入)

P3.6 /WR(外部數(shù)據(jù)存儲(chǔ)器的寫(xiě)選通)

P3.7 /RD(外部數(shù)據(jù)存儲(chǔ)器的讀選通)

RST:復(fù)位引腳高電平時(shí)MCU復(fù)位,復(fù)位信號(hào)輸入端口,當(dāng)MCU要復(fù)位時(shí),給與此引腳高電平,高電平持續(xù)時(shí)間是不少于兩個(gè)機(jī)器周期的時(shí)間。
ALE/PROG:地址鎖存使能以及編程脈沖信號(hào)端口。當(dāng)單片機(jī)訪問(wèn)外部的存儲(chǔ)器時(shí),地址鎖存使能鎖存地址低八位。通常情況下,ALE引腳輸出單片機(jī)外部振蕩器的頻率的1/6的頻率輸出。應(yīng)該注意到的是:當(dāng)用于單片機(jī)擴(kuò)展外部的數(shù)據(jù)存儲(chǔ)器時(shí),它會(huì)少一個(gè)ALE脈沖。如果你想禁止ALE輸出可以設(shè)置為0在SFR8EH地址。此時(shí),ALE只有在執(zhí)行MOVX,MOVC指令時(shí)ALE才起作用。此外,ALE引腳倍稍微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE的禁令,設(shè)置無(wú)效。
PSEN:程序存儲(chǔ)器允許輸出控制端,在讀外部程序存儲(chǔ)器時(shí)PSEN低電平有效,以實(shí)現(xiàn)外部程序存儲(chǔ)器單元的讀操作。
EA/VPP:外部程序存儲(chǔ)器訪問(wèn)允許。當(dāng)/EA接高電平時(shí),單片機(jī)讀取內(nèi)部程序序存儲(chǔ)器,當(dāng)擴(kuò)展有外部ROM時(shí),當(dāng)讀完內(nèi)部ROM后自動(dòng)讀取外部ROM,當(dāng)/EA接低電平時(shí),單片機(jī)直接讀取外部程序存儲(chǔ)器。
XTAL1:片內(nèi)振蕩器反相放大器和時(shí)鐘發(fā)生器的輸入端。
XTAL2:片內(nèi)振蕩器反相放大器的輸出端。


3.2 存儲(chǔ)模塊AT24C02
存儲(chǔ)模塊的設(shè)計(jì)是把WP引腳接到GND上因?yàn)橐屍骷M(jìn)行正常的讀/寫(xiě)操作,把SDA串行數(shù)據(jù)/地址與單片機(jī)的P3.7引腳使AT24C02與單片機(jī)進(jìn)行所有數(shù)據(jù)的發(fā)送或接收,把SCK串行時(shí)鐘引腳與單片機(jī)的P3.6引腳相連接,讓單片機(jī)產(chǎn)生一個(gè)AT24C02工作的時(shí)鐘,使其正常的工作。存儲(chǔ)模塊電路如圖3-2所示。








3-2存儲(chǔ)模塊 AT24C02硬件結(jié)構(gòu)
AT24C02的特點(diǎn):數(shù)據(jù)線看門(mén)狗定時(shí)器;可編程復(fù)位門(mén)級(jí);高數(shù)據(jù)傳輸速率400kHz速率和I2C總線;2.7V至7V電壓;低功耗CMOS工藝兼容;16 bespate寫(xiě)緩沖區(qū);反撇寫(xiě)保護(hù)芯片;高低電平復(fù)位信號(hào)輸出;100萬(wàn)擦除周期;保存長(zhǎng)達(dá)100年。
定義如下的總線狀態(tài),見(jiàn)圖3-3。

3-3 總線時(shí)序
  • 總線空閑(狀態(tài)A)
   數(shù)據(jù)線和時(shí)鐘線都保持高電平狀態(tài)。
  • 起始信號(hào)(狀態(tài)B)
    時(shí)鐘線保持高電平期間,數(shù)據(jù)線從高電平到低電平的跳變作為I2C總線的起始信號(hào)。所有操作都必須以起始信號(hào)為前提。
  • 停止信號(hào)(狀態(tài)C)
    時(shí)鐘線保持高電平期間,數(shù)據(jù)線從低電平到高電平的跳變作為I2C總線的停止信號(hào)。所有操作都必須以停止信號(hào)結(jié)尾。
  • 數(shù)據(jù)有效(狀態(tài)D)
    起始信號(hào)之后,在時(shí)鐘信號(hào)保持高電平期間,數(shù)據(jù)線傳送的數(shù)據(jù)有效。
    數(shù)據(jù)線上的數(shù)據(jù)必須在時(shí)鐘信號(hào)為低電平時(shí)改變,以傳輸下一字節(jié)的數(shù)據(jù)。每傳輸一字節(jié)的數(shù)據(jù),就會(huì)有一個(gè)時(shí)鐘信號(hào)的暫停。
數(shù)據(jù)傳輸都必須以起始信號(hào)開(kāi)頭,以停止信號(hào)結(jié)尾。在起始信號(hào)和停止信號(hào)期間傳輸數(shù)據(jù)的總量大小由主器件決定,理論上是沒(méi)有限制的。但是在寫(xiě)狀態(tài)下只有最后16個(gè)周期傳送的數(shù)據(jù)會(huì)被寫(xiě)入。如果待寫(xiě)入的數(shù)據(jù)超出了這個(gè)限制,會(huì)根據(jù)先入先出的原則覆蓋掉前面的數(shù)據(jù)。










    每一個(gè)被尋址到的從設(shè)備,在成功接收一個(gè)字節(jié)的數(shù)據(jù)后,都必須產(chǎn)生一個(gè)應(yīng)答信號(hào)。主設(shè)備必須增加一個(gè)額外的時(shí)鐘信號(hào),接收從器件對(duì)收到數(shù)據(jù)的響應(yīng)。器件應(yīng)答的方式是在響應(yīng)時(shí)鐘周期時(shí)將SDA線拉低,表示其已收到一個(gè)8位數(shù)據(jù)。如圖3-4。當(dāng)然,調(diào)整時(shí)間和保持時(shí)間都必須計(jì)算在內(nèi)。主器件在傳送完最后一個(gè)字節(jié)的數(shù)據(jù)之后,不傳送應(yīng)答信號(hào),從而向從器件標(biāo)明數(shù)據(jù)傳送結(jié)束。在這種情況下,從器件必須保持SDA高電平,使主器件可以產(chǎn)生停止信號(hào)。當(dāng)AT24C02在內(nèi)部讀寫(xiě)周期內(nèi)是不會(huì)產(chǎn)生任何響應(yīng)信號(hào)的。

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

3-5 紅外模塊硬件結(jié)構(gòu)
紅外線接收器大都將信號(hào)的接受、放大、檢波等集于一身,而且可以經(jīng)過(guò)編碼解碼時(shí)單片機(jī)收到可識(shí)別的信號(hào)源。這樣一來(lái)便會(huì)減少硬件設(shè)計(jì)過(guò)程中的麻煩,使電路簡(jiǎn)單化,且應(yīng)用起來(lái)比較方便。下圖為紅外一體化接受頭HS0038,外觀圖如圖所示。



                      3-6紅外接收元器件
3.4 顯示模塊LCD1602
如果想要了解系統(tǒng)的運(yùn)行與工作狀態(tài)顯示器是不可缺少的,顯示器是一個(gè)典型的輸出設(shè)備并且它的實(shí)際應(yīng)用也是極為廣泛的,幾乎所有的電子產(chǎn)品都會(huì)使用到顯示器其差別僅在于顯示器的結(jié)構(gòu)類(lèi)型不同而已。最簡(jiǎn)單的顯示器可以是LED發(fā)光二極管或者數(shù)碼管,它可以給出一個(gè)簡(jiǎn)單的開(kāi)關(guān)信息或者數(shù)字顯示,而需要顯示復(fù)雜的完整的信息上述的器件就不能勝任,而液晶的出現(xiàn)就很好的解決了這一問(wèn)題,它不僅顯示內(nèi)容豐富而且好節(jié)約了單片機(jī)的管腳資源。本設(shè)計(jì)采用的是液晶顯示LCD1602。LCD1602內(nèi)部的字符已經(jīng)儲(chǔ)存了不同的字符形式,每一個(gè)字符都有一個(gè)固定的代碼,其代碼與標(biāo)準(zhǔn)的ASCII字符代碼一致。因此只要寫(xiě)入顯示字符的ASCII碼即可,這種標(biāo)準(zhǔn)化的設(shè)計(jì)給使用帶來(lái)很大的方便。比如英文字母“C”的ASCII代碼是01000011(43H),顯示時(shí)單片機(jī)往液晶模塊寫(xiě)入顯示指令,模塊就會(huì)把地址為43H中的點(diǎn)陣字符圖形識(shí)別出,并會(huì)在液晶屏相應(yīng)位置上看到字母“C”。
LCD1602液晶顯示與單片機(jī)的連接可以分為兩種方式:總線方式和模擬口線方式。在實(shí)驗(yàn)中,我們常采用模擬口線連接方式。如圖3-7所示。                           



3-7 顯示模塊硬件結(jié)構(gòu)
目前市場(chǎng)字符液晶絕大多數(shù)是基于HD44780的液晶芯片,控制原理是完全相同的,因此基于HD44780的寫(xiě)控制程序可以很容易地應(yīng)用到市場(chǎng)上大部分的字符液晶。LCD1602液晶的幾個(gè)特性:+5V電壓、對(duì)比度可調(diào)、內(nèi)含復(fù)位電路;提供各種控制命令,如:清屏、字符閃爍、光標(biāo)閃爍、顯示移位等多種功能;有80字節(jié)顯示數(shù)據(jù)存儲(chǔ)器DDRAM;內(nèi)建有160個(gè)5X7點(diǎn)陣的字型的字符發(fā)生器CGROM 8個(gè)可由用戶自定義的5X7的字符發(fā)生器CGRAM。

       3-1 LCD液晶屏引腳說(shuō)明

編號(hào)

符號(hào)

引腳說(shuō)明

編號(hào)

符號(hào)

引腳說(shuō)明

1

VSS

電源地

9

D2

Data I/O

2

VDD

電源正極

10

D3

Data I/O

3

VEE

液晶顯示偏壓信號(hào)

11

D4

Data I/O

4

RS

數(shù)據(jù)/命令選擇端(H/L)

12

D5

Data I/O

5

R/W

讀寫(xiě)選擇端(H/L)

13

D6

Data I/O

6

E

使能信號(hào)

14

D7

Data I/O

7

D0

Data I/O

15

BLA

背光源正極

8

D1

Data I/O

16

BLK

背光源負(fù)極

LCD1602采用標(biāo)準(zhǔn)的16腳接口,其中VSS為地電源,VDD接5V正電源,VEE為液晶顯示器。RS為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器。RW為讀寫(xiě)信號(hào)線,高電平1時(shí)進(jìn)行讀操作,低電平0時(shí)進(jìn)行寫(xiě)操作。E端為使能端。D0~D7為8位雙向數(shù)據(jù)線。
3.5 電源電路模塊
控制系統(tǒng)主控制部分電源需要用5V直流電源供電,其電路如圖3-8所示,把有效值為220V頻率為50Hz單相交流電壓轉(zhuǎn)換為幅值穩(wěn)定的5V直流電壓。其主要原理是把單相交流電,經(jīng)過(guò)電源變壓器降壓。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
由于輸入電壓為電網(wǎng)電壓,一般情況下所需直流電壓的數(shù)值和電網(wǎng)電壓的有效值相差較大,因而電源變壓器的主要作用是起到降壓作用。降壓后還是交流電壓,所以需要整流電路把交流電壓轉(zhuǎn)換成直流電壓。由于經(jīng)整流電路整流后的電壓含有較大的交流分量,會(huì)影響到負(fù)載電路的正常工作。需要通過(guò)低通濾波電路濾除交流成分使輸出電壓平滑穩(wěn)定。穩(wěn)壓電路的功能是使輸出直流電壓基本不受負(fù)載電阻變化和電網(wǎng)電壓波動(dòng)的影響,從而獲得穩(wěn)定性足夠高的直流電壓。本電路使用集成穩(wěn)壓芯片LM7805解決了電源穩(wěn)壓?jiǎn)栴},在穩(wěn)壓芯片的前段分別放置兩個(gè)電容主要是為了濾除電源中的高低頻干擾而在芯片之后又經(jīng)過(guò)一級(jí)的濾波以使電源更為潔凈,并在電源輸出端加上LED以此來(lái)顯示電源的開(kāi)關(guān)狀態(tài)。


3-8 電源電路硬件結(jié)構(gòu)
3.6 鍵盤(pán)輸入模塊
鍵盤(pán)是單片機(jī)十分重要的輸入設(shè)備,是實(shí)現(xiàn)人機(jī)對(duì)話的紐帶。鍵盤(pán)是由一組規(guī)則排列的按鍵組成,一個(gè)按鍵實(shí)際上就是一個(gè)開(kāi)關(guān)元件,即鍵盤(pán)是一組規(guī)則排列的開(kāi)關(guān)。根據(jù)按鍵與單片機(jī)的連接方式不同,按鍵主要分為獨(dú)立式按鍵和矩陣式按鍵 ,有了這些按鍵,對(duì)單片機(jī)的控制就方便多了。
本設(shè)計(jì)按鍵數(shù)量較多,所以采用矩陣式按鍵以節(jié)省I/O口線。將16個(gè)按鍵分為4排4列排列好,如圖3-9矩陣鍵盤(pán)硬件結(jié)構(gòu)。當(dāng)有一個(gè)鍵按下時(shí),通過(guò)某一邊引腳賦低電平,掃描全部引腳看是否與最初的賦值一樣,不一樣則根據(jù)相應(yīng)的算法(通過(guò)改變后的值與初始值相或,根據(jù)結(jié)果賦值)確定是哪個(gè)鍵按下。








3-9鍵盤(pán)模塊硬件結(jié)構(gòu)
鍵盤(pán)為4×4形式,按鍵包括阿拉伯?dāng)?shù)字0~9,以及鎖定、更改和改密三個(gè)應(yīng)用按鍵。當(dāng)用戶需要輸入密碼或修改密碼時(shí),按下相應(yīng)按鍵即會(huì)與單片機(jī)產(chǎn)生信號(hào),并會(huì)執(zhí)行相應(yīng)的程序。
3.7 報(bào)警電路
當(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-10所示。






3-10報(bào)警電路硬件結(jié)構(gòu)
3.8 開(kāi)鎖電路
開(kāi)鎖電路的功能是當(dāng)輸入正確的密碼后密碼鎖將被鎖定,既開(kāi)鎖。當(dāng)單片機(jī)P2.6引腳發(fā)出信號(hào)經(jīng)三極管放大后,觸動(dòng)電磁閥即會(huì)把鎖打開(kāi)。一旦輸入密碼,單片機(jī)便會(huì)與初始密碼進(jìn)行比對(duì),如果密碼輸入兩次都與原始密碼不相符即會(huì)報(bào)警。其原理圖如圖3-11所示。





3-11 開(kāi)鎖電路硬件結(jié)構(gòu)
3.9 復(fù)位電路
能讓單片機(jī)運(yùn)行起來(lái)的最小硬件連接就是單片機(jī)最小系統(tǒng)電路,51單片機(jī)的最小系統(tǒng)電路一般包括工作電源、振蕩電路和復(fù)位電路等幾部分。
復(fù)位電路(圖3-12是單片機(jī)復(fù)位電路)具有上電自動(dòng)復(fù)位和手動(dòng)復(fù)位的雙重功能。單片機(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)似。







3-12 復(fù)位電路硬件結(jié)構(gòu)
3.10串行通信電路
隨著計(jì)算機(jī)在各個(gè)領(lǐng)域的廣泛應(yīng)用和智能化控制的發(fā)展,多微機(jī)系統(tǒng)和計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的普及,計(jì)算機(jī)的通信功能顯得越來(lái)越重要。計(jì)算機(jī)通信是指將計(jì)算機(jī)技術(shù)和通信技術(shù)相結(jié)合完成計(jì)算機(jī)與外部控制設(shè)備或計(jì)算機(jī)與計(jì)算機(jī)之間的信息交換或信息處理,按通信方式可以分為兩大類(lèi):并行通信與串行通信。并行通信通常是將數(shù)據(jù)字節(jié)的各位用多條數(shù)據(jù)線同時(shí)進(jìn)行傳送 , 并行通信控制簡(jiǎn)單、傳輸速度快,但是由于傳輸線較多長(zhǎng)距離傳送時(shí)成本高且接收方的各位同時(shí)接收存在一定的困難。串行通訊傳輸線少,長(zhǎng)距離傳送時(shí)成本低且可以利用電話網(wǎng)等現(xiàn)成的設(shè)備所以本設(shè)計(jì)采用串口與單片機(jī)進(jìn)行通信。
大多數(shù)PC機(jī)都有一個(gè)串行通訊端口,RS-232主要用于計(jì)算機(jī)之間進(jìn)行數(shù)據(jù)的交換與通訊RS-232通訊接口是電子領(lǐng)域的一種標(biāo)準(zhǔn)化傳輸接口,主要是為了進(jìn)行遠(yuǎn)程傳輸與通訊連接終端設(shè)備的物理接口。RS-232采用非平衡連接在這個(gè)線路中信號(hào)的電壓都使用一個(gè)公共的接地線,所有信號(hào)電壓都加到一條導(dǎo)線上為了能提高串口通信的抗干擾能力和數(shù)據(jù)傳送距離,RS-232芯片的信號(hào)和電平采用負(fù)邏輯電平,直流電壓值在-15至-5V芯片規(guī)定為邏輯值“1”,直流電壓值在+ 5至+15V芯片規(guī)定邏輯值“0”,直流電壓在-5至+5V為過(guò)渡區(qū)。由于單片機(jī)輸入與輸出為T(mén)TL電平這與 PC機(jī)所執(zhí)行的串行接口標(biāo)準(zhǔn)不一致數(shù)據(jù)無(wú)法正常傳輸。
因此要實(shí)現(xiàn)單片機(jī)與PC機(jī)之間的數(shù)據(jù)通讀,必須進(jìn)行電平轉(zhuǎn)換。一般常用的電平轉(zhuǎn)換器件有MC1488、MC1489及MAX232等,但MC1488、MC1489需要±12V電源,這對(duì)于不具備±12V電源的單片機(jī)系統(tǒng)是非常不便的。故本系統(tǒng)使用MAX232實(shí)現(xiàn)電平轉(zhuǎn)換。單片機(jī)的第10、11管腳與MAX232芯片的11、12管腳相連并互相傳送數(shù)據(jù)通過(guò)MAX232芯片將單片機(jī)的TTL電平轉(zhuǎn)換成電腦所能識(shí)別的電平。電路原理如圖3-13所示。














3-13 串行通信電路硬件結(jié)構(gòu)




3.11 系統(tǒng)整體原理圖
智能電子密碼鎖的基本原理是:從矩陣鍵盤(pán)輸入一組密碼,單片機(jī)把該密碼和設(shè)置密碼進(jìn)行比較,若輸入的密碼正確,則控制電磁鎖動(dòng)作,將電磁鎖抽回,從而將鎖打開(kāi);若輸入的密碼不正確,則要求從新輸入,并記錄錯(cuò)誤次數(shù),如果2次錯(cuò)誤,則被強(qiáng)制鎖定并報(bào)警。如下圖3-14所示:

3-14 系統(tǒng)整體原理圖


4系統(tǒng)軟件設(shè)計(jì)
軟件設(shè)計(jì)主要包括了主程序設(shè)計(jì)、鍵盤(pán)掃描設(shè)計(jì)、密碼修改設(shè)計(jì)、開(kāi)鎖程序設(shè)計(jì)以及紅外遙控設(shè)計(jì)五個(gè)方面。本設(shè)計(jì)采用Keil編譯器來(lái)進(jìn)行軟件的編程。
4.1 主程序設(shè)計(jì)
























4-1 主程序流程圖設(shè)計(jì)
主程序主要完成了系統(tǒng)的初始化、按鍵掃描、按鍵功能、以及調(diào)用顯示等功能。主程序部分如下:
En bit P8       將LCD的en引腳連接到單片機(jī)的P8
Rw bit P9
Rs bit P10
Speaker bit P2.7
Open bit P2.6    開(kāi)鎖電路的控制端連接到P2.6口

4.2鍵值判斷設(shè)計(jì)
鍵盤(pán)掃描和鍵值讀取程序主要判斷矩陣按鍵是否按下,按下的是哪一個(gè)鍵,并求出按鍵的鍵值。矩陣鍵盤(pán)的識(shí)別方法有多種。相對(duì)來(lái)說(shuō),矩陣式鍵盤(pán)的軟件設(shè)計(jì)最終實(shí)現(xiàn)以下功能:是否有按鍵被按下;消除抖動(dòng);確定哪個(gè)鍵被按下,若按鍵閉合了一次,操作也只能是一次。


            4-2 鍵盤(pán)流程圖設(shè)計(jì)
鍵盤(pán)程序如下:
if((0keydata)||(4keydata)||(8keydata)||keydata==14)
                                                                      //在0-9之間的數(shù)字通過(guò)
                                                        password=keydata;//鍵盤(pán)值進(jìn)行保存
                                                        keydata=0;                            //把鍵盤(pán)值置其它值,不被其它利用,以一樣
                                                        i++;
4.3開(kāi)鎖設(shè)計(jì)
當(dāng)輸入密碼正確時(shí),單片機(jī)輸出低電平,控制繼電器工作,模擬開(kāi)鎖動(dòng)作,同時(shí),當(dāng)輸入密碼或開(kāi)鎖成功時(shí),蜂鳴器發(fā)出相應(yīng)的提示音。

4-3開(kāi)鎖流程圖設(shè)計(jì)

開(kāi)鎖程序設(shè)計(jì)如下:

while(1)
                            {
                                          if(keydata==4)              //鎖定功能
                                          {
                                                        P3_6=0;
                                                        EX1=1;

                                                        goto start;

4.4密碼修改設(shè)計(jì)
輸入密碼前,要先將正確的密碼從存儲(chǔ)器24C02中讀出,并存放在單片機(jī)RAM從40H開(kāi)始的6個(gè)單元中。6位密碼鎖由矩陣按鍵輸入,輸入的密碼存儲(chǔ)在單片機(jī)RAM從30H開(kāi)始的6個(gè)單元中,每輸入一位密碼,都要和正確的密碼進(jìn)行比較;若全部6位密碼均輸入正確,顯示密碼正確信息;若輸入的密碼不完全正確,則進(jìn)行第二位輸入,若輸入3次仍不正確,則報(bào)錯(cuò)。輸入密碼時(shí),還要打開(kāi)定時(shí)器T0,使定時(shí)器T0工作,當(dāng)計(jì)時(shí)到30s時(shí),若輸入的密碼不正確或未輸入密碼,則顯示出錯(cuò)信息。密碼修改程序用來(lái)設(shè)置新密碼,當(dāng)輸入的開(kāi)鎖密碼正確后,可重新設(shè)置新密碼,輸入的新密碼暫存在單片機(jī)RAM從40H開(kāi)始的單元中,然后,調(diào)用存儲(chǔ)器子程序,將40H開(kāi)始的6位密碼存儲(chǔ)在24C02中。







4-4 密碼修改流程圖設(shè)計(jì)

密碼程序如下:

              if(keydata==33)                 //確定進(jìn)入密碼比較
                                          {
                                                        keydata=0;
panduan:                            i=0;
                                                        for(j=0;j<6;j++)
                                                        {
                                                                      l+=password[j];
                                                                      k+=Random_Read(j);
                                                        }
                                                        if(l!=k)                            //密碼不同進(jìn)行處理
                                                        {
                                                                      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;}//兩次錯(cuò)誤發(fā)出報(bào)警

                                                                      goto start;                                                          //第二次輸入密碼

4.5 紅外遙控設(shè)計(jì)
HS0038 接收頭負(fù)責(zé)紅外遙控信號(hào)的解調(diào),將調(diào)制在38kHz上的紅外脈沖信號(hào)解調(diào)并反相后輸入到單片機(jī)的P3.2引腳,接收的信號(hào)由單片機(jī)進(jìn)行高電平與低電平寬度的測(cè)量,并進(jìn)行解碼處理。解碼編程時(shí),既可以使用中斷方式,也可以使用查詢(xún)方式。

4-5 紅外遙控流程圖設(shè)計(jì)

4.6 Keil編程軟件介紹
單片機(jī)的開(kāi)發(fā)離不開(kāi)必要的硬件,同樣也離不開(kāi)軟件,編寫(xiě)的匯編語(yǔ)言源程序要變?yōu)镃PU可以執(zhí)行的機(jī)器碼有兩種方法,一種是手工匯編,另一種是機(jī)器匯編。隨著單片機(jī)開(kāi)發(fā)技術(shù)的不斷發(fā)展,單片機(jī)的開(kāi)發(fā)軟件也在不斷的發(fā)展,Keil軟件是目前最流行開(kāi)發(fā)51單片機(jī)的軟件。
在硬件電路設(shè)計(jì)好的同時(shí),也需要軟件的開(kāi)發(fā)及使用。目前單片機(jī)類(lèi)的課程設(shè)計(jì)大多采用Keil軟件來(lái)進(jìn)行程序的編寫(xiě)。Keil不僅支持C語(yǔ)言還支持匯編語(yǔ)言。支持不同型號(hào)的MCS系類(lèi)的51單片機(jī)的型號(hào)。Keil軟件已從早期的第一代發(fā)展到第四代了,有了更強(qiáng)大的功能。
這款軟件的操作方法也很簡(jiǎn)單,甚至有些必須采用很復(fù)雜的硬件電路才能完成的工作,用軟件編程有時(shí)會(huì)變得很簡(jiǎn)單,這樣可以把復(fù)雜電路的輸入信號(hào)直接用信號(hào)發(fā)生器給定,或是用電源來(lái)給定通過(guò)對(duì)電壓電流的調(diào)節(jié)來(lái)實(shí)現(xiàn)。Keil 工程的建立打開(kāi)已安裝好的開(kāi)發(fā)環(huán)境,進(jìn)入界面后選擇project然后在其下拉菜單中選擇new project選項(xiàng)如圖4-6所示。

4-6  新建工程
這樣就能新建一個(gè)工程 ,在選定的路徑下建立一個(gè)名字叫做abc的文件夾如圖4-7所示,在abc文件夾中建立了一個(gè)xyz.c文件之后點(diǎn)擊保存按鈕就會(huì)出現(xiàn)如圖4-8所示的畫(huà)面在此對(duì)話框中選擇Atmel之后會(huì)彈出一系列的單片機(jī)在本次設(shè)計(jì)中選用的是51單片機(jī),完成后在選Target 1下的Source Group 1選擇Add把xyz.c文件加載到里面在xyz.c下添加所編好的C語(yǔ)言程序或是匯編語(yǔ)言程序,如果程序是分開(kāi)寫(xiě)得就可以添加多個(gè)子程序還有主程序,每個(gè)程序中必須有頭文件否則編譯不會(huì)通過(guò) ,會(huì)顯示有錯(cuò)誤。等編譯.hex文件時(shí)就要在此文件夾下找到。

4-7  新建工程文件夾的建立

4-8  芯片的選擇
所有程序都加到工程項(xiàng)目文件夾中后就可以對(duì)其進(jìn)行編譯了。編譯成功后,下方會(huì)有對(duì)話框顯示,有幾個(gè)錯(cuò)誤,分別是在那幾個(gè)位置。直接單擊錯(cuò)誤這條信息就可以索引到源文件中。如圖所示4-9所示。

4-9  錯(cuò)誤的生成及索引
















5 仿真設(shè)計(jì)
5.1 Protues仿真軟件概述
Protues是目前使用比較廣泛的單片機(jī)類(lèi)的仿真系統(tǒng)的軟件之一,它可以實(shí)現(xiàn)的功能比較多,可以實(shí)現(xiàn)程序與原理圖的連調(diào),也可以單獨(dú)作為繪制原理圖的工具使用,與Protel有著過(guò)之不及的功能,于此同時(shí)還可以進(jìn)行PCB版圖的生成,在方法中與Protel類(lèi)似。此款軟件及繪制原理圖、PCB版圖和仿真于一身。Protues此款軟件的使用比較簡(jiǎn)單。在運(yùn)行環(huán)境搭載好的前提下,打開(kāi)ISIS直接進(jìn)入到主界面,在左邊欄框中有一個(gè)快捷鍵P(從庫(kù)中選取),點(diǎn)擊后出現(xiàn)一個(gè)對(duì)話框然后輸入想要查找的元器件即可。之后在單擊確定按鍵所選器件就會(huì)顯示在界面左上角的小框中此時(shí)點(diǎn)擊鼠標(biāo)左鍵就會(huì)放到圖層中,然后直接把鼠標(biāo)放到接頭處就會(huì)顯示一個(gè)畫(huà)筆的標(biāo)志此時(shí)按住鼠標(biāo)左鍵就可進(jìn)行連線了。如圖5-1所示為繪圖界面。

5-1  繪圖界面



5.2 ProtuesKeil的連調(diào)
在進(jìn)行連調(diào)之前必須確保程序是完整的,原理圖也是沒(méi)有錯(cuò)誤的。還要在正確的運(yùn)行平臺(tái)下進(jìn)行操作。檢查沒(méi)有錯(cuò)誤后,打開(kāi)原理圖,點(diǎn)擊單片機(jī)就會(huì)出現(xiàn)一個(gè)對(duì)話框如圖5-2所示,然后把生成的.hex文件添加到里面即可實(shí)現(xiàn)。在這里比較重要的就是.hex文件的生成過(guò)程。首先把已編寫(xiě)好的程序加載到Keil軟件下進(jìn)行編譯如果沒(méi)有遇到任何錯(cuò)誤后,就直接點(diǎn)擊工具欄中的 就會(huì)彈出如下圖所示的對(duì)話框,然后選擇相應(yīng)的選項(xiàng)就可以生成.hex文件了。之后再按照生成的的路徑去尋找這個(gè)文件。找到之后加載到之前點(diǎn)開(kāi)的  對(duì)話框上即可。在此后點(diǎn)擊運(yùn)行按鍵就會(huì)進(jìn)行仿真了,按照設(shè)計(jì)的功能去調(diào)試就可以了。

5-2加載.hex文件






5.3 ProtuesKeil的連調(diào)的仿真結(jié)果
系統(tǒng)仿真運(yùn)行環(huán)境下的結(jié)果如圖5-3所示。

5-3 系統(tǒng)仿真圖

開(kāi)鎖仿真圖如5-4所示。

                       5-4 開(kāi)鎖圖

更改密碼圖如5-5所示。

5-5 更改密碼圖

輸入錯(cuò)誤密碼報(bào)警如圖5-6所示。

5-6 報(bào)警圖

5.4問(wèn)題及解決辦法
在本系統(tǒng)的軟件設(shè)計(jì)過(guò)程中,遇到了很多問(wèn)題。首先是對(duì)軟件的開(kāi)發(fā)環(huán)境Keil的運(yùn)用有些模糊、對(duì)它的操作過(guò)程需要看專(zhuān)業(yè)書(shū)以及向同學(xué)請(qǐng)教才能完成!其次是用C語(yǔ)言編程,這對(duì)于我來(lái)說(shuō)可是一件十分困難的事情,最終是在同學(xué)的幫助之下才得以完成。而在Protues仿真過(guò)程中,也遇到了同樣的問(wèn)題,最后通過(guò)網(wǎng)上的教學(xué)資料對(duì)其使用有了一定的了解。而在仿真軟件中,并沒(méi)有紅外一體化接收頭HS0038,所以在同學(xué)及指導(dǎo)老師的幫助下采用555振蕩器模擬仿真,一旦有信號(hào)發(fā)射或接收將會(huì)有波形顯示來(lái)模擬仿真。

結(jié)   論
本設(shè)計(jì)是基于單片機(jī)實(shí)現(xiàn)電子密碼鎖,基本完成了按鍵有效提示、輸入錯(cuò)誤提示,控制開(kāi)鎖電平、控制報(bào)警電路、修改密碼等多種功能。本系統(tǒng)具有結(jié)構(gòu)簡(jiǎn)單,硬件較少,容易實(shí)現(xiàn),性能穩(wěn)定可靠,成本低等特點(diǎn)。
在設(shè)計(jì)過(guò)程中,我查閱大量的相關(guān)資料,詳細(xì)的了解了各個(gè)芯片的作用,如何工作,工作原理,個(gè)個(gè)芯片引腳的連接方式。對(duì)系統(tǒng)硬件的設(shè)計(jì),電路原理圖以及仿真,軟件流程圖和具體的匯編語(yǔ)言的設(shè)計(jì)都有了相應(yīng)的提高。此次設(shè)計(jì)涉及到了Protues和Protel99和一些單片機(jī)指令,通過(guò)近段時(shí)間的使用,對(duì)這些有了更深的了解。對(duì)于軟件部分的Keil軟件的使用,是我們對(duì)匯編語(yǔ)言以及C語(yǔ)言又有了更深一步的了解。
通過(guò)完成設(shè)計(jì),我們對(duì)所學(xué)的知識(shí)有了更深刻地了解,實(shí)現(xiàn)了從理論到實(shí)踐再到理論的幾個(gè)飛躍,也更加了解到科學(xué)知識(shí)應(yīng)該以服務(wù)社會(huì)為目的,只有掌握了足夠的知識(shí)才能更好的為社會(huì)貢獻(xiàn)我們的力量。我學(xué)會(huì)了利用所學(xué)知識(shí)以技術(shù)上的知識(shí)解決問(wèn)題的能力。

致    謝

時(shí)光飛逝,轉(zhuǎn)眼間又到了畢業(yè)的季節(jié)。

兩年在北京聯(lián)合大學(xué)的學(xué)習(xí),讓我真正感受到了大學(xué)的生活是那么美好。在即將離開(kāi)之時(shí)才發(fā)現(xiàn)心中的不舍是那么的深刻。舍不得與同學(xué)間深刻的友誼,舍不得與老師間溫暖的問(wèn)候,更舍不得校園里象牙塔般的快樂(lè)生活!

在校園的生活的最后篇章里,我想要把我全部的感謝感激一一的傾訴出來(lái)。首先感謝我的母校,其次感謝我的任課老師,在我人生中最迷茫的時(shí)候?yàn)槲抑更c(diǎn)迷途,帶我走進(jìn)那夢(mèng)想般的燈塔!還要感謝我的論文指導(dǎo)老師張巧杰老師,張巧杰老師最為外聘老師對(duì)我們論文的指導(dǎo)十分認(rèn)真,每周都會(huì)帶著自己論文完成情況以及論文中遇到的問(wèn)題去找指導(dǎo)老師,老師會(huì)耐心的為我們解答,并且還會(huì)關(guān)心我們每個(gè)人的實(shí)習(xí)生活狀況,給予鼓勵(lì)和激勵(lì)!我衷心的感謝指導(dǎo)老師。當(dāng)然,不會(huì)忘記陪伴我兩年的同窗同學(xué),一起風(fēng)風(fēng)雨雨走過(guò)的兩年,真的是學(xué)生時(shí)代的一筆財(cái)富!我們一起學(xué)習(xí),一起歡笑,一起面對(duì)每個(gè)清晨和日落。校園里到處都是我們的影子,在操場(chǎng)上、在教室里、在圖書(shū)館、在實(shí)驗(yàn)室...每個(gè)同學(xué)都很珍惜這兩年的時(shí)光!最后我不會(huì)忘記我的父母,感謝他們一直以來(lái)的照顧!我最大的幸福是有你們一直都在!

   即將和學(xué)校離別,縱然我有許多的不舍,但是面對(duì)社會(huì)我依然會(huì)充滿了信心。因?yàn)槲抑涝谖业纳磉呌性S多朋友的陪伴,感謝我的大學(xué),感謝我的老師,感謝我的同學(xué)們!


參考文獻(xiàn)
[1] 李葉紫,王喜斌,胡輝,孫東輝.MCS-51單片機(jī)應(yīng)用教程[M].北京:清華大學(xué)出版社 2004:29-35.
[2] 夏路易,石宗義.電路原理圖與電路板設(shè)計(jì)教程PROTEL 99SE[M].北京:北京希望電子出版社 2004:56-59.
[3] 王福瑞編著,單片微機(jī)測(cè)控系統(tǒng)設(shè)計(jì)大全.北京航空航天大學(xué)出版社,1999
[4] 李華,MCS-51系列單片機(jī)使用接口技術(shù).北京航空航天大學(xué)出版社,1990
[5] 余永權(quán),F(xiàn)lash 單片機(jī)原理及應(yīng)用.北京:電子工業(yè)出版社,1997
[6] 潘新民、王燕芳.《微型計(jì)算機(jī)控制技術(shù)》.北京:人民郵電出版社:2004:85-112
[7] 蘭吉昌,《51單片機(jī)應(yīng)用設(shè)計(jì)百例》.北京:化學(xué)工業(yè)出版社,2009:220-230
[8] 曹素芬,單片微型計(jì)算機(jī)原理與接口技術(shù)[M].沈陽(yáng):東北大學(xué)出版社,1995.
[9] 吳金戎,8051單片機(jī)實(shí)踐與應(yīng)用[M].北京:清華大學(xué)出版社,2002.
[10] 于永,戴佳,劉波.51單片機(jī)C語(yǔ)言常用模塊與綜合設(shè)計(jì)實(shí)例精講[M].北京:電子工業(yè)出版社,2008 第二版.
[11] 周潤(rùn)景,張麗娜.基于PROTEUS 的電路及單片機(jī)系統(tǒng)設(shè)計(jì)與仿真[M].北京:航空航天大學(xué)出版社,2006.P321~P326
[12] 肖婧,單片機(jī)系統(tǒng)設(shè)計(jì)與仿真--基于PROTEUS[M].北京:北京航空航天大學(xué)出版社,2010.
[13]胡燁 、姚鵬翼、江思敏.《Protel 99SE電路設(shè)計(jì)與仿真》.北京: 機(jī)械工業(yè)出版社,2002:100-170
[14] Johnson J B.The Multibus Design Guidebook. McGrawHill Book Company,1995
[15] Borko H,Bernier C L.Indexing concepts and methods .New York:Academic

完整論文下載(word格式 可編輯):
基于單片機(jī)的電子密碼鎖設(shè)計(jì)與實(shí)現(xiàn).doc (5.16 MB, 下載次數(shù): 311)


評(píng)分

參與人數(shù) 1黑幣 +10 收起 理由
山科大 + 10 贊一個(gè)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏10 分享淘帖 頂2 踩
回復(fù)

使用道具 舉報(bào)

來(lái)自 2#
ID:362076 發(fā)表于 2018-11-11 20:20 | 只看該作者
我想問(wèn)幾個(gè)實(shí)際應(yīng)用中可能遇到的問(wèn)題:
1.密碼存儲(chǔ)的安全性問(wèn)題:如果有人使用另一臺(tái)機(jī)器連接你的24C02,在上電情況下我想也可以進(jìn)行讀取,那么你的密碼使用明文存儲(chǔ)是肯定不安全的,是否具有加密措施?
2.開(kāi)鎖機(jī)構(gòu)太簡(jiǎn)單,如果在外部使用物理方法實(shí)現(xiàn)電平拉低,就可以繞過(guò)密碼部分直接開(kāi)鎖了
3.使用了紅外開(kāi)鎖的功能,對(duì)紅外通信的具體要求和安全性沒(méi)有明確敘述啊,例如給程序?qū)iT(mén)設(shè)計(jì)的安全通信口令,不然一個(gè)人安裝了這個(gè)鎖,我買(mǎi)另一款同型號(hào)的鎖就可以開(kāi)這個(gè)鎖了,豈不是很糟??

要是沒(méi)有想到這些東西,答辯的時(shí)候老師想懟人很簡(jiǎn)單,萬(wàn)分輕松。

評(píng)分

參與人數(shù) 1黑幣 +60 收起 理由
admin + 60 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

板凳
ID:288632 發(fā)表于 2018-3-12 10:51 | 只看該作者
有完整程序嗎?
回復(fù)

使用道具 舉報(bào)

地板
ID:300755 發(fā)表于 2018-4-8 20:21 | 只看該作者
這個(gè)有完整程序嗎?
回復(fù)

使用道具 舉報(bào)

5#
ID:304712 發(fā)表于 2018-4-9 21:09 | 只看該作者
下不了,還把分給扣了
回復(fù)

使用道具 舉報(bào)

6#
ID:305734 發(fā)表于 2018-4-11 11:29 | 只看該作者
大神流弊!
回復(fù)

使用道具 舉報(bào)

7#
ID:307760 發(fā)表于 2018-4-14 08:49 | 只看該作者
有完整程序嗎請(qǐng)問(wèn)?
回復(fù)

使用道具 舉報(bào)

8#
ID:310664 發(fā)表于 2018-5-6 23:25 | 只看該作者
有程序嗎
回復(fù)

使用道具 舉報(bào)

9#
ID:335742 發(fā)表于 2018-5-22 15:42 | 只看該作者
大神  把畢業(yè)設(shè)計(jì)給你改可以不
回復(fù)

使用道具 舉報(bào)

10#
ID:335742 發(fā)表于 2018-5-22 15:43 | 只看該作者
有誰(shuí)會(huì)做基于單片機(jī)的密碼鎖設(shè)計(jì)的沒(méi)
回復(fù)

使用道具 舉報(bào)

11#
ID:416161 發(fā)表于 2018-10-27 09:52 | 只看該作者
最近在寫(xiě)畢業(yè)設(shè)計(jì),一點(diǎn)頭緒都沒(méi),正好拿來(lái)借鑒一下
回復(fù)

使用道具 舉報(bào)

12#
ID:421728 發(fā)表于 2018-11-11 14:55 | 只看該作者

謝謝樓主。666
回復(fù)

使用道具 舉報(bào)

13#
ID:427731 發(fā)表于 2018-11-16 15:26 | 只看該作者
厲害啊
回復(fù)

使用道具 舉報(bào)

14#
ID:448168 發(fā)表于 2018-12-19 10:15 來(lái)自手機(jī) | 只看該作者
Undo 發(fā)表于 2018-11-16 15:26
厲害啊

老哥可以分享一下么1608383880@qq.com
回復(fù)

使用道具 舉報(bào)

15#
ID:455527 發(fā)表于 2018-12-26 15:51 | 只看該作者
求程序啊
回復(fù)

使用道具 舉報(bào)

16#
ID:460696 發(fā)表于 2019-1-3 10:09 | 只看該作者
寫(xiě)的太棒啦

回復(fù)

使用道具 舉報(bào)

17#
ID:460866 發(fā)表于 2019-1-3 13:06 | 只看該作者
謝謝分享,做個(gè)記號(hào)收藏備用
回復(fù)

使用道具 舉報(bào)

18#
ID:460866 發(fā)表于 2019-1-3 13:06 | 只看該作者
1.密碼存儲(chǔ)的安全性問(wèn)題:如果有人使用另一臺(tái)機(jī)器連接你的24C02,在上電情況下我想也可以進(jìn)行讀取,那么你的密碼使用明文存儲(chǔ)是肯定不安全的,是否具有加密措施?
2.開(kāi)鎖機(jī)構(gòu)太簡(jiǎn)單,如果在外部使用物理方法實(shí)現(xiàn)電平拉低,就可以繞過(guò)密碼部分直接開(kāi)鎖了
3.使用了紅外開(kāi)鎖的功能,對(duì)紅外通信的具體要求和安全性沒(méi)有明確敘述啊,例如給程序?qū)iT(mén)設(shè)計(jì)的安全通信口令,不然一個(gè)人安裝了這個(gè)鎖,我買(mǎi)另一款同型號(hào)的鎖就可以開(kāi)這個(gè)鎖了,豈不是很糟??
回復(fù)

使用道具 舉報(bào)

19#
ID:480111 發(fā)表于 2019-2-24 21:00 | 只看該作者
求文件
回復(fù)

使用道具 舉報(bào)

20#
ID:480359 發(fā)表于 2019-2-25 20:31 | 只看該作者
不錯(cuò)呃,單片機(jī)就是這么簡(jiǎn)單
回復(fù)

使用道具 舉報(bào)

21#
ID:300582 發(fā)表于 2019-3-1 11:00 | 只看該作者
有沒(méi)有完整的例程
回復(fù)

使用道具 舉報(bào)

22#
ID:483285 發(fā)表于 2019-3-2 16:46 來(lái)自手機(jī) | 只看該作者
厲害呀,謝謝樓主
回復(fù)

使用道具 舉報(bào)

23#
ID:485130 發(fā)表于 2019-4-2 20:05 | 只看該作者
有完整的程序嗎?
回復(fù)

使用道具 舉報(bào)

24#
ID:662533 發(fā)表于 2019-12-17 15:28 | 只看該作者
感謝大神指點(diǎn),要是有完整的參考程序就好了
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表