版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、大連東軟信息學(xué)院本科畢業(yè)設(shè)計(jì)(論文)論文題目論文題目:基于單片機(jī)的電子加密系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)系 所: 電子工程系 專 業(yè): 電子信息工程(嵌入式系統(tǒng)工程方向) 學(xué)生姓名: 學(xué)生學(xué)號(hào): 指導(dǎo)教師: 導(dǎo)師職稱: 講師 完成日期: 2014年4月15日 大連東軟信息學(xué)院Dalian 大連東軟信息學(xué)院畢業(yè)設(shè)計(jì)(論文) 摘要 IV基于單片機(jī)的電子加密系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)摘 要近年來,隨著改革開放的深入發(fā)展,電子電器的飛速發(fā)展。人民的生活水平有了很大提高。各種高檔家電產(chǎn)品和貴重物品為許多家庭所擁有。然而不法分子也是越來越多,原因在于大部分人防盜意識(shí)還不夠強(qiáng),造成偷盜現(xiàn)象屢見不鮮。越來越多的居民家庭對(duì)財(cái)產(chǎn)安全問題十分
2、擔(dān)憂。因此,出于安全方便等方面的需求,電子密碼鎖相繼問世。本設(shè)計(jì)是以單片機(jī)AT89S51為主控芯片,并結(jié)合外圍液晶顯示LCD1602、存儲(chǔ)芯片AT24C02、紅外遙控HS0038,以及鍵盤輸入、復(fù)位、電源等電路組合而成。系統(tǒng)能夠完成開鎖、報(bào)警、修改密碼等基本功能,還能夠通過紅外來控制單片機(jī)的開鎖,以及掉電儲(chǔ)存密碼的功能。整個(gè)設(shè)計(jì)在Keil開發(fā)環(huán)境下,用C語言編寫主控芯片的控制程序來實(shí)現(xiàn)具有多功能的電子密碼鎖。關(guān)鍵詞:密碼鎖,AT89S51,儲(chǔ)存大連東軟信息學(xué)院畢業(yè)設(shè)計(jì)(論文) AbstractDesign and Implementation of Electronic Encryption
3、System Based on MCUAbstractIn recent years, with the deepening of reform and opening-up, with the rapid development of electronic appliances. The peoples living standard has been greatly improved. A variety of high-grade household electrical appliances and the valuables have for many families. Howev
4、er criminals are also more and more, because most people security awareness is not strong enough, causing steal phenomenon it is often seen. More and more households in property safety are concerned about. Therefore, for the safe and convenient and other aspects of the demand, electronic password lo
5、cks in succession.The design is based on SCM AT89S51 as main control chip, and the combination of peripheral LCD1602 liquid crystal display, memory chip AT24C02, infrared remote control HS0038, and keyboard input, reset, power circuit assembly. The system can complete the lock, alarm, modify passwor
6、ds and other functions, can also through infrared to control chip lock, and power-down save password function. The whole design in the KEIL development environment, using C language master control chip control procedures to achieve multifunctional electronic cipher lock.Key words: Password lock, AT8
7、9S51, Storage大連東軟信息學(xué)院畢業(yè)設(shè)計(jì)(論文) 目錄目 錄 TOC o 1-3 u 摘 要 PAGEREF _Toc387757531 h I第1章緒 論 PAGEREF _Toc387757532 h 11.1 課題研究背景與意義 PAGEREF _Toc387757533 h 11.2 課題研究?jī)?nèi)容與方法 PAGEREF _Toc387757534 h 11.3 課題研究現(xiàn)狀 PAGEREF _Toc387757535 h 2第2章關(guān)鍵技術(shù)介紹 PAGEREF _Toc387757536 h 32.1 單片機(jī)介紹 PAGEREF _Toc387757537 h 32.2 LCD
8、液晶顯示 PAGEREF _Toc387757538 h 32.3 鍵盤接口技術(shù) PAGEREF _Toc387757539 h 3第3章系統(tǒng)需求分析 PAGEREF _Toc387757540 h 53.1 系統(tǒng)設(shè)計(jì)目標(biāo) PAGEREF _Toc387757541 h 53.2 模塊需求描述 PAGEREF _Toc387757542 h 53.2.1 單片機(jī)最小系統(tǒng)需求分析 PAGEREF _Toc387757543 h 53.2.2 電源模塊需求分析 PAGEREF _Toc387757544 h 53.2.3 按鍵模塊需求分析 PAGEREF _Toc387757545 h 53.2.
9、4 LCD顯示模塊需求分析 PAGEREF _Toc387757546 h 63.3 系統(tǒng)開發(fā)環(huán)境 PAGEREF _Toc387757547 h 63.4 系統(tǒng)任務(wù)的可行性分析 PAGEREF _Toc387757548 h 63.4.1 技術(shù)可行性 PAGEREF _Toc387757549 h 63.4.2 經(jīng)濟(jì)可行性 PAGEREF _Toc387757550 h 7第4章系統(tǒng)設(shè)計(jì) PAGEREF _Toc387757551 h 84.1 系統(tǒng)設(shè)計(jì)指導(dǎo)原則 PAGEREF _Toc387757552 h 84.1.1 指導(dǎo)思想 PAGEREF _Toc387757553 h 84.1.
10、2 軟件設(shè)計(jì)原則 PAGEREF _Toc387757554 h 84.2 硬件設(shè)計(jì) PAGEREF _Toc387757555 h 94.2.1 系統(tǒng)整體原理圖 PAGEREF _Toc387757556 h 94.2.2 單片機(jī)與外圍存儲(chǔ)器連接電路設(shè)計(jì) PAGEREF _Toc387757557 h 94.2.3 存儲(chǔ)模塊AT24C02 PAGEREF _Toc387757558 h 124.2.4紅外模塊HS0038 PAGEREF _Toc387757559 h 124.2.5 顯示模塊LCD1602 PAGEREF _Toc387757560 h 134.2.6 鍵盤輸入模塊 PAG
11、EREF _Toc387757561 h 144.2.7 報(bào)警電路 PAGEREF _Toc387757562 h 154.2.8 開鎖電路 PAGEREF _Toc387757563 h 154.3 軟件設(shè)計(jì) PAGEREF _Toc387757564 h 164.3.1 控制流程設(shè)計(jì) PAGEREF _Toc387757565 h 164.3.2 鍵值判斷設(shè)計(jì) PAGEREF _Toc387757566 h 174.4開鎖設(shè)計(jì) PAGEREF _Toc387757567 h 184.5 紅外遙控設(shè)計(jì) PAGEREF _Toc387757568 h 20第5章系統(tǒng)實(shí)現(xiàn) PAGEREF _To
12、c387757569 h 215.1環(huán)境配置 PAGEREF _Toc387757570 h 215.2程序?qū)崿F(xiàn) PAGEREF _Toc387757571 h 225.3 系統(tǒng)集成與調(diào)試 PAGEREF _Toc387757572 h 25第6章系統(tǒng)測(cè)試 PAGEREF _Toc387757573 h 266.1 測(cè)試概述 PAGEREF _Toc387757574 h 266.2實(shí)物測(cè)試 PAGEREF _Toc387757575 h 266.3問題及解決辦法 PAGEREF _Toc387757576 h 28第7章結(jié)論 PAGEREF _Toc387757577 h 29參考文獻(xiàn) PA
13、GEREF _Toc387757578 h 30致 謝 PAGEREF _Toc387757579 h 31大連東軟信息學(xué)院畢業(yè)設(shè)計(jì)(論文)- 第1章緒 論1.1 課題研究背景與意義隨著新技術(shù)的不斷開發(fā)與應(yīng)用,近年來單片機(jī)發(fā)展十分迅速,一個(gè)以微機(jī)應(yīng)用為主的新技術(shù)革命浪潮正在蓬勃興起,單片機(jī)的應(yīng)用已經(jīng)滲透到冶金、電力、建材、化工、機(jī)械、石油、食品等各個(gè)行業(yè)。單片機(jī)控制無疑是人們追求的目標(biāo)之一,它所給人們帶來的方便也是不可否認(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)開發(fā)的一個(gè)重要系列。目前,單片機(jī)原理與應(yīng)用
14、教材大都采用匯編語言講解和設(shè)計(jì)程序?qū)嵗?,但匯編語言學(xué)習(xí)困難。在實(shí)際應(yīng)用系統(tǒng)開發(fā)調(diào)試中,特別是開發(fā)比較復(fù)雜的應(yīng)用系統(tǒng)時(shí),為了提高開發(fā)效率和使程序便于移植,現(xiàn)在多用C語言。在信息產(chǎn)業(yè)飛速發(fā)展的今天,我們生活中必不可需的設(shè)備都向著小型化、便攜化、智能化、自動(dòng)化的方向發(fā)展。所以電子密碼鎖隨著快節(jié)奏的生活應(yīng)運(yùn)而生。在我國(guó)六七十年代還是傳統(tǒng)的一把鑰匙配一把鎖,不管是單位還是個(gè)人每天都要認(rèn)真檢查是否鎖上了門,而且鑰匙還不能隨便亂放,一旦不小心忘記放在哪里很可能就打不開門了。傳統(tǒng)的鎖也相當(dāng)?shù)牟话踩?,?huì)有一些不法分子想盡辦法打開你的房鎖去偷盜東西。電子密碼鎖的產(chǎn)生使得這些問題都不再是問題,我們只需簡(jiǎn)單的記住六位
15、密碼即可。1.2 課題研究?jī)?nèi)容與方法電子鎖可以在日常生活和現(xiàn)代辦公中,住宅與辦公室的安全防范、單位的文件檔案、財(cái)務(wù)報(bào)表以及一些個(gè)人資料的保存等多種場(chǎng)合使用。大大提高了主人物資的安全性,安全可以代替老式機(jī)械鎖?,F(xiàn)在的密碼鎖種類不同,樣式多變。本論文是以經(jīng)濟(jì)實(shí)用為前提,運(yùn)用單片機(jī)AT89C2051,設(shè)計(jì)了一款電子密碼鎖,此款密碼鎖是具有自動(dòng)報(bào)警功能的,具有合理的設(shè)計(jì)方法,簡(jiǎn)單易行,成本低,符合社會(huì)所需的用鎖要求。(1)系統(tǒng)設(shè)置4位密碼,通過鍵盤輸入密碼,如果密碼輸入正確,則鎖將會(huì)打開。(2)用戶可以自己設(shè)置密碼,且在開鎖的狀態(tài)下,密碼是可以修改的。(3)擁有自動(dòng)報(bào)警的功能。自動(dòng)報(bào)警分遠(yuǎn)程報(bào)警和現(xiàn)場(chǎng)
16、報(bào)警兩種?,F(xiàn)場(chǎng)報(bào)警由揚(yáng)聲器發(fā)出報(bào)警聲。(4)兩種情況下可報(bào)警:一是密碼輸入錯(cuò)誤3次,則報(bào)警;二是非正常開門,如破門而入的情況,可通過系統(tǒng)的紅外監(jiān)視裝置監(jiān)測(cè),同時(shí)報(bào)警,保證了系統(tǒng)的安全性。系統(tǒng)在正常工作時(shí),用戶輸入密碼4位,單片機(jī)進(jìn)行判斷密碼正確與否,如果密碼正確,則門將會(huì)打開,系統(tǒng)不會(huì)發(fā)出報(bào)警信號(hào);如果密碼輸入不正確,則有指示燈進(jìn)行提示,要求重新輸入密碼,密碼輸入三次都不正確的話,則會(huì)發(fā)出報(bào)警信號(hào)。1.3 課題研究現(xiàn)狀20世紀(jì)80年代后,隨著電子鎖專用集成電路的出現(xiàn),電子鎖的體積縮小,同時(shí)可靠性提高,成本也相對(duì)提高,所以只適合使用在安全性要求較高的場(chǎng)合,且需要有電源提供能量,使用還局限在一定范
17、圍,難以普及,所以對(duì)密碼鎖的研究一直沒有明顯進(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),種類齊全,電子密碼鎖已被廣泛應(yīng)用于智能門禁系統(tǒng)中,使之更加安全更加可靠實(shí)現(xiàn)大門的管理。我國(guó)于90年代初期開始對(duì)密碼鎖進(jìn)行初步的探索。到目前為止,隨著電子技術(shù)和信息技術(shù)的發(fā)展,電子密碼鎖的技術(shù)領(lǐng)域已發(fā)展的十分成熟。從目前的技術(shù)水平和市場(chǎng)認(rèn)可程度看,使用最為廣泛的是鍵盤式電子密碼鎖,該產(chǎn)品主要應(yīng)用于保險(xiǎn)箱、保險(xiǎn)柜和金庫,還有一部分應(yīng)用于保
18、管箱和運(yùn)鈔車。在其他技術(shù)領(lǐng)域還有遙控式電子密碼鎖以及卡片式密碼鎖等。大連東軟信息學(xué)院畢業(yè)設(shè)計(jì)(論文)第2章關(guān)鍵技術(shù)介紹2.1 單片機(jī)介紹單片機(jī)最小系統(tǒng)即是單片機(jī)運(yùn)行的最基本電路,最小系統(tǒng)中的組成缺一不可。最小系統(tǒng)主要是有有三部分組成,其中包括單片機(jī)、復(fù)位電路、時(shí)鐘電路等幾部分組成。這幾部分是單片機(jī)系統(tǒng)必不可少的,既然被稱為單片機(jī)最小系統(tǒng),他的每一部分都是單片機(jī)系統(tǒng)必不可少的部分,單片機(jī)是一切控制的核心,他負(fù)責(zé)單片機(jī)軟件的運(yùn)行,協(xié)調(diào)各個(gè)硬件電路之間的協(xié)調(diào)運(yùn)行。軟件代碼需要燒寫在單片機(jī)內(nèi),供電后,單片機(jī)運(yùn)行程序集可開始運(yùn)行,隨著事項(xiàng)相應(yīng)功能。單片機(jī)內(nèi)部集成了外圍電路、接口和存儲(chǔ)器的CPU芯片,單片
19、機(jī)已經(jīng)圖片了計(jì)算機(jī)結(jié)構(gòu),針對(duì)他的結(jié)構(gòu)特點(diǎn),其還可以成為嵌入式微控制器。單片機(jī)采用哈佛體系結(jié)構(gòu),即是存儲(chǔ)空間與程序之間互相獨(dú)立的體系。單片機(jī)的最小系統(tǒng)就是讓單片機(jī)能正常工作并發(fā)揮其功能時(shí)所必須的組成部分也可理解為是用最少的元件組成的單片機(jī)可以工作的系統(tǒng)。2.2 LCD液晶顯示為了能方便直觀的了解到當(dāng)前地段的站名和信息,顯示的內(nèi)容主要為16字符x 2行,字符點(diǎn)陣為5 x 8點(diǎn),采用的驅(qū)動(dòng)方式為1/16D?;静僮鲿r(shí)序?yàn)樽x狀態(tài):RSL,RWH,EH ;寫指令:RSL,RWL,D0D7=指令碼,E高脈沖;讀數(shù)據(jù):RSH,EH ;寫數(shù)據(jù):RSH,RWL,D0D7=數(shù)據(jù),E高脈沖 ,數(shù)碼管的4,5,6分別
20、與單片機(jī)的P2.0P2.2相連;714分別與P0.0P0.7相連,通過單片機(jī)的信息處理,從而在液晶顯示頻上顯示各段信息。2.3 鍵盤接口技術(shù)機(jī)械式按鍵被按下或者釋放的時(shí)候,由于受到機(jī)械性彈性作用的影響下,通常會(huì)伴隨著有一段時(shí)間的觸點(diǎn)機(jī)械性抖動(dòng),然后觸點(diǎn)才會(huì)慢慢的穩(wěn)定下來。抖動(dòng)時(shí)間的長(zhǎng)短和開關(guān)的機(jī)械性彈性有關(guān),一般為5-10 ms。在觸點(diǎn)出現(xiàn)抖動(dòng)的時(shí)候,檢測(cè)按鍵的通和斷的情況,就可能會(huì)出現(xiàn)判斷錯(cuò)誤。即按鍵的每一次釋放或按下都有被錯(cuò)誤地認(rèn)定是很多次操控的可能性,這樣的情況在開發(fā)的過程中不應(yīng)該發(fā)生的。所以為了避免按鍵的觸點(diǎn)發(fā)生的機(jī)械性抖動(dòng)帶來的的檢測(cè)性錯(cuò)誤判斷,就必須用消除抖動(dòng)的一些措施。這一點(diǎn)就可
21、從硬件上和軟件上兩方面來考慮了。這樣在鍵數(shù)比較少的時(shí)候,可以采取硬件消抖的方式,但當(dāng)鍵數(shù)較多的時(shí)候,就得要采用軟件消抖的方式。在硬件方面上可以運(yùn)用在按鍵的輸出端加一個(gè)R-S觸發(fā)器(即為雙穩(wěn)態(tài)的觸發(fā)器)或者單穩(wěn)態(tài)的觸發(fā)器所構(gòu)成消除抖動(dòng)的電路。用軟件使用的方法是:當(dāng)在測(cè)試下到有按鍵被按下的時(shí)候,會(huì)采用一個(gè)大約10 ms的延時(shí)程序(具體時(shí)間可以通過使用的按鍵來調(diào)節(jié))。再確認(rèn)這個(gè)按鍵的電平是否仍然持續(xù)著一個(gè)閉合的電平。若仍然持續(xù)著一個(gè)閉合的電平,則確認(rèn)此按鍵這會(huì)正處在一個(gè)閉合著的情況下。同理所示,當(dāng)按鍵被釋放以后,也要采用相同的措施來確認(rèn),這樣也可以去除抖動(dòng)對(duì)開發(fā)的不利因素。大連東軟信息學(xué)院畢業(yè)設(shè)計(jì)(
22、論文)第3章系統(tǒng)需求分析3.1 系統(tǒng)設(shè)計(jì)目標(biāo)本設(shè)計(jì)由主控芯片51單片機(jī),單片機(jī)時(shí)鐘電路,鍵盤,和開鎖電路組成。單片負(fù)責(zé)控制整個(gè)系統(tǒng)的執(zhí)行過程。本系統(tǒng)采用以單片機(jī)為核心元件的控制方案。由于單片機(jī)種類繁多,各種型號(hào)都有其一定的應(yīng)用環(huán)境,因此在選用時(shí)要多加比較,合理選擇,以獲得最佳的性價(jià)比。一般來說在選取單片機(jī)時(shí)從下面幾個(gè)方面考慮:性能、存儲(chǔ)器、運(yùn)行速度、I/O口、定時(shí)/計(jì)數(shù)器、串行接口、模擬電路功能、工作電壓、功耗、封裝形式、抗干擾性、保密性,除了以上的一些方面外,還有一些最基本的條件,比如:中斷源的數(shù)量和優(yōu)先級(jí)、工作溫度范圍、有沒有低電壓檢測(cè)功能、單片機(jī)內(nèi)有無時(shí)鐘振蕩器、有無上電復(fù)位功能等。在開
23、發(fā)過程中還要考慮開發(fā)工具、編程器、開發(fā)成本、開發(fā)人員的適應(yīng)性、技術(shù)支持和服務(wù)等因素?;谝陨弦蛩乇驹O(shè)計(jì)選用單片機(jī)AT89S51作為本設(shè)計(jì)的核心元件,利用單片機(jī)靈活的編程設(shè)計(jì)和豐富的I/O端口,及其控制的準(zhǔn)確性,實(shí)現(xiàn)基本的密碼鎖功能。在單片機(jī)的外圍電路外接輸入鍵盤用于密碼的輸入和一些功能的控制,外接AT24C02芯片用于密碼的存儲(chǔ),外接LCD1602顯示器用于顯示作用。其原理如下圖1所示。3.2 模塊需求描述3.2.1 單片機(jī)最小系統(tǒng)需求分析單片機(jī)最小系統(tǒng)的功能是核心控制系統(tǒng),單片機(jī)最小系統(tǒng)實(shí)現(xiàn)的主要功能是控制功能電路的正常運(yùn)行,已達(dá)到實(shí)現(xiàn)功能的目的。單片機(jī)最小系統(tǒng)是功能實(shí)現(xiàn)的控制單元,此模塊還
24、必須包含時(shí)鐘電路和復(fù)位電路,由于運(yùn)行環(huán)境和很多不確定的因素導(dǎo)致的系統(tǒng)不正常運(yùn)行,外部復(fù)位電路是必不可少的,在系統(tǒng)運(yùn)行不正常是,內(nèi)部復(fù)位電路已經(jīng)無法正常復(fù)位,所以外部復(fù)位電路必不可少。時(shí)鐘電路也是單片機(jī)系統(tǒng)運(yùn)行的必須器件之一,本系統(tǒng)選用了11.0592M的晶振,主要是系統(tǒng)是通信系統(tǒng),故選用11.0592M的晶振,以方便通信。3.2.2 電源模塊需求分析電源對(duì)于任何一個(gè)現(xiàn)代化產(chǎn)品來說,一切的基礎(chǔ)。他是一切電子設(shè)備運(yùn)行的能量來源。電源模塊的設(shè)計(jì)必須滿足電路內(nèi)部一切供電電壓電路的需求,對(duì)于不同的電壓需求必須有相應(yīng)點(diǎn)電路和電源模塊進(jìn)行實(shí)現(xiàn)。3.2.3 按鍵模塊需求分析鍵盤的一個(gè)完整的控制程序應(yīng)該所具備以
25、下的功能:(1) 檢測(cè)有沒有按鍵被按下,應(yīng)該采取軟件或是硬件消抖的方式來避免不利的影響。(2) 有著可靠的邏輯性處理,每次只是處理了一個(gè)按鍵,其間會(huì)對(duì)任何其它按鍵的使用對(duì)系統(tǒng)也不會(huì)發(fā)生影響,而且無論到底一次按鍵的時(shí)間到底有多久,系統(tǒng)也僅會(huì)執(zhí)行僅有一次的按鍵功能的程序。(3) 準(zhǔn)確的輸出按鍵值,以滿足跳轉(zhuǎn)指令要求。在單片機(jī)中如果只用為數(shù)不多的幾個(gè)按鍵,就可以采用獨(dú)立式的按鍵。獨(dú)立按鍵是一個(gè)直接連接I/O口組成為的單獨(dú)按鍵電路。其特點(diǎn)就是每一個(gè)按鍵會(huì)單獨(dú)占用了一根I/O口,每一個(gè)按鍵的按下并不會(huì)影響到別的I/O口的狀態(tài)。獨(dú)立式的按鍵所配置的電路十分靈活,軟件結(jié)構(gòu)也很簡(jiǎn)單,但是每一個(gè)按鍵都必須占有一
26、根I/O口,因此,在按鍵如果較多的時(shí)候,I/O口就會(huì)浪費(fèi)很大,所以不宜被采用。3.2.4 LCD顯示模塊需求分析顯示電路現(xiàn)在已經(jīng)成為了最小系統(tǒng)不可的一部分,雖然單片機(jī)最小系統(tǒng)并未包含顯示電路,可是現(xiàn)有的單片機(jī)電路沒有了顯示電路已經(jīng)不能稱為合格的單片機(jī)系統(tǒng)。具有顯示電路更是更加先進(jìn)和美觀的電路,LCD現(xiàn)實(shí)模塊主要負(fù)責(zé)在設(shè)置過程中數(shù)據(jù)的查看,保證再輸入是液晶顯示電路會(huì)有相應(yīng)的顯示,將輸入的內(nèi)容顯示在液晶顯示屏上。液晶顯示電路在設(shè)置完成后,需要實(shí)時(shí)顯示單片機(jī)的運(yùn)行狀態(tài)和時(shí)間。保證了系統(tǒng)的人性化和科學(xué)化。使其更加美觀更加人性化。3.3 系統(tǒng)開發(fā)環(huán)境 硬件環(huán)境:硬盤40G內(nèi)存1024MB軟件環(huán)境:win
27、dows xp/73.4 系統(tǒng)任務(wù)的可行性分析3.4.1 技術(shù)可行性 本系統(tǒng)采用雙控制模塊化結(jié)構(gòu),分兩部分進(jìn)行控制。兩部分又各自的單片機(jī)進(jìn)行控制各自獨(dú)立運(yùn)行,互不影響。這樣對(duì)于系統(tǒng)的安全更加有保障。在某個(gè)模塊的出現(xiàn)問題的時(shí)候不會(huì)影響到整個(gè)系統(tǒng)的正常運(yùn)行。本系統(tǒng)選用的單片機(jī)AT89S52是一種高性能、低功耗CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲(chǔ)器。與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。AT
28、89S52具有以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash,256字節(jié)RAM,32位I/O口線,看門狗定時(shí)器,2個(gè)數(shù)據(jù)指針,三個(gè)16 位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。另外,AT89S52可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。AT89S52采用40引腳的雙列直插封裝(DIP方式)。AT89S52具有豐富的資源,而且性價(jià)比很高,對(duì)于一個(gè)有市場(chǎng)意義的項(xiàng)目來說成本的控制是非常重要的。
29、3.4.2 經(jīng)濟(jì)可行性系統(tǒng)在成本控制方面做了大量的工作,首先在選用控制芯片的方面就選用了性價(jià)比非常高的AT89S52單片機(jī)。此單片機(jī)自投入市場(chǎng)以來,深受開發(fā)者喜歡。其資源豐富,完全能夠滿足系統(tǒng)使用的需求,而且在價(jià)錢方面也有著足夠的優(yōu)勢(shì)。系統(tǒng)沒有設(shè)計(jì)多余點(diǎn)了和器件,保證了系統(tǒng)的簡(jiǎn)潔性。系統(tǒng)中根據(jù)系統(tǒng)的需求選用了能夠滿足卻不多余的器件,保證系統(tǒng)在能夠?qū)崿F(xiàn)功能的基礎(chǔ)上,可以是本產(chǎn)品市場(chǎng)化。第4章系統(tǒng)設(shè)計(jì)4.1 系統(tǒng)設(shè)計(jì)指導(dǎo)原則4.1.1 指導(dǎo)思想對(duì)系統(tǒng)需求進(jìn)行分析整理,將系統(tǒng)進(jìn)行模塊化進(jìn)行開發(fā)、運(yùn)行,以便提高維護(hù)效率。以實(shí)現(xiàn)預(yù)期的功能為目標(biāo),以降低成本為理念,以最簡(jiǎn)潔的電路實(shí)現(xiàn)為根本。設(shè)計(jì)短跑計(jì)時(shí)器
30、,將硬件和軟件都進(jìn)行模塊化的設(shè)計(jì)。通過模塊化的設(shè)計(jì)將系統(tǒng)分解,先實(shí)現(xiàn)各個(gè)模塊功能后,再集成為系統(tǒng)來實(shí)現(xiàn)系統(tǒng)的功能。4.1.2 軟件設(shè)計(jì)原則(1)可靠性軟件程序的越來越復(fù)雜,規(guī)模也越來越大,軟件的可靠性成為技術(shù)性難題。對(duì)于系統(tǒng)本身系統(tǒng)運(yùn)行的穩(wěn)定性可靠性越來越高,軟件系統(tǒng)的可靠性是保證設(shè)計(jì)聲譽(yù)和生存發(fā)展競(jìng)爭(zhēng)能力的重要保證之一。軟件可靠性其含義就是軟件在測(cè)試運(yùn)行過程中錯(cuò)誤發(fā)生幾率。其錯(cuò)誤發(fā)生率越低,其穩(wěn)定性就越高。當(dāng)軟件一旦發(fā)生故障,其本身具有排除故障和解脫死鎖的能力。軟件和硬件可靠性有著性本質(zhì)上的區(qū)別,主要變現(xiàn)在:硬件的可靠性是物理機(jī)理導(dǎo)致的衰變和老化,而軟件是由于設(shè)計(jì)和實(shí)現(xiàn)的過程中的錯(cuò)誤所致。所
31、以軟件的可靠性必須在設(shè)計(jì)階段得以保證,在生產(chǎn)和測(cè)試階段無法檢測(cè)。(2) 可修改性要求以科學(xué)的方法設(shè)計(jì) HYPERLINK /view/37.htm t _blank 軟件,使之有良好的結(jié)構(gòu)和完備的文檔,系統(tǒng)性能易于調(diào)整。(3) 健壯性健壯性是指軟件的接口接受到了軟件規(guī)范以外的符號(hào),是否能夠判斷出這個(gè)輸入不符合規(guī)范要求,并且有相應(yīng)的對(duì)策來處理這樣的突發(fā)情況。 HYPERLINK /view/37.htm t _blank 軟件 HYPERLINK /view/963152.htm t _blank 健壯性這個(gè)概念非常模糊無法進(jìn)行明確的定義,但是卻是衡量軟件外部量度標(biāo)準(zhǔn)。 HYPERLINK /v
32、iew/37.htm t _blank 軟件設(shè)計(jì)的健壯直接反應(yīng)了設(shè)計(jì)和編碼人員的水平。反映了其對(duì)問題的分析能力和解決問題的能力。(4)可擴(kuò)展性 HYPERLINK /view/37.htm t _blank 軟件設(shè)計(jì)并非是以有效,而是要盡量留有后續(xù)升級(jí)的升級(jí)接口和升級(jí)的空間。一個(gè)完美的系統(tǒng)并不是設(shè)計(jì)出了非常強(qiáng)大的功能,而是代碼盡可能少的情況下實(shí)現(xiàn)了功能,而且在后續(xù)的升級(jí)的過程中有充分的接口和資源使系統(tǒng)在原有的基礎(chǔ)上即可升級(jí)或增加功能。4.2 硬件設(shè)計(jì)4.2.1 系統(tǒng)整體原理圖智能電子密碼鎖的基本原理是:從矩陣鍵盤輸入一組密碼,單片機(jī)把該密碼和設(shè)置密碼進(jìn)行比較,若輸入的密碼正確,則控制電磁鎖動(dòng)作
33、,將電磁鎖抽回,從而將鎖打開;若輸入的密碼不正確,則要求從新輸入,并記錄錯(cuò)誤次數(shù),如果2次錯(cuò)誤,則被強(qiáng)制鎖定并報(bào)警。如下圖5.1所示:圖4.1 系統(tǒng)整體原理圖4.2.2 單片機(jī)與外圍存儲(chǔ)器連接電路設(shè)計(jì)在本設(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 ,無需外擴(kuò)存儲(chǔ)器,電路簡(jiǎn)單可靠
34、,其時(shí)鐘頻率為 024 MHz,并且價(jià)格低廉,批量?jī)r(jià)在 10元以內(nèi)。AT89S51是一款功能強(qiáng)大的微型計(jì)算機(jī),它可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價(jià)比。單片機(jī)的最小系統(tǒng)是由復(fù)位電路、時(shí)鐘電路和電源組成。復(fù)位操作有上電自動(dòng)復(fù)位、按鍵復(fù)位和外部脈沖復(fù)位3種方法。本文采用的是上電復(fù)位它是通過系統(tǒng)外部的復(fù)位電路來實(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開始執(zhí)行, 除此之外單片
35、機(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í)鐘電路,在MCS51單片機(jī)的內(nèi)部有一個(gè)高增益的反向放大器,其輸入端為引腳XTAL1,輸出端為XTAL2,只要在外部接上兩個(gè)電容和一個(gè)晶振,就能夠成一個(gè)穩(wěn)定的自激振蕩器。這里主要看一下電容和晶振的選擇,晶振的大小與單片機(jī)的振蕩頻率有關(guān),電容的大小影響著振蕩器振蕩的穩(wěn)定性和起振的快速性,通常選擇1030pF的瓷片電容。本系統(tǒng)電容選擇為33pF,晶振為12MHz之所
36、以選擇這一頻率的晶振是為了在進(jìn)行單片機(jī)與電腦進(jìn)行串口通信時(shí)容易產(chǎn)生和電腦時(shí)鐘同步的波特率,另外在設(shè)計(jì)電路時(shí),晶振和電容應(yīng)盡可能的靠近芯片,這樣可以提高系統(tǒng)的抗干擾能力,電源部分,電源與地之間可以接一個(gè)0.1uF的電容,它用來濾除電源的紋波,使單片機(jī)穩(wěn)定工作,單片機(jī)最小系統(tǒng)如圖4.2所示。 圖4.2 單片機(jī)最小系統(tǒng)單片機(jī)引腳說明:VCC:電源電壓輸入端。 GND:電源地。 P0口:P0口是一個(gè)8位漏極開路雙向I/O端口,每個(gè)引腳可以吸收8TTL門電流。P0口當(dāng)作數(shù)據(jù)輸出時(shí)需要加上拉電阻,當(dāng)P0口的I/O口被寫“1”后,被定義為高阻抗輸入狀態(tài)。P0可以用于外部程序數(shù)據(jù)存儲(chǔ)器,P0口可以是地址的低八
37、位以及數(shù)據(jù)輸出口。 P1口:P1口是一個(gè)8位雙向的I/O端口單片機(jī)內(nèi)部加上了上拉電阻的端口,P1口緩沖器可接收的4TTL柵極電流輸出。P1口的I/O口被寫 “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口被寫“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)
38、部加上了上拉電阻的端口,P3口緩沖器可接收的4TTL柵極電流輸出。P3口的I/O口被寫“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(存儲(chǔ)外部數(shù)據(jù)的寫選通) P3.7 /RD(存儲(chǔ)外部數(shù)據(jù)的讀選通) RST:復(fù)位引腳高電平時(shí)MCU復(fù)位,復(fù)位信號(hào)的輸入端口,當(dāng)MCU要復(fù)位時(shí),給
39、與此引腳高電平,高電平持續(xù)時(shí)間是不少于兩個(gè)機(jī)器周期的時(shí)間。ALE/PROG:地址鎖存使能以及編程脈沖信號(hào)端口。當(dāng)單片機(jī)訪問外部的存儲(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è)置無效。PSEN:程序存儲(chǔ)器允許輸出控制端,在讀外部程序存儲(chǔ)器時(shí)PSEN低電平有效,以實(shí)現(xiàn)外部程序存儲(chǔ)器單元
40、的讀操作。EA/VPP:外部程序存儲(chǔ)器訪問允許。當(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)振蕩器反相放大器的輸出端。4.2.3 存儲(chǔ)模塊AT24C02存儲(chǔ)模塊的設(shè)計(jì)是把WP引腳接到GND上因?yàn)橐屍骷M(jìn)行正常的讀/寫操作,把SDA串行數(shù)據(jù)/地址與單片機(jī)的P3.7引腳使AT24C02與單片機(jī)進(jìn)行所有數(shù)據(jù)的發(fā)送或接收,把SCK串行時(shí)鐘引腳與單片機(jī)的P3.6引腳相連接,讓單片機(jī)產(chǎn)生一個(gè)AT24C02工作的時(shí)鐘,使其正
41、常的工作。AT24C02的特點(diǎn):數(shù)據(jù)線看門狗定時(shí)器;可編程復(fù)位門級(jí);高數(shù)據(jù)傳輸速率400kHz速率和I2C總線;2.7V至7V電壓;低功耗CMOS工藝兼容;16寫緩沖區(qū);反撇寫保護(hù)芯片;高低電平復(fù)位信號(hào)輸出;100萬擦除周期;保存長(zhǎng)達(dá)100年。存儲(chǔ)模塊電路如圖4.3所示。圖4.3 存儲(chǔ)模塊 AT24C02硬件結(jié)構(gòu)4.2.4紅外模塊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)和車輛的監(jiān)控、門禁系統(tǒng)、小區(qū)的安全防火系統(tǒng)和傳
42、呼系統(tǒng)、身份的識(shí)別、非接觸RF的智能卡等。工業(yè)設(shè)備中,在高壓,輻射、有毒氣體、粉塵等環(huán)境下,采用紅外遙控不僅完全可靠而且能有效地隔離電氣干擾。一體化紅外線接收頭三個(gè)管腳分別是地、+5 V電源、解調(diào)信號(hào)輸出端接在單片機(jī)P3.3引腳上。利用外部中斷進(jìn)行數(shù)據(jù)的接收。紅外線接收器大都將信號(hào)的接受、放大、檢波等集于一身,而且可以經(jīng)過編碼解碼時(shí)單片機(jī)收到可識(shí)別的信號(hào)源。這樣一來便會(huì)減少硬件設(shè)計(jì)過程中的麻煩,使電路簡(jiǎn)單化,且應(yīng)用起來比較方便。下圖4.4為紅外模塊硬件結(jié)構(gòu)。圖4.4 紅外模塊硬件結(jié)構(gòu)4.2.5 顯示模塊LCD1602如果想要了解系統(tǒng)的運(yùn)行與工作狀態(tài)顯示器是不可缺少的,顯示器是一個(gè)典型的輸出設(shè)備
43、并且它的實(shí)際應(yīng)用也是極為廣泛的,幾乎所有的電子產(chǎn)品都會(huì)使用到顯示器其差別僅在于顯示器的結(jié)構(gòu)類型不同而已。最簡(jiǎn)單的顯示器可以是LED發(fā)光二極管或者數(shù)碼管,它可以給出一個(gè)簡(jiǎn)單的開關(guān)信息或者數(shù)字顯示,而需要顯示復(fù)雜的完整的信息上述的器件就不能勝任,而液晶的出現(xiàn)就很好的解決了這一問題,它不僅顯示內(nèi)容豐富而且好節(jié)約了單片機(jī)的管腳資源。本設(shè)計(jì)采用的是液晶顯示LCD1602。LCD1602內(nèi)部的字符已經(jīng)儲(chǔ)存了不同的字符形式,每一個(gè)字符都有一個(gè)固定的代碼,其代碼與標(biāo)準(zhǔn)的ASCII字符代碼一致。因此只要寫入顯示字符的ASCII碼即可,這種標(biāo)準(zhǔn)化的設(shè)計(jì)給使用帶來很大的方便。比如英文字母“C”的ASCII代碼是01
44、000011(43H),顯示時(shí)單片機(jī)往液晶模塊寫入顯示指令,模塊就會(huì)把地址為43H中的點(diǎn)陣字符圖形識(shí)別出,并會(huì)在液晶屏相應(yīng)位置上看到字母“C”。LCD1602液晶顯示與單片機(jī)的連接可以分為兩種方式:總線方式和模擬口線方式。在實(shí)驗(yàn)中,我們常采用模擬口線連接方式。如圖4.5所示。圖4.5 顯示模塊硬件結(jié)構(gòu)目前市場(chǎng)字符液晶絕大多數(shù)是基于液晶芯片HD44780的,其控制原理是完全相同的,因此基于液晶芯片HD44780的寫控制程序是可以很容易地應(yīng)用到市場(chǎng)上大部分的字符液晶。LCD1602液晶的幾個(gè)特性:電壓為+5V、具有可調(diào)的對(duì)比度、內(nèi)部具有復(fù)位電路;還可以提供不同的控制命令,如:字符閃爍、清屏、顯示移
45、位、光標(biāo)閃爍等多種功能;顯示數(shù)據(jù)的存儲(chǔ)器DDRAM具有80字節(jié);內(nèi)建有160個(gè)5X7點(diǎn)陣的字型的字符發(fā)生器CGROM;可由用戶自定義的8個(gè)5X7的字符發(fā)生器CGRAM。LCD1602采用標(biāo)準(zhǔn)的16腳接口,其中VSS為地電源,VDD接5V正電源,VEE為液晶顯示器。RS為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器。RW為讀寫信號(hào)線,高電平1時(shí)進(jìn)行讀操作,低電平0時(shí)進(jìn)行寫操作。E端為使能端。D0D7為8位雙向數(shù)據(jù)線。4.2.6 鍵盤輸入模塊鍵盤是單片機(jī)十分重要的輸入設(shè)備,是實(shí)現(xiàn)人機(jī)對(duì)話的紐帶。鍵盤是由一組規(guī)則排列的按鍵組成,一個(gè)按鍵實(shí)際上就是一個(gè)開關(guān)元件,即鍵盤是一組規(guī)則排列的開關(guān)
46、。根據(jù)按鍵與單片機(jī)的連接方式不同,按鍵主要分為矩陣式按鍵以及獨(dú)立式按鍵 ,有了這些按鍵,對(duì)單片機(jī)的控制就方便多了。本設(shè)計(jì)按鍵數(shù)量較多,所以采用矩陣式按鍵以節(jié)省I/O口線。將16個(gè)按鍵分為4排4列排列好,如圖3-9矩陣鍵盤硬件結(jié)構(gòu)。當(dāng)有一個(gè)鍵按下時(shí),通過某一邊引腳賦低電平,掃描全部引腳看是否與最初的賦值一樣,不一樣則根據(jù)相應(yīng)的算法(通過改變后的值與初始值相或,根據(jù)結(jié)果賦值)確定是哪個(gè)鍵按下。圖4.6 鍵盤模塊硬件結(jié)構(gòu)鍵盤為44形式,按鍵包括阿拉伯?dāng)?shù)字09,以及鎖定、更改和改密三個(gè)應(yīng)用按鍵。當(dāng)用戶需要輸入密碼或修改密碼時(shí),按下相應(yīng)按鍵即會(huì)與單片機(jī)產(chǎn)生信號(hào),并會(huì)執(zhí)行相應(yīng)的程序。4.2.7 報(bào)警電路當(dāng)
47、密碼輸入兩次的數(shù)值與所設(shè)定的參數(shù)值不同時(shí),單片機(jī)AT89C51便通過P2.7口控制三極管來驅(qū)動(dòng)揚(yáng)聲器報(bào)警,當(dāng)輸出低電平時(shí)三極管截止,當(dāng)輸出高電平時(shí)三極管導(dǎo)通揚(yáng)聲器報(bào)警。如圖4.7所示。圖4.7 報(bào)警電路硬件結(jié)構(gòu)4.2.8 開鎖電路開鎖電路的功能是當(dāng)輸入正確的密碼后密碼鎖將被鎖定,既開鎖。當(dāng)單片機(jī)P2.6引腳發(fā)出信號(hào)經(jīng)三極管放大后,觸動(dòng)電磁閥即會(huì)把鎖打開。一旦輸入密碼,單片機(jī)便會(huì)與初始密碼進(jìn)行比對(duì),如果密碼輸入兩次都與原始密碼不相符即會(huì)報(bào)警。其原理圖如圖4.8所示。圖4.8 開鎖電路硬件結(jié)構(gòu)4.3 軟件設(shè)計(jì)軟件設(shè)計(jì)主要包括了主程序設(shè)計(jì)、鍵盤掃描設(shè)計(jì)、密碼修改設(shè)計(jì)、開鎖程序設(shè)計(jì)以及紅外遙控設(shè)計(jì)五個(gè)
48、方面。本設(shè)計(jì)采用Keil編譯器來進(jìn)行軟件的編程。4.3.1 控制流程設(shè)計(jì)主程序主要完成了系統(tǒng)的初始化、按鍵掃描、按鍵功能、以及調(diào)用顯示等功能。圖4.9 主程序流程圖設(shè)計(jì)4.3.2 鍵值判斷設(shè)計(jì)鍵盤掃描和鍵值讀取程序主要判斷矩陣按鍵是否按下,按下的是哪一個(gè)鍵,并求出按鍵的鍵值。矩陣鍵盤的識(shí)別方法有多種。相對(duì)來說,矩陣式鍵盤的軟件設(shè)計(jì)最終實(shí)現(xiàn)以下功能:是否有按鍵被按下;消除抖動(dòng);確定哪個(gè)鍵被按下,若按鍵閉合了一次,操作也只能是一次。圖4.10 鍵盤流程圖設(shè)計(jì)鍵盤程序如下:if(0keydata)|(4keydata)|(8keydata)|keydata=14)/在0-9之間的數(shù)字通過passwo
49、rdi=keydata;/鍵盤值進(jìn)行保存keydata=0;/把鍵盤值置其它值,不被其它利用,以一樣i+;4.4開鎖設(shè)計(jì)當(dāng)輸入密碼正確時(shí),單片機(jī)輸出低電平,控制繼電器工作,模擬開鎖動(dòng)作,同時(shí),當(dāng)輸入密碼或開鎖成功時(shí),蜂鳴器發(fā)出相應(yīng)的提示音。輸入密碼前,要先將正確的密碼從存儲(chǔ)器24C02中讀出,并存放在單片機(jī)RAM從40H開始的6個(gè)單元中。6位密碼鎖由矩陣按鍵輸入,輸入的密碼存儲(chǔ)在單片機(jī)RAM從30H開始的6個(gè)單元中,每輸入一位密碼,都要和正確的密碼進(jìn)行比較;若全部6位密碼均輸入正確,顯示密碼正確信息;若輸入的密碼不完全正確,則進(jìn)行第二位輸入,若輸入3次仍不正確,則報(bào)錯(cuò)。輸入密碼時(shí),還要打開定時(shí)
50、器T0,使定時(shí)器T0工作,當(dāng)計(jì)時(shí)到30s時(shí),若輸入的密碼不正確或未輸入密碼,則顯示出錯(cuò)信息。密碼修改程序用來設(shè)置新密碼,當(dāng)輸入的開鎖密碼正確后,可重新設(shè)置新密碼,輸入的新密碼暫存在單片機(jī)RAM從40H開始的單元中,然后,調(diào)用存儲(chǔ)器子程序,將40H開始的6位密碼存儲(chǔ)在24C02中。圖4.11 開鎖流程圖設(shè)計(jì)開鎖程序設(shè)計(jì)如下:while(1)if(keydata=4)/鎖定功能P3_6=0;EX1=1;goto start;4.5 紅外遙控設(shè)計(jì)HS008并反相后輸入到單片機(jī)的P3.2引腳,接收的信號(hào)由單片機(jī)進(jìn)行高電平與低電平寬度的測(cè)量,并進(jìn)行解碼處理。解碼編程時(shí),既可以使用中斷方式,也可以使用查詢
51、方式。圖4.12 紅外遙控流程圖設(shè)計(jì)大連東軟信息學(xué)院畢業(yè)設(shè)計(jì)(論文)第5章系統(tǒng)實(shí)現(xiàn)5.1環(huán)境配置單片機(jī)的開發(fā)離不開必要的硬件,同樣也離不開軟件,編寫的匯編語言源程序要變?yōu)镃PU可以執(zhí)行的機(jī)器碼有兩種方法,一種是手工匯編,另一種是機(jī)器匯編。隨著單片機(jī)開發(fā)技術(shù)的不斷發(fā)展,單片機(jī)的開發(fā)軟件也在不斷的發(fā)展,Keil軟件是目前最流行開發(fā)51單片機(jī)的軟件。在硬件電路設(shè)計(jì)好的同時(shí),也需要軟件的開發(fā)及使用。目前單片機(jī)類的課程設(shè)計(jì)大多采用Keil軟件來進(jìn)行程序的編寫。Keil不僅支持C語言還支持匯編語言。支持不同型號(hào)的MCS系類的51單片機(jī)的型號(hào)。Keil軟件已從早期的第一代發(fā)展到第四代了,有了更強(qiáng)大的功能。這
52、款軟件的操作方法也很簡(jiǎn)單,甚至有些必須采用很復(fù)雜的硬件電路才能完成的工作,用軟件編程有時(shí)會(huì)變得很簡(jiǎn)單,這樣可以把復(fù)雜電路的輸入信號(hào)直接用信號(hào)發(fā)生器給定,或是用電源來給定通過對(duì)電壓電流的調(diào)節(jié)來實(shí)現(xiàn)。Keil 工程的建立打開已安裝好的開發(fā)環(huán)境,進(jìn)入界面后選擇project然后在其下拉菜單中選擇new project選項(xiàng)如圖4-6所示。這樣就能新建一個(gè)工程 ,在選定的路徑下建立一個(gè)名字叫做abc的文件夾如圖4-7所示,在abc文件夾中建立了一個(gè)xyz.c文件之后點(diǎn)擊保存按鈕就會(huì)出現(xiàn)如圖5.1所示的畫面在此對(duì)話框中選擇Atmel之后會(huì)彈出一系列的單片機(jī)在本次設(shè)計(jì)中選用的是51單片機(jī),完成后在選Targ
53、et 1下的Source Group 1選擇Add把xyz.c文件加載到里面在xyz.c下添加所編好的C語言程序或是匯編語言程序,如果程序是分開寫得就可以添加多個(gè)子程序還有主程序,每個(gè)程序中必須有頭文件否則編譯不會(huì)通過 ,會(huì)顯示有錯(cuò)誤。等編譯.hex文件時(shí)就要在此文件夾下找到。5.2程序?qū)崿F(xiàn)函數(shù)中主要包含了主函數(shù)、報(bào)警函數(shù)、存儲(chǔ)函數(shù)和顯示函數(shù)等。/ 普通AT89C ,AT89S ,STC89C等系列單片機(jī)頭文件#include / STC增強(qiáng)型51單片機(jī)頭文件/ #include STC12C5A.h #include #include #include KeyBoard.h#include
54、LCD1602.h#include delay.h#include 24c02.h/ 蜂鳴器引腳配置sbit BUZZ_CTRL = P37;/ LED引腳配置sbit LED = P27; / Orignal password,可自行修改const unsigned char Orig_Password = 1234560;/ 暫存當(dāng)前鍵碼和上次按鍵號(hào),范圍0 - 15,16表示未按下unsigned char Pre_KeyNo = 16, KeyNo = 16;/ 顯示緩沖區(qū)unsigned char Dis_Buffer10 = 0;/ 輸入緩沖區(qū)unsigned char Input
55、_Buffer10 = 0;/ 蜂鳴器鳴響子程序void Beep() unsigned char i; for(i = 0; i 100; i +) delayms(1); BUZZ_CTRL = BUZZ_CTRL; / 清除密碼void Clear_Password() Dis_Buffer0 = 0; Input_Buffer0 = 0;void main() unsigned char i = 0 ; unsigned char Is_Vaild_Usr = 0; /合法用戶該值為1 unsigned char IIC_Password10 = 0; IIC_Password6 =
56、0; LCD1602_Init(); LCD1602_Clear();LCD1602_ShowStr(0,1,Your Password.);/ 注意:下面一行程序非常重要,在第一次燒程序時(shí)必要,這樣把初始密碼寫入到了EEPROM中/ 但是,在燒完第一次程序?qū)懭氤跏济艽a后,要再次燒寫程序,這樣驗(yàn)證密碼時(shí)就是和外部EEPROM中的密碼對(duì)比/ 以下面一行程序中前加上“/”是為注釋掉WrToROM(123456,10,6);/ 寫入初始密碼(第一次寫入密碼時(shí)需要)RdFromROM(IIC_Password,10,6);/ 預(yù)先讀入上次保存在EEPROM中的密碼 LED = 1; while(1)
57、P1 = 0XF0; if(P1 != 0XF0) KeyNo = Key_Scan(); /掃描得到按鍵值 /if(KeyNo != Pre_KeyNo) / switch(KeyNo) /數(shù)字鍵 case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9: if(i 6) /密碼限定在6位(可以改) if(i = 0) LCD1602_ShowStr(0,2, ); Input_Bufferi = KeyNo + 0; Input_Bufferi+1 = 0; Dis_Bufferi = *;
58、 Dis_Bufferi+1 = 0; LCD1602_ShowStr(0,2,Dis_Buffer); i +; break; case 10: /開鎖鍵 if( 0 = strcmp(Input_Buffer,IIC_Password) LED = 0; /開鎖成功 Clear_Password(); LCD1602_ShowStr(0,2,Unlock OK ! ); Is_Vaild_Usr = 1; /合法用戶 else /開鎖失敗 LED = 1; Clear_Password(); LCD1602_ShowStr(0,2,ERROR ! ); Is_Vaild_Usr = 0;
59、/非法用戶 i = 0; break; case 11: /上鎖鍵 LED = 1; Clear_Password(); LCD1602_ShowStr(0,1,Your Password.); LCD1602_ShowStr(0,2, ); i = 0; Is_Vaild_Usr = 0; break; case 12: / 更改密碼鍵 if(!Is_Vaild_Usr) / 非法用戶 LCD1602_ShowStr(0,2,No Right !); else /合法用戶則可以更改密碼 Clear_Password(); i = 0; LCD1602_ShowStr(0,1,New Pass
60、word.); LCD1602_ShowStr(0,2, ); break; case 13: / 保存新密碼 if(!Is_Vaild_Usr) LCD1602_ShowStr(0,2,No Right !); else WrToROM(Input_Buffer,0,6); RdFromROM(IIC_Password,0,6); IIC_Password6 = 0; i = 0; LCD1602_ShowStr(0,1,Your Password.); LCD1602_ShowStr(0,2,Password Saved!); break; case 14: / 重新輸入 i = 0; C
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《認(rèn)識(shí)并戰(zhàn)勝冠心病》課件
- 收廢品職務(wù)勞務(wù)合同(2篇)
- 2024年版高壓洗車設(shè)備銷售協(xié)議2篇
- 《LED的熱學(xué)特性》課件
- 2025年濱州貨運(yùn)資格證題庫在線練習(xí)
- 2025年西藏從業(yè)資格證500道題速記
- 2025年安康貨運(yùn)從業(yè)資格證考試試題及答案
- 2025年玉樹道路運(yùn)輸從業(yè)資格證考哪些項(xiàng)目
- 2024年牛肉供貨商協(xié)議范本3篇
- 2025年石家莊貨運(yùn)從業(yè)資格考試題目大全及答案
- 人工智能崗位招聘筆試題及解答(某大型央企)2025年
- 電梯日管控、周排查、月調(diào)度制度及管控清單
- 蘋果電腦macOS效率手冊(cè)
- 2025年廣東省春季高考學(xué)業(yè)水平考試數(shù)學(xué)試卷試題(含答案解析)
- 中國(guó)企業(yè)全球化深度洞察報(bào)告-產(chǎn)業(yè)篇
- 老媽是個(gè)菜販子(2022年海南中考語文試卷記敘文閱讀題及答案)
- 15《我們不亂扔》(教學(xué)設(shè)計(jì))2024-2025學(xué)年統(tǒng)編版(2024)道德與法治一年級(jí)上冊(cè)
- 《詩意的色彩》課件 2024-20245學(xué)年人美版(2024)初中美術(shù)七年級(jí)上冊(cè)
- 中鐵四局分包勞務(wù)合同模板
- 廠房轉(zhuǎn)租三方協(xié)議合同協(xié)議書
- 水務(wù)產(chǎn)業(yè)技術(shù)標(biāo)準(zhǔn)化
評(píng)論
0/150
提交評(píng)論