求助51单片机通过uln2003控制继电器驱动直流电机的C语言和电路图,谢谢了

如题所述

LN2003也是一个7路反向器电路,即当输入端为高电平时ULN2003输出端为低电平,当输入端为低电平时ULN2003输出端为高电平,继电器得电吸合。
#include<stc.h>
#define it unsigned int
sbit s0=P3^2;//两个按钮
sbit s1=P3^3;//两个按钮
sbit j0=P3^4;//继电器控制口,这3个IO口要和你实际电路去更改。

void ys(it); //声明延时函数

void main()
{

while(1)
{
if(s0==0) //判断S按键是否按下 {
ys(5000); //延时消抖
if(s0==0) //在次判断按键是否真的按下(在次判断很有必要)
{
j0=1; //让继电器关闭
while(s0==0); //判断S按键是否放开,如果没有放开继续等待。放开后执行下面的代码。
}
}

if(s1==0) //判断S按键是否按下 {
ys(5000);
if(s1==0)
{
j0=0; //让继电器打开
while(s1==0);
}
}
}
}

void ys(it a) //延时函数
{
it x;
for(x=0;x<5000;x++)
for(x=0;x<a;x++);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-05-14
uln2003是扩大电流的,电机只要一端接芯片一端接电源就行,程序里相应引脚置0就可以了