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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

STC8H1k28單片機自帶adc跳來跳去 求分析

查看數(shù): 10677 | 評論數(shù): 15 | 收藏 1
關(guān)燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發(fā)布時間: 2020-11-28 22:22

正文摘要:

對,就是跳來跳去……我都沒想到這么不準(zhǔn)…… 用來測熱敏電阻的,用的電阻分壓,原理圖見下。 萬用表測量在1.65-1.75之間,但是用單片機adc就跳來跳去,一會零點幾,一會一點幾…… 如果把單片機靜置,單片機就會 ...

回復(fù)

ID:1101600 發(fā)表于 2023-11-28 19:27
樓主你測出來精度多少,0.01v嗎,還是0.1v
ID:111280 發(fā)表于 2021-8-31 02:28
cocolala 發(fā)表于 2020-12-1 11:28
本人用了STC8H系列的另外一款芯片STC8H8K64U,使用了2.5V基準(zhǔn)電壓,測試ADC效果很好。不過用的是TB上買的現(xiàn) ...

請問STC8H8K64U支持USB硬件接口仿真嗎?
ID:584288 發(fā)表于 2021-3-2 14:41
你好,樓主,你有么有用STC8H1K28這個單片機做PWM波形輸出的程序。這款單片機剛出來不久,找不到相關(guān)例程。如果有能不能分享一下。
ID:292876 發(fā)表于 2021-1-12 14:04
經(jīng)常用AD,實際使用中出現(xiàn)的問題點,簡單總結(jié)下,參考下。
AD取樣,沒有特殊情況啥的,兩個算法必須,不然不專業(yè)!
1:注意輸入阻抗問題。電源要穩(wěn)定做好濾波處理,電源很重要,片內(nèi)AD一般都用電源當(dāng)基準(zhǔn)。
2:頭兩次取樣建議丟棄,速度允許,盡可能慢檔位
3:加【中位值平均濾波】 【全程區(qū)間線性插值】
4:如果不使用595或者1650 1638之類LED驅(qū)動芯片,MCU頻率盡可能提高!
5:盡可能用外部晶振。
ID:837101 發(fā)表于 2020-12-5 00:11
1922323908 發(fā)表于 2020-12-4 23:31
可以做個卡爾曼濾波器,或是把采到的數(shù)據(jù)放到matlab中曲線擬合一下

已經(jīng)解決了!根據(jù)樓上大佬的回復(fù),確實是使用了不正確的公式導(dǎo)致數(shù)據(jù)溢出。謝謝!
ID:837101 發(fā)表于 2020-12-5 00:10
wulin 發(fā)表于 2020-11-29 07:26
出現(xiàn)問題不要輕易懷疑單片機問題,首先要確認特殊功能寄存器的配置是否正確。
仔細核對通道選擇,轉(zhuǎn)換速度 ...

解決了!謝謝大佬!
ID:790408 發(fā)表于 2020-12-4 23:31
可以做個卡爾曼濾波器,或是把采到的數(shù)據(jù)放到matlab中曲線擬合一下
ID:837101 發(fā)表于 2020-12-4 23:24
wulin 發(fā)表于 2020-11-29 07:26
出現(xiàn)問題不要輕易懷疑單片機問題,首先要確認特殊功能寄存器的配置是否正確。
仔細核對通道選擇,轉(zhuǎn)換速度 ...

謝謝!
ID:837101 發(fā)表于 2020-12-4 21:20
lovexulu 發(fā)表于 2020-11-29 14:40
剛沒仔細看。。。發(fā)現(xiàn)是采用中斷讀取adc的這個應(yīng)該就是問題所在了,假如恰好正在執(zhí)行運算時,中斷并改變了a ...

51官方的datasheet就是個大坑呀!用的51官方的中斷程序……發(fā)現(xiàn)了好幾個錯誤
ID:226055 發(fā)表于 2020-12-1 11:28
本人用了STC8H系列的另外一款芯片STC8H8K64U,使用了2.5V基準(zhǔn)電壓,測試ADC效果很好。不過用的是TB上買的現(xiàn)成的板子,我把原理圖ADC部分和實驗源碼發(fā)你參考下,都是STC8H系列的應(yīng)該參考意義比較大。同意樓上見解,STC芯片依然出庫不會有那么大問題的。





實驗2-9-2:ADC電位器實驗(P0.4讀取電壓值).rar

49.48 KB, 下載次數(shù): 125

評分

參與人數(shù) 2黑幣 +50 收起 理由
REwilliam + 20 很給力!
admin + 30 回帖助人的獎勵!

查看全部評分

ID:401564 發(fā)表于 2020-11-30 09:25
ab = ah*4+al
這個什么意思?
ADCCFG = 0x2f,這個寄存器改一下,ADC結(jié)果就直接取高位和低位運算就可以了
你參考一下樓上的幾位,先把ADC部分的資料看一下再修改
這沒有什么難度的
ID:687694 發(fā)表于 2020-11-29 14:40
本帖最后由 lovexulu 于 2020-11-29 14:45 編輯

剛沒仔細看。。。發(fā)現(xiàn)是采用中斷讀取adc的這個應(yīng)該就是問題所在了,假如恰好正在執(zhí)行運算時,中斷并改變了ah,al值,那得到的結(jié)果就不知道是啥了。
流程改一下,開啟轉(zhuǎn)換,中斷讀取,讀取一次,刷新一次 開啟轉(zhuǎn)換,這樣應(yīng)該不會有問題了。

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

ID:213173 發(fā)表于 2020-11-29 07:26
出現(xiàn)問題不要輕易懷疑單片機問題,首先要確認特殊功能寄存器的配置是否正確。
仔細核對通道選擇,轉(zhuǎn)換速度選擇,轉(zhuǎn)換結(jié)果格式選擇(合并轉(zhuǎn)換結(jié)果高低位的方式不同)。
正確選擇電壓換算公式的數(shù)據(jù)類型,樓主采用的公式錯誤,運算過程數(shù)據(jù)溢出。
十二位ADC結(jié)果換算成10進制(4舍5入)公式
毫伏=(參考電壓*十二位ADC結(jié)果*10000/4096+5)/10
依據(jù)樓主程序配置建議算法:
void ad()
{
        unsigned int ab = 0;
        unsigned int ac = 0;
        unsigned int ad;
        ab = ((unsigned int)ah<<4)|(al>>4);//兩個寄存器(adc結(jié)果)合并
        ad = (long)ab*10000/4096*3.2;//計算電壓(無小數(shù)點)
        ac = ad;
        ......

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

ID:420836 發(fā)表于 2020-11-29 02:25
添加數(shù)字濾波器以平均模擬變量采樣; 此外,請檢查模擬參考電壓是否穩(wěn)定。
ID:837101 發(fā)表于 2020-11-28 22:29
就離譜

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表