找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 10135|回復(fù): 5
打印 上一主題 下一主題
收起左側(cè)

51單片機模擬自動感應(yīng)門(原理圖+仿真圖+源程序)

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:587011 發(fā)表于 2019-9-3 12:07 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
采用的是模擬的形式  步進電機模擬開門關(guān)門

制作出來的實物圖如下:


電路原理圖如下:


仿真說明

RV1模擬人體檢測,端口變成綠色0無人,端口變成紅色是有人

其他照著操作說明操作即可
實物中的步進電機仿真中沒有對應(yīng)的,你就加載仿真看看端口電平變化效果吧

Comment    Designator
22P電容    C1, C2
10UF電容    C3
LED    D1
人體檢測模塊    H1
步進電機    P1
1K電阻    R2
10K電阻    R15
AJ按鍵    SW1, SW2
單片機    U2
ULN2003    U5
12M    晶振1


單片機源程序如下:
#include<reg51.h> //調(diào)用頭文件
#define uchar unsigned char  //宏定義
#define uint unsigned int    //宏定義

/********    端口定義      **********/

sbit k1=P2^6;//手動開接口
sbit k2=P2^7;//手動關(guān)接口

sbit led=P3^4;//人體感應(yīng)指示燈
sbit ir=P3^2;//人體感應(yīng)

uchar code fan[4]={0xf8,0xf4,0xf2,0xf1};//反轉(zhuǎn)
uchar code zheng[4]={0xf1,0xf2,0xf4,0xf8};//正轉(zhuǎn)

uchar num,num1;
uint quan;
bit flag;//開關(guān)標志位,0為關(guān),1為開

/***************延時函數(shù)*******************/

void delay(uint time)//延時函數(shù)         延時Time ms
{
        uint j;
        for(;time>0;time--)
           for(j=150;j>0;j--);
}void main()
{
        
        TMOD=0x11;//設(shè)置定時器1為16位計時模式
        TH0=(65536-50000)/256;  //定時器0高八位裝初值
        TL0=(65536-50000)%256;  //定時器0低八位裝初值
        EA=1;//開啟總中斷
        ET0=1;//開啟定時器中斷0
        TR0=0;//關(guān)閉定時器0

        TH1=(65536-4000)/256;    //定時器1高八位裝初值
        TL1=(65536-4000)%256;    //定時器1低八位裝初值
        ET1=1;//開啟定時器中斷1
        TR1=0;//關(guān)閉定時器1
        flag=0;//門關(guān)閉狀態(tài)
        P2=0xf0;
        while(1)
        {        
                while(flag==0)//門關(guān)閉狀態(tài)
                {                                                         
                        if(TR1==0)P2=0xf0;
                        if((ir==1)||(k1==0))//檢測到人體信號或者手動開門按鍵按下模擬開門
                        {
                                if(ir==1)led=0;
                                TR1=1;
                                num=0;
                        }
                        else led=1;
                }
                //門開啟狀態(tài) 延時5S檢測不到人  自動關(guān)閉         延時5S檢測到人  延時清零繼續(xù)
                //關(guān)閉時檢測到人  反方向自動開啟
                while(flag==1)
                {
                        if(TR1==0)P2=0xf0;
                        if(ir==1){num=0;led=0;}//門開啟檢測到人體信號定時清零
                        else led=1;
                        if((num>=100)||(k2==0))//5S 或者手動關(guān)門按鍵按下執(zhí)行關(guān)門
                        {
                                TR0=0;//關(guān)閉定時器
                                TR1=1;
                                num=0;
                        }
                }
        }
}
void time0() interrupt 1         //中斷函數(shù)
{
        TH0=(65536-50000)/256;
        TL0=(65536-50000)%256;
        num++;
}
void time1() interrupt 3         //中斷函數(shù)
{
        TH1=(65536-4000)/256;
        TL1=(65536-4000)%256;
        num1++;
        if((flag==0)&&(TR1==1))
        {
                if(num1==4)
                {
                        lp:
                        num1=0;
                        quan++;
                }
                P2=zheng[num1];
                if(quan>=125){TR1=0;flag=1;TR0=1;P2=0xf0;}//90°        
        }
        if((flag==1)&&(TR1==1))
        {
                if(num1==4)
                {
                        num1=0;
                        if((ir==1)||(k1==0))//檢測到人體信號或者手動開門按鍵按下模擬開門
                        {
                                flag=0;
                                if(ir==1)led=0;
                                TR1=0;
                                delay(1000);
                                TR1=1;
                                goto lp;
                        }
                        quan--;
                }
                P2=fan[num1];
                if(quan==0){TR1=0;flag=0;P2=0xf0;}
                        
        }
}

全部資料51hei下載地址:
自動感應(yīng)門資料.rar (173.83 KB, 下載次數(shù): 212)

評分

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

查看全部評分

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

使用道具 舉報

沙發(fā)
ID:657167 發(fā)表于 2019-12-5 23:06 | 只看該作者
好資料,51黑有你更精彩!!!
回復(fù)

使用道具 舉報

板凳
ID:668156 發(fā)表于 2019-12-23 14:31 | 只看該作者
請問這個人體檢測模塊用的是什么呢?紅外檢測嗎?
回復(fù)

使用道具 舉報

地板
ID:722729 發(fā)表于 2020-5-12 12:59 | 只看該作者
你這資料打開用不上啊!
回復(fù)

使用道具 舉報

5#
ID:939573 發(fā)表于 2021-6-21 14:35 | 只看該作者
大家有沒有推薦比較好用的人體感應(yīng)模塊呀
回復(fù)

使用道具 舉報

6#
ID:941093 發(fā)表于 2021-6-21 18:22 | 只看該作者

好資料,51黑有你更精彩!!!
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

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