找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 1844|回復(fù): 1
收起左側(cè)

使用STC15W204S單片機(jī)的2W調(diào)光燈程序 電路原理圖

[復(fù)制鏈接]
ID:673920 發(fā)表于 2024-3-11 21:46 | 顯示全部樓層 |閱讀模式
學(xué)習(xí)、模仿、試驗(yàn)、改進(jìn)!
使用開(kāi)發(fā)板的程序,做了一個(gè)調(diào)光燈,用一塊3.7V1500mAH的鋰電池做電源,用了幾次還行!
實(shí)測(cè)整機(jī)靜態(tài)電流20mA左右,不開(kāi)燈放幾天就沒(méi)電了,就增加了開(kāi)關(guān)機(jī)程序和電路,現(xiàn)在放一個(gè)月都沒(méi)問(wèn)題!
現(xiàn)在還發(fā)現(xiàn)當(dāng)電池電壓下降到2.7V以下時(shí),燈會(huì)不受控的閃爍!我想可能是電池保護(hù)板的問(wèn)題?以后再弄...

單片機(jī)源程序如下:
/********************************************************************************
*  標(biāo)題: 開(kāi)關(guān)機(jī)        以手提燈104為原型修改,實(shí)現(xiàn)待機(jī)電流為0,修改已通過(guò)!                                 *
*  按鍵控制    由 低光--中光--強(qiáng)光--中光--關(guān)閉 循環(huán),亮度由PMW控制。                         *
* 長(zhǎng)按3秒進(jìn)入1.5HZ閃光,按鍵退出,                                                                                                 *
*使用STC15F104        設(shè)置晶振頻率24M,(工作電壓2.8--5.5伏)(工作電流20mA)                         *
*關(guān)閉后,待機(jī)電流為0毫安!!                                                                                                            *
*1腳 p3.4 開(kāi)關(guān)機(jī)輸出; 2腳 +5V 輸入;   3腳 p3.5      空;    4腳 GND;          *
*5腳 p3.0 RXD;        6腳 p3.1  TXD;  7腳 p3.2   輸出 ;    8腳 p3.3  調(diào)光按鍵 *
*實(shí)際使用STC15W204S        設(shè)置晶振頻率24M,(工作電壓2.8--5.5伏)(工作電流20mA)                 *
*關(guān)閉后,待機(jī)電流為0毫安。                                                                                                            *
*1腳 p5.4 開(kāi)關(guān)機(jī)輸出; 2腳 +5V 輸入;   3腳 p5.5      空;    4腳 GND;          *
*5腳 p3.0 RXD;        6腳 p3.1  TXD;  7腳 p3.2   輸出 ;    8腳 p3.3  調(diào)光按鍵 *
*使用P5先設(shè)置寄存器 sfr P5=0xC8;就可以使用,否則報(bào)錯(cuò)                                             *  **********************************************************************************/
#include <reg52.h>
#define uint unsigned int
sfr P5=0xC8;
uint a,b,c,d,e,f,L4,t,t1,t2,t3,t4,t5,t6;

sbit shuchu=P5^5; //  開(kāi)關(guān)機(jī)輸出        控制  P2^2;
sbit PWM=P5^4; //  輸出P2^6;        
sbit key= P3^3; //  調(diào)光按鍵
void delay(uint z)
   {
   uint x,y;
   for(x=z;x>0;x--)
           for(y=2480;y>0;y--);                 //10ms
   }
   void main()
{
/*-------------------定時(shí)器初始化-----------------------------*/

TMOD |= 0x01;          //使用模式1,16位定時(shí)器,使用"|"符號(hào)可以在使用多個(gè)定時(shí)器時(shí)不受影響                     
TH0=(65536-100)/256; //給定初值    100us
TL0=(65536-100)%256;
// TH0=0xff;//70us以下輸出的方波不穩(wěn)定
// TL0=0x9c;
EA=1;            //總中斷打開(kāi)
ET0=1;           //定時(shí)器中斷打開(kāi)
TR0=1;           //定時(shí)器開(kāi)關(guān)打開(kāi)
a=b=c=d=e=t3=0;
L4=1;
shuchu=1;

        while(1)
        {

        if(key==1)
        {t5=0;t6=0;e=0;}
        if((key==0)&(e==0))
        {t5++;  
        if(t5>=5000)               
        {t6++;t5=0;        
                if(t6>=50){t6=0;L4=~L4;e++;}} //閃爍頻率
        }
        if(L4>=10){a=0;c=0;if(t2>=40000){t2=0;}  
        if(t2<20000)  
{if(t>=20) {t=0;} //由10個(gè)t組成一個(gè)波,由N個(gè)(10個(gè)t)連續(xù)組成一串波,

    if(t<1) {PWM=0;}         //        由10個(gè)t組成的一個(gè)波中,t3個(gè)t使PWM=0;另外9-t3個(gè)t使PWM=1;
    else {PWM=1;}
  }else {PWM=1;}
}        
/**********************************/
        if(L4==1)        // PMW控制
        {if(key==1){t4=0;t1=0;b=0;} //4,        K1彈起或未按下時(shí),延時(shí)10ms,t2停止計(jì)時(shí),計(jì)數(shù)器b為零,等待K1按下!

        if((key==0)&(b==0))         //大燈按鍵按下,
                {if(t1==2000) //t2開(kāi)始計(jì)時(shí),防抖延時(shí)100MS
                        { a++;b++;}           //a++去控制占空比,
                                        }
           if(a==0){t3=2;} //  
           if(a==1){t3=4;}
           if(a==2){t3=9;}
           if(a==3){t3=6;}
           if(a>3){shuchu=0;} //關(guān)機(jī)         delay(500)延時(shí)5秒 t3=0; delay(500);shuchu=1;a=0;

if(t>=20) {t=0;}

    if(t<t3) {PWM=0;}         
    else {PWM=1;}

        }

}

}
/*------------------------------------------------
                 定時(shí)器中斷子程序
------------------------------------------------*/
void Timer0_isr(void) interrupt 1
{
TH0=(65536-100)/256;//重新賦值 100us
TL0=(65536-100)%256;
// TH0=0xff;//70us以下輸出的方波不穩(wěn)定
// TL0=0x9c;         //9c,100us;
  t++;
  t1++;
  t2++;
  t4++;
  t5++;
  }

燈控制電路圖.doc

100.5 KB, 下載次數(shù): 10, 下載積分: 黑幣 -5

評(píng)分

參與人數(shù) 1黑幣 +90 收起 理由
admin + 90 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:6467 發(fā)表于 2024-12-25 22:47 | 顯示全部樓層
這個(gè)牛皮;可以學(xué)習(xí)下!感謝!
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表