freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機控制的藝術(shù)彩燈設(shè)計單片機單片機期末課程設(shè)計-文庫吧

2025-09-19 08:12 本頁面


【正文】 亮度,那么綠色和藍色LED燈泡的亮度保持原狀態(tài)不變。系統(tǒng)計數(shù)器的另一個作用是控制色彩變換的頻率,它可以由系統(tǒng)的初始值設(shè)定,也可以由用戶來設(shè)定。5.單片機系統(tǒng)單片機采用了EM78P153型號的單片機,用來檢測交流信號,產(chǎn)生色彩變化的PWM信號輸出。EM78P153內(nèi)部集成頻率可編程的RC振蕩器和復(fù)位電路,大大減小了電路的體積,使電路能夠容納在一個燈泡里面。單片機為14管腳封裝的系統(tǒng),如圖26所示,其特征參數(shù)如下:l 工作電壓范圍 ~。l 功耗 5V/;5V/32kHz時為15uA;在休眠模式時低于1uA。l 102413位片內(nèi)ROM。l 4個內(nèi)建校準IRC振蕩器8MHZ、4MHZ、1MHZ和455KHZ。l 328位片內(nèi)寄存器組(SRAM,一般寄存器)。l 兩族雙向I/O端口P5x和P6x。l 8位實時計時/計數(shù)器(TCC),其信號源、觸發(fā)邊緣可編程選擇,溢出產(chǎn)生中斷。l 3種中斷模式TCC溢出中斷、輸入變化中斷和外部中斷。l 7個可編程上拉和漏極開路I/O管腳P6x。l 6個可編程下拉管腳。1 142 E 13 M3 7 12 84 P 11 15 5 10 36 S 97 8P50P67P66VddP65/OSCIP64/OSCOP63/RSTP61P62/TCCVssP60/INTP52P53P51圖26 EM78P153單片機外觀單片機的外部接線和端口接線較為簡單,如圖27所示。其中P51接紅色LED,P52接綠色LED,P53接藍色LED。此外,系統(tǒng)還預(yù)留了用戶端口P61~67,它們連接了一個撥碼裝置,用來設(shè)置系統(tǒng)狀態(tài)值。EM78P1531234567P50P67P66VddP65/OSCIP64/OSCOP63/RST14 RED13 GREEN12 BLUE1110 DEIECT_AC98P51P52P53VssP60/INTP61P62/TCC圖27 單片機端口定義 第3節(jié) 藝術(shù)彩燈硬件設(shè)計如圖31所示,系統(tǒng)的實際布線包括3個部分:單片機系統(tǒng)、電源電路和LED控制。 系統(tǒng)電源彩燈要求電路體積較小,而且直接利用220V的市電供電,因此,電源部分采用電容降壓、全橋整流,如圖32所示。交流市電經(jīng)過5V穩(wěn)壓管即可得到單片機所需的5V直流工作電壓。這里采用全橋整流,它提供的電流比半波整流電路大1倍。在電容降壓回路上,串聯(lián)一個300歐的電阻,主要防止上電時大電流的沖擊。 交流檢測電路交流檢測電路利用一個1兆歐的電阻直接與單片機的I/O口連接,檢測交流過零。這樣連接的目的是當很多燈光同時變化時,可以起到同步的作用。系統(tǒng)完全依靠單片機內(nèi)部的RC振蕩器,由于它會受溫度的影響,一致性不好,長時間運行會使色彩變化不一致,所以通過檢測同一交流電,能保證所有同上電的彩燈同步變化。,如圖32所示的電容C5,實際表明它能很好地起抗干擾的作用。圖32 系統(tǒng)電源電路 LED控制電路LED控制電路如圖33所示。藍色LED和綠色LED由兩個三極管控制,當與單片機I/O口連接的NPN截止時,控制LED的PNP三極管也截止,LED導(dǎo)通點亮;相反,如果單片機I/O口輸出高電平,PNP三極管的基極電位為地,PNP的CE極間導(dǎo)通,接在PNP間的LED被短路、熄滅。兩個PNP三極管間的電阻要選得恰當,截止的時候要求在電阻上產(chǎn)生的壓降小于幾個LED的點亮電壓。一般說來,PNP管和NPN管的選取原則是:放大系數(shù)、截止特性曲線應(yīng)保證基本一致;盡量選擇同一廠家的產(chǎn)品;產(chǎn)品型號若能接近則最好。圖33 LED控制電路第4節(jié) 藝術(shù)彩燈軟件設(shè)計圖41所示是系統(tǒng)的總體流程以及各狀態(tài)內(nèi)的實現(xiàn)流程。開始積存器初始 化讀外部狀態(tài),初始變化周期,并散轉(zhuǎn)到個分支程程序狀態(tài)1:紅色漸亮狀態(tài)2:綠色漸亮狀態(tài)3:紅色漸暗狀態(tài)4:藍色漸亮狀態(tài)5:綠色漸暗狀態(tài)6:紅色漸亮狀態(tài)7:藍色漸暗狀態(tài)8:紅色漸暗(a)開始PWM_C1++子程序檢測交流電,每周期PWM——C2++子程序PWM_C1PWM_C2?點亮(熄滅)熄滅(點亮)一個狀態(tài)的時間是否到跳到下一個否(b)(a) 系統(tǒng)主流程(b) 狀態(tài)內(nèi)部程序流程 系統(tǒng)總流程由總流程可以看出,系統(tǒng)加電后首先完成初始化過程,給內(nèi)部寄存器賦值,然后從單片機外部讀入各參數(shù)值和用戶設(shè)定值。完成上述初始化步驟后,系統(tǒng)進入循環(huán),由一個狀態(tài)進入到另一個狀態(tài)。系統(tǒng)總共定義了8種狀態(tài),每進到一個狀態(tài),執(zhí)行相應(yīng)代碼,這種狀態(tài)的連續(xù)變化就使得彩燈的色彩不斷變化。如圖41(a)所示,系統(tǒng)主流程的描述如下:(1)單片機上電后,初始化寄存器。單片機上電后,主函數(shù)模塊將調(diào)用CALL指令進入初始化函數(shù)模塊,初始化工作包括4個方面:l 定義全部寄存器和單片機端口。l 初始化片內(nèi)寄存器和PP6端口狀態(tài)。l 關(guān)閉中斷,初始化中斷標志位。l 設(shè)定用于實現(xiàn)PWM調(diào)制的片內(nèi)計數(shù)器CNT1和CNT2的初始值。(2)完成初始化后,系統(tǒng)讀取外部狀態(tài),初始變化周期并散轉(zhuǎn)至各狀態(tài)分支程序。完成初始化后,系統(tǒng)將利用P6端口讀取用戶的設(shè)置值,同時設(shè)定變化的狀態(tài)值。這部分的操作在編程過程中與寄存器初始化過程統(tǒng)稱INIT模塊,利用CALL指令調(diào)用。(3)根據(jù)外部狀態(tài)值,進入相應(yīng)狀態(tài)的分支程序并執(zhí)行。系統(tǒng)總共定義了8種狀態(tài),分別實現(xiàn)了不同的顏色變化。l 狀態(tài)1:紅色LED燈泡漸亮進入狀態(tài)1之前,紅色LED燈泡為熄滅狀態(tài),綠色和藍色LED燈泡可為任意狀態(tài);進入狀態(tài)1之后,系統(tǒng)將點亮紅色LED燈泡,逐漸熄滅綠色和藍色LED燈泡,最終紅色LED燈泡亮度達到最大值,彩燈呈現(xiàn)紅色。l 狀態(tài)2:綠色LED燈泡漸亮進入狀態(tài)2之前,綠色LED燈泡為熄滅狀態(tài),紅色LED燈飾亮度達到最大值,藍色LED燈泡可為任意狀態(tài);進入狀態(tài)2之后,系統(tǒng)將點亮綠色LED燈泡,紅色LED燈泡保持亮度,逐漸熄滅藍色LED燈泡,最終綠色LED燈泡亮度達到最大值 。彩燈的顏色變化為紅色到橙色到黃色,并最終穩(wěn)定在黃色。l 狀態(tài)3:紅色LED燈泡漸暗進入狀態(tài)3之前,紅色和綠色LED燈泡亮度達到最大值,藍色LED燈泡熄滅,彩燈呈現(xiàn)黃色;進入狀態(tài)3之后,系統(tǒng)將逐漸熄滅紅色LED燈光,而綠色LED燈光保持亮度,最終紅色LED燈泡熄滅。彩燈的顏色變化為黃色到黃綠色到綠色,并最終穩(wěn)定在綠色。l 狀態(tài)4:藍色LED燈泡漸亮進入狀態(tài)4之前,綠色LED燈泡亮度達到最大值,紅色和藍色LED燈泡保持熄滅狀態(tài),彩燈呈現(xiàn)綠色;進入狀態(tài)4之后,系統(tǒng)將點亮藍色LED燈光,綠色LED燈光保持亮度,而紅色LED燈泡保持熄滅狀態(tài)。最終藍色LED燈泡亮度達到最大值。彩燈的顏色變化為綠色到綠藍色到青色,并最終穩(wěn)定在青色。l 狀態(tài)5:綠色LED燈泡漸暗進入狀態(tài)5之前,綠色和藍色LED燈泡亮度達到最大值,紅色LED燈泡保持熄滅狀態(tài),彩燈呈現(xiàn)青色;進入狀態(tài)5之后,系統(tǒng)將逐漸熄滅綠色LED燈光,藍色LED燈光保持亮度,而紅色LED燈泡保持熄滅狀態(tài),最終綠色LED熄滅。彩燈的顏色變化為青色到藍綠色到藍色,并最終穩(wěn)定在藍色。l 狀態(tài)6:紅色LED燈泡漸亮進入狀態(tài)6之前,藍色LED燈泡亮度達到最大值,紅色和綠色LED燈泡保持熄滅狀態(tài),彩燈呈現(xiàn)藍色;進入狀態(tài)6之后,系統(tǒng)將點亮紅色LED燈光,藍色LED燈光保持亮度,而綠色LED燈泡保持熄滅狀態(tài),最終紅色LED燈泡亮度達到最大值。彩燈的顏色變化為藍色到藍紫色到紫色,并最終穩(wěn)定在紫色。l 狀態(tài)7:藍色LED燈泡漸暗進入狀態(tài)7之前,紅色和藍色LED燈泡亮度達到最大值,綠色LED燈泡保持熄滅狀態(tài),彩燈呈現(xiàn)紫色;進入狀態(tài)7之后,系統(tǒng)將逐漸熄滅藍色LED燈光,紅色LED燈光保持亮度,而綠色LED燈泡保持熄滅狀態(tài),最終藍色LED熄滅。彩燈的顏色變化為紫色到紫紅色到紅色,并最終穩(wěn)定在紅色。l 狀態(tài)8:紅色LED燈泡漸暗進入狀態(tài)8之前,紅色LED燈泡亮度達到最大值,紅色和藍色LED燈泡保持熄滅狀態(tài),彩燈呈現(xiàn)紅色;進入狀態(tài)8之后,系統(tǒng)將逐漸熄滅紅色LED燈光,綠色和藍色LED燈光保持熄滅狀態(tài),最終紅色LED燈泡熄滅。為了避免出現(xiàn)所有燈泡熄滅的狀態(tài)出現(xiàn),在設(shè)計中講狀態(tài)8的最終結(jié)果定義為彩燈發(fā)出白色的光,即紅色、綠色和藍色LED燈光熄滅后同時發(fā)光,并達到最大值,最終穩(wěn)定在白色。(4)完成單個狀態(tài)的執(zhí)行,按照系統(tǒng)流程順序中轉(zhuǎn)至下一狀態(tài),不斷循環(huán)。 狀態(tài)內(nèi)部流程系統(tǒng)循環(huán)進入不同的狀態(tài),每一個狀態(tài)都類似一個單片機中斷程序,它有獨立的動作流程。圖41(b)所示抽象了狀態(tài)內(nèi)容的流程,利用通用的形式描述了不同狀態(tài)的內(nèi)部流程。流程的核心是PWM調(diào)制,利用兩個計數(shù)器的比較來控制各個基色LED的點亮/熄滅。狀態(tài)內(nèi)部流程描述如下:(1) 進入狀態(tài)內(nèi)部流程后,用于PWM調(diào)制的片內(nèi)計數(shù)器CNT1計數(shù)值開始增加。計數(shù)器CNT1的計數(shù)操作是利用CALL指令調(diào)用獨立的計數(shù)字程序模塊來完成的。(2) 計數(shù)器CNT1完成計數(shù)后,進行交流檢測,并在檢測中利用CNT2計數(shù)檢測的周期數(shù)。通過交流檢測技術(shù),可調(diào)節(jié)各基色LED燈泡的工作電壓,改變它們的亮度,實現(xiàn)色彩的柔和變化。(3) 比較CNT1和CNT2的計數(shù)值,如果CNT1大于CNT2,該狀態(tài)的目標LED燈泡將被點亮;如果CNT1小于CNT2,目標LED燈泡將熄滅。(4) 檢查狀態(tài)的執(zhí)行時間是否超時,若未超時,系統(tǒng)將重新執(zhí)行一次上述流程;否則系統(tǒng)將推出當前狀態(tài),并進入下一狀態(tài)。 第5節(jié) 系統(tǒng)編程實現(xiàn)(匯編) 變量定義與初始化程序模塊 R0 == 0X00 TCC == 0X01 PC == 0x02 R3 == 0X03 PORT5 == 0X05 PORT6 == 0X06 IOCF == 0X0F IOCE == 0X0E IOCD == 0X0D R3F == 0X0F 。不同型號修改 C == 0X00 下面的變量是在每個狀態(tài)內(nèi)所使用的,主要用來比較CNT1和CNT2,實現(xiàn)PWM調(diào)制控制。
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1