|
在進(jìn)行proteus仿真驅(qū)動(dòng)繼電器時(shí)候,因?yàn)榈谝淮谓佑|和學(xué)習(xí)繼電器遇到了無(wú)論采用電源驅(qū)動(dòng)還是三極管放大驅(qū)動(dòng)都無(wú)法驅(qū)動(dòng)的問(wèn)題,所以就查了繼電器的資料和proteus中的默認(rèn)設(shè)置,發(fā)現(xiàn)原來(lái)是proteus中繼電器默認(rèn)驅(qū)動(dòng)電壓為12V,所以我們需要將繼電器的默認(rèn)改成5V或者將電源改成12V即可。
現(xiàn)在我們來(lái)看一下用兩種三極管方法驅(qū)動(dòng)繼電器
1.采用直接電源驅(qū)動(dòng),然后用NPN當(dāng)做開關(guān),原理很簡(jiǎn)單。
當(dāng)IO口輸出高電平1時(shí)候,三極管會(huì)導(dǎo)通,此時(shí)繼電器開關(guān)閉合,LED點(diǎn)亮。如圖所示
當(dāng)IO口輸出低電平0時(shí)候,三極管會(huì)截止,此時(shí)繼電器開關(guān)斷開,LED熄滅。如圖所示
2.采用三極管PNP放大來(lái)驅(qū)動(dòng)繼電器工作,工作原理是通過(guò)三極管將IO口輸出的電流放大來(lái)驅(qū)動(dòng)繼電器工作,如圖所示。注意:這里的繼電器旁邊的二極管是為了保護(hù)繼電器,在實(shí)際電路中需加上去,這里補(bǔ)充一下。
代碼如下:
#include<reg51.h>
sbit jidianqi=P2^0;
//延時(shí)程序:由 Delay參數(shù)確定延遲時(shí)間
void delay(unsigned int m)
{
unsigned int i;
for (;m>0;m--)
{
for(i=0; i<54; i++) ;
}
}
void main()
{
while(1)
{
jidianqi=1;
delay(1000);
jidianqi=0;
delay(1000);
}
}
———————————————
|
|