|
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編輯過]
|