标题: 关于51单片机控制红外开关和马达驱动模块的程序 [打印本页]

作者: yanxiaodong    时间: 2018-11-22 23:22
标题: 关于51单片机控制红外开关和马达驱动模块的程序
单片机: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;//电机关闭               
                     }
    }       
}


作者: 该账号已注销    时间: 2018-11-23 09:04
这个程序是可以的,再实际调试一下




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1