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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2525|回復: 6
打印 上一主題 下一主題
收起左側

不知道這個單片機代碼的含義,煩大佬解答

[復制鏈接]
跳轉到指定樓層
樓主
ID:770813 發表于 2020-6-14 10:08 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
void main(void)
{
  unsigned int OverCounter = 0;
  unsigned char ptemp;
  bit OverFlg = 0;
  unsigned int temp,ppress = 0;
  float  press;        
  while(1)
  {         
                     
  getdata=Adc0832(0);
if(14<getdata<243)                                       //當壓力值介于15kpa到115kpa之間時,遵循線性變換
{                           
int vary=getdata;                                                //y=(115-15)/(243-13)*X+15kpa                        
press=((10.0/23.0)*vary)+9.3;        //測試時補償值為9.3                                                                                                         
temp=(int)(press*10);                  //放大10倍,便于后面的計算
      if(temp != ppress)
      {
        ppress = temp;
        OverFlg = 1;
      }                                                                                            
dispbuf[3]=temp/1000;        //取壓力值百位
dispbuf[2]=(temp%1000)/100;        //取壓力值十位
dispbuf[1]=((temp%1000)%100)/10;          //取壓力值個位
dispbuf[0]=((temp%1000)%100)%10;        //取壓力值十分位
display();
      if (temp > 100)
      {
          if(OverFlg == 1)    //如果是新的一輛車通過
          {
            OverCounter++;
            WIICByte(W24C04ADD,0x01,(OverCounter/0xff));    //低位
            WIICByte(W24C04ADD,0x02,(OverCounter%0xff));    //高位
//            ptemp = printf("%f\n",OverCounter);
            OverFlg = 0;    //清除標志
          }
      }
  }            
  }
}
是個小白,不能再白了,請大佬幫看看,講解下代碼含義,謝謝啦
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:673128 發表于 2020-6-14 17:36 | 只看該作者
用了模數轉換模塊,建議你從基礎學,不要貪快,早晚你都會的。
回復

使用道具 舉報

板凳
ID:663230 發表于 2020-6-14 22:13 | 只看該作者
你用了ADC0832 D/A轉換芯片,
回復

使用道具 舉報

地板
ID:511890 發表于 2020-6-15 00:09 | 只看該作者
void main(void)
{
  unsigned int OverCounter = 0;
  unsigned char ptemp;
  bit OverFlg = 0;
  unsigned int temp,ppress = 0;
  float  press;        
  while(1)
  {         
                     
  getdata=Adc0832(0);//這個是一個函數。這個是寫內存函數。應該能在主函數外或者include包含的文件里找到實現。應該是從A/D轉換器得到數據,然后賦值給getdata
if(14<getdata<243)                                       //當壓力值介于15kpa到115kpa之間時,遵循線性變換
{

//下面三行是根據y=(115-15)/(243-13)*X+15kpa 這個公式處理數據。本來補償值是15,后來應該是實測的時候為9.3 。得到的值應該是車的重量                 
int vary=getdata;                                                //y=(115-15)/(243-13)*X+15kpa                        
press=((10.0/23.0)*vary)+9.3;        //測試時補償值為9.3                                                                                                         
temp=(int)(press*10);                  //放大10倍,便于后面的計算


      if(temp != ppress)//如果本次測到的數值和上一個數值不一致(這里的車應該都是不同重量的),則OverFlg置1,表示有一輛新車開到測量儀器上(可能是地磅之類的)
      {
        ppress = temp;
        OverFlg = 1;
      }   

//下面5行是進行數值處理,然后顯示。顯示值為三位數+以為小數          
dispbuf[3]=temp/1000;        //取壓力值百位
dispbuf[2]=(temp%1000)/100;        //取壓力值十位
dispbuf[1]=((temp%1000)%100)/10;          //取壓力值個位
dispbuf[0]=((temp%1000)%100)%10;        //取壓力值十分位
display();//顯示函數。這個是寫內存函數。應該能在主函數外或者include包含的文件里找到實現。


//以下為判斷是否為車通過。(上面的實際重量press乘以10)也就是如果重量大于10(單位就要以實際為準了),并且本次稱重和上一次稱重有變化(就是上面的OverFlg=1),
//那么就判斷通過的是車,然后累計總共過去了幾輛車OverCounter,并將累計數寫入到存儲器W24C04ADD里面。
      if (temp > 100)
      {
          if(OverFlg == 1)    //如果是新的一輛車通過
          {
            OverCounter++;
            WIICByte(W24C04ADD,0x01,(OverCounter/0xff));    //低位  //寫入內存低位(一個位應該是8bit的)  這個是寫內存函數。應該能在主函數外或者include包含的文件里找到實現。
            WIICByte(W24C04ADD,0x02,(OverCounter%0xff));    //高位  //寫入內存高位(一個位應該是8bit的)
//            ptemp = printf("%f\n",OverCounter);
            OverFlg = 0;    //清除標志 //累計后OverFlg重置。
          }
      }
  }            
  }
}

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

5#
ID:774633 發表于 2020-6-15 08:53 | 只看該作者
數模轉換,學一下模電的基礎部分。
回復

使用道具 舉報

6#
ID:282850 發表于 2020-6-15 09:01 | 只看該作者
Adc0832測壓力,顯示,IIC寫24C04eeprom
回復

使用道具 舉報

7#
ID:782419 發表于 2020-6-17 22:15 | 只看該作者
怎么說呢,你飛的有點快,我學到AD用了大概半年的時間,中間還有好多不明白,重來了好多回,現在也只是知道有這么個概念,具體程序也寫不出來,還是得慢慢來。
回復

使用道具 舉報

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

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 97免费在线视频 | 精品国产精品国产偷麻豆 | 国产精品久久久久久久久久久久久 | 成年人黄色一级片 | 亚洲一区二区三区四区在线观看 | 亚洲成人自拍 | 91视频免费视频 | 日本精品一区二区三区在线观看 | 日韩高清中文字幕 | 好婷婷网 | 日韩精品久久久 | 国产精品99久久久久久久久久久久 | 热久久性 | 日本久久网站 | 男女污污网站 | 狠狠躁躁夜夜躁波多野结依 | 欧美黄色一区 | 日韩资源 | 久久久五月天 | 欧美日在线 | 日本激情一区二区 | 久草热线 | 免费成人高清在线视频 | 免费观看黄a一级视频 | 久久久影院| av在线天堂网 | 久草视频在线播放 | 欧美日韩国产精品一区 | 在线观看一区 | 妞干网福利视频 | 亚洲第1页| 午夜电影一区二区 | 91视频国产一区 | 综合激情av| 干干干日日日 | av片在线观看 | 成人免费一区二区三区视频网站 | 国产激情在线 | 在线一区视频 | 日韩一区二区三区在线视频 | 国产精品久久久久久久久久久新郎 |