基于MSP430單片機(jī)的室內(nèi)燈光控制器的設(shè)計(jì)與制作_第1頁
基于MSP430單片機(jī)的室內(nèi)燈光控制器的設(shè)計(jì)與制作_第2頁
基于MSP430單片機(jī)的室內(nèi)燈光控制器的設(shè)計(jì)與制作_第3頁
基于MSP430單片機(jī)的室內(nèi)燈光控制器的設(shè)計(jì)與制作_第4頁
基于MSP430單片機(jī)的室內(nèi)燈光控制器的設(shè)計(jì)與制作_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、基于MSP430單片機(jī)的室內(nèi)燈光控制器的設(shè)計(jì)與制作摘要最近的二十年里,各種新型技術(shù)發(fā)展迅速,越來越多的智能設(shè)備進(jìn)入我們的生活,例如智能手表,智能手機(jī)等。在近幾年,智能設(shè)備也從一些小器件上面逐步進(jìn)入我們的生活中,智能門鎖,智能自行車逐漸被人們發(fā)明使用。而隨著社會(huì)的發(fā)展,越來越多的新興技術(shù)被我們使用在日常生活中,例如利用聲音感應(yīng)和光電感應(yīng),我們制作出了聲控?zé)簦⑶覍⑵溆玫搅饲Ъ胰f戶,到后來我們生產(chǎn)出了可以遠(yuǎn)距離遙控的各種智能設(shè)備。這些智能設(shè)備使你可以遠(yuǎn)在公司就可以控制家里的空調(diào)溫度等等操作。本文首先闡述了燈光控制和感應(yīng)的原理,在此基礎(chǔ)之上提出了如何進(jìn)行整體的設(shè)計(jì)。然后提出了本設(shè)計(jì)可行的幾種方案。根

2、據(jù)本設(shè)計(jì)提出的功能對(duì)方案進(jìn)行篩選和甄別。確定最適合我們?cè)O(shè)備的方案。在確認(rèn)了設(shè)計(jì)方案之后,分別介紹系統(tǒng)的單片機(jī)模塊,信息采集模塊和顯示模塊和控制模塊。最后根據(jù)系統(tǒng)的功能進(jìn)行軟件系統(tǒng)的分析和模塊化構(gòu)架的設(shè)計(jì)。該系統(tǒng)能夠在穩(wěn)定運(yùn)行的前提下進(jìn)行燈光的識(shí)別和控制,本設(shè)計(jì)符合信息化建設(shè)的特點(diǎn),是對(duì)現(xiàn)代生活信息化的一個(gè)實(shí)踐。關(guān)鍵詞:智能生活 燈光控制 單片機(jī) 目錄前言11 緒論111 課題背景112 設(shè)計(jì)目的113 燈光控制系統(tǒng)的原理及過程22 室內(nèi)燈光控制系統(tǒng)的整體設(shè)計(jì)方案321 室內(nèi)燈光控制系統(tǒng)的介紹3211 室內(nèi)燈光控制系統(tǒng)的類型3212 光線傳感器的原理422 設(shè)計(jì)方案4221 方案設(shè)計(jì)思想4222

3、 系統(tǒng)總體框架53 msp430單片機(jī)的室內(nèi)燈光控制系統(tǒng)的硬件設(shè)計(jì)631 元器件選型及元器件參數(shù)介紹6311 單片機(jī)選型及參數(shù)6312 光敏電阻7 313 顯示模塊7314 模數(shù)轉(zhuǎn)換模塊832 系統(tǒng)電路設(shè)計(jì)9321 電源電路9323按鍵設(shè)置電路設(shè)計(jì)12324顯示電路124 室內(nèi)燈光控制系統(tǒng)軟件設(shè)計(jì)1341 軟件開發(fā)環(huán)境1342 室內(nèi)燈光控制系統(tǒng)主程序流程圖135 系統(tǒng)調(diào)試1551 硬件調(diào)試1552 軟件調(diào)試1653 系統(tǒng)測(cè)試結(jié)果166 結(jié)論1761 總結(jié)17參考文獻(xiàn)18致謝18前言這些年,智能化生活逐漸被人們接受,在龐大的智能化產(chǎn)品生產(chǎn)體系中,智能化生活和信息化生活是一個(gè)意義很接近的詞匯,在信

4、息化生活中,一個(gè)重要的特點(diǎn)就是對(duì)身邊信息的采集,例如我們生活中的PM2.5粉塵傳感器可以告訴我們外面的空氣質(zhì)量,提醒我們是否應(yīng)該帶口罩出門或者我們生活中所接觸到的溫濕度傳感器等等,這些傳感器通過特定的APP一直在給我們的生活提供方便,那么在生活中我們不僅僅在獲得信息,同時(shí)我們也在使用一些智能的嵌入式設(shè)備對(duì)身邊的環(huán)境進(jìn)行控制,例如當(dāng)我們不在家,我們可以通過家里的智能攝像頭遠(yuǎn)程方便地查看家里的情況,同時(shí)利用攝像頭上攜帶的傳感器得到家里的溫度等信息。從信息化到智能化的轉(zhuǎn)變,就是一種當(dāng)我們快到家時(shí),當(dāng)我們發(fā)現(xiàn)家里溫度很低時(shí)我們可以打開空調(diào)。還有一些情況就是如果我們生活的環(huán)境存在大量的粉塵,我們能夠命令

5、掃地機(jī)器人清潔我們的生活的環(huán)境。1 緒論1.1 課題背景在目前所使用的燈光控制系統(tǒng)中,多為隨著周圍環(huán)境光照強(qiáng)度的變化而變化的燈光管理系統(tǒng)。在特定的使用場(chǎng)合我們可以使用這種燈光管理系統(tǒng)去營(yíng)造各種各樣的氛圍。在其系統(tǒng)內(nèi)部使用光線傳感器對(duì)周圍的數(shù)據(jù)進(jìn)行采集。并將傳感器檢測(cè)到的各種復(fù)雜的信息傳送到中央處理器中進(jìn)行集中地分析和處理。隨后其顯示模塊或者燈光控制芯片接收到處理器發(fā)送出來的命令后經(jīng)過分析后將光照逐漸轉(zhuǎn)變?yōu)楹线m的強(qiáng)度和顏色。1.2設(shè)計(jì)目的隨著近年來生活科學(xué)的進(jìn)步。越來越多的傳感器在我們的生活中被使用。社會(huì)在不斷地高速發(fā)展和進(jìn)步,實(shí)際的生產(chǎn)生活中已經(jīng)出現(xiàn)了豐富多彩的傳感器。我們的生活方式依托傳感器

6、也發(fā)生了很大的改變。在我國(guó),傳感器技術(shù)已經(jīng)被用在了方方面面,在停車場(chǎng)我們會(huì)用到檢測(cè)車牌的傳感器。同樣身處走廊之中們?nèi)藗兛梢允褂寐曇糁悄芸刂瓶叵到y(tǒng)。在不久的將來,工業(yè)發(fā)展越來越迅猛。傳感器工業(yè)也會(huì)得到更高更快的發(fā)展。目前我們所熟知的燈光控制系統(tǒng)因?yàn)橹饕话惭b在大型場(chǎng)合中使用,所以其成本太高,不適合家庭安裝。因此,開發(fā)一款可以在家使用的簡(jiǎn)單型燈光控制系統(tǒng)尤為重要。 1.3 燈光控制系統(tǒng)的原理及過程本系統(tǒng)使用MSP430為主控芯片,光敏電阻來獲得現(xiàn)場(chǎng)的燈光信息。采集到的環(huán)境光照強(qiáng)度通過LCD1602顯示,及時(shí)發(fā)現(xiàn)燈光變化情況,并且記錄相關(guān)光照變化信息。當(dāng)我們?cè)O(shè)定好了燈光強(qiáng)度限度以后,每次燈光強(qiáng)度降到

7、某一個(gè)刻度之后,都會(huì)使計(jì)數(shù)器加一。記錄在我們的1602上面。當(dāng)光照低于按鍵預(yù)先設(shè)計(jì)好的限度時(shí),電路板上面的8個(gè)led小燈會(huì)全部亮起。在完成本設(shè)計(jì)的時(shí),要求理解本設(shè)計(jì)所實(shí)用的單片機(jī)的基本使用方法和學(xué)會(huì)使用光敏電阻和模數(shù)轉(zhuǎn)換模塊進(jìn)行數(shù)據(jù)的轉(zhuǎn)化。在完成設(shè)計(jì)的同時(shí)完成論文的撰寫。要求所設(shè)計(jì)的室內(nèi)燈光控制系統(tǒng)能夠?qū)崿F(xiàn)以上功能,要求可以根據(jù)書本上所學(xué)的知識(shí)進(jìn)行初步的時(shí)間記錄。懂得使用電子設(shè)計(jì)相關(guān)器材,例如電烙鐵,吸錫器等等。并理解本系統(tǒng)各模塊之間的分工合作關(guān)系。懂得各模塊芯片如何運(yùn)行如何工作,以及如何使用供電模塊得到我們所需要的電平,做到以學(xué)到的知識(shí)完成實(shí)踐,自己完成本設(shè)計(jì)所有功能。2室內(nèi)燈光控制系統(tǒng)的整

8、體設(shè)計(jì)方案2.1 室內(nèi)燈光控制系統(tǒng)的介紹日常生活中常用的室內(nèi)燈光管理系統(tǒng)。主要是集成了一些常用的環(huán)境信息采集和智能控制的管理系統(tǒng)。他一般所具有的功能有燈光的軟開關(guān)調(diào)整燈光亮度和遙控開關(guān)燈光等。而本系統(tǒng)所設(shè)計(jì)的燈管管理系統(tǒng)主要由三部分組成。分別是由顯示器組成的顯示模塊,由按鍵陣列組成的輸入模塊以及本系統(tǒng)所使用的燈光感應(yīng)模塊。由于本系統(tǒng)需要對(duì)光線進(jìn)行感應(yīng),所以適當(dāng)?shù)奶暨x了光敏電阻作為感應(yīng)光線的器件。其在燈光發(fā)生變化時(shí)會(huì)改變自身阻值,而導(dǎo)致電壓的改變??梢郧擅畹嘏浜鲜褂脭?shù)模轉(zhuǎn)換芯片。我們可以將燈光的變化信息傳遞到單片機(jī)進(jìn)行處理后顯示在顯示屏中。2.1.1 室內(nèi)燈光控制系統(tǒng)的類型室內(nèi)燈光控制系統(tǒng)的類型

9、大致可分為: (1) 通過感應(yīng)控制室內(nèi)燈光的開關(guān)這類系統(tǒng)通過感應(yīng)固定范圍內(nèi)的情況變化來決定是否將照明燈光打開或者關(guān)閉。當(dāng)其檢測(cè)到燈光較暗已經(jīng)不能分清事物時(shí),這種控制系統(tǒng)隨即控制燈光打開,提供照明。這種系統(tǒng)僅僅是使用了光線傳感器或者光敏電阻來進(jìn)行信息的采集。 (2)通過感應(yīng)外界亮度控制室內(nèi)亮度在一些舞臺(tái)等場(chǎng)合或者某些設(shè)施中。有些情況需要燈光來營(yíng)造氣氛,但是隨著情況的變化,光線也隨之變化,使用這種系統(tǒng)的還有旋轉(zhuǎn)餐廳。當(dāng)其旋轉(zhuǎn)到較亮的地方時(shí),此系統(tǒng)可以將周圍燈光逐漸條件到較暗的情況下,給人以舒適的環(huán)境。(3)通過感應(yīng)聲音和光線的聲控這樣的室內(nèi)燈光控制系統(tǒng)通常的情況下使用在日常生活的走廊中。在他們?cè)O(shè)計(jì)

10、時(shí),主要是為了晚上當(dāng)行人路過時(shí)給行人提供一些幫助。這種聲控系統(tǒng)一般有光敏電阻和聲控元件組成。白天,光敏電阻檢測(cè)到有光照,系統(tǒng)則不驅(qū)使燈光打開,晚上當(dāng)燈光系統(tǒng)檢測(cè)不到光照時(shí),打開聲控元件。當(dāng)有聲音經(jīng)過時(shí)打開燈光提供照明。(4)復(fù)合型的室內(nèi)燈光控制系統(tǒng)在有些系統(tǒng)中,需要根據(jù)環(huán)境的切換實(shí)時(shí)切換自己的功能。在目前的產(chǎn)品中。智能燈泡做到了以上系統(tǒng)的所有功能。使用他們只需要用固定的APP進(jìn)行簡(jiǎn)單的控制。在設(shè)計(jì)和制作的過程之中應(yīng)該認(rèn)真思考使用什么樣的燈光控制系統(tǒng)。并不是全部的所燈光控制系統(tǒng)都是我們可以成功實(shí)現(xiàn)的。也并非適用于我們所設(shè)計(jì)的環(huán)境。所以要根據(jù)本設(shè)計(jì)的功能要求,選取合適的方案,才能達(dá)到準(zhǔn)確完成本設(shè)計(jì)

11、的目的。2.1.2 光線傳感器的原理在這套系統(tǒng)之中光線傳感器中的主要元件是光敏電阻。光敏電阻沒有極性。他和普通的電阻一樣使用。但是其在光照的情況下,其內(nèi)部可移動(dòng)的電子增加,使得其導(dǎo)電能力上升。隨著光照強(qiáng)度的增加,其光敏電阻的阻值越來越小,其兩端的電壓變小,電流變大。通過檢測(cè)其變化程度得到目前光線變化的數(shù)據(jù)。光線傳感器的使用其實(shí)非常的普遍和常見,在當(dāng)今的社會(huì)生活中,它會(huì)被用在智能手機(jī)上面。當(dāng)光線發(fā)生一定的變化時(shí)候,而且比某一固定的值高一些的時(shí)候,它就會(huì)將外面的光線較強(qiáng)的的信息傳送的系統(tǒng)的外部,請(qǐng)求系統(tǒng)去調(diào)高本顯示器的顯示亮度,或者在使用時(shí),如果手機(jī)原本是倒置狀態(tài),在系統(tǒng)運(yùn)行時(shí),系統(tǒng)檢測(cè)到手機(jī)的位

12、置從倒立變成直立,并且光線傳感器的數(shù)據(jù)增加。則系統(tǒng)可以經(jīng)過情景模式分析為手機(jī)被從口袋里取出。這時(shí)屏幕將會(huì)被系統(tǒng)將自動(dòng)點(diǎn)亮。2.2 設(shè)計(jì)方案2.2.1 方案設(shè)計(jì)思想本系統(tǒng)利用MSP430單片機(jī),光線感應(yīng)使用了單純的光敏電阻配合MSP430自帶的模數(shù)轉(zhuǎn)換通道使用,使用手動(dòng)按鍵來控制系統(tǒng)的監(jiān)控下線,同時(shí)包括LCD1602構(gòu)成的顯示模塊。顯示模塊顯示目前光照的強(qiáng)度和達(dá)到光線下限的次數(shù),本系統(tǒng)可以實(shí)現(xiàn)聲光報(bào)警的功能。由于本系統(tǒng)需要使用光敏電阻來感應(yīng)光線變化。所以本系統(tǒng)為了將光敏電阻所得到的模擬信號(hào)轉(zhuǎn)化成為數(shù)字信號(hào),將使用MSP430自帶的模數(shù)轉(zhuǎn)換通道。本系統(tǒng)使用USB導(dǎo)線提供電源。本系統(tǒng)使用光敏電阻來感

13、應(yīng)光線的變化。結(jié)合MSP430自帶的模數(shù)轉(zhuǎn)換通道來得到相關(guān)數(shù)字信號(hào)。隨后將數(shù)據(jù)通過導(dǎo)線傳遞到單片機(jī)中。單片機(jī)接收光敏電阻傳遞回來的數(shù)據(jù)后,首先將其按照固定格式顯示到LCD1602中,隨后判斷其數(shù)值有沒有超過本設(shè)計(jì)運(yùn)行時(shí)所設(shè)定的數(shù)值。如果超過數(shù)值了,則LCD1602上的數(shù)目進(jìn)行加一。當(dāng)需要重新測(cè)定環(huán)境的光線時(shí),按下按鍵矩陣中左下角的按鍵則系統(tǒng)記錄的光照信息清零。在程序運(yùn)行時(shí),我們可以通過調(diào)節(jié)程序中的燈光強(qiáng)度的大小設(shè)置新的燈光強(qiáng)度下限。每當(dāng)燈光強(qiáng)度沒有超過我們預(yù)先設(shè)計(jì)的固定數(shù)值時(shí),msp430單片機(jī)將會(huì)控制計(jì)數(shù)器自動(dòng)加1,與此同時(shí)8個(gè)LED燈將會(huì)全部亮起。系統(tǒng)工作原理圖2.1所示。圖2.1系統(tǒng)工作

14、原理圖2.2.2 系統(tǒng)總體框架根據(jù)系統(tǒng)功能要求。本系統(tǒng)需要使用到三個(gè)模塊。分別是使用了光敏電阻和數(shù)模轉(zhuǎn)換芯片的數(shù)據(jù)采集模塊。使用了MSP430的數(shù)據(jù)的中央控制模塊和使用LCD1602的顯示模塊。該系統(tǒng)框架如圖2.2所示。圖 2.2總體框架圖系統(tǒng)的工作原理:數(shù)據(jù)采集模塊通過檢測(cè)光線的變化,并將光線強(qiáng)度的流明信號(hào)通過MSP430自帶的模數(shù)轉(zhuǎn)換通道轉(zhuǎn)化為可以被單片機(jī)處理的數(shù)字信號(hào)。隨后使用單片機(jī)判斷數(shù)據(jù)是否達(dá)到所設(shè)定的限制。當(dāng)超過了限制以后,將更改后的數(shù)據(jù)打印到顯示模塊中。我們完全可以通過按鍵控制模塊輸入一個(gè)新的限制值。3.msp430單片機(jī)的室內(nèi)燈光控制系統(tǒng)的硬件設(shè)計(jì)3.1 元器件選型及元器件參數(shù)

15、介紹3.1.1 單片機(jī)選型及參數(shù)本系統(tǒng)的核心元件是單片機(jī)和光敏電阻。在選擇單片機(jī)時(shí)。我們選擇了其內(nèi)部容量可以達(dá)到本設(shè)計(jì)要求大容量芯片。與此同時(shí)還要求這塊芯片可以支持ad轉(zhuǎn)換。通過老師和同學(xué)的推薦。最后選用單片機(jī)MSP430。MSP430管腳圖如圖3.1所示。圖 3.1MSP430管腳圖3.1.2 光敏電阻本系統(tǒng)使用光敏電阻來作為光照傳感器使用。這樣搭配的優(yōu)勢(shì)是:制作的成本在一定的程度上可以有效地減小,在另一方面通過光敏電阻的研究能夠升華自身的技能。本系統(tǒng)較其他傳感器而言,使用了簡(jiǎn)單的兩種方式,完成了其他昂貴傳感器所共有的功能。市面上銷售的光照傳感器一般都是在接收光照后,先進(jìn)行光電轉(zhuǎn)換將光照的強(qiáng)

16、度轉(zhuǎn)化為相應(yīng)的電壓值。隨后在其后連接相應(yīng)的傳感器進(jìn)行數(shù)據(jù)的處理。光照數(shù)據(jù)通常會(huì)被隨后的處理模塊處理掉。同時(shí)光照傳感器一般可將光照信息轉(zhuǎn)化為0-2V的電壓數(shù)據(jù)或者4-20MA的電流數(shù)據(jù)。太陽能發(fā)電的原理也可以被另外一種光線傳感器巧妙高效地使用。在原本安裝光敏元件的位置安裝了一小塊太陽能板,通過太陽能板接收紫外線光照產(chǎn)生的電流來測(cè)量紫外線強(qiáng)度。這種傳感器一般都帶有自己的數(shù)據(jù)轉(zhuǎn)換芯片。光敏電阻如圖3.2所示。 圖3.2光敏電阻3.1.3 顯示模塊Lcd1602是一種在市場(chǎng)上使用非常普遍的液晶屏。隨著時(shí)代的發(fā)展,雖然LCD1602現(xiàn)在在電子設(shè)計(jì)中的地位逐漸被其他LCD所取代。但是同屬于字符液晶,LCD

17、1602的資料要多一些且HD44780有使用經(jīng)驗(yàn)。所以本設(shè)計(jì)選用LCD1602來提供顯示功能。它是一塊專門用于顯示字符的點(diǎn)陣lcd屏。目前多種行模塊可供選擇。也有背光和不帶背光兩種。LCD1602共有16個(gè)引腳。略去VSS和VDD。LCD1602的第三引腳為對(duì)比度調(diào)整引腳。此引腳設(shè)置不當(dāng)可能會(huì)造成”鬼影”現(xiàn)象。第四引腳為寄存器選擇引腳。通過其高低電平控制目前正在傳輸?shù)氖菙?shù)據(jù)還是命令。第五引腳為讀寫信號(hào)線。第六引腳為始能引腳。其次第7到14為8位雙向數(shù)據(jù)線。最后兩個(gè)為背光電源。本設(shè)計(jì)開發(fā)板本身不自帶LCD1602。所以本設(shè)計(jì)使用多孔插槽安裝LCD1602。如圖3.3所示。圖3.3 LCD1602

18、的外觀 3.1.4 模數(shù)轉(zhuǎn)換模塊本系統(tǒng)中由于使用光敏電阻作為測(cè)量光照強(qiáng)度的工具。其智能反饋給我們電壓的變化,而我們使用的單片機(jī)只能處理數(shù)字信號(hào)。所以我們需要使用模數(shù)轉(zhuǎn)換工具將電阻反饋給我們的模擬信號(hào)轉(zhuǎn)化為數(shù)字信號(hào)。MSP430自帶的模數(shù)轉(zhuǎn)換模塊。MSP的模數(shù)轉(zhuǎn)換通道的轉(zhuǎn)換頻率要高于ADC0832的分辨率的水平,可以滿足模擬轉(zhuǎn)換的一般要求。模數(shù)轉(zhuǎn)換模塊數(shù)據(jù)讀取流程如圖3.4所示。圖3.4模數(shù)轉(zhuǎn)換模塊數(shù)據(jù)讀取流程圖 3.2 系統(tǒng)電路設(shè)計(jì)3.2.1 電源電路由于本系統(tǒng)使用的處理器為MSP430。所以本系統(tǒng)需要為其提供3V供電。本系統(tǒng)使用專用5V電源接口供電。在接口中使用電源管理芯片來將系統(tǒng)供電分別分

19、成5V和3V供電。如圖3.5所示。圖 3.5電源電路 3.2.2 單片機(jī)最小系統(tǒng)MSP430單片機(jī)需要有單片機(jī)最小系統(tǒng)提供其運(yùn)行的根本要求。其中包括電源供電,防止程序崩潰的復(fù)位系統(tǒng)和提供其運(yùn)行時(shí)鐘的晶振電路。單片機(jī)最小系統(tǒng)如圖3.6所示。圖3.6 單片機(jī)最小系統(tǒng) 在系統(tǒng)需要重新開始時(shí)和系統(tǒng)發(fā)生錯(cuò)誤時(shí),單片機(jī)的復(fù)位功能提供了解決的辦法。其連接方法是給其固定的低電平。當(dāng)需要復(fù)位時(shí)使用高電平進(jìn)行復(fù)位。復(fù)位電路在電子設(shè)計(jì)中經(jīng)常被使用。同時(shí)各種設(shè)備的復(fù)位方法也有很多。單片機(jī)的復(fù)位方法比如看門狗Watch Dog、軟件復(fù)位等等。晶體振蕩器經(jīng)常被使用來提供時(shí)鐘信號(hào)或者稱之為晶振。門電路的正常工作的首要因素就

20、是在系統(tǒng)中要具有晶振提供時(shí)鐘震蕩,單片機(jī)只有在擁有晶振信號(hào)的情況下才能正常工作。晶振的作用非常大,例如在程序中需要使用晶振來確定某個(gè)程序執(zhí)行的時(shí)間。在某些情況之下,可以知道某指令需要幾個(gè)周期來執(zhí)行,執(zhí)行一個(gè)程序或者一個(gè)函數(shù)具體所需要花費(fèi)的精準(zhǔn)時(shí)間可以通過晶振參數(shù)可以知道。通常晶振也會(huì)被用在一些電腦器材當(dāng)中。晶振的時(shí)鐘信號(hào)經(jīng)過倍頻器可以將頻率提高到很高的情況。然后供給一些要求頻率高的器件使用。當(dāng)然,高頻率的時(shí)鐘也可以通過分頻器進(jìn)行降頻。并且同一個(gè)時(shí)鐘信號(hào)可以降頻成多個(gè)時(shí)鐘源,供給多個(gè)外接設(shè)備使用。3.2.3按鍵設(shè)置電路設(shè)計(jì) 電路共使用了3個(gè)鍵位控制,在這套開發(fā)板設(shè)計(jì)中存在四個(gè)基本的按鍵:(1)S

21、1鍵:開關(guān)S1鍵是設(shè)置光照強(qiáng)度的界限值。按住增加;(2)S2鍵:開關(guān)S2鍵是報(bào)置光照強(qiáng)度的界限值。按住減小;(3)S3鍵:開關(guān)S3鍵是清楚當(dāng)前的計(jì)數(shù)值。按住兩秒起效;3個(gè)按鍵分別與單片機(jī)的P1。1-P1。3口相連。系統(tǒng)按鍵設(shè)置電路如圖3.7所示。圖 3.7按鍵電路3.2.4顯示電路顯示當(dāng)前光照強(qiáng)度。光照強(qiáng)度限制數(shù)值和計(jì)數(shù)。顯示電路如圖3.8所示。 圖 3.8顯示電路 4 室內(nèi)燈光控制系統(tǒng)軟件設(shè)計(jì)4.1 軟件開發(fā)環(huán)境次畢業(yè)設(shè)計(jì)運(yùn)用的是C語言。在MSP430單片機(jī)中,編寫相關(guān)的程序允許使用C語言和匯編語言。但是匯編語言有其獨(dú)有的特點(diǎn),那就是不好讀懂不方便理解。所以本系統(tǒng)不使用匯編語言。C語言比較匯

22、編語言,其優(yōu)勢(shì)最明顯的是本系統(tǒng)可以進(jìn)行模塊化編程。各個(gè)不同的功能能夠完美的封裝成不同的函數(shù)。保證每個(gè)函數(shù)只完成一件事。通過多模塊的搭配使用最終完成設(shè)計(jì)。C語言和其他高級(jí)語言相比,其優(yōu)勢(shì)在于高級(jí)語言如果要運(yùn)行在電腦上,首先要安裝運(yùn)行環(huán)境,例如Java我們就需要安裝java的 jdk。通常情況之下,C語言可以在任何系統(tǒng)中直接運(yùn)行。而且C語言同時(shí)也可以運(yùn)行在任何芯片上。在本設(shè)計(jì)中使用的MSP430單片機(jī),無法在其上面運(yùn)行系統(tǒng)。所以無法搭建供Java等高級(jí)語言所運(yùn)行的環(huán)境。綜合考慮,本設(shè)計(jì)使用C語言完成軟件部分代碼的編寫。4.2 室內(nèi)燈光控制系統(tǒng)主程序流程圖本系統(tǒng)的使用程序采用模塊化設(shè)計(jì)方法。將主要功

23、能分成多個(gè)模塊,分別是對(duì)光線進(jìn)行采集的光線接收模塊,對(duì)數(shù)據(jù)進(jìn)行處理的單片機(jī)控制模塊,按鍵輸入模塊和顯示模塊。本程序運(yùn)行的基本流程是:單片機(jī)開始運(yùn)行后,第一步依據(jù)相關(guān)的程序進(jìn)行相初始化。如配置變量和結(jié)構(gòu)體的申請(qǐng)。當(dāng)初始化結(jié)束時(shí),當(dāng)我們需要設(shè)置光照強(qiáng)度的限制時(shí)。只需要按住按鍵的第一個(gè)按鍵,數(shù)值就會(huì)增加。按住第二個(gè),設(shè)置的光照強(qiáng)度限制就會(huì)減小。長(zhǎng)按第三個(gè)按鍵則顯示技術(shù)部分會(huì)被清零。因?yàn)楸驹O(shè)計(jì)采用長(zhǎng)按的方式進(jìn)行設(shè)計(jì),所以本系統(tǒng)在開始時(shí)初始化了定時(shí)器子程序。通過使用計(jì)時(shí)器子程序做到了防止硬件抖動(dòng)的情況。按照程序采用循環(huán)的方法讀取AD轉(zhuǎn)化模塊傳遞回來的數(shù)據(jù)。此數(shù)據(jù)來自光敏電阻所傳遞過來的模擬信號(hào)。當(dāng)接收到

24、信號(hào)后,首先將其數(shù)據(jù)經(jīng)過處理傳輸?shù)斤@示模塊顯示當(dāng)前光照強(qiáng)度。單片機(jī)繼續(xù)進(jìn)行判斷,如果其數(shù)值超過系統(tǒng)設(shè)置的亮度限度。則通知顯示模塊在其顯示計(jì)數(shù)部分加一。最后返回到初始化,并循環(huán)執(zhí)行這個(gè)過程。其大致流程流程圖如圖4.1所示。 圖4.1 系統(tǒng)流程圖5 系統(tǒng)調(diào)試5.1 硬件調(diào)試在硬件調(diào)試期間,第一步可以想辦法找到開發(fā)板的電路圖,通過對(duì)電路圖和開發(fā)板的分析比對(duì),確定電路板是否有一定的損壞。同時(shí),因?yàn)殚_發(fā)板將430的托盤安插在開發(fā)板上,所以首先使用萬用表對(duì)430上的各個(gè)引腳到開發(fā)板上的連接點(diǎn)進(jìn)行了檢查。檢查每個(gè)點(diǎn)是否都正常導(dǎo)通。隨后使用酒精對(duì)整個(gè)電路板進(jìn)行清洗。同時(shí)查看各元件有沒有松動(dòng)或者損壞。防止在軟件

25、調(diào)試過程中運(yùn)行發(fā)生錯(cuò)誤有找不到軟件出問題的原因的情況。隨后,找到電路板的案例程序,可以將程序分別下載到電路板進(jìn)行各模塊的檢測(cè)。分辨檢測(cè)led數(shù)碼管是否顯示正常,有無詭影出現(xiàn)。隨后對(duì)此系統(tǒng)的蜂鳴器模塊進(jìn)行檢查,通過下載對(duì)應(yīng)的pwm程序,觀察蜂鳴器是否能夠正常發(fā)出聲音。最后,下載按鍵程序?qū)Π讣K進(jìn)行檢查。本開發(fā)板使用16個(gè)按鍵。由4*4矩陣組成。每排每列4個(gè)。程序中按照從左到右從上到下的順序進(jìn)行排列。當(dāng)按下案件后。在led數(shù)碼管上會(huì)顯示當(dāng)前按下按鍵的編號(hào)是多少。反復(fù)檢測(cè)多次,此電路板沒有任何問題。接下來可以將本設(shè)計(jì)的程序下載到開發(fā)板進(jìn)行調(diào)試。調(diào)試中遇到一些問題,比如:本設(shè)計(jì)在設(shè)計(jì)時(shí)。按照思路。按

26、鍵沒按下一次。光照強(qiáng)度限制增加一。每按下第二個(gè)按鍵時(shí)光照強(qiáng)度限制減小以。都是按下后數(shù)值一直在變化。因?yàn)樵O(shè)計(jì)要求時(shí)按下案件后只進(jìn)行一次變化。經(jīng)過思考和詢問老師后得知。在研究的過程中發(fā)現(xiàn)程序運(yùn)行的判斷方法存在問題。例如將案件按下后。p1。1將會(huì)被置1。而在程序循環(huán)檢測(cè)中。只要此位位1。就在限度上增加一。因?yàn)槌绦蜻\(yùn)行的很快。當(dāng)我們按下后循環(huán)就已經(jīng)發(fā)生了很多次。所以造成了數(shù)值上升很快。隨后經(jīng)過對(duì)程序的更改。P1。1的數(shù)值每變化一次只進(jìn)行一次增減。但是再進(jìn)行限制增減的過程中。按下按鍵之后數(shù)字會(huì)怎加10到20不等。且每次的數(shù)字不相同。再次經(jīng)過詢問老師得知。這是因?yàn)橛布秳?dòng)造成的。而解決硬件抖動(dòng)的方法有軟件

27、防抖和硬件防抖。MSP430本身并不自帶硬件防抖功能。所以聽從老師的意見。在程序中添加了軟件防抖模塊。在后來的調(diào)試中。因?yàn)樾枰獙⑾拗圃O(shè)置為一個(gè)比較大的數(shù)目。在按下按鍵的過程中需要反復(fù)按下許多次,顯然這種按鍵方式不適合使用在本系統(tǒng)中。第一按下幾百次按鍵很耗費(fèi)時(shí)間。如果本設(shè)計(jì)是一個(gè)對(duì)時(shí)間要求很強(qiáng)的系統(tǒng)。那么一兩百次的按鍵可能導(dǎo)致措施捕捉數(shù)據(jù)的機(jī)會(huì)。其次。在使用過程中對(duì)這種按鍵按下一兩百次會(huì)傷到手指。經(jīng)過思考。決定將定時(shí)防抖功能調(diào)整使用在這個(gè)問題上。既每當(dāng)按鍵按下一定時(shí)間以后。數(shù)字開始連續(xù)增加或者減小。5.2 軟件調(diào)試本設(shè)計(jì)在進(jìn)行軟件編碼時(shí)。主要使用的是模塊化設(shè)計(jì)。在程序中的模塊分別含有。從模數(shù)轉(zhuǎn)換

28、通道取得光照數(shù)據(jù)的A/D配置和轉(zhuǎn)換模塊。和進(jìn)行數(shù)據(jù)顯示的LCD子程序。在LCD子程序中又含有更新當(dāng)前光照強(qiáng)度。更新設(shè)置光照限度函數(shù)和更新技術(shù)的函數(shù)。在按鍵程序中包含定時(shí)子程序。用來進(jìn)行軟件防抖操作。在本設(shè)計(jì)的編寫軟件過程中碰到了一些問題:本系統(tǒng)使用C語言進(jìn)行編程。在本系統(tǒng)進(jìn)行代碼的編寫時(shí)。從網(wǎng)上尋找LCD1602的相關(guān)資料和配置程序。但是將程序下載到系統(tǒng)中使用卻出現(xiàn)了一些問題。經(jīng)過同學(xué)的指導(dǎo)。得知在程序的頭文件中修改相應(yīng)的引腳后就能夠成功地運(yùn)行了。在程序調(diào)試期間。有時(shí)在查看自己以前寫的程序時(shí)。發(fā)現(xiàn)閱讀時(shí)不理解程序,只能重新編寫相應(yīng)的程序了。經(jīng)過總結(jié)得知。在編寫程序時(shí)。最好實(shí)現(xiàn)想好總體程序的框架

29、。然后再編寫過程中規(guī)范自己的變量名和函數(shù)名。方便以后對(duì)自己的代碼進(jìn)行閱讀。同時(shí)也給別人的理解提供方便。經(jīng)過一次又一次的失敗體會(huì)的寫程序時(shí)要警惕:程序應(yīng)該配合上合適的注釋。在注釋中可以記錄例如程序框架。執(zhí)行流程等,這樣每一步的程序的目的一目了然也可以進(jìn)行程序問題的定位,而且也易于移植;5.3 系統(tǒng)測(cè)試結(jié)果進(jìn)過對(duì)各個(gè)模塊進(jìn)行單獨(dú)運(yùn)行和對(duì)各模塊程序進(jìn)行整合。各模塊的功能已經(jīng)實(shí)現(xiàn)。系統(tǒng)可以穩(wěn)定運(yùn)行。為了測(cè)試設(shè)計(jì)效果。對(duì)本系統(tǒng)進(jìn)行了模擬測(cè)試。首先為系統(tǒng)連接上電源。然后按下系統(tǒng)的電源開關(guān)。這是在Lcd1602上將會(huì)直接顯示當(dāng)前的光照強(qiáng)度和光照限度000還有計(jì)數(shù)器000。同時(shí),然后我們按下強(qiáng)度限制設(shè)置按鍵。等待片刻。待顯示器上的數(shù)字變成我們需要的數(shù)值時(shí)。松開按鈕。這是使用一塊板將光敏電阻遮擋住以后。可以看到計(jì)數(shù)器增加一。經(jīng)過多次遮擋次數(shù)逐漸增加,隨后按下鍵3。清楚當(dāng)前計(jì)數(shù)信息后。按下鍵2。將光照強(qiáng)度限制調(diào)低。然后重新用遮光板遮住

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論