標(biāo)題:
哪位高手幫我解釋一下num=tp*1.0/255*500; 500是怎么來(lái)的來(lái)的
[打印本頁(yè)]
作者:
401021606
時(shí)間:
2024-4-25 17:29
標(biāo)題:
哪位高手幫我解釋一下num=tp*1.0/255*500; 500是怎么來(lái)的來(lái)的
#include "STC8G.H"
#include "intrins.h"
#define uint unsigned int
#define uchar unsigned char
sbit led=P5^4; //用P5^4口采集5V信號(hào)
uchar data dis_buf[4]; //顯示緩存
uchar code ledduan[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,
0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xbf,0x7f};
uchar i;
uint num;
void delay_ms(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=1150;y>0;y--);
}
void datapros() //數(shù)據(jù)處理函數(shù)
{
float tp;
tp=num;
num=tp*1.0/255*500;
dis_buf[3]=ledduan[num/1000];
dis_buf[2]=ledduan[num%1000/100] & 0x7f;
dis_buf[1]=ledduan[num%100/10];
dis_buf[0]=ledduan[num%10];
if((dis_buf[2]>=1)&&(dis_buf[2]<=2)) //設(shè)置顯示范圍內(nèi)執(zhí)行的功能
led=0;
else
led=1;
P1=0xff;
P3&=0x07; //P3=P3&0X07(0000 0111)
P1=dis_buf[i];
P3|=0x10<<i; //P3=P3|0X10左移i位
i++;
i%=4; //i=i%4
}
void main()
{
P1M0=0X00;
P1M1=0X00;
P2M0=0X00;
P2M1=0X00;
P3M0=0X00;
P3M1=0X00;
P4M0=0X00;
P4M1=0X00;
P5M0=0X00;
P5M1=0X10;
P_SW2|=0x80;
ADCTIM=0x3f;
P_SW2&=0x7f;
ADCCFG=0x0f;
ADC_CONTR=0x84;
while(1)
{
ADC_CONTR |= 0x40;
_nop_();
_nop_();
while(!(ADC_CONTR&0x20));
ADC_CONTR&=~0x20;
num=ADC_RES;
datapros();
delay_ms(1);
}
}
復(fù)制代碼
作者:
Hephaestus
時(shí)間:
2024-4-25 18:04
500表示5V。
作者:
heyanrog
時(shí)間:
2024-4-25 18:12
500是你設(shè)的最大數(shù)據(jù)?
作者:
donglw
時(shí)間:
2024-4-25 18:45
ADC轉(zhuǎn)換采樣電路需要調(diào)理電路和電壓基準(zhǔn)電路,以使外部電壓信號(hào)滿足單片機(jī)電壓范圍,外部電壓最大為0.01V,為了測(cè)量精度的需要,外部調(diào)理電路使其提高到4.5V,另外單片機(jī)基準(zhǔn)采用的電壓有關(guān),位數(shù)也有關(guān)。
作者:
401021606
時(shí)間:
2024-4-25 19:21
那個(gè)500是哪里來(lái)的
作者:
13205495918
時(shí)間:
2024-4-25 20:08
我尋思這個(gè)不是表示5V嗎?放大100倍方便處理數(shù)據(jù)
作者:
wulin
時(shí)間:
2024-4-25 20:39
500是5V參考電壓,可以是5、50、500、5000。結(jié)果都一樣。取決于你想得到的分辨率。
作者:
401021606
時(shí)間:
2024-4-26 22:03
謝謝各位大佬解答!確實(shí)是*5V*100倍,這樣好處理數(shù)據(jù)!
作者:
cy009
時(shí)間:
2024-4-26 22:41
寫(xiě)成 num=tp*1.0*5/255*100,你就理解了
作者:
rayin
時(shí)間:
2024-4-27 08:06
ADC 的參考電壓為5V, 12bit的分辨率, 那么0-4095之間的電壓每一格讀數(shù)就是(1/4095)x5V, 就是這么理解的.
1/255分辨率就8bit的.
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1