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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機人體紅外感應 照明控制系統主程序設計

  [復制鏈接]
跳轉到指定樓層
樓主
ID:203714 發表于 2017-5-23 00:54 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include<reg52.h>
#include<intrins.h>
#defineuint unsigned int
#defineuchar unsigned char

sbitIR=P1^0;           //人體紅外信號輸入
sbitLAMP=P2^0;     //照明燈控制接口

bitfIR=0;            //人體紅外信號標志位

unsignedint times=0;
unsignedchar SetSecond=10;
unsignedint SetTime=0;

voiddelayms(uint ms)        //延時xx毫秒
{
    uchari;
    while(ms--)
    {
        for(i=0;i<123;i++);
    }
}

voidTimer0() interrupt 1   //定時器0中斷,開啟定時器中斷后,每50ms中斷1次。
{
    TH0  = (65535-50000)/256;
    TL0  =(65535-50000)%256;   //定時器重新加載初始值
    if(fIR==0)  //人體紅外信號標志位為0,人體已經離開房間
    {
        if(++times==SetTime)    //倒計時時間累計,每次中斷50ms,20次為1秒,200次為10秒
        {   
            times = 0;  ////倒計時時間累計清0
            TR0=0;      //停止計時
            LAMP=1;     //照明燈熄滅
        }
    }
}



voidmain(void) //主程序
{
    P2=0xff;P3=0xff;P1=0xff;
    SetTime=SetSecond*20;   //計算倒計時時間,每次中斷50ms,20次為1秒,200次為10秒
    TMOD = 0x01;    //設置定時器0模式
    TH0  =(65535-50000)/256;
    TL0  =(65535-50000)%256; //定時器加載初始值
    EA=1;   //允許中斷觸發
    ET0=1;  //允許定時器0中斷
    TR0=0;  //停止定時器0計時
    while(1)
    {
        if(IR==0)   //有人體信號
        {
            delayms(20);    //延時,防止誤觸發
            if(IR==0)   //有人體信號
            {
                fIR=1;TR0=1;    //啟動定時器0,設置人體紅外信號標志位為1
                LAMP=0;     //照明燈點亮
            }
        }
        else fIR=0; //沒有人體紅外信號,設置人體紅外信號標志位為0
    }
}



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

使用道具 舉報

沙發
ID:108380 發表于 2017-5-23 18:10 | 只看該作者
請問一下 這個模塊是不是不太穩定,我試了一下 有時候靠近了沒反應
回復

使用道具 舉報

板凳
ID:191024 發表于 2017-5-23 21:28 | 只看該作者
你有一些地方寫錯了,只是缺少空格或多了一些:例如IR,你寫成fIR。#include<reg52.h> #include<intrins.h> #define uint unsigned int #define uchar unsigned char  sbit IR=P1^0;           //人體紅外信號輸入 sbit LAMP=P2^0;     //照明燈控制接口  bitfIR=0;            //人體紅外信號標志位  unsigned int times=0; unsigned char SetSecond=10; unsigned int SetTime=0;  void delayms(uint ms)        //延時xx毫秒 {     uchar i;     while(ms--)     {         for(i=0;i<123;i++);     } }  voidTimer0() interrupt 1   //定時器0中斷,開啟定時器中斷后,每50ms中斷1次。 {     TH0  = (65535-50000)/256;     TL0  =(65535-50000)%256;   //定時器重新加載初始值     if(IR==0)  //人體紅外信號標志位為0,人體已經離開房間     {         if(++times==SetTime)    //倒計時時間累計,每次中斷50ms,20次為1秒,200次為10秒         {                times = 0;  ////倒計時時間累計清0             TR0=0;      //停止計時             LAMP=1;     //照明燈熄滅         }     } }    void main(void) //主程序 {     P2=0xff;         P3=0xff;         P1=0xff;     SetTime=SetSecond*20;   //計算倒計時時間,每次中斷50ms,20次為1秒,200次為10秒     TMOD = 0x01;    //設置定時器0模式     TH0  =(65535-50000)/256;     TL0  =(65535-50000)%256; //定時器加載初始值     EA=1;   //允許中斷觸發     ET0=1;  //允許定時器0中斷     TR0=0;  //停止定時器0計時     while(1)     {         if(IR==0)   //有人體信號         {             delayms(20);    //延時,防止誤觸發             if(IR==0)   //有人體信號             {                 IR=1;                                 TR0=1;    //啟動定時器0,設置人體紅外信號標志位為1                 LAMP=0;     //照明燈點亮             }         }         else IR=0; //沒有人體紅外信號,設置人體紅外信號標志位為0     } }
回復

使用道具 舉報

地板
ID:204026 發表于 2017-5-24 14:47 | 只看該作者
謝謝,正是需要樓主就發來了,請問有電路圖嗎?
回復

使用道具 舉報

5#
ID:279710 發表于 2018-1-25 17:57 來自手機 | 只看該作者
樓主你好!我是做感應燈的,可以微信溝通?我的微信18022012218
回復

使用道具 舉報

6#
ID:278493 發表于 2018-3-20 18:18 | 只看該作者
HUANGHFS 發表于 2017-5-23 21:28
你有一些地方寫錯了,只是缺少空格或多了一些:例如IR,你寫成fIR。#include #include #define uint unsign ...

你好,我想問下,為什么我的LED燈一直亮呢
回復

使用道具 舉報

7#
ID:309787 發表于 2018-4-17 09:10 | 只看該作者
立致T5T8廚柜燈 發表于 2018-1-25 17:57
樓主你好!我是做感應燈的,可以微信溝通?我的微信18022012218

能詳細點微信 1656997475
回復

使用道具 舉報

8#
ID:309787 發表于 2018-4-17 09:11 | 只看該作者
這很多錯誤能搞好一點嗎  謝謝   微信 1656997475
回復

使用道具 舉報

9#
ID:288202 發表于 2018-5-1 14:10 | 只看該作者
HUANGHFS 發表于 2017-5-23 21:28
你有一些地方寫錯了,只是缺少空格或多了一些:例如IR,你寫成fIR。#include #include #define uint unsign ...

我感覺你幫樓主改錯了吧,main函數中在確定IR==0時,樓主的目的是為了給出一個標志標明IR==0,即感應到有人(FIR=1),這沒有寫錯,是你寫錯了
回復

使用道具 舉報

10#
ID:260648 發表于 2018-6-5 23:13 | 只看該作者
樓主我的也是一直亮著 你解決了嗎
回復

使用道具 舉報

11#
ID:442930 發表于 2018-12-9 22:35 | 只看該作者
樓主我這個也是再亮,不知道怎么修改,您能否指點一下呢
回復

使用道具 舉報

12#
ID:474424 發表于 2019-1-31 18:45 | 只看該作者
像這種畢業設計的實物材料可以在哪里買
回復

使用道具 舉報

13#
ID:768873 發表于 2020-6-3 21:16 | 只看該作者
人體感應控制  舵機 程序是怎樣的呢
回復

使用道具 舉報

14#
ID:65956 發表于 2020-6-4 08:16 | 只看該作者
有時候看你們的程序可點醒我一些想法,謝謝分享
回復

使用道具 舉報

15#
ID:777780 發表于 2020-6-13 03:54 | 只看該作者
笑點滴 發表于 2017-5-23 18:10
請問一下 這個模塊是不是不太穩定,我試了一下 有時候靠近了沒反應

大佬 有電路圖嗎
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久精品性视频 | 国产剧情一区 | 91在线区| 天天综合永久入口 | 免费观看黄a一级视频 | 午夜精品久久久久久久久久久久 | 特黄毛片| 成人不卡视频 | 特级黄色毛片 | av免费网站在线观看 | 91视频18 | 91久久伊人 | 亚洲一卡二卡 | 色综合久久天天综合网 | 黄色免费在线观看网址 | 欧美精品二区三区 | 99热.com | 国产精品久久a | 亚洲欧洲综合av | 久久99国产精品久久99果冻传媒 | 二区久久 | 91精品一区二区三区久久久久 | 四虎影院新网址 | 伊人色综合久久天天五月婷 | 成人精品一区二区三区中文字幕 | 国产激情视频网 | 欧美在线一区二区三区 | 91xxx在线观看 | 国产成人免费视频 | 91精品一区 | 精品一区二区三区91 | 台湾a级理论片在线观看 | 精品在线观看一区 | 欧美成年黄网站色视频 | 欧美一级黄色片在线观看 | 国产真实乱对白精彩久久小说 | 久久久久国产一区二区三区不卡 | 日日夜夜精品免费视频 | 欧美成人性生活 | 日韩高清在线观看 | 黄色网页在线观看 |