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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2013|回復: 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 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久黄网 | 中文字幕视频在线观看 | 精品国产一区二区国模嫣然 | 亚洲精品www.| 日韩激情网| 日韩精品久久久久久 | 羞羞的视频免费看 | 欧美精品一区二区三区在线 | 国产精品明星裸体写真集 | 国产精品久久久久久久久久妇女 | 玩丰满女领导对白露脸hd | 羞羞色在线观看 | 成人小视频在线观看 | 国产精品久久久久久久久久不蜜臀 | 狠狠爱综合 | 国产精品高潮呻吟久久 | 国产精品国产三级国产播12软件 | 国产欧美一区二区三区久久 | 91精品在线看 | 久久久久国产精品一区二区 | 亚洲精品4| 久久久久久久久久久久久久国产 | 免费一级做a爰片久久毛片潮喷 | 精品一区二区三区入口 | 综合成人在线 | 欧美视频二区 | 婷婷久久五月天 | 国产精品亚洲精品久久 | 伊人婷婷 | 精品视频一区二区三区在线观看 | 97偷拍视频 | 久久精品国产一区二区电影 | 欧美精品久久久久 | 日韩精品成人 | 伊人网伊人网 | 日韩精品在线观看一区二区三区 | 有码在线 | 中文在线视频观看 | 精品国产欧美一区二区三区不卡 | 亚洲成人网在线播放 | 手机看片1 |