- 單片機C語言程序設計實訓100例
- 彭偉編著
- 326字
- 2018-12-27 05:12:07
3.19 繼電器控制照明設備
本例用繼電器控制大功率照明設備,運行本例時,按下K1鍵可點亮燈,再次按下時則關閉燈。
本例電路及運行效果如圖3-16所示。

圖3-16 繼電器控制照明設備
程序設計調試與實訓:
本例用繼電器控制外部大功率設備,程序中繼電器控制定義在P2.4引腳上,每次按下K1鍵并釋放時,對RELAY取反,當RELAY為0時,NPN三極管導通,繼電器吸合,燈點亮,反之三極管截止,繼電器斷開,燈熄滅。
讀者可改用PNP型三極管控制繼電器,并實現對外部直流電動機的啟/停控制。
源程序代碼:
//----------------------------------------------------------------- // 名稱: 繼電器控制照明設備 //----------------------------------------------------------------- // 說明: 按下K1時燈點亮,再次按下時燈熄滅。 //----------------------------------------------------------------- #include <reg51.h> #define uchar unsigned char #define uint unsigned int sbit K1 = P1^0; sbit RELAY = P2^4; //----------------------------------------------------------------- // 延時 //----------------------------------------------------------------- void DelayMS(uint ms) { uchar t; while(ms--) for(t = 0; t < 120; t++); } //----------------------------------------------------------------- // 主程序 //----------------------------------------------------------------- void main() { P1 = 0xFF; RELAY = 1; while(1) { if ( K1 == 0) { while (K1 == 0); RELAY = ~RELAY; DelayMS(20); } } }