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

QQ登錄

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

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

求分析兩個(gè)觸發(fā)開(kāi)關(guān)的單片機(jī)程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
各位師傅,您們好:兩個(gè)觸發(fā)開(kāi)關(guān)程序?qū)懖缓茫?qǐng)大家指點(diǎn)一下:

開(kāi)關(guān)K1和K2
1.      如果先觸發(fā)一下K1,K1=0
    D1=1; D0=0;
    這個(gè)過(guò)程中觸發(fā)一下K2,K2=0
D1=0; D2=0;
2.      如果先觸發(fā)K2,K2=0
D1=0; D0=1;
這個(gè)過(guò)程中觸發(fā)一下K1,K1=0
D1=0; D2=0;
兩個(gè)開(kāi)關(guān)沒(méi)有順序,先觸發(fā)誰(shuí),就執(zhí)行下面的結(jié)果,例如如果1執(zhí)行完后再次觸發(fā)K1,就繼續(xù)1的功能,如果是再次觸發(fā)K2,就執(zhí)行K2的功能,同理2執(zhí)行也是一樣的。師傅幫我看看下面的程序錯(cuò)在什么地方,謝謝。
If((K1==0)&&(flag1==0))
{
  delay(10); flag2=1;
   If(K1==0)
   {
     D1=1; D0=0;
     if(K2==0)
      {
       delay(10);
        D1=0; D0=0;flag2=0;K1=1;K2=1;
           }
    }
}
If((K2==0)&&(flag2==0))
{
  delay(10); flag1=1;
   If(K2==0)
   {
     D1=0; D0=1;
     if(K1==0)
      {
       delay(10);
        D1=0;D0=0;flag1=0;K1=1;K2=1;
           }
    }
}
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:405193 發(fā)表于 2019-7-12 14:43 | 只看該作者
可能我描述有點(diǎn)問(wèn)題,就是一個(gè)電機(jī)正反轉(zhuǎn),觸發(fā)K1,電機(jī)正轉(zhuǎn),電機(jī)到了K2的位置,觸發(fā)一下K2,電機(jī)就停止了,這個(gè)時(shí)候觸發(fā)K1還是正轉(zhuǎn),如果觸發(fā)K2就是反轉(zhuǎn),到達(dá)對(duì)面觸發(fā)開(kāi)關(guān)就停止。
回復(fù)

使用道具 舉報(bào)

板凳
ID:405193 發(fā)表于 2019-7-13 06:56 | 只看該作者
謝謝大家,我通過(guò)兩天時(shí)間的研究,自己已經(jīng)完成,謝謝。
回復(fù)

使用道具 舉報(bào)

地板
ID:332444 發(fā)表于 2019-7-13 07:21 | 只看該作者
寫(xiě)個(gè)大概的邏輯,要外出辦事,得空做個(gè)栗子
if(!kg&&!k1&&k2)kg=fx=true;
if(!kg&&k1&&!k2)kg=!fx=false;
if(kg)if((!k1||!k2))kg=false;
if(kg)if(fx)正轉(zhuǎn)esle反轉(zhuǎn)
回復(fù)

使用道具 舉報(bào)

5#
ID:332444 發(fā)表于 2019-7-13 14:15 | 只看該作者


評(píng)分

參與人數(shù) 1黑幣 +10 收起 理由
yong761228 + 10 贊一個(gè)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

6#
ID:405193 發(fā)表于 2019-7-13 19:54 | 只看該作者

非常感謝,我試試看。
回復(fù)

使用道具 舉報(bào)

7#
ID:405193 發(fā)表于 2019-7-13 20:35 | 只看該作者

師傅您好,我測(cè)試您的程序,可以啟動(dòng),但是到達(dá)對(duì)面觸發(fā)開(kāi)關(guān)后,不能停止,就是觸發(fā)K1,電機(jī)是正轉(zhuǎn),觸發(fā)K2不停止,斷電開(kāi)電,觸發(fā)K2后一直反轉(zhuǎn),但是觸發(fā)K1后不停止。您再看看,您的程序?qū)I(yè)性比較強(qiáng),我要慢慢消化,非常感謝。
回復(fù)

使用道具 舉報(bào)

8#
ID:388197 發(fā)表于 2019-7-14 01:22 | 只看該作者
可以考慮這個(gè)電路,把兩開(kāi)關(guān)各經(jīng)過(guò)1個(gè)電容,二極管接到同一個(gè)外中斷上,當(dāng)任意一個(gè)開(kāi)關(guān)閉合,外中斷上必然產(chǎn)生下降沿,進(jìn)入中斷,然后在中斷函數(shù)里看一下到底是哪個(gè)IO口被拉低就行了

QQ截圖20190714011555.png (23.24 KB, 下載次數(shù): 60)

QQ截圖20190714011555.png

評(píng)分

參與人數(shù) 1黑幣 +10 收起 理由
yong761228 + 10 贊一個(gè)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

9#
ID:405193 發(fā)表于 2019-7-14 06:18 | 只看該作者
cjm82 發(fā)表于 2019-7-14 01:22
可以考慮這個(gè)電路,把兩開(kāi)關(guān)各經(jīng)過(guò)1個(gè)電容,二極管接到同一個(gè)外中斷上,當(dāng)任意一個(gè)開(kāi)關(guān)閉合,外中斷上必然產(chǎn)生 ...

非常感謝,但是您的方法我更加難寫(xiě)出來(lái),我現(xiàn)在的方法是根據(jù)流程圖,一步一步寫(xiě)的,程序雖然比較長(zhǎng),可以用的。
回復(fù)

使用道具 舉報(bào)

10#
ID:332444 發(fā)表于 2019-7-14 08:12 | 只看該作者
這個(gè)論壇遲滯,不像其他論壇即時(shí)可看到回帖,待我看到我的回帖內(nèi)容,同時(shí)也看到樓主內(nèi)容,不是說(shuō)已經(jīng)自己解決了?后面做栗子只是為了驗(yàn)證我的思路,同時(shí)仿真也是通過(guò)的,可惜這個(gè)論壇無(wú)法上傳MP4文件,否則可以看仿真效果了,明天弄個(gè)錄像上傳,要說(shuō)明的是用仿真驗(yàn)證我的邏輯按鈕就不寫(xiě)消抖了,因?yàn)榉抡娌挥孟,到?shí)際機(jī)器上就要按標(biāo)準(zhǔn)的進(jìn)行按鈕消抖,同時(shí)要釋放按鈕,不知道你的是否一直按住按鈕?如果一直按住按鈕的話,就要去掉檢測(cè)按鈕釋放的代碼。
回復(fù)

使用道具 舉報(bào)

11#
ID:583390 發(fā)表于 2019-7-14 09:15 | 只看該作者
一些有用的代碼

51黑論壇_c源文件.rar

2.33 KB, 下載次數(shù): 5

回復(fù)

使用道具 舉報(bào)

12#
ID:405193 發(fā)表于 2019-7-14 15:26 | 只看該作者
xianfajushi 發(fā)表于 2019-7-14 08:12
這個(gè)論壇遲滯,不像其他論壇即時(shí)可看到回帖,待我看到我的回帖內(nèi)容,同時(shí)也看到樓主內(nèi)容,不是說(shuō)已經(jīng)自己解 ...

您好,這個(gè)開(kāi)關(guān)是觸發(fā)一下,需要按鈕消抖的,我寫(xiě)好程序了,我只是看看您們的方法,非常感謝。
回復(fù)

使用道具 舉報(bào)

13#
ID:405193 發(fā)表于 2019-7-14 15:30 | 只看該作者

非常感謝。
回復(fù)

使用道具 舉報(bào)

14#
ID:584136 發(fā)表于 2019-7-14 23:31 | 只看該作者
if(!kg&&!k1&&k2)kg=fx=true;
if(!kg&&k1&&!k2)kg=!fx=false;
if(kg)if((!k1||!k2))kg=false;
if(kg)if(fx)正轉(zhuǎn)esle反轉(zhuǎn)
回復(fù)

使用道具 舉報(bào)

15#
ID:332444 發(fā)表于 2019-7-15 09:21 | 只看該作者
我只保證我的邏輯思路代碼通過(guò)驗(yàn)證是正確執(zhí)行的并符合提問(wèn),做了仿真同時(shí)用2個(gè)LED指示作為驗(yàn)證電的通斷,而不保證仿真中的電機(jī)定子轉(zhuǎn)動(dòng)慣性及你實(shí)際電機(jī)定子轉(zhuǎn)動(dòng)的原因是蝦米.

回復(fù)

使用道具 舉報(bào)

16#
ID:405193 發(fā)表于 2019-7-15 12:44 | 只看該作者
xianfajushi 發(fā)表于 2019-7-15 09:21
我只保證我的邏輯思路代碼通過(guò)驗(yàn)證是正確執(zhí)行的并符合提問(wèn),做了仿真同時(shí)用2個(gè)LED指示作為驗(yàn)證電的通斷,而不 ...

非常感謝。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表