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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 1893|回復(fù): 8
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)循環(huán)控制多個(gè)繼電器 求助

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:880534 發(fā)表于 2022-10-21 03:40 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
問(wèn)題描述:key_a ,key_b, key_c 三個(gè)開(kāi)關(guān)分別對(duì)應(yīng) A1 A2      B1 B2     C1 C2    6個(gè)繼電器      


情景1  key_a打開(kāi),key_b&&key_c關(guān)斷,A1通;  key_a先開(kāi)  key_b或key_c開(kāi)一個(gè),A1通且 B2或C2通,此時(shí)若key_a關(guān)斷,B1或C1通。                       情景2  key_b打開(kāi),key_a&&key_c關(guān)斷,B1通;  key_b先開(kāi)  key_a或key_c開(kāi)一個(gè),B1通且 A2或C2通,此時(shí)若key_b關(guān)斷,A1或C1通。                       情景3  key_c打開(kāi), key_a&&key_b關(guān)斷,C1通;  key_c先開(kāi)  key_a或key_b開(kāi)一個(gè),C1通且 A2或B2通,此時(shí)若key_c關(guān)斷,A1或B1通。  
情景4   key_a&&key_b&&key_c關(guān)斷,   A1 && B1 && C1 通。  


在線等大神回復(fù)。  目前 A>B>C   順序 開(kāi) 沒(méi)問(wèn)題,但是 BA BC CA 開(kāi)  就會(huì)和前面的  AB AC BC沖突  不按計(jì)劃開(kāi)啟。                     
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:880534 發(fā)表于 2022-10-21 04:57 | 只看該作者
#include<reg51.h>



sbit key0=P3^2;
sbit key1=P3^3;
sbit key2=P3^4;

sbit ATIAN=P0^0;
sbit BTIAN=P0^1;
sbit CTIAN=P0^2;
sbit AJIA=P0^3;
sbit BJIA=P0^4;
sbit CJIA=P0^5;











void main()
{
        P0=0xff;
        P10=0;
        while(1)
        {
                if(P14==1)
                {
                 P0=0xff;
                }
                else P0=0xf8;
               
               
                                       

               
       
                       
                                if((key0==0)&&(key1==1)&&(key2==1))             //A主
                                        {          
                                                   ATIAN=0;BTIAN=1;CTIAN=1;
                                                        AJIA=1;BJIA=1;CJIA=1;
                                        }                       
                                       
                                       
                                        if((key0==0)&&(key1==0)&&(key2==1))                                //A機(jī)主 B機(jī)備
                                        {          
                                                   ATIAN=0;BTIAN=1;CTIAN=1;
                                                        AJIA=1;BJIA=0;CJIA=1;
                                        }                       
                                       
                                        if((key0==0)&&(key1==1)&&(key2==0))                                //A機(jī)主 C機(jī)備
                                        {          
                                                   ATIAN=0;BTIAN=1;CTIAN=1;
                                                        AJIA=1;BJIA=1;CJIA=0;
                                        }                       
                                       
                                        if((key0==1)&&(key1==0)&&(key2==1))                                //A機(jī)關(guān)機(jī),B機(jī)主
                                        {          
                                                   ATIAN=1;BTIAN=0;CTIAN=1;
                                                        AJIA=1;BJIA=1;CJIA=1;
                                        }                       
                                       
                                        if((key0==1)&&(key1==1)&&(key2==0))                                //A機(jī)關(guān)機(jī),C機(jī)主
                                        {          
                                                   ATIAN=1;BTIAN=1;CTIAN=0;
                                                        AJIA=1;BJIA=1;CJIA=1;
                                        }                       
                                       
                                        if((key0==1)&&(key1==0)&&(key2==1))                                //B機(jī)主
                                        {          
                                                   ATIAN=1;BTIAN=0;CTIAN=1;
                                                        AJIA=1;BJIA=1;CJIA=1;
                                        }                       
                                       
                                        if((key0==1)&&(key1==0)&&(key2==0))                                //B機(jī)主,C機(jī)備
                                        {          
                                                   ATIAN=1;BTIAN=0;CTIAN=1;
                                                        AJIA=1;BJIA=1;CJIA=0;
                                        }                       
                                       
                                        if((key0==1)&&(key1==1)&&(key2==0))                                //B機(jī)關(guān)機(jī),C機(jī)主
                                        {          
                                                   ATIAN=1;BTIAN=1;CTIAN=0;
                                                        AJIA=1;BJIA=1;CJIA=1;
                                        }       

                                        if((key0==1)&&(key1==1)&&(key2==0))                                //C機(jī)主
                                        {          
                                                   ATIAN=1;BTIAN=1;CTIAN=0;
                                                        AJIA=1;BJIA=1;CJIA=1;
                                        }       
                                       
        }
}                                               
                                       
//        現(xiàn)確少         B先開(kāi) A開(kāi);
//                           B先關(guān) A開(kāi);
//                           C先開(kāi) A開(kāi);
//                           C先關(guān) A開(kāi);
//                           C先開(kāi) B開(kāi);
//                           C先關(guān) B開(kāi);
                          
回復(fù)

使用道具 舉報(bào)

板凳
ID:880534 發(fā)表于 2022-10-21 04:58 | 只看該作者
#include<reg51.h>

sbit key0=P3^2;
sbit key1=P3^3;
sbit key2=P3^4;

sbit ATIAN=P0^0;
sbit BTIAN=P0^1;
sbit CTIAN=P0^2;
sbit AJIA=P0^3;
sbit BJIA=P0^4;
sbit CJIA=P0^5;


void main()
{
        P0=0xff;
        P10=0;
        while(1)
        {
                if(P14==1)
                {
                 P0=0xff;
                }
                else P0=0xf8;
               
               
                                       

               
       
                       
                                if((key0==0)&&(key1==1)&&(key2==1))             //A主
                                        {          
                                                   ATIAN=0;BTIAN=1;CTIAN=1;
                                                        AJIA=1;BJIA=1;CJIA=1;
                                        }                       
                                       
                                       
                                        if((key0==0)&&(key1==0)&&(key2==1))                                //A機(jī)主 B機(jī)備
                                        {          
                                                   ATIAN=0;BTIAN=1;CTIAN=1;
                                                        AJIA=1;BJIA=0;CJIA=1;
                                        }                       
                                       
                                        if((key0==0)&&(key1==1)&&(key2==0))                                //A機(jī)主 C機(jī)備
                                        {          
                                                   ATIAN=0;BTIAN=1;CTIAN=1;
                                                        AJIA=1;BJIA=1;CJIA=0;
                                        }                       
                                       
                                        if((key0==1)&&(key1==0)&&(key2==1))                                //A機(jī)關(guān)機(jī),B機(jī)主
                                        {          
                                                   ATIAN=1;BTIAN=0;CTIAN=1;
                                                        AJIA=1;BJIA=1;CJIA=1;
                                        }                       
                                       
                                        if((key0==1)&&(key1==1)&&(key2==0))                                //A機(jī)關(guān)機(jī),C機(jī)主
                                        {          
                                                   ATIAN=1;BTIAN=1;CTIAN=0;
                                                        AJIA=1;BJIA=1;CJIA=1;
                                        }                       
                                       
                                        if((key0==1)&&(key1==0)&&(key2==1))                                //B機(jī)主
                                        {          
                                                   ATIAN=1;BTIAN=0;CTIAN=1;
                                                        AJIA=1;BJIA=1;CJIA=1;
                                        }                       
                                       
                                        if((key0==1)&&(key1==0)&&(key2==0))                                //B機(jī)主,C機(jī)備
                                        {          
                                                   ATIAN=1;BTIAN=0;CTIAN=1;
                                                        AJIA=1;BJIA=1;CJIA=0;
                                        }                       
                                       
                                        if((key0==1)&&(key1==1)&&(key2==0))                                //B機(jī)關(guān)機(jī),C機(jī)主
                                        {          
                                                   ATIAN=1;BTIAN=1;CTIAN=0;
                                                        AJIA=1;BJIA=1;CJIA=1;
                                        }       

                                        if((key0==1)&&(key1==1)&&(key2==0))                                //C機(jī)主
                                        {          
                                                   ATIAN=1;BTIAN=1;CTIAN=0;
                                                        AJIA=1;BJIA=1;CJIA=1;
                                        }       
                                       
        }
}                                               
                                       
//        現(xiàn)確少     B先開(kāi) A開(kāi);
//                           B先關(guān) A開(kāi);
//                           C先開(kāi) A開(kāi);
//                           C先關(guān) A開(kāi);
//                           C先開(kāi) B開(kāi);
//                           C先關(guān) B開(kāi);
                          
回復(fù)

使用道具 舉報(bào)

地板
ID:880534 發(fā)表于 2022-10-21 07:30 | 只看該作者
#include<reg51.h>



sbit key0=P3^2;
sbit key1=P3^3;
sbit key2=P3^4;

sbit ATIAN=P0^0;
sbit BTIAN=P0^1;
sbit CTIAN=P0^2;
sbit AJIA=P0^3;
sbit BJIA=P0^4;
sbit CJIA=P0^5;


void main()
{
//        P0=0xff;    //開(kāi)機(jī)繼電器全關(guān)
//        P10=0;
        while(1)
        {
//                if(P14==1)
//                {
//                 P0=0xff;
//                }
//                else P0=0xf8;
               
                                        if((key0==0)&&(key1==1)&&(key2==1))             //A主                                        1111 1110
                                        {          
                                                   ATIAN=0;BTIAN=1;CTIAN=1;
                                                        AJIA=1;BJIA=1;CJIA=1;
                                        }                       
                                       
                                       
                                        if((key0==0)&&(key1==0)&&(key2==1))                                //A機(jī)主 B機(jī)備                        1111 1100
                                        {          
                                                   ATIAN=0;BTIAN=1;CTIAN=1;
                                                        AJIA=1;BJIA=0;CJIA=1;
                                        }                       
                                       
                                        if((key0==0)&&(key1==1)&&(key2==0))                                //A機(jī)主 C機(jī)備                        1111 1010
                                        {          
                                                   ATIAN=0;BTIAN=1;CTIAN=1;
                                                        AJIA=1;BJIA=1;CJIA=0;
                                        }                       
                                       
                                        if((key0==1)&&(key1==0)&&(key2==1))                                //A機(jī)關(guān)機(jī),B機(jī)主        1111 1101
                                        {          
                                                   ATIAN=1;BTIAN=0;CTIAN=1;
                                                        AJIA=1;BJIA=1;CJIA=1;
                                        }                       
                                       
                                                if((key0==1)&&(key1==0)&&(key2==0))                    //B機(jī)主,C機(jī)備          1111 1001
                                        {          
                                                   ATIAN=1;BTIAN=0;CTIAN=1;
                                                        AJIA=1;BJIA=1;CJIA=0;
                                        }                       
                                       
                                        if((key0==1)&&(key1==1)&&(key2==0))                                //B機(jī)關(guān)機(jī),C機(jī)主         1111 1011
                                        {          
                                                   ATIAN=1;BTIAN=1;CTIAN=0;
                                                        AJIA=1;BJIA=1;CJIA=1;
                                        }       
                                       
        }
}                                               
回復(fù)

使用道具 舉報(bào)

5#
ID:415064 發(fā)表于 2022-10-21 08:32 | 只看該作者
把誰(shuí)先通的要記錄下來(lái)
回復(fù)

使用道具 舉報(bào)

6#
ID:123289 發(fā)表于 2022-10-21 08:39 | 只看該作者
建議改行。
回復(fù)

使用道具 舉報(bào)

7#
ID:161164 發(fā)表于 2022-10-21 09:26 | 只看該作者

回復(fù)

使用道具 舉報(bào)

8#
ID:880534 發(fā)表于 2022-10-24 16:17 | 只看該作者
wojiaoguogai 發(fā)表于 2022-10-21 08:32
把誰(shuí)先通的要記錄下來(lái)

你給的這個(gè)邏輯合適,我進(jìn)入誤區(qū)  應(yīng)該 把判斷主備線路占用做判斷,就好辦多了。
回復(fù)

使用道具 舉報(bào)

9#
ID:1007932 發(fā)表于 2022-10-24 23:18 | 只看該作者
可以用萬(wàn)能的狀態(tài)機(jī),把上一個(gè)/幾個(gè)狀態(tài)記錄下來(lái)(取決于前幾個(gè)狀態(tài)能影響到下一個(gè)狀態(tài)),再確定下一個(gè)狀態(tài),要不把所有狀態(tài)和情況列出來(lái),就很好寫(xiě)了。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 成人1区2区 | 日韩在线小视频 | 99re在线 | 成人av网站在线观看 | 国产激情视频在线观看 | 夜夜骑av | 爱综合| 精品视频一区在线 | 日本三级网址 | 羞视频在线观看 | 婷婷五月色综合香五月 | 黄色精品 | 在线免费观看成年人视频 | 久久久激情视频 | 国产一区二区三区四区区 | 中文字幕欧美在线观看 | 亚洲精品国产电影 | 国产成人99| 国产一二三视频在线观看 | 国产在线高清 | 成人精品一区二区三区 | 欧美日韩在线视频一区 | 天天天操操操 | 国产欧美二区 | 婷婷激情在线 | 在线一区二区观看 | 国产午夜精品久久久 | 国产欧美精品一区二区色综合 | 美女毛片免费看 | 日韩在线一区二区三区 | 国产一区二区三区视频 | 欧美在线日韩 | 在线播放第一页 | 亚洲欧美一区二区三区国产精品 | 成人免费视频 | 久久久久国产一区二区三区 | 一区二区在线观看免费视频 | 在线观看精品视频网站 | 免费视频二区 | 国产在线一区二区 | 中文字字幕一区二区三区四区五区 |