亚洲春色中文字幕久久久-三上亚,91精品国产亚一区二区三区,久久久九色综合亚洲成色777,涩涩视频下载,国产午夜亚洲精品午夜鲁丝片,国产精品A一区二区三区腾讯导航,影音先锋色情AV在线看片,蜜臀国产在线视频,极品少妇高潮啪啪无码吴梦梦 ,精品人妻无码一区二区三区手机版
標(biāo)題:
不知道這個(gè)單片機(jī)代碼的含義,煩大佬解答
[打印本頁(yè)]
作者:
嘻嘻哈123
時(shí)間:
2020-6-14 10:08
標(biāo)題:
不知道這個(gè)單片機(jī)代碼的含義,煩大佬解答
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) //當(dāng)壓力值介于15kpa到115kpa之間時(shí),遵循線性變換
{
int vary=getdata; //y=(115-15)/(243-13)*X+15kpa
press=((10.0/23.0)*vary)+9.3; //測(cè)試時(shí)補(bǔ)償值為9.3
temp=(int)(press*10); //放大10倍,便于后面的計(jì)算
if(temp != ppress)
{
ppress = temp;
OverFlg = 1;
}
dispbuf[3]=temp/1000; //取壓力值百位
dispbuf[2]=(temp%1000)/100; //取壓力值十位
dispbuf[1]=((temp%1000)%100)/10; //取壓力值個(gè)位
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; //清除標(biāo)志
}
}
}
}
}
是個(gè)小白,不能再白了,請(qǐng)大佬幫看看,講解下代碼含義,謝謝啦
作者:
左眼
時(shí)間:
2020-6-14 17:36
用了模數(shù)轉(zhuǎn)換模塊,建議你從基礎(chǔ)學(xué),不要貪快,早晚你都會(huì)的。
作者:
larrychen
時(shí)間:
2020-6-14 22:13
你用了ADC0832 D/A轉(zhuǎn)換芯片,
作者:
幻劍心
時(shí)間:
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);//這個(gè)是一個(gè)函數(shù)。這個(gè)是寫內(nèi)存函數(shù)。應(yīng)該能在主函數(shù)外或者include包含的文件里找到實(shí)現(xiàn)。應(yīng)該是從A/D轉(zhuǎn)換器得到數(shù)據(jù),然后賦值給getdata
if(14<getdata<243) //當(dāng)壓力值介于15kpa到115kpa之間時(shí),遵循線性變換
{
//下面三行是根據(jù)y=(115-15)/(243-13)*X+15kpa 這個(gè)公式處理數(shù)據(jù)。本來補(bǔ)償值是15,后來應(yīng)該是實(shí)測(cè)的時(shí)候?yàn)?.3 。得到的值應(yīng)該是車的重量
int vary=getdata; //y=(115-15)/(243-13)*X+15kpa
press=((10.0/23.0)*vary)+9.3; //測(cè)試時(shí)補(bǔ)償值為9.3
temp=(int)(press*10); //放大10倍,便于后面的計(jì)算
if(temp != ppress)//如果本次測(cè)到的數(shù)值和上一個(gè)數(shù)值不一致(這里的車應(yīng)該都是不同重量的),則OverFlg置1,表示有一輛新車開到測(cè)量?jī)x器上(可能是地磅之類的)
{
ppress = temp;
OverFlg = 1;
}
//下面5行是進(jìn)行數(shù)值處理,然后顯示。顯示值為三位數(shù)+以為小數(shù)
dispbuf[3]=temp/1000; //取壓力值百位
dispbuf[2]=(temp%1000)/100; //取壓力值十位
dispbuf[1]=((temp%1000)%100)/10; //取壓力值個(gè)位
dispbuf[0]=((temp%1000)%100)%10; //取壓力值十分位
display();//顯示函數(shù)。這個(gè)是寫內(nèi)存函數(shù)。應(yīng)該能在主函數(shù)外或者include包含的文件里找到實(shí)現(xiàn)。
//以下為判斷是否為車通過。(上面的實(shí)際重量press乘以10)也就是如果重量大于10(單位就要以實(shí)際為準(zhǔn)了),并且本次稱重和上一次稱重有變化(就是上面的OverFlg=1),
//那么就判斷通過的是車,然后累計(jì)總共過去了幾輛車OverCounter,并將累計(jì)數(shù)寫入到存儲(chǔ)器W24C04ADD里面。
if (temp > 100)
{
if(OverFlg == 1) //如果是新的一輛車通過
{
OverCounter++;
WIICByte(W24C04ADD,0x01,(OverCounter/0xff)); //低位 //寫入內(nèi)存低位(一個(gè)位應(yīng)該是8bit的) 這個(gè)是寫內(nèi)存函數(shù)。應(yīng)該能在主函數(shù)外或者include包含的文件里找到實(shí)現(xiàn)。
WIICByte(W24C04ADD,0x02,(OverCounter%0xff)); //高位 //寫入內(nèi)存高位(一個(gè)位應(yīng)該是8bit的)
// ptemp = printf("%f\n",OverCounter);
OverFlg = 0; //清除標(biāo)志 //累計(jì)后OverFlg重置。
}
}
}
}
}
作者:
xieyebao1995
時(shí)間:
2020-6-15 08:53
數(shù)模轉(zhuǎn)換,學(xué)一下模電的基礎(chǔ)部分。
作者:
f556
時(shí)間:
2020-6-15 09:01
Adc0832測(cè)壓力,顯示,IIC寫24C04eeprom
作者:
wufeng391
時(shí)間:
2020-6-17 22:15
怎么說呢,你飛的有點(diǎn)快,我學(xué)到AD用了大概半年的時(shí)間,中間還有好多不明白,重來了好多回,現(xiàn)在也只是知道有這么個(gè)概念,具體程序也寫不出來,還是得慢慢來。
歡迎光臨 (http://www.denmoz.com/bbs/)
Powered by Discuz! X3.1