找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1420|回复: 0
收起左侧

单片机智能感应垃圾桶程序与Proteus仿真图

[复制链接]
ID:1046639 发表于 2022-10-5 21:27 | 显示全部楼层 |阅读模式
利用热释电红外传感器来测试人体接近目标的方法,当人走近垃圾桶时让桶盖自动开合的自动感应垃圾桶设计。采用单片机来控制一个直流电机转动,实现垃圾桶盖的闭合控制。

proteus仿真图
51hei.gif

仿真图

仿真图



单片机源程序:
//功能:自动感应垃圾桶(判断是否有人接近,有人电机正转,离开反转)
#include "reg51.h"        //包含头文件reg51.h,定义了51单片机的专用寄存器
sbit hw=P0^1;             //红外控制端
sbit P1_3=P1^3;           //电机驱动控制端
sbit P1_4=P1^4;           //电机驱动控制端
sbit P1_5=P1^5;           //电机驱动控制端
//函数名:delay
//函数功能:实现软件延时
//形式参数:无符号整型变量i,控制空循环的循环次数
//返回值:无
void delay(unsigned int i)            //延时函数
{
  unsigned int k;
        for(k=0;k<i;k++);
}
void  main()
{
             bit  flag;    //桶盖打开标志位变量,为1表示桶盖打开,否则表示桶盖关闭   
flag=0;       //桶盖关闭标志
while(1)
{
if((hw==1)&&(flag==0))
{ P1_3=1;        //电机运转,控制打开桶盖
P1_4=0;
P1_5=1;
delay(20000);   //延时,等待桶盖打开完成
P1_5=0;         //电机停转,保持桶盖打开状态                        
                  flag=1;         //设置桶盖打开标志
}
else if(hw==0&&flag==1)
{
P1_3=0;        //电机反向运转,关闭桶盖
P1_4=1;
P1_5=1;
delay(20000);   //延时,等待桶盖关闭完成
P1_5=0;         //电机停转,保持桶盖关闭状态
                  flag=0;         //设置桶盖关闭标志
}
}
}


keil5代码和proteus8.8仿真下载: Proteus8.8与代码.7z (100.11 KB, 下载次数: 44)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表