我們上次做了一個流水燈,這次我們來嘗試一下控制蜂鳴器和繼電器
話不多說,我們直接看原理圖
這里我先來看然后控制繼電器,想要控制繼電器那我們就要先知道怎么繼電器的工作原理
繼電器
[注]這個m1應該是在觸點的上方。
對應到原理圖上就是這樣子,原理圖上的RELAY—SPOT就是電磁鐵,當N Relay為低電平時,電磁鐵會對銜鐵產(chǎn)生一個吸引力使得銜鐵與m2接觸,這個時候繼電器就打開了,并且由于銜鐵上接了GND,所以L10這個燈就會被點亮。
總結:當N RELAY這個端口為低電平時,繼電器開始工作,L10被點亮
蜂鳴器
講完繼電器,我們來講一講蜂鳴器,相信玩過51單片機的小伙伴對蜂鳴器應該不會陌生,原理圖上它的原理圖很簡單,只需要再蜂鳴器的兩端給一個高低電平就可以讓它工作,這里只需要給N BUZZER一個低電平就可以讓蜂鳴器響起。
總結,我們要要控制蜂鳴器和繼電器只需要在N RELAY和N BUZZER上輸出一個低電平就可以做到,但他們又是通過一個ULN2003輸出的,所以我要有必要來了解一下ULN2003
ULN2003
ULN2003是高壓大電流達林頓晶體管陣列系列產(chǎn)品,用它做成的電路具有以下特點:
增益高(大于1000)、帶負載能力強(輸出電流大于500mA)、溫度范圍寬(-40~85℃)、工作電壓高(大于50V)。
它的引腳圖是可以看到他的內部是由七個非門組成的,當在輸入端輸入1時,會在對應的輸出端輸出0,反之則輸出1
這里我們來分析一下它內部的工作原理:
- 當IN輸入低電平時,兩個三極管不導通,OUT的電壓為VCC輸出為1;
- 但IN輸入高電平時,兩個三極管都導通,且OUT電壓近似為0,輸出為低電平,且由于兩個三極管的連續(xù)放大作用(這樣兩個三極管共同組合成的管子也叫做達林頓管)使得OUT端輸出的電平驅動能力很強,可以達到500mA的級別,使其驅動蜂鳴器和繼電器。
到這里我們就算理清了,如何去控制蜂鳴器和繼電器了
大概邏輯就是:138譯碼器—>74HC573—>ULN2003—>蜂鳴器/繼電器。
如果有對138譯碼器和74HC573鎖存器不理解的同學,可以參照我的上一篇文章:《關于我用藍橋杯的板子點了個燈這件事》
代碼實現(xiàn)
#include <STC15F2K60S2.H>
#include "Relay.h"
sbit LS138_A = P2^5;
sbit LS138_B = P2^6;
sbit LS138_C = P2^7;
sbit Relay = P0^4; //繼電器,為1時打開繼電器,且上電默認值為1
sbit BEEP = P0^6; //蜂鳴器,寫1時打開,且上電默認值為1
void Init(void) //初始化函數(shù),完成HC138的初始化,設置蜂鳴器關閉,繼電器打開
{
LS138_A = LS138_B = LS138_C = 0;
LS138_A = LS138_C = 1;
Relay=1;
BEEP=0;
LS138_A = LS138_B = LS138_C = 0;
}
void RelayChange(void)
{
LS138_A = LS138_C = 1;
Relay=~Relay;
BEEP=~BEEP;
LS138_A = LS138_B = LS138_C = 0;
}
void Delay500ms() //@11.0592MHz,延時函數(shù)
{
unsigned char i, j, k;
i = 22;
j = 3;
k = 227;
do
{
do
{
while (--k);
} while (--j);
} while (--i);
}
void main()
{
Init(); //初始化
while(1)
{
Delay500ms(); //延時函數(shù)
RelayChange(); //改變蜂鳴器和繼電器的工作狀態(tài)
}
}
代碼邏輯也挺簡單的,大家自行看一下就會了,最后效果的話就是:蜂鳴器和繼電器會以500ms為間隔交替工作,繼電器工作瞬間,會有明顯的噠的一聲,并且L10開始亮起。
總結
控制繼電器和蜂鳴器的方法其實和控制LED類似,但是由于51單片機IO口的驅動能力不是很強,灌電流可以達到20mA左右,但是拉電流卻很?。ň鸵粌蓚€mA的樣子),無法直接用于驅動蜂鳴器和繼電器,所有需要通過ULN2003來驅動。文章來源:http://www.zghlxwxcb.cn/news/detail-420360.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-420360.html
到了這里,關于藍橋杯單片機學習2——蜂鳴器和繼電器的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!