一直想打造一個(gè)自己的調(diào)光臺(tái)燈,于是動(dòng)手焊接硬件,編寫(xiě)自己的單片程序,經(jīng)過(guò)調(diào)試初步達(dá)到要求,沒(méi)有條件打板,自己用萬(wàn)能板焊接的電路,用來(lái)控制12V的長(zhǎng)條LED實(shí)際效果還行! 主要功能: 1、 關(guān)機(jī)時(shí)短按一次開(kāi)燈,亮度為關(guān)機(jī)時(shí)的檔位,開(kāi)機(jī)時(shí)長(zhǎng)按三秒關(guān)燈,關(guān)燈時(shí)為漸滅燈的效果; 2、 開(kāi)機(jī)時(shí)單按為亮度檔位切換,分為1,2,3檔; 3、 開(kāi)機(jī)時(shí)連按三次按鍵,可進(jìn)入當(dāng)前檔位的亮度PWM值設(shè)定,此時(shí)led閃爍,單擊按鍵為亮度增加,雙擊按鍵為亮度減小,長(zhǎng)按則快速增加亮度(類(lèi)似呼吸燈的效果),再次三擊為保存PWM值退出亮度設(shè)置; 4、 可以分別對(duì)三個(gè)檔位的PWM亮度值進(jìn)行設(shè)定,以適合不同的LED組合; 5、 增加了7805穩(wěn)壓,輸入電壓為6~30V; 6、 TIP31加散熱片后電子負(fù)載測(cè)試電流800mA有微熱,基本可滿(mǎn)足常用臺(tái)燈的要求;
焊接完成的圖片:
焊接完成圖.jpg (83.42 KB, 下載次數(shù): 75)
下載附件
2022-2-20 09:49 上傳
焊接完成圖2.jpg (88.45 KB, 下載次數(shù): 58)
下載附件
2022-2-20 09:50 上傳
焊接完成圖4.jpg (77.69 KB, 下載次數(shù): 47)
下載附件
2022-2-20 09:50 上傳
焊接完成圖5.jpg (104.43 KB, 下載次數(shù): 56)
下載附件
2022-2-20 09:50 上傳
焊接完成圖三.jpg (105.91 KB, 下載次數(shù): 73)
下載附件
2022-2-20 09:50 上傳
線(xiàn)路圖:
臺(tái)燈Layout-1.jpg (192.68 KB, 下載次數(shù): 68)
下載附件
2022-2-20 09:51 上傳
臺(tái)燈Layout-2.jpg (154.88 KB, 下載次數(shù): 65)
下載附件
2022-2-20 09:51 上傳
測(cè)試效果:
002.gif (5.73 MB, 下載次數(shù): 89)
下載附件
2022-2-20 09:53 上傳
如下程序主要體現(xiàn)為PWM調(diào)光的部分,按鍵功能部分請(qǐng)參考我的另一個(gè)貼子: PIC單片機(jī)單個(gè)按鍵實(shí)現(xiàn)多功能:長(zhǎng)按、短按次數(shù)識(shí)別程序
單片機(jī)源程序如下:
//------------------------------------------------------------------------------------------------------------ void IRQ_init(void)//定時(shí)A和外部中斷1初始化 { GIE=0; //關(guān)總中斷 //RBIE=0; //RB口電平變化中斷禁止 //---------CPU頻率配置------- //IRCF<2:0>:內(nèi)部振蕩器頻率選擇位 IRCF2= 1 ; IRCF1= 1 ; IRCF0= 1 ; //000 = 31 kHz //001 = 125 kHz //010 = 250 kHz //011 = 500 kHz //100 = 1 MHz //101 = 2 MHz //110 = 4 MHz (缺省值) //111 = 8 MHz RABPU=0; //AB口上拉起動(dòng) WPUA0=1; WPUA1=1; //WPUA4=1; //WPUA5=1; WPUA2=1; //-------定時(shí)器time0的配置----- T0IF=0; //清中斷標(biāo)志 T0IE=1; //允許Time0中斷 TMR0=61; //256-61 T0CS=0; //Time0選擇內(nèi)部時(shí)鐘 T0SE=0; //外部電平低至高變化遞增 PSA =0; //預(yù)分頻給Time0 PS2 =1; //111為1:256分頻 PS1 =0; PS0 =1; //PS<2:0>:預(yù)分頻器比選擇位 //000 1 : 2 //001 1 : 4 //010 1 : 8 //011 1 : 16 //100 1 : 32 //101 1 : 64 //110 1 : 128 //111 1 : 256 //---------------------------- PEIE=1; //允許外圍中斷 GIE=1; //開(kāi)總中斷 }
|