3个回答
展开全部
#include<reg51.h>
//--定义要使用的IO口--//
sbit RELAY = P1^4; //定义继电器使用的IO口
sbit K1 = P0^0; //定义按键使用的IO口
/*******************************************************************************
* 函 数 名 : main
* 函数功能 : 主函数
* 输 入 : 无
* 输 出 : 无
*******************************************************************************/
void main()
{
while(1)
{
if(K1 == 0) //如果按键按下
{
RELAY = 0; //继电器闭合
}
else
{
RELAY = 1;
}
}
}
//--定义要使用的IO口--//
sbit RELAY = P1^4; //定义继电器使用的IO口
sbit K1 = P0^0; //定义按键使用的IO口
/*******************************************************************************
* 函 数 名 : main
* 函数功能 : 主函数
* 输 入 : 无
* 输 出 : 无
*******************************************************************************/
void main()
{
while(1)
{
if(K1 == 0) //如果按键按下
{
RELAY = 0; //继电器闭合
}
else
{
RELAY = 1;
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果单纯让单片机输出高电平时继电器稳定吸合,只保留relay=1;就行,其它语句都去掉,可将reIay=0;放在初始化函数中。
更多追问追答
追答
51单片机的高电平驱动能力较弱,如果写1不能驱动,可在口线(ⅠN)与Ⅴcc之间外接一只5.1k上拉电阻试试。
追问
为什么IN口接电源3.3V可以直接驱动?
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
就是你写的那样,输出高电平继电器就吸合了
更多追问追答
追问
不行
追答
那是电路问题,继电器要接NPN三极管,而且单片机的高电平输出能力要足够,STC的高电平输出能力可以
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询