600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 继电器写法c语言单片机 51单片机-继电器编程

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

时间:2018-10-04 15:56:56

相关推荐

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

文章目录

原理

原理图

工作原理

续流二极管(DD2)作用

发光二极管(DK)

三极管(Q1)

实验程序

实验现象问题

其他程序

原理

原理图

工作原理

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);

}

实验现象问题

写芯片超时

处理方法

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

其他程序

//驱动继电器实验

#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

程序出处

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。