找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機(jī)計數(shù)代碼問題困擾幾天了

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:573664 發(fā)表于 2019-9-2 21:20 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
本人利用ad轉(zhuǎn)換出兩個不同電壓,a電壓和b電壓。a是始終比b小的,現(xiàn)在我想,當(dāng)a>b時,c加1,如果a一直大于b,c就會一直加,但是我不需要它一直加,只加了一開始a>b的一次。我現(xiàn)在代碼是這樣的。如果a>b是一瞬間的話,他就能實現(xiàn)加1功能,如果a>b時間比較久,我該怎么讓它不會一直加。不知道代碼該怎么寫,這個問題困擾我?guī)滋炝耍蟠蠹医獯鸾獯,謝謝了

1567430199(1).jpg (18.56 KB, 下載次數(shù): 59)

1567430199(1).jpg
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:275826 發(fā)表于 2019-9-2 22:12 | 只看該作者
bit flag=0;
if((!flag)&&(a>b))
  {c++;
  flag=1;}
else flag=0;
回復(fù)

使用道具 舉報

板凳
ID:462827 發(fā)表于 2019-9-2 22:40 | 只看該作者
加個標(biāo)志變量就行了呀
回復(fù)

使用道具 舉報

地板
ID:388197 發(fā)表于 2019-9-2 23:13 | 只看該作者
設(shè)置一個標(biāo)志變量
例如

u8 flag = 0;              //0表示如果下次檢測到a>b則c++, 1表示上一次檢測到a>b,
if(a>b)
{
    if(flag = 0)
    {
        c++;
        flag = 1;      //c++后,將flag置1,用以防止下一次檢測到a>b時 再次執(zhí)行c++
    }
}else                 //如果a>b不成立,即a<=b
{
     flag = 0;       //將flag清0,以便下一次檢測到a>b時執(zhí)行c++
}
回復(fù)

使用道具 舉報

5#
ID:373388 發(fā)表于 2019-9-3 10:03 | 只看該作者
加個標(biāo)志位,a>b同時標(biāo)志位為零條件滿足時c+1,標(biāo)志位置位1; 當(dāng)a<=b時,標(biāo)志位清零
回復(fù)

使用道具 舉報

6#
ID:282850 發(fā)表于 2019-9-3 10:19 | 只看該作者
較簡單的問題。樓上加flag的方法可行,如果不加標(biāo)志,也可行。按樓主意思,發(fā)生a>b時,c加1,且只加一次,那就是C=1。
c=0;

//AD轉(zhuǎn)換.....

if(a>b)
{
  c=1;
  LED2=!LED2;
  delayms(50);
}
else
{
  c=0;
}
回復(fù)

使用道具 舉報

7#
ID:606788 發(fā)表于 2019-9-3 12:01 | 只看該作者

加個標(biāo)志位,a>b同時標(biāo)志位為零條件滿足時c+1,標(biāo)志位置位1; 當(dāng)a<=b時,標(biāo)志位清零
回復(fù)

使用道具 舉報

8#
ID:573664 發(fā)表于 2019-9-3 12:05 | 只看該作者
cjm82 發(fā)表于 2019-9-2 23:13
設(shè)置一個標(biāo)志變量
例如

兄弟,大哥謝謝,解決了
回復(fù)

使用道具 舉報

9#
ID:573664 發(fā)表于 2019-9-3 12:07 | 只看該作者
感謝各位大佬的分享,已經(jīng)解決了。感謝大家。
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

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