熱門: 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂(lè)園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
|
發(fā)布時(shí)間: 2020-6-18 20:49
正文摘要:測(cè)試stc8a單片機(jī)的12位adc,不要求精度。硬件電路 AVref接VCC,AVcc接VCC,VCC為5V; AGnd接GND.測(cè)試結(jié)果:都是最大值4095, 以下是我的程序: ... |
coody_sz 發(fā)表于 2023-3-12 11:52 我也想不明白,但是事實(shí)證明就是。我用的是STC15W408AS,SOP28封裝,芯片最下面的一串?dāng)?shù)字是2219H3RK92.XA。現(xiàn)在用內(nèi)部晶振是正常的,只要一用外部晶振,ADC_RES得到的值就是255,我已經(jīng)排除其他原因了。 這款芯片用好久了,以前都用內(nèi)部晶振,沒(méi)發(fā)現(xiàn)有什么,這次因?yàn)樾枰呔葧r(shí)鐘,換了外部晶振,就這樣了。 我感覺(jué)STC的芯片暗BUG多,我曾經(jīng)還遇到過(guò)開(kāi)機(jī)啟動(dòng)不進(jìn)入程序,并且電流增大,芯片發(fā)燙的,最后的解決方案是改電路,增加延時(shí)電容,延遲啟動(dòng)單片機(jī),就好了。這些神奇的BUG我一直找不到原因。。。 |
leeye 發(fā)表于 2023-3-11 19:43 怎么會(huì)?ADC時(shí)鐘取自系統(tǒng)時(shí)鐘,系統(tǒng)時(shí)鐘是內(nèi)部時(shí)鐘、外部晶振二選一。 我有好多東西用的STC15W408AS做的,就是因?yàn)閹DC和PWM、SPI、串口,而我基本都使用外部晶振的。 |
|
把查詢 ADC完成標(biāo)志的語(yǔ)句 改成: while((ADC_CONTR & 0x20) != 0x20); 或者: while((ADC_CONTR & 0x20) == 0x00); |
|
我今天調(diào)試STC15W408AS發(fā)現(xiàn),使用外部晶振ADC就采不到數(shù)據(jù),我這個(gè)10位的采出來(lái)永遠(yuǎn)都是0x03FF,換成內(nèi)部晶振采的數(shù)據(jù)就準(zhǔn)確了。 我猜測(cè)你是不是也用外部晶振。這個(gè)BUG直接想罵人! ![]() |
| 直接下載STC官方例程就可以測(cè)試?yán)?/td> |
|
樓主這個(gè)問(wèn)題解決了嗎 |
| 從程序說(shuō)你看看adc定義的數(shù)據(jù)類型 |
|
R1接地了沒(méi)有? 多少是要并聯(lián)一個(gè)104電容在R1兩頭的 至于官方電路,串不串電感和0歐電阻要不要都無(wú)所謂,反正你對(duì)精度沒(méi)有要求 |
| 要參考官方的電路圖 |
|
1、把R1短路看看ADC值 2、確保V看看Vref接了Vcc |
| 手冊(cè)中的原理圖要看看比對(duì)一下,AVCC接到VCC時(shí)串個(gè)電感,AGND接到GND時(shí)加個(gè)0R電阻,這是有作用的,不然人家不會(huì)推薦這種電路接法 |
Powered by 單片機(jī)教程網(wǎng)