版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 智能點(diǎn)陣式燈光控制器的中心控制器設(shè)計(jì)</p><p><b> 前 言</b></p><p> 近年來(lái)隨著我國(guó)社會(huì)經(jīng)濟(jì)的快速發(fā)展,人與社會(huì)、人與自然的和諧成為人民日益關(guān)注的焦點(diǎn),建設(shè)節(jié)約型社會(huì)是擺在我們面前的重大課題。傳統(tǒng)的開關(guān)是人工的、機(jī)械的、離散的。本文以此為出發(fā)點(diǎn),在保留其優(yōu)越性的基礎(chǔ)上加以改進(jìn),真正實(shí)現(xiàn)其智能化,并在智能化的基礎(chǔ)上更
2、進(jìn)一步實(shí)現(xiàn)節(jié)能和操作方便快捷性能。本文所介紹的智能點(diǎn)陣式燈光開關(guān)控制器中核心控制系統(tǒng)設(shè)計(jì)是實(shí)現(xiàn)節(jié)能和智能化的必要前提。</p><p> 該項(xiàng)目主要是針對(duì)多媒體合堂教室、禮堂、圖書館閱覽室和課堂教室在進(jìn)行教學(xué)、會(huì)議、自主學(xué)習(xí)等活動(dòng)中,有時(shí)需要將照明燈光按照窗子的排列方向進(jìn)行“列”進(jìn)行“開燈”、“關(guān)燈”控制,而在進(jìn)行多媒體教學(xué)活動(dòng)時(shí),又需要將全部的照明燈光按照與黑板或者銀幕平行的“行”方向進(jìn)行“開燈”、“關(guān)燈”控
3、制。而現(xiàn)有的機(jī)械式開關(guān)只能實(shí)現(xiàn)“行”或者“列”一種控制方式,不具有靈活性和通用性,無(wú)法滿足實(shí)際狀態(tài)的需要。另外,經(jīng)常出現(xiàn)在授課前需要打開照明燈光,隨著授課時(shí)間的進(jìn)行,陽(yáng)光的光照強(qiáng)度越來(lái)越強(qiáng),應(yīng)該關(guān)閉照明燈光,但是無(wú)法中斷授課過(guò)程進(jìn)行“關(guān)燈”操作,甚至于也無(wú)人理會(huì),經(jīng)常出現(xiàn)“長(zhǎng)明燈”現(xiàn)象;有的時(shí)候,在這些活動(dòng)場(chǎng)所內(nèi)空無(wú)一人,也經(jīng)常出現(xiàn)“燈火通明”的空照明現(xiàn)象,極大地浪費(fèi)了能源。鑒于此,研發(fā)設(shè)計(jì)、制作了這一個(gè)通用性、適應(yīng)性高,又具有自動(dòng)光控
4、和人體紅外線控制的“智能點(diǎn)陣式照明燈光集控器”。</p><p> 智能點(diǎn)陣式控制系統(tǒng)以臺(tái)灣凌陽(yáng)公司的SPCE06A-16位單片機(jī)為控制核心;以制作按鍵陣列、光敏檢測(cè)電路和人體紅外線檢測(cè)電路組成輸入控制器;利用電磁繼電器陣列形成開關(guān)動(dòng)作陣列板。通過(guò)輸入控制器輸入各種需要的控制信息數(shù)據(jù),傳入到核心控制器,控制器將輸入的控制請(qǐng)求數(shù)據(jù)進(jìn)行運(yùn)算處理得到需要的控制編碼數(shù)據(jù),通過(guò)其端口向開關(guān)陣列發(fā)出數(shù)據(jù)控制燈光陣列的“亮”
5、、“滅”動(dòng)作。</p><p> 智能點(diǎn)陣式控制器由三部分構(gòu)成: “按鍵陣列”與光照強(qiáng)度檢測(cè)與人體紅外檢測(cè);以凌陽(yáng)SPCE061A單片為核心的控制處理模塊;由解碼電路、電磁繼電器陣列組成的開關(guān)動(dòng)作陣列。通過(guò)按鍵陣列及相關(guān)檢測(cè)電路模塊向核心控制系統(tǒng)發(fā)出相關(guān)請(qǐng)求的狀態(tài)信息,核心控制模塊接收到請(qǐng)求信息及檢測(cè)狀態(tài)數(shù)據(jù)后,根據(jù)需求通過(guò)其I/O口向開關(guān)陣列模塊發(fā)出相應(yīng)的控制數(shù)字信息,開關(guān)動(dòng)作模塊接收到控制數(shù)據(jù)信息后,由譯碼
6、電路進(jìn)行解碼處理,將解碼得到的控制數(shù)據(jù)傳遞到驅(qū)動(dòng)電路,進(jìn)而控制電磁繼電器的吸合或者釋放動(dòng)作,最終控制照明燈具的點(diǎn)亮或者熄滅。</p><p> 1.智能點(diǎn)陣式燈光控制器的背景介紹</p><p><b> 1.1 研究背景</b></p><p> 在多媒體教室、禮堂、圖書館、閱覽室和課堂教室等場(chǎng)所,進(jìn)行不同的課堂教學(xué)時(shí),對(duì)于燈光的照明方
7、式需求是不同的。</p><p> 1.一般的課堂教學(xué)和自學(xué)閱覽及舉行會(huì)議時(shí),可能僅僅需要將遠(yuǎn)離窗戶的中間縱向區(qū)域進(jìn)行照明;</p><p> 2.在進(jìn)行計(jì)算機(jī)多媒體教學(xué)時(shí),需要將前方橫向區(qū)域的燈光關(guān)閉,現(xiàn)有的機(jī)械式開關(guān)只能完成縱向或者橫向一種控制方式,不能同時(shí)滿足不同陣列控制的需求;</p><p> 3.大多數(shù)情況下,進(jìn)行授課或者會(huì)議開始的時(shí)候,需要打開燈
8、光進(jìn)行照明,隨著時(shí)間的進(jìn)行,室內(nèi)光照強(qiáng)度變大,需要關(guān)閉燈光時(shí),也無(wú)人理會(huì)或者不方便關(guān)閉照明燈光,常常出現(xiàn)“長(zhǎng)明燈”;</p><p> 4.更有甚者,教學(xué)、學(xué)習(xí)場(chǎng)所內(nèi)空無(wú)一人時(shí),也經(jīng)常出現(xiàn)“空照明”現(xiàn)象,這一切情況都極大地浪費(fèi)能源;</p><p> 基于此,急需設(shè)計(jì)、制作一套智能化的多功能照明燈光控制器,本項(xiàng)目就是圍繞著這一需求進(jìn)行設(shè)計(jì)與制作。</p><p>
9、;<b> 1.2 系統(tǒng)功能</b></p><p> 要解決以上所出現(xiàn)的具體問(wèn)題要求控制系統(tǒng)具備以下功能:</p><p> 1.按鍵陣列每一個(gè)按鍵對(duì)應(yīng)控制陣列每一盞燈。實(shí)現(xiàn)單點(diǎn)控制功能,可以使任意一盞燈或則任意區(qū)域的燈亮或滅,達(dá)到靈活控制燈光的目的。</p><p> 2.系統(tǒng)必須具備行和列控制功能。按下行控制鍵之后,再按下行號(hào)鍵,
10、則對(duì)應(yīng)此行燈泡全亮。再按下列號(hào)鍵,則對(duì)應(yīng)此列燈泡全亮。</p><p> 3.點(diǎn)陣式燈光控制系統(tǒng)需安裝有光敏感應(yīng)裝置。當(dāng)光照相對(duì)較強(qiáng)時(shí),光敏電阻會(huì)將檢測(cè)到的光信息傳達(dá)到單片機(jī),可以實(shí)現(xiàn)自動(dòng)熄滅燈泡的功能。從而達(dá)到自動(dòng)控制的功能,以此節(jié)省電能。</p><p> 4.點(diǎn)陣式燈光控制器同時(shí)需安裝有紅外檢測(cè)裝置,紅外檢測(cè)器可以將人體的信息傳達(dá)到單片機(jī),單片機(jī)接收到人體信息時(shí),自動(dòng)實(shí)現(xiàn)控制功能
11、。當(dāng)室內(nèi)無(wú)人時(shí),單片機(jī)會(huì)發(fā)出熄滅所有燈光的信號(hào),熄滅所有的燈泡,達(dá)到節(jié)能的目的。</p><p><b> 1.3 基本思路</b></p><p> 智能點(diǎn)陣式燈光開關(guān)控制器設(shè)計(jì)核心是對(duì)全部照明燈光進(jìn)行“點(diǎn)陣式”控制,根據(jù)照明場(chǎng)所的需求,自動(dòng)組合成“行”或者“列”進(jìn)行“點(diǎn)亮”和“熄滅”動(dòng)作。另外,再配合以光敏檢測(cè)和人體紅外線檢測(cè),根據(jù)光照度和紅外線的檢測(cè)結(jié)論進(jìn)行
12、自動(dòng)“熄滅”和“點(diǎn)亮”控制,避免“長(zhǎng)明燈”和“空照明”現(xiàn)象的發(fā)生。</p><p> 通過(guò)按鍵陣列、光照強(qiáng)度檢測(cè)電路、人體紅外檢測(cè)電路向核心控制系統(tǒng)發(fā)出相關(guān)請(qǐng)求信息,核心控制模塊接收到請(qǐng)求信息及檢測(cè)狀態(tài)數(shù)據(jù)后,根據(jù)需求通過(guò)其I/O口向開關(guān)陣列模塊發(fā)出相應(yīng)的控制數(shù)字信息,開關(guān)動(dòng)作模塊接收到控制數(shù)據(jù)信息后,由譯碼電路進(jìn)行解碼處理,將解碼得到的控制數(shù)據(jù)傳遞到驅(qū)動(dòng)電路,進(jìn)而控制電磁繼電器的吸合或者釋放動(dòng)作,最終控制照明
13、燈具的點(diǎn)亮或者熄滅。</p><p><b> 1.4 研究?jī)?nèi)容</b></p><p> 本項(xiàng)目設(shè)計(jì)的目的是設(shè)計(jì)、制作出一套功能齊全、性能穩(wěn)定可靠、可以直接實(shí)用的照明燈光控制器。</p><p> 智能點(diǎn)陣式照明燈光集控器的設(shè)計(jì)、制作內(nèi)容主要包括:按鍵陣列電路、光照強(qiáng)度檢測(cè)電路、人體紅外線檢測(cè)電路,電磁繼電器開關(guān)陣列電路,工作電源線路,
14、模塊連接線路和核心控制程序代碼設(shè)計(jì)等幾部分。</p><p> 設(shè)計(jì)控制器的原理圖;選擇元器件及相關(guān)器材;生成PCB線路圖;雕刻、制作PCB線路板;元器件焊接、制作電子線路板;設(shè)計(jì)、調(diào)試控制代碼并“寫入”單片機(jī)的程序存儲(chǔ)器;連接輸入線路板、單片機(jī)和開關(guān)陣列板。 </p><p><b> 1.5 研究原理</b></p><p> 本項(xiàng)目
15、采用行、列掃描方式對(duì)按鍵陣列進(jìn)行識(shí)別處理得到的按鍵編碼;利用光敏電阻進(jìn)行光照強(qiáng)度檢測(cè),配合軟件的“防抖動(dòng)”處理,獲取到穩(wěn)定、可靠的光控?cái)?shù)據(jù);采用紅外線檢測(cè)開關(guān)識(shí)別教學(xué)場(chǎng)所內(nèi)是否有學(xué)習(xí)人員信息,傳遞到單片機(jī)的輸入端口得到控制數(shù)據(jù);利用C語(yǔ)言環(huán)境設(shè)計(jì)、調(diào)試單片機(jī)的控制程序代碼;選用ULN2003作為電磁繼電器的譯碼和驅(qū)動(dòng)芯片控制繼電器的吸合與釋放動(dòng)作,從而控制照明燈光的“亮”、“滅”動(dòng)作。</p><p> 2.智
16、能點(diǎn)陣式燈光控制器的功能介紹</p><p> 2.1 鍵盤電路與燈光陣列示意圖</p><p> 圖2.1 鍵盤電路與燈光陣列示意圖</p><p> 2.2 點(diǎn)對(duì)點(diǎn)燈光控制功能</p><p> 鍵盤電路的前16個(gè)功能鍵組成4x4鍵盤陣列,此陣列每一個(gè)按鍵對(duì)應(yīng)控制陣列每一盞燈。</p><p> 控制方法
17、:如果燈處于熄滅狀態(tài)時(shí),按下按鍵燈會(huì)變亮,再次按下按鍵時(shí)燈會(huì)熄滅,每次按鍵按下燈會(huì)向相反的狀態(tài)轉(zhuǎn)變。實(shí)現(xiàn)單點(diǎn)控制功能,可以使任意位置的燈亮或滅,達(dá)到靈活控制燈光的目的。</p><p> 2.3 行控制和列控制功能</p><p> 此項(xiàng)能為智能點(diǎn)陣式燈光的主要功能。鍵盤電路的第17號(hào)和第18號(hào)功能鍵分別對(duì)應(yīng)控制燈光陣列的行和列。 </p><p> 控制方法
18、:按下行控制鍵之后,再按下第一行的1號(hào)功能鍵,第一行燈泡全亮。依次類推,按下第2、3、4 號(hào)功能鍵對(duì)應(yīng)控制第二、三、四行燈泡的亮與滅。同樣,每次按鍵按下執(zhí)行相反操作。同理,列控制也是如此。</p><p> 2.4 自動(dòng)光照強(qiáng)度控制功能</p><p> 點(diǎn)陣式燈光控制器安裝有光敏感應(yīng)裝置,光敏電阻通過(guò)三極管連接單片機(jī)。當(dāng)光照相對(duì)較強(qiáng)時(shí),光敏電阻會(huì)將檢測(cè)到的光信息傳達(dá)到單片機(jī),可以實(shí)現(xiàn)
19、自動(dòng)熄滅燈泡的功能。從而達(dá)到自動(dòng)控制的功能,以此節(jié)省電能。</p><p> 2.5 自動(dòng)紅外檢測(cè)控制</p><p> 點(diǎn)陣式燈光控制器同時(shí)安裝有紅外檢測(cè)裝置,紅外檢測(cè)器可以將人體的信息傳達(dá)到單片機(jī),單片機(jī)接收到人體信息時(shí),自動(dòng)實(shí)現(xiàn)控制功能。當(dāng)室內(nèi)無(wú)人時(shí),單片機(jī)會(huì)發(fā)出熄滅所有燈光的信號(hào),熄滅燈泡達(dá)到節(jié)能的目的。</p><p> 3. 智能點(diǎn)陣式燈光控制系統(tǒng)
20、研究的主要問(wèn)題</p><p> 3.1 鍵盤電路的每個(gè)鍵值的區(qū)分與計(jì)算</p><p> 計(jì)算鍵值采用二進(jìn)制直接推算,編程時(shí)需將二進(jìn)制轉(zhuǎn)換為十六進(jìn)制表示,才可進(jìn)行人機(jī)對(duì)話,單片機(jī)所認(rèn)識(shí)的只是“0”和“1”二進(jìn)制數(shù)值,不可以按照人類的思維主觀的進(jìn)行編寫程序。計(jì)算每一個(gè)鍵值都要做到認(rèn)真、細(xì)心不能出現(xiàn)一點(diǎn)錯(cuò)誤,否則無(wú)法正確的編寫程序,導(dǎo)致系統(tǒng)無(wú)法正常工作。</p><p
21、> 3.2 環(huán)境光強(qiáng)度采集的問(wèn)題</p><p> 光敏電阻器的阻值相當(dāng)大,應(yīng)當(dāng)具體的使用萬(wàn)用表測(cè)出其阻值,根據(jù)光敏電阻器阻值的變化范圍,計(jì)算出電路所需要的連接電阻的阻值,然后設(shè)計(jì)出電路的連接方法,進(jìn)行原理圖的繪制。</p><p> 3.3 人體信息的紅外采集問(wèn)題</p><p> 紅外檢測(cè)器需要9v~16v的電源供電才可以正常工作。要選擇合適的紅外
22、設(shè)備,否則不能正常工作。</p><p> 3.4 uln2003與繼電器的連接問(wèn)題</p><p> 單片機(jī)要與繼電器連接需用驅(qū)動(dòng),智能控制系統(tǒng)采用uln2003作為驅(qū)動(dòng),連接時(shí)采用倒灌電流接法,才能保證正常工作。</p><p> 4 .智能點(diǎn)陣式燈光控制系統(tǒng)的模塊連接介紹</p><p> 4.1 模塊連接的重要性</p&
23、gt;<p> 要完成智能控制功能,還需要用8位的并口排線將各個(gè)線路板相連接。使其成為完整的系統(tǒng),實(shí)現(xiàn)具體的功能。</p><p> 4.2 模塊連接示意圖</p><p> 圖4.1 模塊連接示意圖</p><p> 4.3 模塊整體調(diào)試</p><p> 智能點(diǎn)陣式照明燈光控制器主要包括:按鍵陣列模塊、光敏與人體紅
24、外線檢測(cè)電路模塊,電磁繼電器陣式開關(guān)燈光控制器模塊,工作電源線路板模塊。</p><p> 安裝完畢后,接通電源。分別對(duì)按鍵陣列模塊、光敏與人體紅外線檢測(cè)電路模塊,電磁繼電器陣式開關(guān)燈光控制器模塊,工作電源線路板模塊各個(gè)模塊進(jìn)行調(diào)試,若發(fā)現(xiàn)故障,逐個(gè)排查改進(jìn)直至成功。</p><p> 5 . 智能點(diǎn)陣式燈光控制器的中心控制器的模塊介紹</p><p> 5.
25、1 凌陽(yáng)十六位單片機(jī)SPCE061A</p><p> 5.1.1 凌陽(yáng)十六位單片機(jī)SPCE061A簡(jiǎn)介</p><p> 1.SPCE061A 是繼μ’nSP?(Microcontroller and Signal Processor)系列產(chǎn)品SPCE500A等之后凌陽(yáng)科技推出的又一款16位結(jié)構(gòu)的微控制器。與SPCE500A不同的是,在存儲(chǔ)器資源方面考慮到用戶的較少資源的需求以及便于
26、程序調(diào)試等功能,SPCE061A里只內(nèi)嵌32K字的閃存(FLASH)。較高的處理速度使μ’nSP?能夠非常容易地、快速地處理復(fù)雜的數(shù)字信號(hào)。因此,與SPCE500A相比,以μ’nSP?為核心的SPCE061A微控制器是適用于數(shù)字語(yǔ)音識(shí)別應(yīng)用領(lǐng)域產(chǎn)品的一種最經(jīng)濟(jì)的選擇。</p><p> 2.SPCE061A封裝圖如下:</p><p> 圖5.1 SPCE061A封裝圖</p&g
27、t;<p> 5.1.2 凌陽(yáng)十六位單片機(jī)SPCE061A的性能</p><p> 16位micro μ’nSP?微處理器;工作電壓(CPU) VDD為2.4~3.6V (I/O) VDDH為2.4~5.5V;CPU時(shí)鐘:0.32MHz~49.152MHz ;內(nèi)置2K字SRAM;內(nèi)置32K FLASH;可編程音頻處理;體振蕩器;系統(tǒng)處于備用狀態(tài)下(時(shí)鐘處于停止?fàn)顟B(tài)),耗電僅為2&micr
28、o;A@3.6V;2個(gè)16位可編程定時(shí)器/計(jì)數(shù)器(可自動(dòng)預(yù)置初始計(jì)數(shù)值);2個(gè)10位DAC(數(shù)-模轉(zhuǎn)換)輸出通道;32位通用可編程輸入/輸出端口;14個(gè)中斷源可來(lái)自定時(shí)器A / B,時(shí)基,2個(gè)外部時(shí)鐘源輸入,鍵喚醒;具備觸鍵喚醒的功能;使用凌陽(yáng)音頻編碼SACM_S240方式(2.4K位/秒),能容納210秒的語(yǔ)音數(shù)據(jù);鎖相環(huán)PLL振蕩器提供系統(tǒng)時(shí)鐘信號(hào);32768Hz實(shí)時(shí)時(shí)鐘;7通道10位電壓模-數(shù)轉(zhuǎn)換器(ADC)和單通道聲音模-數(shù)轉(zhuǎn)換
29、器;聲音模-數(shù)轉(zhuǎn)換器輸入通道內(nèi)置麥克風(fēng)放大器和自動(dòng)增益控制(AGC)功能;具備串行設(shè)備接口;具有低電壓復(fù)位(LVR)功能和低電壓監(jiān)測(cè)(LVD)功能;內(nèi)置在線仿真電路ICE(In- Circuit Emulator)接口;具有保密能力;具有WatchDog</p><p> 5.1.3 SPCE061A的結(jié)構(gòu)介紹</p><p> SPCE061A有兩種封裝片,一種為84個(gè)引腳,PLCC
30、84封裝形式;;另一種為80個(gè)引腳,LQFP80封裝。在PLCC84封裝中,有15個(gè)空余腳,用戶使用時(shí)這15個(gè)空余腳懸浮。在LQFP80封裝中有9個(gè)空余腳,用戶使用時(shí)這9個(gè)空余腳接地。 </p><p> 5.1.4 SPCE061A最小系統(tǒng) </p><p> 最小系統(tǒng)在OSC0、OSC1端接上晶振及諧振電容,在鎖相環(huán)壓控振蕩器的阻容輸入VCP端接上相應(yīng)的電容電阻后即可工作。其它不用
31、的電源端和地端接上0.1µF的去藕電容提高抗干擾能力。</p><p> 圖5.2 SPCE061A最小系統(tǒng)原理圖</p><p> 5.1.5 SPCE061A的應(yīng)用領(lǐng)域</p><p> 家用電器控制器:冰箱、空調(diào)、洗衣機(jī)等白色家電; 儀器儀表:數(shù)字儀表(有語(yǔ)音提示功能) 電表、水表、煤氣表、暖氣表;工業(yè)控制;智能家居控制器;通訊產(chǎn)品:
32、多功能錄音電話、自動(dòng)總機(jī)、語(yǔ)音信箱、數(shù)字錄音系統(tǒng)產(chǎn)品;醫(yī)療設(shè)備、保健器械(電子血壓計(jì)、紅外體溫監(jiān)測(cè)儀等)體育健身產(chǎn)品(跑步機(jī)等);電子書籍(兒童電子故事書類)、電教設(shè)備等;語(yǔ)音識(shí)別類產(chǎn)品(語(yǔ)音識(shí)別遙控器、智能語(yǔ)音交互式玩具等) 詞條圖冊(cè)更多圖冊(cè);</p><p> 5.2 智能點(diǎn)陣式燈光控制器按鍵陣列</p><p> 5.2.1 智能點(diǎn)陣式燈光控制器按鍵陣列原理圖</p>
33、<p> 圖5.3 點(diǎn)陣式燈光控制器按鍵陣列原理圖</p><p> 5.2.2 智能點(diǎn)陣式燈光控制器按鍵陣列控制原理</p><p> 在鍵盤的行與列之間安裝20個(gè)按鍵,前16個(gè)按鍵對(duì)應(yīng)16個(gè)燈泡,后4個(gè)對(duì)應(yīng)行,列,全亮/全滅和復(fù)位。根據(jù)需要16盞燈需要對(duì)應(yīng)16個(gè)按鍵,當(dāng)燈處于熄滅狀態(tài)時(shí),按鍵按下就會(huì)使燈點(diǎn)亮,相反,當(dāng)燈處于點(diǎn)亮狀態(tài)時(shí),按鍵按下就會(huì)使燈熄滅。也就是說(shuō)每
34、次按鍵按下,燈泡會(huì)變?yōu)橄喾吹臓顟B(tài)。其次,行鍵和列鍵用來(lái)與數(shù)字鍵相互配合之后達(dá)到控制行和列的目的。</p><p> 5.3 智能點(diǎn)陣式燈光控制器光敏檢測(cè)電路</p><p> 5.3.1 智能點(diǎn)陣式燈光控制器光敏檢測(cè)電路原理圖</p><p> 圖5.4 智能點(diǎn)陣式燈光控制器光敏檢測(cè)電路原理圖</p><p> 5.3.2 光敏電阻器
35、簡(jiǎn)介</p><p> 1.光敏電阻器是利用半導(dǎo)體的光電效應(yīng)制成的一種電阻值隨入射光的強(qiáng)弱而改變的電阻器;入射光強(qiáng),電阻減小,入射光弱,電阻增大。</p><p><b> 圖5.5 光敏電阻</b></p><p> 2.光敏電阻又稱光導(dǎo)管,常用的制作材料為硫化鎘,另外還有硒、硫化鋁、硫化鉛和硫化鉍等材料。這些制作材料具有在特定波長(zhǎng)的光
36、照射下,其阻值迅速減小的特性。這是由于光照產(chǎn)生的載流子都參與導(dǎo)電,在外加電場(chǎng)的作用下作漂移運(yùn)動(dòng),電子奔向電源的正極,空穴奔向電源的負(fù)極,從而使光敏電阻器的阻值迅速下降。</p><p> 5.3.3 光敏電阻器結(jié)構(gòu)簡(jiǎn)介</p><p> 通常,光敏電阻器都制成薄片結(jié)構(gòu),以便吸收更多的光能。當(dāng)它受到光的照射時(shí),半導(dǎo)體片(光敏層)內(nèi)就激發(fā)出電子—空穴對(duì),參與導(dǎo)電,使電路中電流增強(qiáng)。為了獲得
37、高的靈敏度,光敏電阻的電極常采用梳狀圖案,它是在一定的掩膜下向光電導(dǎo)薄膜上蒸鍍金或銦等金屬形成的。光敏電阻器通常由光敏層、玻璃基片(或樹脂防潮膜)和電極等組成。光敏電阻器在電路中用字母“R”或“RL”、“RG”表示 </p><p> 5.3.4 光敏電阻器的主要參數(shù)與特性</p><p> 根據(jù)光敏電阻的光譜特性,可分為三種光敏電阻器:紫外光敏電阻器:對(duì)紫外線較靈敏,包括硫化鎘、硒化
38、鎘光敏電阻器等,用于探測(cè)紫外線。 </p><p> 紅外光敏電阻器:主要有硫化鉛、碲化鉛、硒化鉛。銻化銦等光敏電阻器,廣泛用于導(dǎo)彈制導(dǎo)、天文探測(cè)、非接觸測(cè)量、人體病變探測(cè)、紅外光譜,紅外通信等國(guó)防、科學(xué)研究和工農(nóng)業(yè)生產(chǎn)中。 </p><p> 可見光光敏電阻器:包括硒、硫化鎘、硒化鎘、碲化鎘、砷化鎵、硅、鍺、硫化鋅光敏電阻器等。主要用于各種光電控制系統(tǒng),如光電自動(dòng)開關(guān)門戶,航標(biāo)燈、路
39、燈和其他照明系統(tǒng)的自動(dòng)亮滅,自動(dòng)給水和自動(dòng)停水裝置,機(jī)械上的自動(dòng)保護(hù)裝置和“位置檢測(cè)器”,極薄零件的厚度檢測(cè)器,照相機(jī)自動(dòng)曝光裝置,光電計(jì)數(shù)器,煙霧報(bào)警器,光電跟蹤系統(tǒng)等方面。 </p><p> 5.3.5 光敏檢測(cè)電路工作原理</p><p> 單片機(jī)持續(xù)給IOA相應(yīng)的端口輸出低電平,光照弱時(shí),電阻很大IOA口的電平也一直是低電平,當(dāng)光照強(qiáng)度大時(shí),電阻減小,NPN管的基極電流Ib增
40、大,由NPN管的特性知發(fā)射極電流Ie=Ic+Ib,因此IOA口掃描到的IOA_DATA為高電平,從而控制燈泡全部熄滅。</p><p> 光敏電阻的工作原理是基于內(nèi)光電效應(yīng)。在半導(dǎo)體光敏材料兩端裝上電極引線,將其封裝在帶有透明窗的管殼里就構(gòu)成光敏電阻,為了增加靈敏度,兩電極常做成梳狀。用于制造光敏電阻的材料主要是金屬的硫化物、硒化物和碲化物等半導(dǎo)體。在黑暗環(huán)境里,它的電阻值很高,當(dāng)受到光照時(shí),只要光子能量大于半
41、導(dǎo)體材料的禁帶寬度,則價(jià)帶中的電子吸收一個(gè)光子的能量后可躍遷到導(dǎo)帶,并在價(jià)帶中產(chǎn)生一個(gè)帶正電荷的空穴,這種由光照產(chǎn)生的電子—空穴對(duì)了半導(dǎo)體材料中載流子的數(shù)目,使其電阻率變小,從而造成光敏電阻阻值下降。光照愈強(qiáng),阻值愈低。入射光消失后,由光子激發(fā)產(chǎn)生的電子—空穴對(duì)將復(fù)合,光敏電阻的阻值也就恢復(fù)原值。在光敏電阻兩端的金屬電極加上電壓,其中便有電流通過(guò),受到波長(zhǎng)的光線照射時(shí),電流就會(huì)隨光強(qiáng)的而變大,從而實(shí)現(xiàn)光電轉(zhuǎn)換。光敏電阻沒有極性,純粹是一
42、個(gè)電阻器件,使用時(shí)既可加直流電壓,也加交流電壓。半導(dǎo)體的導(dǎo)電能力取決于半導(dǎo)體導(dǎo)帶內(nèi)載流子數(shù)目的多少。 </p><p> 5.4 智能點(diǎn)陣式燈光控制器人體紅外線檢測(cè)電路</p><p> 5.4.1 人體紅外線檢測(cè)電路原理圖</p><p> 圖5.6 人體紅外線檢測(cè)電路原理圖</p><p> 5.4.2 紅外技術(shù)簡(jiǎn)介</p&
43、gt;<p> 紅外技術(shù)的內(nèi)容包含四個(gè)主要部分:</p><p> 1.紅外輻射的性質(zhì),其中有受熱物體所發(fā)射的輻射在光譜、強(qiáng)度和方向的分布;輻射在媒質(zhì)中的傳播特性--反射、折射、衍射和散射;熱電效應(yīng)和光電效應(yīng)等。 </p><p> 2.紅外元件、部件的研制,包括輻射源、微型制冷器、紅外窗口材料和濾光電等。 </p><p> 3.紅外技術(shù)在軍
44、事上和國(guó)民經(jīng)濟(jì)中的應(yīng)用。由此可見,紅外技術(shù)的研究涉及的范圍相當(dāng)廣泛,既有目標(biāo)的紅外輻射特性,背景特性,又有紅外元、部件及系統(tǒng);既有材料問(wèn)題,又有應(yīng)用問(wèn)題。紅外技術(shù)的發(fā)展關(guān)鍵在于紅外材料的研制、紅外設(shè)備的制冷、紅外設(shè)備向更長(zhǎng)波段發(fā)展、紅外焦平面陣列器件的研制和紅外設(shè)備與數(shù)據(jù)處理設(shè)備的結(jié)合等。 </p><p> 5.4.3 人體紅外線檢測(cè)裝置簡(jiǎn)介</p><p> 紅外探頭可以感應(yīng)人體的
45、溫度,當(dāng)有人是紅外開關(guān)處于閉和狀態(tài),一旦室內(nèi)無(wú)人了,紅外開關(guān)便斷開。將紅外探頭與單片機(jī)相連,通過(guò)紅外開關(guān)的斷開與閉和來(lái)控制IOA口的數(shù)據(jù),然后來(lái)控制燈泡的狀態(tài)。紅外是一種無(wú)線通訊方式,可以進(jìn)行無(wú)線數(shù)據(jù)的傳輸。紅外的特征:紅外傳輸是一種點(diǎn)對(duì)點(diǎn)的傳輸方式,無(wú)線,不能離的太遠(yuǎn),要對(duì)準(zhǔn)方向,且中間不能有障礙物也就是不能穿墻而過(guò),幾乎無(wú)法控制信息傳輸?shù)倪M(jìn)度。</p><p> 紅外接口是新一代數(shù)字設(shè)備進(jìn)行數(shù)據(jù)交流技術(shù).紅
46、外通訊有著成本低廉、連接方便、簡(jiǎn)單易用和結(jié)構(gòu)緊湊的特點(diǎn),因此在小型的移動(dòng)設(shè)備中獲得了廣泛的應(yīng)用.通過(guò)紅外接口,各類移動(dòng)設(shè)備可以自由進(jìn)行數(shù)據(jù)交換。</p><p> 5.4.4 紅外探測(cè)器簡(jiǎn)介</p><p> 紅外探測(cè)器(Infrared Detector)是將入射的紅外輻射信號(hào)轉(zhuǎn)變成電信號(hào)輸出的器件。紅外輻射是波長(zhǎng)介于可見光與微波之間的電磁波,人眼察覺不到。要察覺這種輻射的存在并測(cè)量
47、其強(qiáng)弱,必須把它轉(zhuǎn)變成可以察覺和測(cè)量的其他物理量。一般說(shuō)來(lái),紅外輻射照射物體所引起的任何效應(yīng),只要效果可以測(cè)量而且足夠靈敏,均可用來(lái)度量紅外輻射的強(qiáng)弱?,F(xiàn)代紅外探測(cè)器所利用的主要是紅外熱效應(yīng)和光電效應(yīng)。這些效應(yīng)的輸出大都是電量,或者可用適當(dāng)?shù)姆椒ㄞD(zhuǎn)變成電量。</p><p> 5.4.5 紅外探測(cè)器工作原理</p><p> 不同種類的物體發(fā)射出的紅外光波段是有其特定波段的,該波段的紅
48、外光處在可見光波段之外。因此人們可以利用這種特定波段的紅外光來(lái)實(shí)現(xiàn)對(duì)物體目標(biāo)的探測(cè)與跟蹤。將不可見的紅外輻射光探測(cè)出并將其轉(zhuǎn)換為可測(cè)量的信號(hào)的技術(shù)就是紅外探測(cè)技術(shù)。從目前應(yīng)用的情況來(lái)看,紅外探測(cè)有如下幾個(gè)優(yōu)點(diǎn):環(huán)境適應(yīng)性優(yōu)于可見光,尤其是在夜間和惡劣天候下的工作能力;隱蔽性好,一般都是被動(dòng)接收目標(biāo)的信號(hào),比雷達(dá)和激光探測(cè)安全且保密性強(qiáng),不易被干擾;由于是目標(biāo)和背景之間的溫差和發(fā)射率差形成的紅外輻射特性進(jìn)行探測(cè),因而識(shí)別偽裝目標(biāo)的能力優(yōu)于
49、可見光;與雷達(dá)系統(tǒng)相比,紅外系統(tǒng)的體積小,重量輕,功耗低;探測(cè)器的光譜響應(yīng)從短波擴(kuò)展到長(zhǎng)波;探測(cè)器從單元發(fā)展到多元、從多元發(fā)展到焦平面;發(fā)展了種類繁多的探測(cè)器和系統(tǒng);從單波段探測(cè)向多波段探測(cè)發(fā)展;從制冷型探測(cè)器發(fā)展到室溫探測(cè)器;由于紅外探測(cè)技術(shù)有其獨(dú)特的優(yōu)點(diǎn)從而使其在軍事國(guó)防和民用領(lǐng)域得到了廣泛的研究和應(yīng)用,尤其是在軍事需求的牽引和相關(guān)技術(shù)發(fā)展的推動(dòng)下,作為高新技術(shù)的紅外探測(cè)技術(shù)在未來(lái)的應(yīng)用將更加廣泛,地位更加重要。 </p>
50、;<p> 6 . 智能點(diǎn)陣式燈光控制器的中心控制器的</p><p><b> 控制方法</b></p><p> 6.1 SPCE061A的使用與開發(fā)方法</p><p> SPCE061A的開發(fā)是通過(guò)在線調(diào)試器PROBE實(shí)現(xiàn)的。它既是一個(gè)編程器(即程序燒寫器),又是一個(gè)實(shí)時(shí)在線調(diào)試器。用它可以替代在單片機(jī)應(yīng)用項(xiàng)目的開
51、發(fā)過(guò)程中常用的軟件工具——硬件在線實(shí)時(shí)仿真器和程序燒寫器。它利用了SPCE061A片內(nèi)置的在線仿真電路ICE(In- Circuit Emulator)接口和凌陽(yáng)公司的在線串行編程技術(shù)。PROBE工作于凌陽(yáng)IDE集成開發(fā)環(huán)境軟件包下,其5芯的仿真頭直接連接到目標(biāo)電路板上SPCE061A相應(yīng)管腳,直接在目標(biāo)電路板上的CPU---SPCE061A調(diào)試、運(yùn)行用戶編制的程序。PROBE的另一頭是標(biāo)準(zhǔn)25針打印機(jī)接口,直接連接到計(jì)算機(jī)打印口與上位
52、機(jī)通訊,在計(jì)算機(jī)IDE集成開發(fā)環(huán)境軟件包下,完成在線調(diào)試功能。</p><p> 6.2 按鍵響應(yīng)原理</p><p> 由于行線與列線通過(guò)按鍵相連接,當(dāng)按鍵按下時(shí),行線與列線相連通,假如行線輸出低電平,列線輸出高電平,此時(shí)按鍵按下就會(huì)使得列線的電平拉低,從而改變了IOA_DATA。然后使用反轉(zhuǎn)法,將得到的行IOA_DATA與列IOA_DATA相加和得到了獨(dú)一無(wú)二的KEY值。</
53、p><p> 舉例說(shuō)明:第一行第一列的按鍵確定方法。</p><p> a、IOA口輸出111110000;</p><p> b、按鍵按下,第一行第一列相連通;</p><p> c、將第一行電平拉低,此時(shí)掃描IOA口得到一個(gè)行值定義為KEY_H,它的值可知為011110000,用十六進(jìn)制數(shù)表示為0x001e;</p>&
54、lt;p> d、反轉(zhuǎn)輸出,IOA輸出000001111,同樣由于拉低原理得到了列值KEY_L,它的值顯然為000000111, 用十六進(jìn)制數(shù)表示為0x01a0;</p><p> e、加和。KEY=KEY_H+KEY_L,這個(gè)值就是第一行第一列鍵的鍵值,即為0x01be。</p><p> 同理推導(dǎo)出第1到第20功能鍵的十六進(jìn)制代碼表示值:0x01be、0x017e、0x00f
55、e、 0x01dd 、0x01bd 、0x017d 、0x00fd、 0x01db 、0x01bb、 0x017b、 0x00fb 、0x01d7 、0x01b7、 0x0177、 0x00f7 、0x01cf、 0x01af 、0x016f 、0x00ef。</p><p> 6.3 智能點(diǎn)陣式燈光控制器數(shù)據(jù)發(fā)送</p><p> 單片機(jī)控制燈泡的總體思想是單片機(jī)的IOA口與燈泡相
56、連,當(dāng)IOA口輸出高電平時(shí)燈泡發(fā)光,當(dāng)IOA輸出低電平時(shí)燈泡熄滅。在第六章代碼介紹中,會(huì)具體的介紹單片機(jī)的控制代碼。</p><p> 6.4 鍵盤控制與燈光狀態(tài)轉(zhuǎn)變的開關(guān)控制方法</p><p> 6.4.1 簡(jiǎn)單開關(guān)控制方法示意圖</p><p> 簡(jiǎn)單開關(guān)控制并不是簡(jiǎn)單的機(jī)械開關(guān)控制方法,而是通過(guò)單片機(jī)接收信號(hào),處理信號(hào)后,發(fā)出執(zhí)行信號(hào)來(lái)完成的。<
57、/p><p> 圖6.1 開關(guān)控制方法示意圖</p><p> 6.4.2 簡(jiǎn)單開關(guān)控制原理</p><p> 點(diǎn)陣式燈光控制器具有簡(jiǎn)單的開關(guān)控制功能,單片機(jī)控制燈泡的總體思想是單片機(jī)的IOA口與燈泡相連,當(dāng)IOA口輸出高電平時(shí)燈泡發(fā)光,當(dāng)IOA輸出低電平時(shí)燈泡熄滅。鍵盤電路的前16個(gè)功能鍵組成4x4鍵盤陣列,此陣列每一個(gè)按鍵對(duì)應(yīng)控制陣列每一盞燈。如果燈處于熄滅狀
58、態(tài)時(shí),按下按鍵燈會(huì)變亮,再次按下按鍵時(shí)燈會(huì)熄滅,每次按鍵按下燈會(huì)向相反的狀態(tài)轉(zhuǎn)變。實(shí)現(xiàn)單點(diǎn)控制功能,可以使任意位置的燈亮或滅,達(dá)到靈活控制燈光的目的。</p><p> 6.4.3 單片機(jī)控制燈光開關(guān)電路代碼介紹</p><p> 1.單片機(jī)接收鍵盤信號(hào)以此獲得鍵值</p><p> 單片機(jī)輸出行列控制信息:</p><p> *P_
59、IOB_Dir=0xffff;*P_IOB_Attrib=0xffff;*P_IOB_Data=0x001f;</p><p> key_h=*P_IOB_Data;(獲取IOB端口信號(hào)) delay_1();(去抖動(dòng) 延時(shí))</p><p> key=*P_IOB_Data; 再次獲取信號(hào),以此來(lái)判斷是否有鍵按下。</p><p> if (key_h!=k
60、ey) continue;key=*P_IOB_Data;key_hang=key_h&0x01ff; </p><p> if(key_hang!=0x001f){*P_IOB_Dir=0xffff;*P_IOB_Attrib=0xffff;*P_IOB_Data=0x001f;delay_1();key_h=*P_IOB_Data; if(key_hang!=0x001f)</p>&
61、lt;p> {*P_IOB_Data=0x01e0; key_l=*P_IOB_Data;key_lie=key_l&0x01ff;</p><p> key=key_lie+key_hang;} }//if循環(huán)等待直到出現(xiàn)鍵盤按下信息,并獲取鍵值。</p><p> 2.第一行第一列第一個(gè)按鍵控制第一個(gè)燈的代碼如下:</p><p> ca
62、se 0x01de:第一個(gè)按鍵按下時(shí)的鍵值</p><p> con=*P_IOA_Data; 獲取輸出端口的狀態(tài)</p><p> con_1=con&0x0001; 采用相與封鎖不相關(guān)狀態(tài)</p><p> con_2=con^0x0001;采用異或處理為相反狀態(tài)</p><p> con_3=con&0xfffe
63、;采用相與封鎖不相關(guān)狀態(tài)</p><p> if(con_1==0x0000)如果此時(shí)燈處于熄滅狀態(tài)則進(jìn)行相反操作</p><p> {*P_IOA_Dir=0xffff; *P_IOA_Attrib=0xffff; *P_IOA_Data=con_2; }</p><p> else{*P_IOA_Dir=0xffff;*P_IOA_Attrib=0xfff
64、f; *P_IOA_Data=con_3; }break; </p><p> 6.5 點(diǎn)陣式燈光控制器的行控制和列控制方法</p><p> 6.5.1 行控制方法對(duì)應(yīng)代碼進(jìn)行介紹</p><p> case 0x01cf : 第 5行第1列;第17號(hào)功能鍵的鍵值---控制行 </p><p> i=1; break; 設(shè)定狀
65、態(tài)為“1”,代表行狀態(tài),另外此狀態(tài)起到跳出循環(huán)的重要作用</p><p> case 0x01af : u=1; break; 第 5行第2列第18號(hào)功能鍵控制列 </p><p> hang() {while(i==1)進(jìn)入行循環(huán),只有在“1”狀態(tài)才進(jìn)行循環(huán)處理,與上面對(duì)應(yīng)。</p><p> {……(鍵盤程序省略)</p>
66、<p> switch(key){case0x01de: 采用一號(hào)鍵作為第一行的行控制鍵</p><p> con=*P_IOA_Data;con_1=con&0x000f;con_2=con^0x000f;con_3=con&0xfff0;</p><p> if(con_1==0x0000){*P_IOA_Dir=0xffff;*P_IOA_Attrib
67、=0xffff;*P_IOA_Data=con_2;}與簡(jiǎn)單開關(guān)控制程序控制原理相同。</p><p> else{*P_IOA_Dir=0xffff;*P_IOA_Attrib=0xffff; *P_IOA_Data=con_3; }break;</p><p> ……(其它行控制程序省略)}} //hang </p><p> 鍵盤電路的第17號(hào)和第18
68、號(hào)功能鍵分別對(duì)應(yīng)控制燈光陣列的行和列。 按下行控制鍵之后,再按下第一行的1號(hào)功能鍵,第一行燈泡全亮。依次類推,按下第2、3、4 號(hào)功能鍵對(duì)應(yīng)控制第二、三、四行燈泡的亮與滅。同樣,每次按鍵按下執(zhí)行相反操作。</p><p> 6.5.2 列控制方法對(duì)應(yīng)代碼進(jìn)行介紹</p><p> 同理,列控制原理與行控制也是如此。</p><p> 6.6 自動(dòng)光照強(qiáng)度控制方
69、法</p><p> 6.6.1 光照控制方法原理</p><p> 點(diǎn)陣式燈光控制器安裝有光敏感應(yīng)裝置,光敏電阻通過(guò)三極管連接單片機(jī)。實(shí)際上也是一個(gè)開關(guān)裝置,當(dāng)光照相對(duì)較強(qiáng)時(shí),光敏電阻會(huì)將檢測(cè)到的光信息傳達(dá)到單片機(jī),可以實(shí)現(xiàn)自動(dòng)熄滅燈泡的功能。就相當(dāng)于按下熄滅燈光的按鍵。</p><p> 6.6.2 光照控制方法代碼介紹</p><p&
70、gt; g_h=key_h&0x0600;封鎖與光敏和紅外控制端口無(wú)關(guān)端口</p><p> if(g_h==0x0400) 如果此時(shí)光敏端口所獲狀態(tài)為高電平,則熄滅所有燈光</p><p> {*P_IOA_Dir=0xffff;*P_IOA_Attrib=0xffff;*P_IOA_Data=0x0000;} </p><p> 6.7 自動(dòng)紅外
71、檢測(cè)控制方法</p><p> 6.7.1 紅外控制方法原理</p><p> 點(diǎn)陣式燈光控制器同時(shí)安裝有紅外檢測(cè)裝置,紅外檢測(cè)器可以將人體的信息傳達(dá)到單片機(jī),單片機(jī)接收到人體信息時(shí),自動(dòng)實(shí)現(xiàn)控制功能。當(dāng)室內(nèi)無(wú)人時(shí),單片機(jī)會(huì)發(fā)出熄滅所有燈光的信號(hào),熄滅燈泡達(dá)到節(jié)能的目的。</p><p> 6.7.2 紅外控制方法代碼介紹</p><p&g
72、t; g_h=key_h&0x0600; 封鎖與光敏和紅外控制端口無(wú)關(guān)端口</p><p> if(g_h==0x0200) 如果此時(shí)紅外端口所獲狀態(tài)為高電平,則熄滅所有燈光</p><p> {*P_IOA_Dir=0xffff; *P_IOA_Attrib=0xffff;*P_IOA_Data=0x0000;}//+++++紅外。</p><p>
73、 7.核心控制程序代碼設(shè)計(jì)</p><p> 7.1 軟件編程工具選擇</p><p> 7.1.1 C語(yǔ)言簡(jiǎn)介</p><p> 單片機(jī)軟件采用C語(yǔ)言編制,采用模塊化結(jié)構(gòu)設(shè)計(jì)、條理清晰、通用性好,便于改進(jìn)和擴(kuò)充。C語(yǔ)言是一種計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言。它既具有高級(jí)語(yǔ)言的特點(diǎn),又具有匯編語(yǔ)言的特點(diǎn)。它可以作為工作系統(tǒng)設(shè)計(jì)語(yǔ)言,編寫系統(tǒng)應(yīng)用程序,也可以作為應(yīng)用程序設(shè)計(jì)
74、語(yǔ)言,編寫不依賴計(jì)算機(jī)硬件的應(yīng)用程序。因此,它的應(yīng)用范圍廣泛,不僅僅是在軟件開發(fā)上,而且各類科研都需要用到C語(yǔ)言,具體應(yīng)用比如單片機(jī)以及嵌入式系統(tǒng)開發(fā)。</p><p> 7.1.2 C語(yǔ)言的特點(diǎn) </p><p> 1.C是中級(jí)語(yǔ)言。它把高級(jí)語(yǔ)言的基本結(jié)構(gòu)和語(yǔ)句與低級(jí)語(yǔ)言的實(shí)用性結(jié)合起來(lái)。C 語(yǔ)言可以像匯編語(yǔ)言一樣對(duì)位、字節(jié)和地址進(jìn)行操作, 而這三者是計(jì)算機(jī)最基本的工作單元。 <
75、;/p><p> 2.C是結(jié)構(gòu)式語(yǔ)言。結(jié)構(gòu)式語(yǔ)言的顯著特點(diǎn)是代碼及數(shù)據(jù)的分隔化,即程序的各個(gè)部分除了必要的信息交流外彼此獨(dú)立。這種結(jié)構(gòu)化方式可使程序?qū)哟吻逦阌谑褂?、維護(hù)以及調(diào)試。C 語(yǔ)言是以函數(shù)形式提供給用戶的,這些函數(shù)可方便的調(diào)用,并具有多種循環(huán)、條件語(yǔ)句控制程序流向,從而使程序完全結(jié)構(gòu)化。 </p><p> 3.C語(yǔ)言功能齊全。具有各種各樣的數(shù)據(jù)類型,并引入了指針概念,可使程序效
76、率更高。另外C語(yǔ)言也具有強(qiáng)大的圖形功能,支持多種顯示器和驅(qū)動(dòng)器。而且計(jì)算功能、邏輯判斷功能也比較強(qiáng)大,可以實(shí)現(xiàn)決策目的的游戲。 </p><p> 7.2 開發(fā)工具μ’nSPIDE介紹</p><p> 1.μ’nSP?集成開發(fā)環(huán)境,它集程序的編輯,編譯,連接,調(diào)試以及仿真等功能為一體。具有友好的交互界面,下拉菜單,快捷鍵和快速訪問(wèn)命令列表,使人們的編程,調(diào)試工作更加方便而且高效。&l
77、t;/p><p> 2.開發(fā)工具μ’nSPIDE的窗口</p><p> Workspace Window、Edit Window、Output Window、Debug Window(變量表Watch Window、寄存器Register Window、內(nèi)存Memory Window、反匯編Disassamble Window)。</p><p> 7.3 程序
78、流程圖如下:</p><p> 圖7.1 程序流程圖</p><p> 7.4 核心控制系統(tǒng)完整的代碼程序</p><p> #include "SPCE061V004.h"</p><p> int key_l,key_h,key,con,con_1,con_2,con_3,key_lie,key_hang,i,
79、u,g_h;</p><p><b> main()</b></p><p><b> {while(1)</b></p><p> {//**************************************************************鍵盤</p><p> ke
80、y_l=0;key_h=0;key=0;con=0;con_1=0;con_2=0;</p><p> con_3=0;key_lie=0;key_hang=0;i=0;u=0;g_h=0;</p><p> *P_IOB_Dir=0xffff;*P_IOB_Attrib=0xffff;*P_IOB_Data=0x001f;</p><p> key_h=*P
81、_IOB_Data; </p><p> delay_1();//++++++++++++++++++++++++++++++++++++++++++去抖動(dòng) 延時(shí)</p><p> key=*P_IOB_Data; </p><p> if (key_h!=key) continue;</p><p> key=*P_IOB_Data
82、;</p><p> g_h=key_h&0x0600;</p><p> if(g_h==0x0400)</p><p> {*P_IOA_Dir=0xffff;*P_IOA_Attrib=0xffff;*P_IOA_Data=0x0000;}//+++++光敏</p><p> if(g_h==0x0200)</p&
83、gt;<p> {*P_IOA_Dir=0xffff; *P_IOA_Attrib=0xffff;*P_IOA_Data=0x0000;}//+++++紅外</p><p> key_hang=key_h&0x01ff; </p><p> if(key_hang!=0x001f)</p><p> {*P_IOB_Dir=0xffff
84、;*P_IOB_Attrib=0xffff;*P_IOB_Data=0x001f;</p><p> delay_1();</p><p> key_h=*P_IOB_Data; </p><p> if(key_hang!=0x001f)</p><p> {*P_IOB_Data=0x01e0; key_l=*P_IOB_Dat
85、a;key_lie=key_l&0x01ff;</p><p> key=key_lie+key_hang;} }//if</p><p><b> while(1)</b></p><p> {*P_IOB_Dir=0xffff;*P_IOB_Attrib=0xffff;*P_IOB_Data=0x001f;</p>
86、<p> key_h=*P_IOB_Data;</p><p> key_h=key_h&0x01ff;</p><p> if(key_h!=0x001f)continue;break;}</p><p> //**************************************************************
87、*鍵盤</p><p> switch(key){//+++++++++++++++++++++++++++第一行 第一列 控制第一個(gè)燈</p><p> case 0x01de:</p><p> con=*P_IOA_Data;con_1=con&0x0001;con_2=con^0x0001;con_3=con&0xfffe;</p
88、><p> if(con_1==0x0000)</p><p> {*P_IOA_Dir=0xffff; *P_IOA_Attrib=0xffff; *P_IOA_Data=con_2; }</p><p> else{*P_IOA_Dir=0xffff; *P_IOA_Attrib=0xffff; *P_IOA_Data=con_3; }break; </
89、p><p> //+++++++++++++++++++++++++++++++++第一行 第一列 控制第一個(gè)燈</p><p> case0x01be: con=*P_IOA_Data;con_1=con&0x0002;con_2=con^0x0002;con_3=con&0xfffd;</p><p> if(con_1==0x0000)<
90、;/p><p> {*P_IOA_Dir=0xffff; *P_IOA_Attrib=0xffff; *P_IOA_Data=con_2; }</p><p> else{*P_IOA_Dir=0xffff; *P_IOA_Attrib=0xffff; *P_IOA_Data=con_3; } break; </p><p> case0x017e: con=*P
91、_IOA_Data;con_1=con&0x0004;con_2=con^0x0004;con_3=con&0xfffb;</p><p> if(con_1==0x0000)</p><p> {*P_IOA_Dir=0xffff; *P_IOA_Attrib=0xffff; *P_IOA_Data=con_2; }</p><p> els
92、e{*P_IOA_Dir=0xffff; *P_IOA_Attrib=0xffff; *P_IOA_Data=con_3; } break; </p><p> case0x00fe: con=*P_IOA_Data;con_1=con&0x0008;con_2=con^0x0008;con_3=con&0xfff7;</p><p> if(con_1==0x0000
93、)</p><p> {*P_IOA_Dir=0xffff; *P_IOA_Attrib=0xffff; *P_IOA_Data=con_2; }</p><p> else{*P_IOA_Dir=0xffff; *P_IOA_Attrib=0xffff; *P_IOA_Data=con_3; } break; </p><p> case0x01dd: co
94、n=*P_IOA_Data;con_1=con&0x0010;con_2=con^0x0010;con_3=con&0xffef;</p><p> if(con_1==0x0000){*P_IOA_Dir=0xffff; *P_IOA_Attrib=0xffff; *P_IOA_Data=con_2; }</p><p> else{*P_IOA_Dir=0xffff
95、; *P_IOA_Attrib=0xffff; *P_IOA_Data=con_3; } break; </p><p> case0x01bd: con=*P_IOA_Data;con_1=con&0x0020;con_2=con^0x0020;con_3=con&0xffdf;</p><p> if(con_1==0x0000)</p><p&
96、gt; {*P_IOA_Dir=0xffff; *P_IOA_Attrib=0xffff; *P_IOA_Data=con_2; }</p><p> else{*P_IOA_Dir=0xffff; *P_IOA_Attrib=0xffff; *P_IOA_Data=con_3; } break; </p><p> case0x017d :</p><p>
97、 con=*P_IOA_Data;con_1=con&0x0040;con_2=con^0x0040;con_3=con&0xffbf;</p><p> if(con_1==0x0000)</p><p> {*P_IOA_Dir=0xffff; *P_IOA_Attrib=0xffff; *P_IOA_Data=con_2; }</p><p&
98、gt; else{*P_IOA_Dir=0xffff; *P_IOA_Attrib=0xffff; *P_IOA_Data=con_3; } break; </p><p> case0x00fd: con=*P_IOA_Data;con_1=con&0x0080;con_2=con^0x0080;con_3=con&0xff7f;</p><p> if(con_1
99、==0x0000)</p><p> {*P_IOA_Dir=0xffff; *P_IOA_Attrib=0xffff; *P_IOA_Data=con_2; }</p><p> else{*P_IOA_Dir=0xffff; *P_IOA_Attrib=0xffff; *P_IOA_Data=con_3; } break; </p><p> case0
100、x01db: con=*P_IOA_Data;con_1=con&0x0100;con_2=con^0x0100;con_3=con&0xfeff;</p><p> if(con_1==0x0000)</p><p> {*P_IOA_Dir=0xffff; *P_IOA_Attrib=0xffff; *P_IOA_Data=con_2; }</p>&
101、lt;p> else{*P_IOA_Dir=0xffff; *P_IOA_Attrib=0xffff; *P_IOA_Data=con_3; } break; </p><p> case0x01bb: con=*P_IOA_Data;con_1=con&0x0200;con_2=con^0x0200;con_3=con&0xfdff;</p><p> i
102、f(con_1==0x0000)</p><p> {*P_IOA_Dir=0xffff; *P_IOA_Attrib=0xffff; *P_IOA_Data=con_2; }</p><p> else{*P_IOA_Dir=0xffff; *P_IOA_Attrib=0xffff; *P_IOA_Data=con_3; } break; </p><p>
103、 case0x017b :</p><p> con=*P_IOA_Data;con_1=con&0x0400;con_2=con^0x0400;con_3=con&0xfbff;</p><p> if(con_1==0x0000)</p><p> {*P_IOA_Dir=0xffff; *P_IOA_Attrib=0xffff; *P_I
104、OA_Data=con_2; }</p><p> else{*P_IOA_Dir=0xffff; *P_IOA_Attrib=0xffff; *P_IOA_Data=con_3; } break; </p><p> case0x00fb: con=*P_IOA_Data;con_1=con&0x0800;con_2=con^0x0800;con_3=con&0xf7
105、ff;</p><p> if(con_1==0x0000)</p><p> {*P_IOA_Dir=0xffff; *P_IOA_Attrib=0xffff; *P_IOA_Data=con_2; }</p><p> else{*P_IOA_Dir=0xffff; *P_IOA_Attrib=0xffff; *P_IOA_Data=con_3; } br
106、eak; </p><p> case0x01d7: con=*P_IOA_Data;con_1=con&0x1000;con_2=con^0x1000;con_3=con&0xefff;</p><p> if(con_1==0x0000)</p><p> {*P_IOA_Dir=0xffff; *P_IOA_Attrib=0xffff;
107、*P_IOA_Data=con_2; }</p><p> else{*P_IOA_Dir=0xffff; *P_IOA_Attrib=0xffff; *P_IOA_Data=con_3; } break; </p><p> case0x01b7: con=*P_IOA_Data;con_1=con&0x2000;con_2=con^0x2000;con_3=con&
108、0xdfff;</p><p> if(con_1==0x0000)</p><p> {*P_IOA_Dir=0xffff; *P_IOA_Attrib=0xffff; *P_IOA_Data=con_2; }</p><p> else{*P_IOA_Dir=0xffff; *P_IOA_Attrib=0xffff; *P_IOA_Data=con_3;
109、} break; </p><p> case0x0177: con=*P_IOA_Data;con_1=con&0x4000;con_2=con^0x4000;con_3=con&0xbfff;</p><p> if(con_1==0x0000)</p><p> {*P_IOA_Dir=0xffff; *P_IOA_Attrib=0xf
110、fff; *P_IOA_Data=con_2; }</p><p> else{*P_IOA_Dir=0xffff; *P_IOA_Attrib=0xffff; *P_IOA_Data=con_3; } break; </p><p> case0x00f7: con=*P_IOA_Data;con_1=con&0x8000;con_2=con^0x8000;con_3=con
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 智能路燈控制器設(shè)計(jì)【畢業(yè)論文】
- 燈光噴霧控制器設(shè)計(jì)
- 智能小車的無(wú)線控制器設(shè)計(jì)畢業(yè)論文
- 一種智能燈光控制器的設(shè)計(jì)
- 畢業(yè)論文--智能ic卡燃?xì)饪刂破髟O(shè)計(jì)
- 智能pid控制器設(shè)計(jì)與仿真【畢業(yè)論文】
- 畢業(yè)論文--交通控制器設(shè)計(jì)
- 畢業(yè)論文——交通控制器設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)論文--智能溫度控制器
- 畢業(yè)論文---模糊pid控制器設(shè)計(jì)
- crt字符控制器設(shè)計(jì)畢業(yè)論文
- 循環(huán)彩燈控制器設(shè)計(jì)畢業(yè)論文
- 智能時(shí)間控制器畢業(yè)設(shè)計(jì)
- 基于fpga電梯控制器設(shè)計(jì)畢業(yè)論文
- 畢業(yè)設(shè)計(jì)--基于fpga的彩色點(diǎn)陣控制器設(shè)計(jì)
- 基于matlab的智能pid控制器設(shè)計(jì)和仿真-畢業(yè)論文
- 智能溫度控制器畢業(yè)設(shè)計(jì)
- 舞臺(tái)燈光控制器
- 畢業(yè)設(shè)計(jì)-智能路燈控制器設(shè)計(jì)
- 舞臺(tái)燈光控制器
評(píng)論
0/150
提交評(píng)論