單片機(jī)課程設(shè)計-觸控調(diào)光燈_第1頁
單片機(jī)課程設(shè)計-觸控調(diào)光燈_第2頁
單片機(jī)課程設(shè)計-觸控調(diào)光燈_第3頁
單片機(jī)課程設(shè)計-觸控調(diào)光燈_第4頁
單片機(jī)課程設(shè)計-觸控調(diào)光燈_第5頁
已閱讀5頁,還剩9頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、單片機(jī)課程設(shè)計緒論隨著經(jīng)濟(jì)發(fā)展的加快,科學(xué)技術(shù)的進(jìn)步,人們生活水平得到了提高,設(shè)備逐漸完善。臺燈是生活中的伴侶,我們是不喜歡與強(qiáng)烈的光線打交道的,因為強(qiáng)光對人身體是有害的,為了大家能健康地生活與工作,設(shè)計師也想出了一個較為完美的構(gòu)思,就是臺燈的出現(xiàn),它的出現(xiàn)讓很多朋友們得到了滿意的效果,但是生活中沒有完美的東西,臺燈亦不例外,這就需要我們的改進(jìn)。例如,很多時候我們并不需要讓臺燈處于全亮狀態(tài),有時候我們只需要微弱的光照即可,過強(qiáng)的光線反而會對使用者造成不必要的干擾,而且這也是對電能的一大浪費(fèi)。此外,關(guān)于開關(guān)的使用壽命,也是影響臺燈的耐用性的另一個問題。因此,本設(shè)計的指導(dǎo)思想就是讓臺燈更耐用、更好

2、用且能夠調(diào)節(jié)亮度,解決過高的亮度對使用者的干擾同時也是為了節(jié)能,以及解決普通機(jī)械開關(guān)易損壞的問題。對于觸模式臺燈,手一觸到臺燈的感應(yīng)部位燈就會自動亮,如果多觸摸幾下,臺燈就會達(dá)到最亮的極限,這樣就可以調(diào)節(jié)了臺燈的亮度也避免了開關(guān)易壞導(dǎo)致的調(diào)節(jié)亮度易失靈的問題。 本文介紹了觸摸式臺燈調(diào)光電路的設(shè)計及工作過程。本設(shè)計目的是通過設(shè)計工作熟悉觸摸式調(diào)光燈電路基本構(gòu)成與基本工作原理,并能將這些技術(shù)應(yīng)用實際系統(tǒng)設(shè)計,提高自己對電路知識的認(rèn)識。一、系統(tǒng)工作原理本設(shè)計采用STC公司的12系列單片機(jī)為控制芯片,配合外圍電路進(jìn)行對觸摸按鍵的檢測及對臺燈亮度和開關(guān)的控制,利用單片機(jī)產(chǎn)生不同占空比的PWM方

3、波實現(xiàn)對燈光的亮暗控制。此外,本設(shè)計的觸控功能的實現(xiàn)則是利用單片機(jī)的I/O口的開漏模式且未加上拉電阻,在此模式下I/O更容易接受外界微弱的電平,更容易受到手指的干擾。本設(shè)計中,在被設(shè)置成開漏的I/O口要在單片機(jī)讀該口前將其置1,使其成為高阻狀態(tài),當(dāng)I/O接口被設(shè)置到高阻輸入狀態(tài)時,I/O接口就是純電平輸入狀態(tài),在接口懸空時為低電平,當(dāng)有手指觸摸到I/O接口時,手指上的微弱電流會使I/O接口跳變到高電平,只要讀出I/O接口的電平高低就可以了解是否有觸摸操作,然后加一段按鍵去抖程序后去調(diào)整與PWM占空比相關(guān)的數(shù)值,從而實現(xiàn)燈光亮度的連續(xù)可調(diào)。二、系統(tǒng)硬件組成本設(shè)計中所采用的芯片有STC公司的小型封

4、裝插件式單片機(jī)STC12C2052AD、AMS1117 5.0降壓穩(wěn)壓IC、以及若干二極管、三極管,電阻電容等元器件。其中:2.1 控制部分STC12C2052AD單片機(jī)的引腳位置與用途如圖2-1所示:圖2-1 STC12C2050AD引腳圖STC12C2052AD系列單片機(jī)是單時鐘機(jī)器周期(1T)的兼容8051內(nèi)核單片機(jī),是高速低功耗的新一代8051單片機(jī),全新的流水線精簡指令集結(jié)構(gòu),內(nèi)部集成復(fù)位電路其優(yōu)點有以下幾個方面:1.性價比高  采用STC12系列單片機(jī)可以省掉復(fù)位電路、外部數(shù)據(jù)存儲器(如24Cxx系列芯片),某些場合還可以省掉晶振,電路簡單、價格低廉。 

5、;2.速度快 STC12系列單片機(jī)為單時鐘機(jī)器周期(1T),一些指令執(zhí)行速度是傳統(tǒng)8051的24倍,最低的也是3倍。 3.安全性好  目前,很難破譯STC12系列單片機(jī)加密程序,加之用戶數(shù)據(jù)可以保存到單片機(jī)內(nèi)部,解密者很難通過用戶數(shù)據(jù)分析單片機(jī)的運(yùn)行狀況。 4.可以直接代替8051針對傳統(tǒng)8051單片機(jī)開發(fā)的程序,可以直接用于STC12系列單片機(jī),無須重新編寫。在本設(shè)計中,單片機(jī)的I/O口的P3.4、P3.5、P3.7均在程序中設(shè)定為開漏模式,以連接外部觸摸板來分別實現(xiàn)對燈光的關(guān)閉、漸亮、漸暗的控制。單片機(jī)的P1.7口被程序設(shè)定為PWM方波輸出口,用來連

6、接驅(qū)動燈光的驅(qū)動部分。圖2-2為本設(shè)計控制部分的原理圖:圖2-2 控制部分原理圖由于此次設(shè)計采用8V電壓供電,為安全起見,單片機(jī)的輸出端和接地端均與后面的驅(qū)動部分用二極管1N4148進(jìn)行單向隔離,此外,本設(shè)計還預(yù)留了程序下載接口,方便日后功能的增強(qiáng)和對程序的調(diào)試。2.2 驅(qū)動部分驅(qū)動部分我采取的是用NPN型功率三極管13003級聯(lián)搭建成的達(dá)林頓驅(qū)動器,以實現(xiàn)對較大電流負(fù)載的驅(qū)動控制。由于所使用的LED燈頭內(nèi)無限流電阻,且實測其全亮發(fā)光時電流高達(dá)0.5A,為防止電流過大所引起的三極管過熱燒毀,因此在其負(fù)載回路串接了10 2.5W的限流電阻,以犧牲較小的光照強(qiáng)度來換取元件的安全。圖2-3為驅(qū)動電路

7、及LED接口的原理圖:圖2-3 驅(qū)動電路與LED接口其中三極管13003為NPN型硅晶體管、功率開關(guān)三極管,主要用于:日光燈、電子鎮(zhèn)流器、充電器等高壓功率開關(guān)電路。其參數(shù)為:(TO-92封裝)1. 芯片面積:1.63×1.63(特制芯片)2. 額定電流:1.5 A(加大電流品種)3. 飽和壓降低、熱性能好、反向擊穿電壓高、漏電流小。4. 13003最大額定值如表2-1:表2-1 三極管13003最大額定值因此,用三極管13003來搭建驅(qū)動電路能為負(fù)載提供足夠的電流,能使LED發(fā)出足夠的光照強(qiáng)度供照明使用。2.3 電源部分本設(shè)計之初經(jīng)試驗發(fā)現(xiàn)若用單節(jié)18650鋰電池供電,雖然也能正常工

8、作(即觸控調(diào)光可用),但由于三極管等驅(qū)動部分電路存在較大電壓降,導(dǎo)致即使控制狀態(tài)為全亮,但實際的照明亮度卻很低。后經(jīng)試驗發(fā)現(xiàn)采取兩節(jié)18650串聯(lián)成8V供電后LED及驅(qū)動部分均能正常工作(單節(jié)18650鋰電池滿電狀態(tài)下實測電壓在4.1V左右),單片機(jī)部分則用降壓穩(wěn)壓芯片AMS1117供電,兩路不同電壓電路再采取適當(dāng)隔離后,整個控制驅(qū)動板即能正常工作。其供電、降壓以及電源指示電路如圖2-4所示:圖2-4 電源及指示部分原理圖其中:AMS1117是一個正向低壓降穩(wěn)壓器,在1A電流下壓降為1.2V。AMS1117有兩個版本:固定輸出版本和可調(diào)版本,固定輸出電壓為1.5V、1.8V、2.5V、2.85

9、V、3.0V、3.3V、5.0V,具有1的精度;固定輸出電壓為的精度為,其內(nèi)部集成過熱保護(hù)和限流電路,是電池供電和便攜式計算機(jī)的最佳選擇。AMS1117參數(shù)如下:1.輸入電壓 最大: 18V2.輸出電流 最大: 1A3.輸出電壓 : 5.0V4.功耗 :5W5.輸入電壓 最?。?6.2V6.封裝類型: SOT-223,SOT-897.工作溫度范圍: -20°C to +125°C(也有0°C to +125°C)由于本設(shè)計采取電池純直流供電,所以可以省去AMS1117周圍的濾波電容等元件及其電路連線,讓整個控制板更小巧,以便能順利裝入空間不大的臺燈底座,

10、經(jīng)實測,降壓穩(wěn)壓芯片AMS1117能正常穩(wěn)定工作。三、系統(tǒng)軟件設(shè)計系統(tǒng)的軟件部分分為按鍵檢測部分和PWM方波生成部分。其中,系統(tǒng)的軟件流程圖如圖3-1所示:3.1 系統(tǒng)流程圖圖3-1 系統(tǒng)軟件流程圖STC12C2052AD系列單片機(jī)所有I/O口均可由軟件配置成種類型之一,如表3-1所示。種類型分別為:準(zhǔn)雙向口(標(biāo)準(zhǔn)輸出模式)、推挽輸出、僅為輸入(高阻)或開漏輸出功能。每個口配置個控制寄存器控制每個引腳輸出類型。STC12C2052AD系列單片機(jī)上電復(fù)位后為準(zhǔn)雙向口(標(biāo)準(zhǔn)8051輸出模式)模式。其中P3口設(shè)定(P3.7,X,P3.5,P3.4,P3.3,P3.2,P3.1,P3.0,無P3.6口

11、)如下表:表3-1 STC12C2052AD I/O口配置方式在本設(shè)計中P3口的配置為P3M0=0xb0; P3M1=0xb0;即: P3.5,P3.4,P3.7為開漏輸入,其余為普通雙向I/O口3.2 系統(tǒng)程序/*文件名 :LED調(diào)光修改調(diào)試 :春陽最后修改 :2015.11.17功能 :觸控調(diào)光臺燈備注 :此次設(shè)計采用定時器0生成PWM信號,另外,stc12系列頭文件,type.h則在本主程序下方*/#include "stc12c5a.h" /stc12系列單片機(jī)總頭文件,其包含各I/O口位定義#include "type.h"/見文檔末尾#def

12、ine FRE 22118400#define TIME_FRE 10000000 /計時1/10000000=0.0000001s=0.0001ms (此時間是用來加快LED閃爍頻率)#define T0RELOAD (65536 - (FRE / TIME_FRE)/*初始化變量*/volatile U32 SYS_TIME = 0;volatile U32 LED_PWM = 0;/*函數(shù)名:毫秒級CPU延時函數(shù)調(diào) 用:delay(?);參 數(shù):165535(參數(shù)不可為0)返回值:無結(jié) 果:占用CPU方式延時與參數(shù)數(shù)值相同的毫秒時間備 注:應(yīng)用于1T單片機(jī)時i<600,應(yīng)用于12T

13、單片機(jī)時i<125*/ void delay(unsigned int a) unsigned int i; while( -a != 0) for(i = 0; i < 600; i+); /*函數(shù)名:定時器0初始化函數(shù)調(diào) 用:Timer0_Init();參 數(shù):無返回值:無結(jié) 果:設(shè)置定時器0工作方式備 注:*/void Timer0_Init() TMOD &= 0XF0; TMOD |= 0X01; /定時器0的16位計數(shù)方式 TH0 = T0RELOAD / 256; TL0 = T0RELOAD % 256; AUXR |= 0X80; / 計數(shù)器0時鐘為Fos

14、c,即1T PT0 = 1; / 定時器0優(yōu)先級控制位, 1 為高優(yōu)先級 0 為低優(yōu)先級 EA = 1; /開總中斷 ET0 = 1; /開定時器0中斷 TR0 = 1; /啟動定時器0/*函數(shù)名:主函數(shù)調(diào) 用:無參 數(shù):無返回值:無結(jié) 果:程序開始處,無限循環(huán)備 注:觸控調(diào)光臺燈主程序,包含按鍵檢測及占空比調(diào)節(jié)*/void main() Timer0_Init(); P3M0=0xb0; /P3口配置:P3.7,P3.5,P3.4為開漏輸入,其余為普通雙向I/O口 P3M1=0xb0; while(1) P34 = 1; /p3.4置為開漏高阻態(tài)if(P34 = 1) / KEY1 直接關(guān)燈

15、鍵delay(2); /延時消抖if(P34 = 1)LED_PWM = 0; / 熄滅LED P35 = 1; /p3.5置為開漏高阻if(P35 = 1) / KEY2 按鍵一直按著,LED逐漸變亮delay(2); /延時消抖if(P35 = 1)if(LED_PWM < 100)LED_PWM +; /燈光漸亮P37 = 1; /p3.7置為開漏高阻if(P37 = 1) / KEY3 按鍵一直按著,LED逐漸變暗delay(2); /延時消抖if(P37 = 1)if(LED_PWM >0)LED_PWM -; /燈光漸暗 /*函數(shù)名:T0定時器中斷服務(wù)程序調(diào) 用:無參

16、數(shù):無返回值:無結(jié) 果:提供PWM波輸出I/O口的電平翻轉(zhuǎn)備 注:*/void Timer0_Routine() interrupt 1 TH0 = T0RELOAD / 256; TL0 = T0RELOAD % 256; SYS_TIME +; if(SYS_TIME < LED_PWM) P17 = 1; /點亮LED else P17 = 0; /關(guān)閉LED if(SYS_TIME > 100) SYS_TIME = 0;/* type.h */#ifndef _TYPE_H_#define _TYPE_H_ typedef unsigned char U8;typedef

17、 signed char S8;typedef unsigned int U16;typedef signed int S16;typedef unsigned long U32;typedef signed long S32; #endif四、總結(jié)與體會經(jīng)過一段時間的焊接與調(diào)試,總算把臺燈制作完成,期間也經(jīng)歷過各種意想不到的問題。就以三極管搭建的達(dá)林頓驅(qū)動來說,在找到功率三極管13003之前,我只找到了一堆9014,由于三極管9014的功率有限,無法承受燈頭20多個LED帶來的0.5A的強(qiáng)大電流,即使使用了幾對分立元件搭建的達(dá)林頓也一樣,表現(xiàn)均是高度發(fā)熱,用萬用表實測溫度已高達(dá)130,所以根

18、本無法用在實際應(yīng)用當(dāng)中。由于電流過大,所以也無法使用集成達(dá)林頓IC,直到找到能允許較大功率的三極管13003后,才使得整個系統(tǒng)的溫升控制在能接受的范圍。歸其原因就在于所使用的LED燈頭,此燈頭來自一電源報廢的商品LED充電臺燈,由于燈頭的LED僅僅采用并聯(lián)的做法做在一塊專用PCB板上,上面無任何限流保護(hù)措施才導(dǎo)致此次制作LED工作時電流過大,以至于在尋找驅(qū)動方法上費(fèi)了好大功夫。本次的課程設(shè)計不但順利完成,而且所制作的調(diào)光臺燈很實用,也整好滿足我的日常需求。由于設(shè)計過程中除單片機(jī)外大部分器件均來自廢舊電路板上的拆機(jī)件,經(jīng)檢測性能正常后裝進(jìn)控制板。包括所用的功率三極管13003就是在一廢舊電子鎮(zhèn)流器

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論