熱門: 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
![]() |
發(fā)布時(shí)間: 2021-5-13 11:35
正文摘要:在網(wǎng)上找的程序,有一個(gè)地方不是很明白,改了半天一直出錯(cuò),求大佬們幫幫忙,晚上做夢都在想。。程序上我會標(biāo)出不明白的地方希望有大佬解答。一共有兩個(gè)問題,紅色部分標(biāo)出了,還有一個(gè) ... |
ADC0808應(yīng)該是AD轉(zhuǎn)換芯片吧,轉(zhuǎn)換的結(jié)果剛好對應(yīng)給P1口,賦值給getdata,然后紅色部分再把AD轉(zhuǎn)換為電壓,然后把電壓放大,最后應(yīng)該少了個(gè)放大后的電壓轉(zhuǎn)溫度的查表吧 |
hhdsdy 發(fā)表于 2021-5-13 14:26 我那個(gè)PT100溫度小于0,只顯示-25.6,不管溫度是負(fù)多少,數(shù)碼管一直顯示-25.6不變 |
紅色的 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ù)號 |
daemondong 發(fā)表于 2021-5-13 12:45 大佬我是網(wǎng)上找的代碼,這塊就是不明白,我想改一下,改半天老出錯(cuò),我把電路圖貼下面回復(fù)了,能幫我看看這塊怎么改合適么。就是基于51單片機(jī)的PT100溫度仿真。 |
U=5.0/255.0*getdata; 應(yīng)該是轉(zhuǎn)化getdata到 0-5的值 ,可能是電壓。不可能小于零,你小于零的數(shù)怎么來的? deal=U*20*10; 就不清楚想干什么了。 |
Powered by 單片機(jī)教程網(wǎng)