久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2188|回復: 3
打印 上一主題 下一主題
收起左側

單片機5個按鍵控制5個繼電器開關 程序調試不出來

[復制鏈接]
跳轉到指定樓層
樓主
50黑幣
一個獨立按鍵可以控制繼電器開關,但是我想5個獨立按鍵控制5個繼電器程序調不出來,請求大佬指點

下面是一個按鍵控制一個繼電器單片機程序
#include <reg52.h>

#define uchar unsigned char

sbit A = P3 ^ 0;

sbit RelayEN = P2 ^ 0;                                   //定義繼電器開啟信號

void Timer0Init();                                           //聲明定時器0初始化函數
void RelayProcess();                                   //聲明斷電器處理函數

uchar count = 0;                                           //計秒數

void main()                                                           //主函數
{
        RelayEN = 1;                                           //開機時關閉繼電器,否則一上電繼電器有動作;

        Timer0Init();
        RelayProcess();
        
}

void Timer0Init()                                           //定時器初始化函數
{
        TMOD |= 0x01;                                           //“|”使用多個定時器時不受影響
        TH0 = 0xFC;                                                   //定時1MS
        TL0 = 0x67;
        TR0 = 1;                                                   //開啟定時器0
        EA = 1;                                                           //開啟總中斷
        ET0 = 1;                                                   //開啟定時器0中斷
}

void RelayProcess()                                          //繼電器處理函數
{
        A = 0x01;                                                  //讀外部狀態時,先使端口輸出高電平;
        while (1)
        {
                if(!A)                                          //判定有無按鍵按下
                {
                        if(count >= 20)                          //判定秒數是否達到20MS,即去抖
                        {
                                count = 0;
                                if(!A)
                                {
                                        RelayEN = ~RelayEN;//當按鍵按下時,改變繼電器的狀態
                                        while(!A);           //等待按鍵釋放;
                                }
                        }
                }
        }
        
}

void Timer0() interrupt 1                                //定時器0中斷函數
{
        TH0 = 0xFC;                                                        //重新賦值給定時器0
        TL0 = 0x67;
        count++;                                                        //計秒數
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:161164 發表于 2022-4-7 00:12 | 只看該作者
  1. sbit Key_A = P3 ^ 0;
  2. sbit Key_B = P3 ^ 1;
  3. sbit Key_C = P3 ^ 2;
  4. ...

  5. sbit RelayEN = P2 ^ 0;                                   //定義繼電器開啟信號
  6. sbit RelayEN2 = P2 ^ 1;                                   //定義繼電器開啟信號
  7. sbit RelayEN3 = P2 ^ 2;                                   //定義繼電器開啟信號
  8. ...

  9. if(!Key_A || !Key_B || !Key_C)                                          //判定有無按鍵按下
  10. {
  11.         if(count >= 20)                          //判定秒數是否達到20MS,即去抖
  12.         {
  13.                 if(!Key_A)
  14.                 {
  15.                         RelayEN = ~RelayEN;//當按鍵按下時,改變繼電器的狀態
  16.                 }
  17.                 if(!Key_B)
  18.                 {
  19.                         RelayEN2 = ~RelayEN2;//當按鍵按下時,改變繼電器的狀態
  20.                 }
  21.                 if(!Key_C)
  22.                 {
  23.                         RelayEN3 = ~RelayEN3;//當按鍵按下時,改變繼電器的狀態
  24.                 }
  25.                 while(!Key_A || !Key_B || !Key_C);           //等待按鍵釋放;
  26.         }
  27. }else{
  28.         count = 0;
  29. }
復制代碼


回復

使用道具 舉報

板凳
ID:999318 發表于 2022-4-7 01:45 | 只看該作者

謝謝啊,可以了,但是就第一個三極管基極加電阻就可以控制,后面幾個要去掉基極的限流電阻,這是什么原因啊。可以看一下第二個跟第三個對比,進來都是低電平,第二個電機轉[img][/img],但第三個不轉,就是要去掉電阻嗎[img]
回復

使用道具 舉報

地板
ID:999318 發表于 2022-4-7 01:47 | 只看該作者

還有第一個電機轉一段時間,也就自己停了。所以我把電阻都取了
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 午夜视频在线 | 四虎午夜剧场 | 国产99久久 | 天堂免费 | 国产高清视频一区 | 99国内精品 | 亚洲一区三区在线观看 | 天天干夜夜操 | 一级在线免费观看 | 国产一二三区精品视频 | 成人免费大片黄在线播放 | 99看片网| 91精品欧美久久久久久久 | 这里只有精品999 | 日本在线小视频 | 欧美三区 | 玖玖视频 | 毛片一级电影 | 在线观看国产三级 | 日本一区二区高清不卡 | 亚洲欧美网站 | 少妇特黄a一区二区三区88av | 日韩精品不卡 | 国户精品久久久久久久久久久不卡 | 91精品国产91久久久久久 | 国产成人精品久久二区二区 | 精品久久久久久中文字幕 | 国产精品久久久久久妇女6080 | 久久久91精品国产一区二区精品 | 久久久夜色精品亚洲 | 久久久久久久久久一区 | 黄网免费 | 在线观看国产视频 | 欧美成人免费在线视频 | 欧美激情在线播放 | 婷婷在线视频 | 精品熟人一区二区三区四区 | 亚洲性人人天天夜夜摸 | 亚洲视频中文字幕 | 91视频网址 | 精品一区二区三区在线观看国产 |