欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: stc15f2k60s2 十位ADC轉換結果(高8低2)可以用八位表示嗎 [打印本頁]

作者: ssswwwzzz    時間: 2015-8-13 18:34
標題: stc15f2k60s2 十位ADC轉換結果(高8低2)可以用八位表示嗎
如題  急用  好人一生平安

作者: ville95    時間: 2015-8-13 19:38
你可以直接轉換成十進制的數字的。
作者: ville95    時間: 2015-8-13 19:38
本帖最后由 ville95 于 2015-8-13 19:41 編輯

void adc()interrupt 5
{
        ADC_CONTR&=!ADC_FLAG;
        t=(ADC_RES*4+ADC_RESL);
        f=t*4.1/1024;
        m=f*10000;
        value_buf[count]=m;
        count++;
        if(count==10)
        {
                count=0;
                sum=0;
        }        
        else
        {
                sum=sum+value_buf[count-1];
                pjs=sum/count;
        }
        ADC_RES=0;
        ADC_RESL=0;
        ADC_CONTR=ADC_POWER|ADC_SPEEDLL|ADC_START|ch;
        nop;
        nop;
        nop;
        nop;


作者: 無量壽經    時間: 2015-8-13 21:07
舍棄低2位則只8位了
作者: qswcl000    時間: 2015-8-17 11:11
初學C51,來看看!  頂!!!!
作者: chenshui7601    時間: 2018-1-11 16:52
無量壽經 發表于 2015-8-13 21:07
舍棄低2位則只8位了

這樣會不會影響ADC結果
作者: chenshui7601    時間: 2018-1-11 16:57
無量壽經 發表于 2015-8-13 21:07
舍棄低2位則只8位了

這樣會不會影響對ADC結果的計算

作者: dzbj    時間: 2018-1-11 19:34
stc的內部AD結果分高位和低位 15系你可以設置高位是2位還是低位是2位 所以你要看一下手冊 如果高位是最前面2位 給舍了數值就徹底不一樣了 低位的2位舍了就是標準的8位AD

8位AD的精度必然不如10位 轉換的結果可以計算但會有點不一樣 8位用char就可以 10位要用int 計算上當然不一樣了
作者: chenshui7601    時間: 2018-1-12 08:13
dzbj 發表于 2018-1-11 19:34
stc的內部AD結果分高位和低位 15系你可以設置高位是2位還是低位是2位 所以你要看一下手冊 如果高位是最前面 ...

回答的很詳細,謝謝,明白了!
作者: 917106794    時間: 2020-5-21 09:45
兄弟,樓上回答的很詳細了,不能直接用8位的表示,你需要一個十位的數字來接受,不然數據會丟失的,你或者直接把運算的東西返回就行了
作者: 666BOY666    時間: 2020-5-21 11:06
直接轉換成十進制的數字的就行了
作者: w254489035    時間: 2020-5-21 12:23
影響ADC精度
作者: ZXL666    時間: 2020-5-21 16:04
轉換成十進制的數字的就行了
作者: suqianfu    時間: 2022-6-16 11:03
干嘛不用十位呢?精度起碼高一點呀。

adcr = ADC_RES<<2|ADC_RESL;  //int adc轉換結果讀取高8位與低2位。
作者: herui2128    時間: 2022-6-16 11:24
我感覺10位和8位差別不大呀,我的應用場景應該不同




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1