ADC0808应该是AD转换芯片吧,转换的结果刚好对应给P1口,赋值给getdata,然后红色部分再把AD转换为电压,然后把电压放大,最后应该少了个放大后的电压转温度的查表吧 |
hhdsdy 发表于 2021-5-13 14:26 我那个PT100温度小于0,只显示-25.6,不管温度是负多少,数码管一直显示-25.6不变 |
红色的 if(U<5.2&&U>0)是判断语句,表示当U大于0并且U小于5.2时执行: { dispbuf[0]=temp%10; dispbuf[1]=temp/10%10; dispbuf[2]=temp/100%10; dispbuf[3]=temp/1000; } 如果U小于或者等于0,或者U大于、等于5.2,则执行: { 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;*/ } 所以,当U不符合要求时,dispbuf[3]=11; 显示的当然是一个负号 |
daemondong 发表于 2021-5-13 12:45 大佬我是网上找的代码,这块就是不明白,我想改一下,改半天老出错,我把电路图贴下面回复了,能帮我看看这块怎么改合适么。就是基于51单片机的PT100温度仿真。 |
U=5.0/255.0*getdata; 应该是转化getdata到 0-5的值 ,可能是电压。不可能小于零,你小于零的数怎么来的? deal=U*20*10; 就不清楚想干什么了。 |