標(biāo)題: 單片機智能感應(yīng)垃圾桶程序與Proteus仿真圖 [打印本頁]

作者: 1234yytg    時間: 2022-10-5 21:27
標(biāo)題: 單片機智能感應(yīng)垃圾桶程序與Proteus仿真圖
利用熱釋電紅外傳感器來測試人體接近目標(biāo)的方法,當(dāng)人走近垃圾桶時讓桶蓋自動開合的自動感應(yīng)垃圾桶設(shè)計。采用單片機來控制一個直流電機轉(zhuǎn)動,實現(xiàn)垃圾桶蓋的閉合控制。

proteus仿真圖




單片機源程序:
//功能:自動感應(yīng)垃圾桶(判斷是否有人接近,有人電機正轉(zhuǎn),離開反轉(zhuǎn))
#include "reg51.h"        //包含頭文件reg51.h,定義了51單片機的專用寄存器
sbit hw=P0^1;             //紅外控制端
sbit P1_3=P1^3;           //電機驅(qū)動控制端
sbit P1_4=P1^4;           //電機驅(qū)動控制端
sbit P1_5=P1^5;           //電機驅(qū)動控制端
//函數(shù)名:delay
//函數(shù)功能:實現(xiàn)軟件延時
//形式參數(shù):無符號整型變量i,控制空循環(huán)的循環(huán)次數(shù)
//返回值:無
void delay(unsigned int i)            //延時函數(shù)
{
  unsigned int k;
        for(k=0;k<i;k++);
}
void  main()
{
             bit  flag;    //桶蓋打開標(biāo)志位變量,為1表示桶蓋打開,否則表示桶蓋關(guān)閉   
flag=0;       //桶蓋關(guān)閉標(biāo)志
while(1)
{
if((hw==1)&&(flag==0))
{ P1_3=1;        //電機運轉(zhuǎn),控制打開桶蓋
P1_4=0;
P1_5=1;
delay(20000);   //延時,等待桶蓋打開完成
P1_5=0;         //電機停轉(zhuǎn),保持桶蓋打開狀態(tài)                        
                  flag=1;         //設(shè)置桶蓋打開標(biāo)志
}
else if(hw==0&&flag==1)
{
P1_3=0;        //電機反向運轉(zhuǎn),關(guān)閉桶蓋
P1_4=1;
P1_5=1;
delay(20000);   //延時,等待桶蓋關(guān)閉完成
P1_5=0;         //電機停轉(zhuǎn),保持桶蓋關(guān)閉狀態(tài)
                  flag=0;         //設(shè)置桶蓋關(guān)閉標(biāo)志
}
}
}


keil5代碼和proteus8.8仿真下載: Proteus8.8與代碼.7z (100.11 KB, 下載次數(shù): 44)





歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1