久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4793|回復: 2
打印 上一主題 下一主題
收起左側

簡易單片機人體感應燈光控制器程序設計

[復制鏈接]
跳轉到指定樓層
樓主
功能介紹
簡易人體感應燈光控制器
在夜晚,控制器檢測黑暗中的人體,自動打開繼電器,開啟燈光,白天不響應,也可以作為普通燈控制器使用,開關使用并聯方式,方便多地控制燈的亮滅,采用220V供電,使用變壓器隔離,較開關電源更安全,開關使用5V供電,更安全


單片機代碼

void main() {
    SysInit();
        
    while(1) {
                key_event();
                HW_event();
               

    }
}

void HW_event(){
        if(countdown2>0)return;//手動控制亮滅
        if((!GM)&&(!JDQ))return;//白天
        
        
        if(GM_flag_t){
                countdown = 120;//120S
                LED3 = 0;
        }else {
                LED3 = 1;
        }
        if(countdown>0){//有人點亮,倒計時熄滅
                JDQ = 1;
        } else {
                JDQ = 0;
                key_flag = 0;
        }
}

u8 jdqf;
void key_event() {
        if(kf == 1){
                if(!JDQ)
                        jdqf = !jdqf;
                else {
                        countdown2 = 0;
                        countdown = 0;
                        jdqf = 0;
                }
                if(jdqf == 1){
                        countdown2 = 1800;
                }else {
                        countdown2 = 0;
                }
                kf = 0;
        }
    if(countdown2>0) {
        JDQ = 1;
    } else {
        JDQ = 0;
        key_flag = 0;
    }
}

u16 kn;
void key_scanf() {
    if(!KEY&&!kf)kn++;
    else {
        if(kn>50&&kn<1000)kf = 1;
        else if(kn>1000)kf = 2;
        kn = 0;
    }
}

u16 timer1s;
void tm0_isr() interrupt 1
{
    timer1s++;
    timer1s %= 1000;
    if(timer1s == 0) {
        if(countdown>0)
            countdown--;
        if(countdown2>0)
            countdown2 --;
    }

    key_scanf();//按鈕掃描
}


//人體紅外
void exint1() interrupt 2       //INT1中斷入口
{
    if(HW == 1)               //保存INT1口的狀態, INT1=0(下降沿); INT1=1(上升沿)
        GM_flag_t = 1;
    else
        GM_flag_t = 0;
}

void SysInit() {

    P3M1 = 0xff;
    P3M0 = 0x00;
    P1M1 = 0x00;
    P1M0 = 0x02;
    P2M1 = 0x00;
    P2M0 = 0x00;

    LED3 = 1;        //熄滅LED
    JDQ = 0;        //關閉繼電器
    KEY = 1;
    GM = 0;
    HW = 0;

    AUXR = 0x80;                   //定時器0為1T模式
    TMOD = 0x00;                    //設置定時器為模式0(16位自動重裝載)
    TL0 = -(FOSC/1000);                     //初始化計時值
    TH0 = -(FOSC/1000) >> 8;
    TR0 = 1;                        //定時器0開始計時
    ET0 = 1;                        //使能定時器0中斷

    IT1 = 0;                    //設置INT1的中斷類型 (1:僅下降沿 0:上升沿和下降沿)
    EX1 = 1;                    //使能INT1中斷

    EA = 1;
}


完整代碼請下載附件
感應燈控制器.7z (17.51 KB, 下載次數: 69)
PCB和原理圖鏈接(自行替換.): oshwhub點com/xkz49/ting-yuan-d

b.PNG (63.63 KB, 下載次數: 125)

PCB

PCB

a.PNG (87.64 KB, 下載次數: 130)

原理圖

原理圖

a1.jpg (3.55 MB, 下載次數: 134)

實物圖

實物圖

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏5 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:282710 發表于 2022-6-9 17:36 | 只看該作者
你好,感謝你的分享,本人是新手,想問問,可不可發一份可以用在stc15w401as上面的程序文件嗎?或者如果要怎么設定參數才合適呢
回復

使用道具 舉報

板凳
ID:282710 發表于 2022-6-9 17:49 | 只看該作者
你好,謝謝你的分享.本人是新手,手上有一片STC15W401AS開發板,按你的電路圖接好線,再按你的程序編了固件,JDQ P13 /LED P12/KEY P30/GM P36/HW P33,但功能實現不了,上電JDQ會亮,按一下開關K1,JDQ會滅,但p12總是高電平,GM ,HW接底電平也沒反應,請我要怎么做才能將功能移值到這片stc15w401as上面呢?非常感謝
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美激情 一区 | 九九在线视频 | 一区二区三区四区国产精品 | 日韩国产一区二区三区 | 国产a级黄色录像 | 视频在线一区二区 | 色免费视频 | 欧美一区二区在线观看 | 狠狠干狠狠操 | 一道本在线 | 精品毛片在线观看 | 久久99国产精品 | 日本在线网站 | 国产免费一区二区三区网站免费 | 精品亚洲一区二区三区 | 久久丝袜 | 欧美亚洲视频在线观看 | 久久久久久一区 | 亚洲国产精品一区二区第一页 | 久久国产高清 | 欧美性猛片aaaaaaa做受 | 日韩在线国产 | 91原创视频 | 亚洲电影免费 | a在线视频观看 | 久久精品国产99国产 | 日韩午夜一区二区三区 | 精精国产xxxx视频在线播放 | 日日噜噜噜夜夜爽爽狠狠视频, | 日韩精品国产精品 | 成人在线播放网址 | 午夜日韩| 91一区二区三区 | 亚洲综合色婷婷 | 欧美国产日韩在线观看 | 欧美一级在线 | 风间由美一区二区三区在线观看 | 国产成人精品免高潮在线观看 | 成人黄页在线观看 | 成人免费大片黄在线播放 | 日韩成人中文字幕 |