智能家居系統(tǒng)畢業(yè)論文
《智能家居系統(tǒng)畢業(yè)論文》由會員分享,可在線閱讀,更多相關(guān)《智能家居系統(tǒng)畢業(yè)論文(47頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、I摘摘要要 隨著國民經(jīng)濟(jì)和科學(xué)技術(shù)水平的提高,特別是計(jì)算機(jī)技術(shù)、通信技術(shù)、網(wǎng)絡(luò)技術(shù)、控制技術(shù)的迅猛發(fā)展與提高,促使家庭實(shí)現(xiàn)了現(xiàn)代化、居住環(huán)境舒適化、安全化。這些高科技已經(jīng)影響到人們生活的方方面面,改變了人們生活習(xí)慣,提高了人們生活質(zhì)量,智能家居就是在這種形勢下應(yīng)運(yùn)而生。而且隨著作為智能家居控制器的電子產(chǎn)品向智能化和微型化的不斷發(fā)展,單片機(jī)已經(jīng)成為電子產(chǎn)品研制和開發(fā)中首先選擇的控制器。 基于以上思路,使用 ATMEL 公司的 AT89S52 實(shí)現(xiàn)基于單片機(jī)的智能家居的設(shè)計(jì),其主要具有如下功能:(1) 紅外遙控選擇功能,按下相應(yīng)的按鍵選擇進(jìn)入相應(yīng)的功能。(2) 密碼鎖設(shè)置有 6 位密碼,密碼通過矩
2、陣鍵盤輸入,輸入過程中發(fā)現(xiàn)錯(cuò)誤可進(jìn)行逐個(gè)刪除的操作。若密碼正確,則 LED 液晶屏顯示鎖開,否則會有錯(cuò)誤提示,三次輸入錯(cuò)誤則鎖關(guān)且伴隨蜂鳴器發(fā)出警告。此外,在密碼正確的情況下可以進(jìn)行更改密碼操作。(3) 步進(jìn)電機(jī)實(shí)現(xiàn)正轉(zhuǎn)和反轉(zhuǎn)運(yùn)行,并延時(shí) 3 秒。(4) 溫度感應(yīng)裝置,可以在數(shù)碼管顯示當(dāng)前溫度。當(dāng)超過一定溫度時(shí),蜂鳴器發(fā)出聲響予以警告。本次設(shè)計(jì)以 ATMEL 公司的單片機(jī) AT89S52 為核心控制器件,選用上海浩豚電子科技公司開發(fā)的 MINI80 開發(fā)板模擬智能家居環(huán)境。同時(shí)使用 Kevil uVision3 軟件來編寫單片機(jī)的 C 語言程序,繼而完成軟件調(diào)試,然后下載到開發(fā)板進(jìn)行硬件調(diào)試。
3、最后聯(lián)合軟、硬件調(diào)試電路板,完成本次畢業(yè)設(shè)計(jì)。關(guān)鍵詞:智能家居,單片機(jī),AT89S52,紅外遙控IIABSTRACTAs the national economy and raise the level of science and technology, especially the rapid development of the computer technology, communication technology, network technology, control technology and the improvement of the family to realize
4、the modernization, to living environment comfortable change, secure. These high-tech has affect all aspects of peoples lives, changed people living habits, improved people life quality, Smart Home is also this situation arises at the historic moment. And as intelligent household controller electroni
5、c products to intelligent and the continuous development of miniaturization, micro control unit(MCU) have become the first choice for controllers in the development of electronic products.Base on the thinking of Smart Home, this design uses AT89S52 of ATMEL company. to carry out the design of the Sm
6、art Home, its main function as follow: 1. The corresponding function of IR remote control. when press the button can enter relevant function respectively. 2. Code lock is set six passwords, and passwords are input through the keyboard. When found errors in the process of iuputing,you can run a opera
7、tion of deleting each password. If the correct password, then LCD screen display the lock open, otherwise there will be error.And three times relisted and input errors are locked with buzzer warned. In addition, in the correct, it can change the password . 3. Step motor can undertake are turning and
8、 reverse, and delay three seconds. 4. Temperature sensing device, can be in digital tube display the current temperature. When more than a certain temperature ,it alarms to buzzer tips. This design selects AT89S52 of ATMEL company and use MINI80 development board of Shanghai HaoTun electronic techno
9、logy development company as environment simulation of the Smart Home and compile with software of keil uVision3. And then dowanload the program to the development board. Last, test the circuit board withed the software and hardware to finish the design.KEY WORDS:Smart Home, MCU,AT89S52, IR RemoteIII
10、目目 錄錄第 1 章 緒論.1第 2 章 智能家居系統(tǒng)總體設(shè)計(jì).22.1 系統(tǒng)設(shè)計(jì)任務(wù)和要求.22.2 課題分析.22.3 系統(tǒng)可行性分析.22.4 設(shè)計(jì)原理.42.5 系統(tǒng)組成.5第 3 章 智能家居系統(tǒng)的硬件電路設(shè)計(jì).63.1 單片機(jī) AT89S52 簡介.63.2 紅外遙控簡介.83.3 44 矩陣鍵盤.103.4 步進(jìn)電機(jī).113.5 LCD1602 顯示器.133.6 DS18B20 數(shù)字溫度傳感器.163.7 數(shù)碼管顯示電路.193.8 復(fù)位電路.203.9 振蕩電路.213.10 蜂鳴器.21第 4 章 軟件程序設(shè)計(jì).234.1 軟件設(shè)計(jì).234.2 C 語言的特點(diǎn).234.3
11、具體軟件模塊實(shí)現(xiàn).244.4 軟件抗干擾技術(shù).29第 5 章 系統(tǒng)調(diào)試.315.1 部分模塊電路調(diào)試.315.2 調(diào)試分析.325.3 故障分析.32結(jié) 論.33致 謝.34參考文獻(xiàn).35附錄 1:部分系統(tǒng)程序清單.36附錄 2:系統(tǒng)實(shí)物照片.431第 1 章 緒論20 世紀(jì)八十年代初,20 世紀(jì)八十年代初,隨著大量采用電子技術(shù)的家用電器面市,住宅電子化出現(xiàn),80 年代中期,將家用電器、通信設(shè)備與安全防范設(shè)備各自獨(dú)立的功能綜合為一體后,形成了住宅自動化概念。80 年代末,通信與信息技術(shù)的發(fā)展,出現(xiàn)了通過總線技術(shù)對住宅中各種通信、家電、安防設(shè)備進(jìn)行監(jiān)控與管理的商用系統(tǒng),這在美國稱為 Smart
12、Home,也就是現(xiàn)在智能家居的原型。智能家居最初的定義是這樣的,將家庭中各種與信息相關(guān)的通信設(shè)備、家用電器和家庭安防裝置,通過家庭總線技術(shù) HBS(Home Bus System)連接到一個(gè)家庭智能系統(tǒng)上,進(jìn)行集中或異地監(jiān)視、控制和家庭事務(wù)性管理,并保持這些家庭設(shè)施與住宅環(huán)境的和諧與協(xié)調(diào),HBS 是智能住宅的基本單元也是智能住宅的核心。目前通常把智能家居被定義為利用電腦、網(wǎng)絡(luò)和綜合布線技術(shù),通過家庭信息管理平臺將與家居生活有關(guān)的各種子系統(tǒng)有機(jī)地結(jié)合的一個(gè)系統(tǒng)。也就是說,首先,它們都要在一個(gè)家居中建立一個(gè)通訊網(wǎng)絡(luò),為家庭信息提供必要的通路,在家庭網(wǎng)絡(luò)的操作系統(tǒng)的控制下,通過相應(yīng)的硬件和執(zhí)行機(jī)構(gòu),
13、實(shí)現(xiàn)對所有家庭網(wǎng)絡(luò)上的家電和設(shè)備的控制和監(jiān)測。其次,它們都要通過一定的媒介平臺,構(gòu)成與外界的通訊通道,以實(shí)現(xiàn)與家庭以外的世界溝通信息,滿足遠(yuǎn)程控制監(jiān)測和交換信息的需求。最后,它們的最終目的都是為滿足人們對安全、舒適、方便和符合綠色環(huán)境保護(hù)的需求。由此可見,智能家居是一個(gè)系統(tǒng)層次概念,它涵蓋了在建筑環(huán)境層次能夠影響人們生活的諸多方面,就實(shí)際應(yīng)用而言往往有以下系統(tǒng):可視對講系統(tǒng),家庭安防系統(tǒng),網(wǎng)絡(luò)通訊系統(tǒng),家電控制系統(tǒng)等等。目前,雖然智能家居有一定的發(fā)展,出現(xiàn)了一定數(shù)量的研究機(jī)構(gòu)和公司,尤其是經(jīng)歷了 2000 年的智能家居概念炒作之后,智能家居得到空前的發(fā)展。但智能家居在中國還處于初始階段,缺乏統(tǒng)
14、一的標(biāo)準(zhǔn)和權(quán)威的產(chǎn)品。本人想設(shè)計(jì)一款基于 MCS-51 單片機(jī)的智能家居系統(tǒng)。該系統(tǒng)由密碼鎖模塊、紅外線遙控系統(tǒng)、步進(jìn)電機(jī),溫控系統(tǒng)構(gòu)成。該系統(tǒng)的安裝無需改變家庭原有的布線,只對原有布線稍加修改即可,可有效的解決單個(gè)家庭對智能家居產(chǎn)品的需求,且成本小、安裝周期短,在國內(nèi)有很大的市場潛能。但是由于本人能力,時(shí)間以及芯片內(nèi)存的限制,要做整個(gè)系統(tǒng)顯然是不可能的。對整個(gè)分系統(tǒng)而言,可以發(fā)現(xiàn)有很明顯的相似性,只是在某些細(xì)節(jié)上需要做不同的分析。故而做好其中一個(gè)便可觸類旁推?;诖耍驹O(shè)計(jì)僅對僅對一部分智能控制系統(tǒng)做簡要設(shè)計(jì)。該智能家電可以進(jìn)一步進(jìn)行拓展,可以通過 GSM 網(wǎng)絡(luò)完成手機(jī)與控制系統(tǒng)間的信息交換
15、,進(jìn)而傳遞控制信息;可以再室內(nèi)安裝光控系統(tǒng)自動控制窗簾的開閉;也可以通過 ARM 嵌入式的控制實(shí)現(xiàn)一鍵遙控多個(gè)電器的功能等等。本設(shè)計(jì)第二章介紹了本系統(tǒng)的設(shè)計(jì)原理,第三章為系統(tǒng)硬件設(shè)計(jì),第四章系統(tǒng)軟件設(shè)計(jì)。2第 2 章 智能家居系統(tǒng)總體設(shè)計(jì)2.1 系統(tǒng)設(shè)計(jì)任務(wù)和要求本系統(tǒng)由單片機(jī)控制,使用無線紅外遙控技術(shù)進(jìn)行一定距離的數(shù)據(jù)傳輸,電子密碼鎖的鍵盤輸入及 LCD 顯示,步進(jìn)電機(jī)的定時(shí)轉(zhuǎn)動,溫度傳感器數(shù)碼管顯示實(shí)時(shí)溫度并高溫警告。測量溫度范圍:-40+125;傳輸距離:大約為 1-3 米。2.2 課題分析首先,對于智能家居系統(tǒng),基礎(chǔ)的功能是必須滿足的,同時(shí)還要滿足易于控制的條件,但單片機(jī)的內(nèi)存是有一定
16、的限度的。因此選擇合適的內(nèi)存的單片機(jī)控制成為本次設(shè)計(jì)的重中之重。再次,對于每一個(gè)獨(dú)立的功能,都需要做到最大可能的精確定時(shí),這就要求用到定時(shí)器。每一個(gè)功能選用合適的定時(shí)器而且不會和其他功能的定時(shí)器產(chǎn)生沖突,也是一個(gè)需要認(rèn)真考慮的地方。2.3 系統(tǒng)可行性分析2.3.1 兩種設(shè)計(jì)方案方案一:以 AT89S52 為核心的單片機(jī)控制方案。利用單片機(jī)靈活的編程設(shè)計(jì)和豐富的 I/O 端口,及其控制的準(zhǔn)確性,來設(shè)計(jì)實(shí)現(xiàn)基本的密碼鎖功能。在單片機(jī)的外圍電路上接輸入鍵盤用于密碼的輸入和一些功能的控制,可以使用紅外進(jìn)行短距離的無線遙控,接 LCD1602 顯示器用于顯示作用,以及接其他設(shè)備。方案二:以 74LS11
17、2 雙 JK 觸發(fā)器構(gòu)成的數(shù)字邏輯電路控制方案。由兩塊 74LS112 雙 JK 觸發(fā)器組成的邏輯電路,采用分立元件組成電子密碼鎖,其構(gòu)造簡單,可以方便的實(shí)現(xiàn)密碼控制和報(bào)警電路控制等功能。但采用該方案使用的元件數(shù)量會過多,不僅不易進(jìn)行修改設(shè)置,無法根據(jù)環(huán)境的改變而適時(shí)修改功能,而且升級能力不夠強(qiáng)大,當(dāng)板制成后只能固定的實(shí)現(xiàn)一種特定功能。考慮到數(shù)字電路方案原理過于簡單,而且不能滿足現(xiàn)實(shí)的安全需求,而采用單片機(jī)控制的智能家居系統(tǒng)不僅升級方便,而且程序修改簡單,所以本系統(tǒng)采用方案一完成電子密碼鎖的功能。2.3.2 鍵盤的選擇方案一:采用獨(dú)立式按鍵來控制3使用獨(dú)立式按鍵來控制液晶的顯示需要很多的按鍵。
18、該方案每一個(gè)按鍵實(shí)現(xiàn)一個(gè)功能,有易于控制,程序編寫簡單的優(yōu)點(diǎn),但是每個(gè)按鍵都需要接上拉電阻,這樣占用了單片機(jī)大量的 I/O 接口資源,不僅要對單片機(jī)外擴(kuò) I/O 口,并且在電路焊接方面很不方便,浪費(fèi)了大量的資源,提高了系統(tǒng)成本。方案二:采用矩陣式按鍵來控制矩陣式鍵盤用于按鍵數(shù)目較多的場合,它由行線和列線組成,按鍵位于行、列的交叉點(diǎn)上。把按鍵按行、列組成矩陣,在行列交點(diǎn)上都對應(yīng)有一個(gè)鍵,這樣使用的按鍵要少,這種判定有無鍵被按下以及確定被按鍵的位置的方法稱為鍵掃描法。該方案雖然提高了編程的難度,但是節(jié)約了單片機(jī)大量的 I/O 口資源,免去了為焊接上拉電阻帶來了麻煩,提高了整塊電路板的美觀度?;趯?shí)
19、際考慮,本系統(tǒng)選擇方案二來設(shè)計(jì)按鍵。2.3.3 單片機(jī)的選擇方案一:采用 AT89C51 單片機(jī)AT89C51 單片機(jī)是一種低電壓、高性能 CMOS 8 位微處理器,可以與其它 51 系列的單片機(jī)兼容,其內(nèi)部 ROM 全部采用 FLASH,ROM 最高時(shí)鐘頻率可以達(dá)到 24MHz,且能以 3V 的超低電壓工作。但 AT89C51 內(nèi)部 ROM 僅為 4KB,不利于功能的擴(kuò)展。方案二:采用 AT89S52 單片機(jī)AT89S52 單片機(jī)具有 AT89C51 的全部功能,最高外接晶振可達(dá) 33MHz,而且內(nèi)部ROM 為 8KB,有利于功能的擴(kuò)展?;趯?shí)際考慮,本系統(tǒng)選擇方案二來設(shè)計(jì)單片機(jī)。2.3.4
20、 報(bào)警模塊的選擇方案一:采用語音報(bào)警 采用語音報(bào)警,雖然可以使整個(gè)系統(tǒng)更加完美,但是會使程序更加復(fù)雜,而且提高了整個(gè)系統(tǒng)的造價(jià)。方案二:采用發(fā)光二極管和蜂鳴器來報(bào)警采用發(fā)光二極管和蜂鳴器來報(bào)警,可以發(fā)出聲光報(bào)警,降低了成本?;趯?shí)際考慮,本系統(tǒng)選擇方案二來設(shè)計(jì)密碼鎖。2.3.5 電源模塊的選擇方案一:采用干電池作為系統(tǒng)的電源 采用干電池作為單片機(jī)電子密碼鎖的電源,由于調(diào)試時(shí)間較長,干電池需要經(jīng)常更換,不符合節(jié)約社會資源的要求,并且?guī)Х桨感枰幸粋€(gè)硬件將 3 節(jié)電池串聯(lián)在一起以產(chǎn)生足夠的電壓,若如此,將造成攜帶的不便。方案二:采用 5V 直流穩(wěn)壓電源作為系統(tǒng)電源 采用 5V 直流穩(wěn)壓電源作為系統(tǒng)
21、電源,不僅功率上可以滿足系統(tǒng)需要,而且不需要更換電源,比較輕便,使用更加安全可靠。4基于以上分析,我們決定采用方案二。2.4 設(shè)計(jì)原理結(jié)合整個(gè)系統(tǒng)的功能、成本、美觀度等方面的綜合考慮,本系統(tǒng)主要由單片機(jī)、矩陣鍵盤、液晶顯示器和密碼存儲、紅外遙控等部分組成。其中紅外遙控部分用于系統(tǒng)啟動時(shí)的功能選擇;矩陣鍵盤用于輸入數(shù)字密碼和一些功能的實(shí)現(xiàn)。用戶通過連接在單片機(jī)的矩陣鍵盤輸入密碼,單片機(jī)接收鍵入的代碼,并與存貯在 ROM 中的密碼進(jìn)行比較,從而判斷密碼是否正確,然后控制引腳的高低電平傳到開鎖電路或者報(bào)警電路控制開鎖還是報(bào)警。如果密碼正確,則開鎖;如果密碼不正確,則允許操作人員重新輸入密碼,并且報(bào)警
22、提示,對于信息,則通過 LCD 顯示器及發(fā)出聲光報(bào)警來顯示;步進(jìn)電機(jī)可以進(jìn)行定時(shí)的正轉(zhuǎn)和發(fā)轉(zhuǎn);數(shù)碼管則可以根據(jù)數(shù)碼采集模塊顯示當(dāng)前的溫度,并且在高于一定溫度值是予以警示。系統(tǒng)共有兩部分構(gòu)成,即硬件部分與軟件部分。其中硬件部分由電源輸入部分、鍵盤輸入部分、紅外遙控部分、復(fù)位部分、晶振部分、蜂鳴器報(bào)警部分、LCD 顯示部分、步進(jìn)電機(jī)部分、溫度采集部分、數(shù)碼管顯示部分組成。軟件部分對應(yīng)的由主程序、初始化程序、LCD 顯示程序、鍵盤掃描程序、鍵功能程序、延時(shí)程序、溫度采集程序、數(shù)碼管顯示程序、步進(jìn)電機(jī)驅(qū)動程序、紅外遙控程序等組成。其原理框圖如圖 2-1 所示。 圖 2-1 智能家居系統(tǒng)原理框圖AT89
23、S52紅外遙控電路鍵盤掃描電路晶振電路溫度采集電路復(fù)位電路Lcd 顯示電路數(shù)碼管顯示電路步進(jìn)電機(jī)電路報(bào)警電路電源電路52.5 系統(tǒng)組成在確定了選用什么型號的單片機(jī)后,就要確定外圍電路。其外圍電路包括電源輸入部分、紅外遙控、鍵盤輸入部分、復(fù)位部分、晶振部分、溫度采集部分、數(shù)碼管顯示部分、步進(jìn)電機(jī)部分、報(bào)警部分、LCD部分,根據(jù)實(shí)際情況,鍵盤輸入部分選擇4*4矩陣鍵盤,顯示部分選擇液晶顯示LCD1602,步進(jìn)電機(jī)采用MP28GA,溫度采集使用DS18B20數(shù)字溫度傳感器。根據(jù)以上器件,選取了上海浩豚電子科技公司生產(chǎn)的MINI80單片機(jī)開發(fā)板作為基本的模擬環(huán)境。該開發(fā)板器件優(yōu)良,做工精細(xì),完全可以滿
24、足本次設(shè)計(jì)需求。其原理圖如圖2-2所示。圖 2-2 開發(fā)板硬件電路原理圖6第 3 章 智能家居系統(tǒng)的硬件電路設(shè)計(jì)3.1 單片機(jī) AT89S52 簡介3.1.1 主要特性AT89S52 是一種低功耗、高性能 CMOS8 位微控制器,具有 8K 在系統(tǒng)可編程 Flash 存儲器。使用 Atmel 公司高密度非 易失性存儲器技術(shù)制造,與工業(yè) 80C51 產(chǎn)品指令和引腳完全兼容。片上 Flash 允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的 8 位 CPU 和在系統(tǒng)可編程 Flash,使得 AT89S52 為眾多嵌入式控制應(yīng)用系統(tǒng)提 供高靈活、超有效的解決方案。 AT89S52
25、 具有以下標(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 級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。另外,AT89S52 可降至 0Hz 靜態(tài)邏輯操作,支持 2 種軟件可選擇節(jié)電模式。空閑模式下,CPU 停止工作,允許 RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工 作。掉電保護(hù)方式下,RAM 內(nèi)容被保存,振蕩器被凍結(jié), 單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。主要性能1與 MCS-51 單片機(jī)產(chǎn)品兼容; 28K 字節(jié)在系統(tǒng)可編程 Flash 存儲器; 31000 次擦
26、寫周期; 4全靜態(tài)操作:0Hz-33MHz; 5三級加密程序存儲器; 632 個(gè)可編程 I/O 口線; 7三個(gè) 16 位定時(shí)器/計(jì)數(shù)器; 8六個(gè)中斷源; 9全雙工 UART 串行通道; 10低功耗空閑和掉電模式; 11掉電后中斷可喚醒; 12看門狗定時(shí)器; 13雙數(shù)據(jù)指針; 14掉電標(biāo)識符 。3.1.2 管腳說明管腳如圖 3-1 所示。7圖 3-1 AT89S52 管腳圖P0 口:一個(gè) 8 位漏極開路的雙向 I/O 口。作為輸出口,每位能驅(qū)動 8 個(gè) TTL 邏 輯電平。對 P0 端口寫“1”時(shí),引腳用作高阻抗輸入,當(dāng)訪問外部程序和數(shù)據(jù)存儲器時(shí),P0 口也被作為低 8 位地址/數(shù)據(jù)復(fù)用。在這種
27、模式下,P0 不具有內(nèi)部上拉電阻。在 flash 編程時(shí),P0 口也用來接收指令字節(jié);在程序校驗(yàn)時(shí),輸出指令字節(jié)。程序校驗(yàn) 時(shí),需要外部上拉電阻。 P1 口:一個(gè)具有內(nèi)部上拉電阻的 8 位雙向 I/O 口,p1 輸出緩沖器能驅(qū)動 4 個(gè) TTL 邏輯電平。對 P1 端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入 口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL) 。 此外,P1.0 和 P1.1 分別作定時(shí)器/計(jì)數(shù)器 2 的外部計(jì)數(shù)輸入(P1.0/T2)和定時(shí)器/計(jì)數(shù)器 2 的觸發(fā)輸入(P1.1/T2EX) 。 在 flash 編程和校驗(yàn)時(shí),P1 口接收
28、低 8 位地址字節(jié)。 引腳號第二功能: P1.0 T2(定時(shí)器/計(jì)數(shù)器 T2 的外部計(jì)數(shù)輸入) ,時(shí)鐘輸出; P1.1 T2EX(定時(shí)器/計(jì)數(shù)器 T2 的捕捉/重載觸發(fā)信號和方向控制) ; P1.5 MOSI(在系統(tǒng)編程用) ;P1.6 MISO(在系統(tǒng)編程用) ; P1.7 SCK(在系統(tǒng)編程用) ; P2 口:一個(gè)具有內(nèi)部上拉電阻的 8 位雙向 I/O 口,P2 輸出緩沖器能驅(qū)動。 P3 口:一個(gè)具有內(nèi)部上拉電阻的 8 位雙向 I/O 口,P3 輸出緩沖器能驅(qū)動 4 個(gè) TTL 邏輯電平。對 P2 端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入 口使用。作為輸入使用時(shí),被外部拉低
29、的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL) 。 在訪問外部程序存儲器或用 16 位地址讀取外部數(shù)據(jù)存儲器時(shí),P2 口送出高八位地址。在這種應(yīng)用中,P2 口使用很強(qiáng)的內(nèi)部上拉發(fā)送 1。在使用 8 位地址訪問外部數(shù)據(jù)存儲器8時(shí),P2 口輸出 P2 鎖存器的內(nèi)容。 在 flash 編程和校驗(yàn)時(shí),P2 口也接收高 8 位地址字節(jié)和一些控制信號。 端口引腳 第二功能: P3.0 RXD(串行輸入口);P3.1 TXD(串行輸出口); P3.2 INTO(外中斷 0); P3.3 INT1(外中斷 1); P3.4 TO(定時(shí)/計(jì)數(shù)器 0); P3.5 T1(定時(shí)/計(jì)數(shù)器 1) ;P3.6 WR(外部
30、數(shù)據(jù)存儲器寫選通); P3.7 RD(外部數(shù)據(jù)存儲器讀選通) ;此外,P3 口還接收一些用于 FLASH 閃存編程和程序校驗(yàn)的控制信號。 RST:復(fù)位輸入。當(dāng)振蕩器工作時(shí),RST 引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將是單片機(jī)復(fù)位。 ALE/PROG:當(dāng)訪問外部程序存儲器或數(shù)據(jù)存儲器時(shí),ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低 8 位字節(jié)。一般情況下,ALE 仍以時(shí)鐘振蕩頻率的 1/6 輸出固定的脈沖信號,因此它可對外輸出時(shí)鐘或用于定時(shí)目的。要注意的是:每當(dāng)訪問外部數(shù)據(jù)存儲器時(shí)將跳過一個(gè) ALE 脈沖。對 FLASH 存儲器編程期間,該引腳還用于輸入編程脈沖(PROG) 。如有必要,可通過對特
31、殊功能寄存器(SFR)區(qū)中的 8EH 單元的 D0 位置位,可禁止 ALE 操作。該位置位后,只有一條 MOVX 和 MOVC 指令才能將 ALE 激活。此外,該引腳會被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)設(shè)置 ALE 禁止位無效。 SEN:程序儲存允許(PSEN)輸出是外部程序存儲器的讀選通信號,當(dāng) AT89S52 由外部程序存儲器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次 PSEN 有效,即輸出兩個(gè)脈沖,在此期間,當(dāng)訪問外部數(shù)據(jù)存儲器,將跳過兩次 PSEN 信號。 EA/VPP:外部訪問允許,欲使 CPU 僅訪問外部程序存儲器(地址為 0000H-FFFFH) ,EA 端必須保持低電平(接地) 。
32、需注意的是:如果加密位 LB1 被編程,復(fù)位時(shí)內(nèi)部會鎖存 EA 端狀態(tài)。如 EA 端為高電平(接 Vcc 端) ,CPU 則執(zhí)行內(nèi)部程序存儲器的指令。FLASH 存儲器編程時(shí),該引腳加上+12V 的編程允許電源 Vpp,當(dāng)然這必須是該器件是使用 12V 編程電壓 Vpp。 XTAL1:振蕩器反相放大器和內(nèi)部時(shí)鐘發(fā)生電路的輸入端。 XTAL2:振蕩器反相放大器的輸出端。3.2 紅外遙控簡介 紅外遙控使用方便,功能多目前已廣泛應(yīng)用在電視機(jī)、VCD、DVD、空調(diào)等各種家用電器中,且價(jià)格便宜,市場上非常容易買到。如果能將遙控器上許多的按鍵解碼出來用作單片機(jī)系統(tǒng)的輸入則解決了常規(guī)矩陣鍵盤線路板過大、布線
33、復(fù)雜、占用IO 口過多的弊病。而且通過使用遙控器,操作時(shí)可實(shí)現(xiàn)人與設(shè)備的分離,從而更加方9便使用。本設(shè)計(jì)采用 TC9012 為編碼芯片的遙控器。3.2.1 編碼格式10 和 1 的編碼遙控器發(fā)射的信號由一串 0 和 1 的二進(jìn)制代碼組成不同的芯片對 0 和 1 的編碼有所不同。通常有曼徹斯特編碼和脈沖寬度編碼。TC9012 的 0 和 1 采用 PWM 方法編碼,即脈沖寬度調(diào)制。0 碼由 0.56ms 低電平和 0.56ms 高電平組合而成脈沖寬度為1.12ms1 碼由 0.56ms 低電平和 1.69ms 高電平組合而成脈沖寬度為 2.25ms。在編寫解碼程序時(shí)通過判斷脈沖的寬度,即可得到
34、0 或 1。2按鍵的編碼當(dāng)我們按下遙控器的按鍵時(shí),遙控器將發(fā)出一串二進(jìn)制代碼,我們稱它為一幀數(shù)據(jù)。根據(jù)各部分的功能??蓪⑺鼈兎譃?5 部分,分別為引導(dǎo)碼、地址碼、地址碼、數(shù)據(jù)碼、數(shù)據(jù)反碼。遙控器發(fā)射代碼時(shí)均是低位在前。高位在后。由分析可以得到,引導(dǎo)碼高電平為 4.5ms,低電平為 4.5ms。當(dāng)接收到此碼時(shí),表示一幀數(shù)據(jù)的開始。單片機(jī)可以準(zhǔn)備接收下面的數(shù)據(jù)。地址碼由 8 位二進(jìn)制組成,共 256 種。圖中地址碼重發(fā)了一次。主要是加強(qiáng)遙控器的可靠性。如果兩次地址碼不相同,則說明本幀數(shù)據(jù)有錯(cuò),應(yīng)丟棄。不同的設(shè)備可以擁有不同的地址碼。因此,同種編碼的遙控器只要設(shè)置地址碼不同,也不會相互干擾。圖中的地
35、址碼為十六進(jìn)制的 0EH(注意低位在前)。在同一個(gè)遙控器中所有按鍵發(fā)出的地址碼都是相同的。數(shù)據(jù)碼為 8 位,可編碼 256 種狀態(tài),代表實(shí)際所按下的鍵。數(shù)據(jù)反碼是數(shù)據(jù)碼的各位求反,通過比較數(shù)據(jù)碼與數(shù)據(jù)反碼可判斷接收到的數(shù)據(jù)是否正確。如果數(shù)據(jù)碼與數(shù)據(jù)反碼之間的關(guān)系不滿足相反的關(guān)系則本次遙控接收有誤,數(shù)據(jù)應(yīng)丟棄。在同一個(gè)遙控器上所有按鍵的數(shù)據(jù)碼均不相同。數(shù)據(jù)碼為十六進(jìn)制的0CH,數(shù)據(jù)反碼為十六進(jìn)制的 0F3H(注意低位在前),兩者之和應(yīng)為 0FFH。3.2.2 遙控信號的解碼算法及程序編制當(dāng)遙控器無鍵按下。紅外發(fā)射二極管不發(fā)出信號,遙控接收頭輸出信號 1。有鍵按下時(shí),0 和 1 編碼的高電平經(jīng)遙控
36、頭倒相后會輸出信號 0。由于與單片機(jī)的中斷腳相連,將會引起單片機(jī)中斷(單片機(jī)預(yù)先設(shè)定為下降沿產(chǎn)生中斷)。單片機(jī)在中斷時(shí)使用定時(shí)器 0 或定時(shí)器 1 開始計(jì)時(shí),到下一個(gè)脈沖到來時(shí),即再次產(chǎn)生中斷時(shí),先將計(jì)時(shí)值取出。清零計(jì)時(shí)值后再開始計(jì)時(shí),通過判斷每次中斷與上一次中斷之間的時(shí)間間隔。便可知接收到的是引導(dǎo)碼還是 0 和 1。如果計(jì)時(shí)值為 9ms。接收到的是引導(dǎo)碼,如果計(jì)時(shí)值等于1.12ms,接收到的是編碼 0。如果計(jì)時(shí)值等于 2.25ms接收到的是編碼 1。在判斷時(shí)間時(shí),應(yīng)考慮一定的誤差值。因?yàn)椴煌倪b控器由于晶振參數(shù)等原因,發(fā)射及接收到的時(shí)間也會有很小的誤差。在本設(shè)計(jì)中我們采用紅外一體化接收頭 H
37、S0038,紅外發(fā)射的信號編碼如圖 3-2 所示。10圖 3-2 紅外發(fā)射編碼示意圖由圖 3-2 可以看出,紅外發(fā)射出的碼通過 38K 載波,一體化的接收頭信號端出的碼則通過內(nèi)部電路解調(diào)并整形,輸出的則是數(shù)據(jù)波形。利用這種性能可以做出紅外遙控器解碼。解碼方法如下:(1) 設(shè)外部中斷 0(或者 1)為下降沿中斷,定時(shí)器 0(或者 1)為 16 位計(jì)時(shí)器初始值為0。(2) 第一次進(jìn)入遙控中斷后,開始計(jì)。(3) 從第二次進(jìn)入遙控中斷起,先停止計(jì)時(shí)。并將計(jì)時(shí)值保存后,再重新計(jì)時(shí)。如果計(jì)時(shí)值等于前導(dǎo)碼的時(shí)間,設(shè)立前導(dǎo)碼標(biāo)志。準(zhǔn)備接收下面的一幀遙控?cái)?shù)據(jù),如果計(jì)時(shí)值不等于前導(dǎo)碼的時(shí)間,但前面已接收到前導(dǎo)碼,
38、則判斷是遙控?cái)?shù)據(jù)的 0 還是 1。(4) 繼續(xù)接收下面的地址碼、數(shù)據(jù)碼、數(shù)據(jù)反碼。(5) 當(dāng)接收到 32 位數(shù)據(jù)時(shí),說明一幀數(shù)據(jù)接收完畢。此時(shí)可停止定時(shí)器的計(jì)時(shí),并判斷本次接收是否有效如果兩次地址碼相同且等于本系統(tǒng)的地址,數(shù)據(jù)碼與數(shù)據(jù)反碼之和等 0FFH,則接收的本幀數(shù)據(jù)碼有效。否則丟棄本次接收到的數(shù)據(jù)。(6) 接收完畢,初始化本次接收的數(shù)據(jù),準(zhǔn)備下一次遙控接收。3.3 44 矩陣鍵盤由于本系統(tǒng)所用到的按鍵數(shù)量較多而不適合用獨(dú)立按鍵式鍵盤,采用的是矩陣式按鍵鍵盤。它由行線和列線組成,也稱行列式鍵盤,按鍵位于行列的交叉點(diǎn)上,密碼鎖的密碼由鍵盤輸入完成,與獨(dú)立式按鍵鍵盤相比,要節(jié)省很多 I/O 口
39、。每一條水平(行線)與垂直線(列線)的交叉處不相通,而是通過一個(gè)按鍵來連通,利用這種行列式矩陣結(jié)構(gòu)只需要 N 條行線和 M 條列線,即可組成具有 NM 個(gè)按鍵的鍵盤。11首先辨別鍵盤中有無按鍵按下,通過單片機(jī) I/O 口向鍵盤送全掃描字,然后讀入行線狀態(tài)來判斷。方法是:向行線輸出全掃描字 FFH,把全部列線置為低電平,然后將列線的電平狀態(tài)讀入累加器 A 中。如果有按鍵按下,總會有一根行線電平被拉至低電平從而使行線不全為 1。判斷鍵盤中哪一個(gè)鍵被按下是通過將列線逐列置低電平后,檢查行輸入狀態(tài)來實(shí)現(xiàn)的。方法是:依次給列線送低電平,然后查所有行線狀態(tài),如果全為 1,則所按下的鍵不在此列;如果不全為
40、1,則所按下的鍵必在此列,而且是在與零電平行線相交的交點(diǎn)上的那個(gè)鍵。接線如圖 3-3。圖 3-3 行列式矩陣鍵盤電路示意圖本設(shè)計(jì)中使用的這個(gè)4*4鍵盤不但能完成密碼的輸入還能作特別功能鍵使用。按鍵的操作面板如表3-1所示。 表3-1 按鍵操作面板示意表048 159修改26 刪除37 確定3.4 步進(jìn)電機(jī)步進(jìn)電機(jī)作為執(zhí)行元件,是機(jī)電一體化的關(guān)鍵產(chǎn)品之一, 廣泛應(yīng)用在各種自動化控制系統(tǒng)中。隨著微電子和計(jì)算機(jī)技術(shù)的發(fā)展,步進(jìn)電機(jī)的需求量與日俱增,在各個(gè)國民經(jīng)12濟(jì)領(lǐng)域都有應(yīng)用。步進(jìn)電機(jī)是一種將電脈沖轉(zhuǎn)化為角位移的執(zhí)行機(jī)構(gòu)。當(dāng)步進(jìn)驅(qū)動器接收到一個(gè)脈沖信號,它就驅(qū)動步進(jìn)電機(jī)按設(shè)定的方向轉(zhuǎn)動一個(gè)固定的角
41、度(稱為“步距角”),它的旋轉(zhuǎn)是以固定的角度一步一步運(yùn)行的。可以通過控制脈沖個(gè)數(shù)來控制角位移量,從而達(dá)到準(zhǔn)確定位的目的;同時(shí)可以通過控制脈沖頻率來控制電機(jī)轉(zhuǎn)動的速度和加速度,從而達(dá)到調(diào)速的目的。步進(jìn)電機(jī)可以作為一種控制用的特種電機(jī),利用其沒有積累誤差(精度為100%)的特點(diǎn),廣泛應(yīng)用于各種開環(huán)控制。現(xiàn)在比較常用的步進(jìn)電機(jī)包括反應(yīng)式步進(jìn)電機(jī)(vr) 、永磁式步進(jìn)電機(jī)(pm) 、混合式步進(jìn)電機(jī)(hb)和單相式步進(jìn)電機(jī)等。本次設(shè)計(jì)選用的是感應(yīng)子式四向四拍步進(jìn)電機(jī)。3.4.1 反應(yīng)式步進(jìn)電機(jī)原理下面通過三相反應(yīng)式步進(jìn)電機(jī)原理來了解步進(jìn)電機(jī)的一般工作原理。(1) 結(jié)構(gòu) 如圖3-4所示。電機(jī)轉(zhuǎn)子均勻分布著
42、很多小齒,定子齒有三個(gè)勵(lì)磁繞阻,其幾何軸線依次分別與轉(zhuǎn)子齒軸線錯(cuò)開。0、1/3、2/3,(相鄰兩轉(zhuǎn)子齒軸線間的距離為齒距以表示) ,即A與齒1相對齊,B與齒2向右錯(cuò)開1/3,C與齒3向右錯(cuò)開2/3,A與齒5相對齊, (A就是A,齒5就是齒1) 圖 3-4 反應(yīng)時(shí)步進(jìn)電機(jī)結(jié)構(gòu)(2) 旋轉(zhuǎn) 如A相通電,B,C相不通電時(shí),由于磁場作用,齒1與A對齊, (轉(zhuǎn)子不受任何力以下均同) 。如B相通電,A,C相不通電時(shí),齒2應(yīng)與B對齊,此時(shí)轉(zhuǎn)子向右移過1/3,此時(shí)齒3與C偏移為1/3,齒4與A偏移(-1/3)=2/3。如C相通電,A,B相不通電,齒3應(yīng)與C對齊,此時(shí)轉(zhuǎn)子又向右移過1/3,此時(shí)齒4與A偏移為1/
43、3對齊。如A相通電,B,C相不通電,齒4與A對齊,轉(zhuǎn)子又向右移過1/3這樣經(jīng)過A、B、C、A分別通電狀態(tài),齒4(即齒1前一齒)移到A相,電機(jī)轉(zhuǎn)子向右轉(zhuǎn)過一個(gè)齒距,如果不斷地按A,B,C,A通電,電機(jī)就每步(每脈沖)1/3,向右旋轉(zhuǎn)。如按A,C,B,A13通電,電機(jī)就反轉(zhuǎn)。 由此可見:電機(jī)的位置和速度由導(dǎo)電次數(shù)(脈沖數(shù))和頻率成一一對應(yīng)關(guān)系。而方向由導(dǎo)電順序決定。不過,出于對力矩、平穩(wěn)、噪音及減少角度等方面考慮。往往采用A-AB-B-BC-CCA-A這種導(dǎo)電狀態(tài),這樣將原來每步1/3改變?yōu)?/6。甚至于通過二相電流不同的組合,使其1/3變?yōu)?/12,1/24,這就是電機(jī)細(xì)分驅(qū)動的基本理論依據(jù)。
44、不難推出:電機(jī)定子上有m相勵(lì)磁繞阻,其軸線分別與轉(zhuǎn)子齒軸線偏移1/m,2/m(m-1)/m,1。并且導(dǎo)電按一定的相序電機(jī)就能正反轉(zhuǎn)被控制這是步進(jìn)電機(jī)旋轉(zhuǎn)的物理?xiàng)l件。只要符合這一條件我們理論上可以制造任何相的步進(jìn)電機(jī),出于成本等多方面考慮,市場上一般以二、三、四、五相為多。 (3) 力矩電機(jī)一旦通電,在定轉(zhuǎn)子間將產(chǎn)生磁場(磁通量)當(dāng)轉(zhuǎn)子與定子錯(cuò)開一定角度產(chǎn)生力F與(d/d)成正比 S 其磁通量=Br*S Br為磁密,S為導(dǎo)磁面積 F與L*D*Br成正比L為鐵芯有效長度,D為轉(zhuǎn)子直徑 Br=NI/R NI為勵(lì)磁繞阻安匝數(shù)(電流乘匝數(shù))R為磁阻。 力矩=力*半徑 力矩與電機(jī)有效體積*安匝數(shù)*磁密 成
45、正比(只考慮線性狀態(tài))因此,電機(jī)有效體積越大,勵(lì)磁安匝數(shù)越大,定轉(zhuǎn)子間氣隙越小,電機(jī)力矩越大,反之亦然。3.4.2 感應(yīng)子式步進(jìn)電機(jī)特點(diǎn)感應(yīng)子式步進(jìn)電機(jī)與傳統(tǒng)的反應(yīng)式步進(jìn)電機(jī)相比,結(jié)構(gòu)上轉(zhuǎn)子加有永磁體,以提供軟磁材料的工作點(diǎn),而定子激磁只需提供變化的磁場而不必提供磁材料工作點(diǎn)的耗能,因此該電機(jī)效率高,電流小,發(fā)熱低。因永磁體的存在,該電機(jī)具有較強(qiáng)的反電勢,其自身阻尼作用比較好,使其在運(yùn)轉(zhuǎn)過程中比較平穩(wěn)、噪音低、低頻振動小。 感應(yīng)子式步進(jìn)電機(jī)某種程度上可以看作是低速同步電機(jī)。一個(gè)四相電機(jī)可以作四相運(yùn)行,也可以作二相運(yùn)行。 (必須采用雙極電壓驅(qū)動) ,而反應(yīng)式電機(jī)則不能如此。例如:四相,八相運(yùn)行(
46、A-AB-B-BC-C-CD-D-DA-A)完全可以采用二相八拍運(yùn)行方式.不難發(fā)現(xiàn)其條件為C= ,D= . 一個(gè)二相電機(jī)的內(nèi)部繞組與四相電機(jī)完全一致,小功率電機(jī)一般直接接為二相,而功率大一點(diǎn)的電機(jī),為了方便使用,靈活改變電機(jī)的動態(tài)特點(diǎn),往往將其外部接線為八根引線(四相) ,這樣使用時(shí),既可以作四相電機(jī)使用,可以作二相電機(jī)繞組串聯(lián)或并聯(lián)使用。 3.4.3 感應(yīng)子式步進(jìn)電機(jī)分類感應(yīng)子式步進(jìn)電機(jī)以相數(shù)可分為 :二相電機(jī)、三相電機(jī)、四相電機(jī)、五相電機(jī)等。以機(jī)座號(電機(jī)外徑)可分為:42BYG(BYG為感應(yīng)子式步進(jìn)電機(jī)代號) 、57BYG、86BYG、110BYG、 (國際標(biāo)準(zhǔn)) ,而像70BYG、90
47、BYG、130BYG等均為國內(nèi)標(biāo)準(zhǔn)。143.5 LCD1602 顯示器現(xiàn)在的字符型液晶模塊已經(jīng)是單片機(jī)應(yīng)用設(shè)計(jì)中最常用的信息顯示器件了。1602 型LCD 顯示模塊具有體積小,功耗低,顯示內(nèi)容豐富等特點(diǎn)。1602 型 LCD 可以顯示 2 行16 個(gè)字符,有 8 位數(shù)據(jù)總線 D0D7 和 RS,R/W,EN 三個(gè)控制端口,工作電壓為 5V,并且具有字符對比度調(diào)節(jié)和背光功能。LCD 器件引腳如圖 3-5 所示。圖 3-5 1602LCD 引腳示意圖顯示地址如圖 3-6 所示。圖 3-6 1602LCD 顯示地址示意圖3.5.1 接口信號說明1602 型 LCD 的接口信號說明如表 3-2 所示。
48、 表 3-2 1602 型 LCD 的接口信號說明編號符號引腳說明編號符號引腳說明1VSS電源地9D2Data I/O2VDD電源正極10D3Data I/O3V0液晶顯示偏壓信號11D4Data I/O4RS數(shù)據(jù)/命令選擇端(H/L)12D5Data I/O5R/W讀寫選擇端(H/L)13D6Data I/O6E使能信號14D7Data I/O7D0Data I/O15BLA背光源正極158D1Data I/O16BLK背光源負(fù)極3.5.2 主要技術(shù)參數(shù)1602 型 LCD 的主要技術(shù)參數(shù)如表 3-3 所示所示。 表 3-3 1602 型 LCD 的主要技術(shù)參數(shù)顯示容量16X2 個(gè)字符芯片工
49、作電壓4.55.5V工作電流2.0mA(5.0V)模塊最佳工作電壓5.0V字符尺寸2.95X4.35(WXH)mm3.5.3 基本操作程序讀狀態(tài):輸入:RS=L,RW=L,E=H 輸出:D0D7=狀態(tài)字讀數(shù)據(jù):輸入:RS=H,RW=H,E=H 輸出:無寫指令:輸入:RS=L,RW=L,D0D7=指令碼,E=高脈沖 輸出:D0D7=數(shù)據(jù)寫數(shù)據(jù):輸入:RS=H,RW=L,D0D7=數(shù)據(jù), E=高脈沖 輸出:無3.5.4 RAM地址映射圖控制器內(nèi)部帶有 80B 的 RAM 緩沖區(qū),對應(yīng)關(guān)系如圖 3-7 所示:圖 3-7 1602RAM 地址映射當(dāng)我們向圖中的 000F、404F 地址中的任一處寫入顯
50、示數(shù)據(jù)時(shí),液晶都可以立即顯示出來,當(dāng)寫入到 1027 或 5067 地址處時(shí),必須通過移屏指令將它們移入可顯示區(qū)域方可正常顯示。3.5.5 狀態(tài)字說明如圖 3-8 所示:16 圖 3-8 狀態(tài)字注意:原則上每次對控制器進(jìn)行讀、寫操作之前,都必須進(jìn)行讀寫檢測,確保 STA7為 0。實(shí)際上,由于單片機(jī)的操作速度慢于液晶控制器的反應(yīng)速度,因此可以不進(jìn)行讀寫檢測,或只進(jìn)行簡短延時(shí)即可。3.5.6 初始化設(shè)置(1)顯示模式設(shè)置 如圖 3-9 所示。 圖 3-9 顯示模式設(shè)置(2)顯示開關(guān)及光標(biāo)設(shè)置 如圖 3-10 所示。圖 3-10 顯示開關(guān)及光標(biāo)設(shè)置173.6 DS18B20 數(shù)字溫度傳感器本設(shè)計(jì)中采
51、用的是 Dallas 半導(dǎo)體公司制造的數(shù)字化溫度傳感器 DS18B20,它是世界上第一片支持 一線總線接口的溫度傳感器。一線總線獨(dú)特而且經(jīng)濟(jì)的特點(diǎn),使用戶可輕松地組建傳感器網(wǎng)絡(luò),為測量系統(tǒng)的構(gòu)建引入全新概念。DS18B20 一線總線數(shù)字化溫度傳感器 同 DS1820 一樣,DS18B20 也 支持一線總線接口,測量溫度范圍為 -55C+125C,在-10+85C 范圍內(nèi),精度為0.5C。DS1822 的精度較差為 2C ?,F(xiàn)場溫度直接以一線總線的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性。適合于惡劣環(huán)境的現(xiàn)場溫度測量,如:環(huán)境控制、設(shè)備或過程控制、測溫類消費(fèi)電子產(chǎn)品等。與前一代產(chǎn)品不同,新的產(chǎn)品支
52、持 3V5.5V 的電壓范圍,使系統(tǒng)設(shè)計(jì)更靈活、方便。而且新一代產(chǎn)品更便宜,體積更小。 3.6.1 DS18B20的新性能 (1) 可用數(shù)據(jù)線供電,電壓范圍:3.05.5V; (2) 測溫范圍:-55+125,在-10+85時(shí)精度為0.5; (3) 可編程的分辨率為 912 位,對應(yīng)的可分辨溫度分別為 0.5、0.25、0.125和 0.0625; (4) 12 位分辨率時(shí)最多在 750ms 內(nèi)把溫度值轉(zhuǎn)換為數(shù)字; (5) 負(fù)壓特性:電源極性接反時(shí),溫度計(jì)不會因發(fā)熱而燒毀,但不能正常工作。3.6.2 DS18B20 的外形和內(nèi)部結(jié)構(gòu) DS18B20 內(nèi)部結(jié)構(gòu)主要由四部分組成:64 位光刻 RO
53、M、溫度傳感器、非揮發(fā)的溫度報(bào)警觸發(fā)器 TH 和 TL、配置寄存器。DS18B20 的管腳排列如圖 3-11 所示。 圖 3-11 DS18B20 外形圖引腳定義:(1) DQ 為數(shù)字信號輸入/輸出端; (2) GND 為電源地; (3) VDD 為外接供電電源輸入端(在寄生電源接線方式時(shí)接地)。 內(nèi)部結(jié)構(gòu)如圖 3-12 所示。18圖 3-12 DS18B20 內(nèi)部結(jié)構(gòu)圖 3.6.3 DS18B20主要的數(shù)據(jù)部件 (1) 光刻 ROM 中的 64 位序列號是出廠前被光刻好的,它可以看作是該 DS18B20 的地址序列碼。64 位光刻 ROM 的排列是:開始 8 位(28H)是產(chǎn)品類型標(biāo)號,接著
54、的 48位是該 DS18B20 自身的序列號,最后 8 位是前面 56 位的循環(huán)冗余校驗(yàn)碼(CRC=X8+X5+X4+1)。光刻 ROM 的作用是使每一個(gè) DS18B20 都各不相同,這樣就可以實(shí)現(xiàn)一根總線上掛接多個(gè) DS18B20 的目的。 (2) DS18B20 中的溫度傳感器可完成對溫度的測量,以 12 位轉(zhuǎn)化為例:用 16 位符號擴(kuò)展的二進(jìn)制補(bǔ)碼讀數(shù)形式提供,以 0.0625/LSB 形式表達(dá),其中 S 為符號位。如圖3-13 所示。 圖 3-13 DS18B20 溫度值格式表 這是 12 位轉(zhuǎn)化后得到的 12 位數(shù)據(jù),存儲在 18B20 的兩個(gè) 8 比特的 RAM 中,二進(jìn)制中的前面
55、 5 位是符號位,如果測得的溫度大于 0,這 5 位為 0,只要將測到的數(shù)值乘于0.0625 即可得到實(shí)際溫度;如果溫度小于 0,這 5 位為 1,測到的數(shù)值需要取反加 1 再乘于 0.0625 即可得到實(shí)際溫度。 (3) DS18B20 溫度傳感器的存儲器 DS18B20 溫度傳感器的內(nèi)部存儲器包括一個(gè)高速暫存 RAM 和一個(gè)非易失性的可電擦除的 EEPRAM,后者存放高溫度和低溫度觸發(fā)器 TH、TL 和結(jié)構(gòu)寄存器。 (4) 配置寄存器 該字節(jié)各位的意義如表 3-4 所示。19表 3-4 配置寄存器結(jié)構(gòu)TMR1R011111 低五位一直都是 1 ,TM 是測試模式位,用于設(shè)置 DS18B20
56、 在工作模式還是在測試模式。在 DS18B20 出廠時(shí)該位被設(shè)置為 0,用戶不要去改動。R1 和 R0 用來設(shè)置分辨率,如下表所示:(DS18B20 出廠時(shí)被設(shè)置為 12 位) 分辨率設(shè)置如表 3-5 所示。 表 3-5 溫度值分辨率設(shè)置表R1R0分辨率溫度最大轉(zhuǎn)換時(shí)間009 位93.75ms0110 位187.5ms1011 位375ms1112 位750ms3.7 數(shù)碼管顯示電路本設(shè)計(jì)中溫度采用共陰極數(shù)碼管顯示。數(shù)碼管是一種半導(dǎo)體發(fā)光器件,其基本單元是發(fā)光二極管。數(shù)碼管按段數(shù)分為七段數(shù)碼管和八段數(shù)碼管,八段數(shù)碼管比七段數(shù)碼管多一個(gè)發(fā)光二極管單元(多一個(gè)小數(shù)點(diǎn)顯示);按能顯示多少個(gè)“8”可分
57、為 1 位、2 位、4 位等等數(shù)碼管。一支七段數(shù)碼管實(shí)際由 8 個(gè)發(fā)光二極管構(gòu)成,其中 7 個(gè)組形構(gòu)成數(shù)字 8 的七段筆畫,所以稱為七段數(shù)碼管,而余下的 1 個(gè)發(fā)光二極管作為小數(shù)點(diǎn)。通常分別給 8 個(gè)發(fā)光二極管標(biāo)上記號:a,b,c,d,e,f,g,h。對應(yīng) 8 的頂上一畫,按順時(shí)針方向排,中間一畫為 g,小數(shù)點(diǎn)為 h。如圖 3-14 所示。圖 3-14 數(shù)碼管示意圖20我們通常又將各二極與一個(gè)字節(jié)的 8 位對應(yīng),a(D0),b(D1),c(D2),d(D3),e(D4),f(D5),g(D6),h(D7),相應(yīng) 8 個(gè)發(fā)光二極管正好與單片機(jī)一個(gè)端口 Pn 的 8 個(gè)引腳連接,這樣單片機(jī)就可以通
58、過引腳輸出高低電平控制 8 個(gè)發(fā)光二極的亮與滅,從而顯示各種數(shù)字和符號;對應(yīng)字節(jié),引腳接法為:a(Pn.0),b(Pn.1),c(Pn.2),d(Pn.3),e(Pn.4),f(Pn.5),g(Pn.6),h(Pn.7)。如果將 8 個(gè)發(fā)光二極管的負(fù)極(陰極)內(nèi)接在一起,作為數(shù)碼管的一個(gè)引腳,這種數(shù)碼管則被稱為共陰數(shù)碼管,共同的引腳則稱為共陰極,8 個(gè)正極則為段極。否則,如果是將正極(陽極)內(nèi)接在一起引出的,則稱為共陽數(shù)碼管,共同的引腳則稱為共陽極,8個(gè)負(fù)極則為段極。以單支共陰數(shù)碼管為例,可將段極接到某端口 Pn,共陰極接 GND,則可編寫出對應(yīng)十六進(jìn)制碼的七段碼表字節(jié)數(shù)據(jù)如圖 3-15 所示
59、。圖 3-15 七段碼表字節(jié)數(shù)據(jù)3.8 復(fù)位電路單片機(jī)復(fù)位是使 CPU 和系統(tǒng)中的其他功能部件都處在一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)開始工作,例如復(fù)位后 PC0000H,使單片機(jī)從第個(gè)單元取指令。無論是在單片機(jī)剛開始接上電源時(shí),還是斷電后或者發(fā)生故障后都要復(fù)位。在復(fù)位期間(即 RST 為高電平期間),P0 口為高組態(tài),P1P3 口輸出高電平;外部程序存儲器讀選通信號PSEN 無效。地址鎖存信號 ALE 也為高電平。根據(jù)實(shí)際情況選擇如圖 3-16 所示的復(fù)位電路。該電路在最簡單的復(fù)位電路下增加了手動復(fù)位按鍵,在接通電源瞬間,電容 C1 上的電壓很小,復(fù)位下拉電阻 RST 上的電壓接近電源電壓,即
60、 RST 為高電平,在電容充電的過程中 RST 端電壓逐漸下降,當(dāng) RST 端的電壓小于某一數(shù)值后,CPU 脫離復(fù)位狀態(tài),由21于電容 C1 足夠大,可以保證 RST 高電平有效時(shí)間大于 24 個(gè)振蕩周期,CPU 能夠可靠復(fù)位。增加手動復(fù)位按鍵是為了避免死機(jī)時(shí)無法可靠復(fù)位。當(dāng)復(fù)位按鍵按下后電容 C1 通過R 放電。當(dāng)電容 C1 放電結(jié)束后,RST 端的電位由 R 分壓比決定。RST 為高電平,CPU處于復(fù)位狀態(tài),松手后,電容 C1 充電,RST 端電位下降,CPU 脫離復(fù)位狀態(tài)。圖 3-16 復(fù)位電路示意圖3.9 振蕩電路 晶體振蕩器,簡稱晶振,其作用在于產(chǎn)生原始的時(shí)鐘頻率,這個(gè)頻率經(jīng)過頻率發(fā)
61、生器的放大或縮小后就成了各種不同的總線頻率。石英晶體振蕩器是利用石英晶體(二氧化硅的結(jié)晶體)的壓電效應(yīng)制成的一種諧振器件,它的基本構(gòu)成大致是:從一塊石英晶體上按一定方位角切下薄片(簡稱為晶片,它可以是正方形、矩形或圓形等),在它的兩個(gè)對應(yīng)面上涂敷銀層作為電極,在每個(gè)電極上各焊一根引線接到管腳上,再加上封裝外殼就構(gòu)成了石英晶體諧振器,簡稱為石英晶體或晶體、晶振。其產(chǎn)品一般用金屬外殼封裝,也有用玻璃殼、陶瓷或塑料封裝的。只要在晶體振子板極上施加交變電壓,就會使晶片產(chǎn)生機(jī)械變形振動,此現(xiàn)象即所謂逆壓電效應(yīng)。當(dāng)外加電壓頻率等于晶體諧振器的固有頻率時(shí),就會發(fā)生壓電諧振,從而導(dǎo)致機(jī)械變形的振幅突然增大。單
62、片機(jī)內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反相放大器,該高增益反相放大器的輸入端為引腳 XTAL1,輸出端為引腳 XTAL2。這兩個(gè)引腳跨接石英晶體振蕩器和微調(diào)電容C7、C9,按圖 3-7 所示方式連接。晶振、電容 C7C9 及片內(nèi)與非門(作為反饋、放大元件)構(gòu)成了電容三點(diǎn)式振蕩器,振蕩信號頻率與晶振頻率及電容 C7、C9 的容量有關(guān),但主要由晶振頻率決定,范圍在 1.212MHz 之間,電容 C7、C9 取值范圍在 530pF 之間。根據(jù)實(shí)際情況,本設(shè)計(jì)中采用 11MHZ 做為系統(tǒng)的外部晶振。電容取值為 30pF。其示意圖圖 3-17 所示。22 圖 3-17 震蕩電路示意圖3.10 蜂鳴器采用蜂
63、鳴器來控制開鎖顯示,當(dāng)輸入密碼后,單片機(jī)向蜂鳴器送出低電平,驅(qū)動蜂鳴器響鈴。采用蜂鳴器鬧鈴結(jié)構(gòu)簡單,只需要單路信號控制,發(fā)出的鬧鈴聲音可以根據(jù)響和不響的不同的軟件延時(shí)時(shí)間來控制。電磁式蜂鳴器由振蕩器、電磁線圈、磁鐵、振動膜片及外殼等組成。接通電源后,振蕩器產(chǎn)生的音頻電流信號通過電磁線圈產(chǎn)生磁場。振動膜片在電磁線圈和磁鐵的相互作用下,周期性地振動發(fā)聲。開鎖聲音控制模塊如圖3-18 所示。圖 3-18 蜂鳴器電路報(bào)警控制電路的功能是控制系統(tǒng)的報(bào)警裝置。報(bào)警是用單片機(jī)的 P1.6 口線輸出雙頻方波信號經(jīng)三極管放大后,由繼電器控制揚(yáng)聲器發(fā)出報(bào)警聲。23第 4 章 軟件程序設(shè)計(jì)4.1 軟件設(shè)計(jì)軟件設(shè)計(jì)(
64、Programming)是指設(shè)計(jì)、編制、調(diào)試程序的方法和過程。它是目標(biāo)明確的智力活動。由于程序是軟件的本體,軟件的質(zhì)量主要通過程序的質(zhì)量來體現(xiàn),在軟件研究中,程序設(shè)計(jì)的工作非常重要,內(nèi)容涉及到有關(guān)的基本概念、工具、方法以及方法學(xué)等。軟件設(shè)計(jì)通常分為問題建摸,算法設(shè)計(jì),編寫代碼和編譯調(diào)試四個(gè)階段。軟件設(shè)計(jì)一般根據(jù)系統(tǒng)中功能模塊進(jìn)行分割,首先應(yīng)確定主程序框圖,然后劃分軟件功能模塊。程序設(shè)計(jì)中應(yīng)實(shí)現(xiàn)模塊化,子程序化。所謂模塊化就是把一個(gè)完整的程序分解成完整的程序分解成若干個(gè)功能上相對獨(dú)立的較小程序塊,各小程序進(jìn)行單獨(dú)設(shè)計(jì)和調(diào)試,最后將各程序模塊連接起來進(jìn)行總調(diào)試。這種方法思路清楚,軟件故障容易排除,
65、便于移植及修改。當(dāng)軟件各功能模塊分別調(diào)試完畢后,即可進(jìn)行主程序調(diào)試。主程序調(diào)試主要是排除各個(gè)功能模塊之間連接中可能出現(xiàn)的問題,如各個(gè)功能使用的 RAM 區(qū)域有否重疊現(xiàn)象,寄存器有否發(fā)生沖突,堆棧區(qū)域有否溢出等等。系統(tǒng)的應(yīng)用軟件是根據(jù)系統(tǒng)功能要求設(shè)計(jì)的。一般地講,軟件的功能可分為兩大類。一類是執(zhí)行軟件,它能完成各種實(shí)質(zhì)性的功能,如測量、計(jì)算、顯示、打印、輸出控制等;另一類是監(jiān)控軟件,它是專門用來協(xié)調(diào)各執(zhí)行模塊和操作者的關(guān)系,在系統(tǒng)軟件中充當(dāng)組織調(diào)度角色。設(shè)計(jì)人員在進(jìn)行程序設(shè)計(jì)時(shí)應(yīng)從以下幾個(gè)方面加以考慮:24(1)根據(jù)軟件功能要求,將系統(tǒng)軟件分成如干個(gè)相對獨(dú)立的部分。設(shè)計(jì)出合理的軟件總體結(jié)構(gòu),使其
66、清晰、簡潔、流程合理。(2)各功能程序?qū)嵭心K化、子程序化。既便于調(diào)試、鏈接,又便于移植、修改。(3)在編寫應(yīng)用軟件之前,應(yīng)繪制出流程圖。這不僅是程序設(shè)計(jì)的一個(gè)重要組成部分,而且是決定成敗的關(guān)鍵部分。從某種意義上講,多花一份時(shí)間來設(shè)計(jì)流程圖,就可以節(jié)約幾倍源程序的編輯調(diào)試時(shí)間。(4)要合理分配系統(tǒng)資源,包括 ROM、RAM、定時(shí)器/計(jì)數(shù)器、中斷源等。其中最關(guān)鍵的是片內(nèi) RAM 分配。4.2 C 語言的特點(diǎn)C 是中級語言。它把高級語言的基本結(jié)構(gòu)和語句與低級語言的實(shí)用性結(jié)合起來。C 語言可以像匯編語言一樣對位、字節(jié)和地址進(jìn)行操作。并且是結(jié)構(gòu)式語言。結(jié)構(gòu)式語言的顯著特點(diǎn)是代碼及數(shù)據(jù)的分隔化,即程序的各個(gè)部分除了必要的信息交流外彼此獨(dú)立。這種結(jié)構(gòu)化方式可使程序?qū)哟吻逦?,便于使用、維護(hù)以及調(diào)試。C 語言是以函數(shù)形式提供給用戶的,這些函數(shù)可方便的調(diào)用,并具有多種循環(huán)、條件語句控制程序流向,從而使程序完全結(jié)構(gòu)化。 .C 語言功能齊全。具有各種各樣的數(shù)據(jù)類型。4.3 具體軟件模塊實(shí)現(xiàn) 在本系統(tǒng)中,軟件結(jié)構(gòu)應(yīng)采用模塊化設(shè)計(jì)方法,主要包括主程序,紅外遙控選擇,密碼鎖輸入程序,步進(jìn)電機(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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。