找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1801|回复: 1
收起左侧

关于51单片机控制红外开关和马达驱动模块的程序

[复制链接]
ID:419921 发表于 2018-11-22 23:22 | 显示全部楼层 |阅读模式
单片机:STC89C52    电机驱动模块:ULN2803(输入端高电平时电机停转,输入端低电平时电机启动;输入端截单片机P1.7口)

红外探头:有遮挡时输出端输出低电平,无遮挡时输出端输出高电平。(输出端截单片机1.8口)



电路控制程序:(请问我这个程序正确吗?)

#include<reg52.h>
#define uint unsigned int
sbit dianji=P1^7;//电机控制端。
sbit kaiguan=P1^8;//红外开关控制端。
void delay(uint xms)//延迟函数
{
        uint i,j;
        for(i=xms;i<0;i--)
        for(j=110;j<0;j--);
}
void main()
{
while(1)
    {
                if(kaiguan==0)//红外开关打开
                {
                   delay(2000);//延迟两秒钟
          while(!kaiguan)//调节电机占空比
                        {
                    dianji=0;//电机启动
                        delay(1);//延迟1ms
                        dianji=1;//电机关闭
                        delay(1);//延迟1ms
                        }
         }
                if(kaiguan==1)//红外开关关闭
                     {
                   delay(2000);//延迟两秒钟
                        dianji=1;//电机关闭               
                     }
    }       
}

回复

使用道具 举报

ID:431591 发表于 2018-11-23 09:04 | 显示全部楼层
这个程序是可以的,再实际调试一下
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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