继电器写法c语言单片机,51单片机-继电器编程

文章目录

原理

原理图

工作原理

续流二极管(DD2)作用

发光二极管(DK)

三极管(Q1)

实验程序

实验现象问题

其他程序

原理

原理图

1d00d4df911eac312c3a7d22761f33c3.png

工作原理

io口和J2相连,io口输出低电平,发射极和基极导通,发射极电流流向集电极,线圈通电,常开触点(NO1)闭合,常闭触点(NC1)打开,MP口断开、NO口导通

续流二极管(DD2)作用

保护作用:与线圈形成回路,防止线圈累积能量烧坏三极管及其本身

发光二极管(DK)

指示作用:确认线圈通电

三极管(Q1)

驱动继电器

实验程序

/**************************************************************************************

* 继电器实验 *

实现现象:下载程序后继电器模块指示灯DK亮,会听到继电器吸合的声音

注意事项:无

***************************************************************************************/

#include "reg52.h" //此文件中定义了单片机的一些特殊功能寄存器

typedef unsigned int u16; //对数据类型进行声明定义

typedef unsigned char u8;

sbit relay=P1^4;

/*******************************************************************************

* 函 数 名 : main

* 函数功能 : 主函数

* 输 入 : 无

* 输 出 : 无

*******************************************************************************/

void main()

{

relay=0;

while(1);

}

实验现象问题

写芯片超时

dc4fa74753183fcd85ca0c0845cb015a.png

处理方法

换一根数据线,接口可能有问题

其他程序

//驱动继电器实验

#include sbit buzzer = P1^5;//声明蜂鸣器位置

sbit relay = P1^4;//声明继电器位置

void delay(int);//声明延迟函数

void pulse_BZ(int,int,int);//声明蜂鸣器发声函数

void pulse_RL(int,int,int);//声明继电器控制函数

//主程序。

main()

{

while(1)

{

pulse_RL(10,2000,2000);

//继电器开关各10次,分别用时2000×0.5ms=1s(接上灯可以观察到亮灭)

pulse_BZ(100,1,1);

delay(200);

//蜂鸣器响第一声后延迟200×0.5ms=0.1s

pulse_BZ(100,1,1);

delay(200);

//蜂鸣器响第二声后延迟200×0.5ms=0.1s

}

}

//延迟函数。

void delay(int n)

{

int i,j;

for(j=0;j

程序出处

  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值