找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

壓力變化更新顯示,沒變化鎖定顯示,如何實(shí)現(xiàn)?如視頻效果

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:686513 發(fā)表于 2024-6-19 13:12 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
如視頻顯示的效果。在大神lkc8210老師的代碼上改的,基本可以實(shí)現(xiàn)想要的功能,但與視頻中的效果還是有差別,各位大神幫我指點(diǎn)一下!
https://www.bilibili.com/video/BV1gLgPe1EVs/     (視頻效果)
void sleep()               // 放在while大循環(huán)中
{
   if(XmCnt==1)                                                            //XmCnt定時(shí)500mS檢測一下是否休眠   
    {                                                     
        XM_90S_1 = press;                                            //Press 為ADC獲取到的壓力數(shù)據(jù)給到當(dāng)前壓力XM_90S_1
        if(XM_90S_1 < (XM_90S_2+5) && XM_90S_1 > (XM_90S_2-5))                                //當(dāng)前壓力與上次壓力比較
         {
           xmflag = 0;
           parm1 = press;         //parm1把當(dāng)前壓力值送示                                                                                                        }                                       
      else                                               //壓力不穩(wěn)定時(shí)當(dāng)前壓力賦值給上次壓力變量
        {                                
           XM_90S_2 = XM_90S_1;                                             
           xmflag=1;                                       
         }
   if(stable==1)
      {
          System_CPU_OFF();                                      //關(guān)機(jī)
      }
  }
}


void Timer0Init()         //定時(shí)10ms
{        
        TMOD &= 0xF0;                     //設(shè)置定時(shí)器模式
        TMOD |= 0x01;                     //設(shè)置定時(shí)器模式
        TL0 = 0x00;                       //設(shè)置定時(shí)初始值
        TH0 = 0xe0;                       //設(shè)置定時(shí)初始值               
        TF0 = 0;                         //清除TF0標(biāo)志
        ET0=1;               //定時(shí)器0開關(guān)        
        TR0 = 1;                         //定時(shí)器0開始計(jì)時(shí)
}
void timer0_ISR() interrupt 1       //定時(shí)器中斷0,中斷號:1
{
        TR0=0;                                                 //定時(shí)器0計(jì)時(shí)關(guān)閉
        
        if(xmflag)
          {
                         gjcnt++;
                         if(gjcnt>=6000)
                          {
                                        gjcnt=0;
                                        stable = 1;
                          }         
                 }
   else
          {
                 gjcnt=0;
                 stable = 0;         
    }
               
        TL0 = 0x00;                                       //設(shè)置定時(shí)初始值
        TH0 = 0xe0;                                       //設(shè)置定時(shí)初始值
        TR0=1;                               //定時(shí)器0計(jì)時(shí)打開        
}









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

使用道具 舉報(bào)

沙發(fā)
ID:161164 發(fā)表于 2024-6-19 14:53 | 只看該作者
有啥差別?
回復(fù)

使用道具 舉報(bào)

板凳
ID:686513 發(fā)表于 2024-6-20 10:07 | 只看該作者

測氣時(shí),有時(shí)壓力值正確并能保持,有時(shí)拿掉時(shí)快了或慢了壓力值保持不住,會回落!如下面視頻所示https://www.bilibili.com/video/BV1JagVeRErM/
回復(fù)

使用道具 舉報(bào)

地板
ID:1034262 發(fā)表于 2024-6-20 11:21 | 只看該作者
只是一個(gè)判斷邏輯,接入氣壓測量保持最大值,氣壓減小至0再加壓則重新測量,就這么簡單。
回復(fù)

使用道具 舉報(bào)

5#
ID:123289 發(fā)表于 2024-6-20 20:12 | 只看該作者
如果每次測量都是OK的,則實(shí)測實(shí)顯當(dāng)無問題。
回復(fù)

使用道具 舉報(bào)

6#
ID:686513 發(fā)表于 2024-7-16 16:31 | 只看該作者
coody_sz 發(fā)表于 2024-6-20 11:21
只是一個(gè)判斷邏輯,接入氣壓測量保持最大值,氣壓減小至0再加壓則重新測量,就這么簡單。

是這個(gè)意思,大神能幫我把上面的程序按您這個(gè)邏輯修改一下嗎?
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

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