找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

大佬幫忙看看怎么改計(jì)算器單片機(jī)程序

查看數(shù): 3368 | 評論數(shù): 6 | 收藏 0
關(guān)燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發(fā)布時(shí)間: 2021-5-13 11:35

正文摘要:

       在網(wǎng)上找的程序,有一個(gè)地方不是很明白,改了半天一直出錯(cuò),求大佬們幫幫忙,晚上做夢都在想。。程序上我會標(biāo)出不明白的地方希望有大佬解答。一共有兩個(gè)問題,紅色部分標(biāo)出了,還有一個(gè) ...

回復(fù)

ID:466730 發(fā)表于 2021-5-13 14:52
ADC0808應(yīng)該是AD轉(zhuǎn)換芯片吧,轉(zhuǎn)換的結(jié)果剛好對應(yīng)給P1口,賦值給getdata,然后紅色部分再把AD轉(zhuǎn)換為電壓,然后把電壓放大,最后應(yīng)該少了個(gè)放大后的電壓轉(zhuǎn)溫度的查表吧
ID:909090 發(fā)表于 2021-5-13 14:44
hhdsdy 發(fā)表于 2021-5-13 14:26
紅色的 if(U0)是判斷語句,表示當(dāng)U大于0并且U小于5.2時(shí)執(zhí)行:
{   
    dispbuf[0]=temp%10;

我那個(gè)PT100溫度小于0,只顯示-25.6,不管溫度是負(fù)多少,數(shù)碼管一直顯示-25.6不變
ID:88256 發(fā)表于 2021-5-13 14:26
紅色的 if(U<5.2&&U>0)是判斷語句,表示當(dāng)U大于0并且U小于5.2時(shí)執(zhí)行:
{   
    dispbuf[0]=temp%10;
                dispbuf[1]=temp/10%10;
                dispbuf[2]=temp/100%10;
                dispbuf[3]=temp/1000;        
        }


如果U小于或者等于0,或者U大于、等于5.2,則執(zhí)行:


{
                 
                 dispbuf[0]=temp%10;
                dispbuf[1]=temp/10%10;
                dispbuf[2]=temp/100%10;
                dispbuf[3]=11;
         
          /*dispbuf[0]=0;
                dispbuf[1]=0;
                dispbuf[2]=0;
                dispbuf[3]=0;*/        
         
  }


所以,當(dāng)U不符合要求時(shí),dispbuf[3]=11;   顯示的當(dāng)然是一個(gè)負(fù)號
ID:909090 發(fā)表于 2021-5-13 14:03
daemondong 發(fā)表于 2021-5-13 12:45
U=5.0/255.0*getdata;  應(yīng)該是轉(zhuǎn)化getdata到 0-5的值 ,可能是電壓。不可能小于零,你小于零的數(shù)怎么來的? ...

大佬我是網(wǎng)上找的代碼,這塊就是不明白,我想改一下,改半天老出錯(cuò),我把電路圖貼下面回復(fù)了,能幫我看看這塊怎么改合適么。就是基于51單片機(jī)的PT100溫度仿真。
ID:827243 發(fā)表于 2021-5-13 12:45
U=5.0/255.0*getdata;  應(yīng)該是轉(zhuǎn)化getdata到 0-5的值 ,可能是電壓。不可能小于零,你小于零的數(shù)怎么來的?
deal=U*20*10; 就不清楚想干什么了。

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

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

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