官术网_书友最值得收藏!

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);
            }
          }
        }
主站蜘蛛池模板: 保山市| 射阳县| 安泽县| 长兴县| 象山县| 得荣县| 芮城县| 长宁县| 安远县| 通州区| 郑州市| 绥德县| 克东县| 高台县| 定南县| 洛浦县| 浮梁县| 大新县| 桐梓县| 安泽县| 鄂托克旗| 汪清县| 深圳市| 晴隆县| 松潘县| 福贡县| 开阳县| 玉溪市| 华坪县| 桐庐县| 牡丹江市| 额济纳旗| 沧州市| 临江市| 阿巴嘎旗| 延安市| 千阳县| 宣武区| 呈贡县| 赫章县| 乾安县|