51单片机初学者交流群:89562535,欢迎加入…
继电器可以描述为一个电子开关,在实际应用中也是非常有用的,主要以下几个作用:
一、有隔离作用
二、可以低电压控制高电压
三、可以小电流控制大电流
总体来说,可以说是弱电控制强电。

继电器原理:当线圈通电导通时,继电器常开触点闭合,RELAY0和RELAY1导通,从而控制后面电路的导通,二极管D3的作用是继电器线圈的续流作用,当继电器通电或断开时,会产生较大反电动势,采用反向二极管的吸收,会起到很好效果。
经工业现场实验证明:如果去掉此二极管,形成的干扰很大,会引起单片机系统复位。
如果控制干扰较强的设备时,建议采用《单片机+光耦+继电器+强电设备》,这样可以保证单片机系统可靠运行。在实际应用中很重要。
为了更明显的学习继电器,学习板中采用指示灯的方式,在继电器导通的时候会听到继电器响声,同时D20闭和。

ULN2003的内部驱动电路如下图,也是三极管驱动,内部集成了续流二极管,ULN2003内部集成了7组以下电路,ULN2803集成了8组,大家根据需要选择,如果只需要一组的话就用三极管就可以了。

程序代码如下:
/*
***************************************************************************
* (C) Copyright 2010,菁远科技
* All Rights reserved.
*项目名称: JY-100B单片机学习开发系统
*本文件名称:flash_led.c (继电器的实验程序)
* 完成作者 : 张工 (菁远科技)
* 当前版本 : V1.0
* 完成日期 : 2010年6月1日
* 描 述 : 此程序是练习继电器的使用,继电器在实际应用中很广泛,可以主要
学习其硬件电路,内部电路结构,程序与控制IO口类似。
实验时用杜帮线将P33和JP4的第6个插针(从右边数)相连,从数码管方向数是第2个插针。
* 本程序结构简单、合理,有帮助于初学者养成良好的编
* 程风格。
****************************************************************************
*/
#include <reg52.h> //调用头文件(单片机内部的寄存器定义)
/******本段为硬件I/O口定义********/
sbit TLP0 = P3 ^ 3;// 继电器端口
/**************************************************
** 函数名称: dellay
** 入口参数:h(双字节型)
** 出口参数:无
** 功能描述: 短暂延时,使用11.0592晶体,约0.01MS
****************************************************/
void dellay(unsigned int h) //短延时函数,最大0.6秒
{
while(h--); //0.01MS
}
/************主程序**************/
main()
{
while(1) //单片机在此反复执行
{
TLP0=0; //继电器导通,发光二极管D20亮,同时继电器响一下
dellay(50000); //约0.5秒
dellay(30000); //约0.3秒,共0.8秒
TLP0=1; //继电器光断,发光二极管D20灭,同时继电器响一下
dellay(50000); //约0.5秒
dellay(30000); //约0.3秒,共0.8秒
}
}
[此贴子已经被作者于2010-11-8 13:59:30编辑过]
|