找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 1937|回復(fù): 9
打印 上一主題 下一主題
收起左側(cè)

STC單片機(jī) ADC模擬量有個(gè)地方不理解,每次讀ADC的值時(shí),要先打開轉(zhuǎn)換ADC_CONTR |=...

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
STC單片機(jī)  ADC模擬量有個(gè)地方不理解,每次讀ADC的值時(shí),要先打開轉(zhuǎn)換ADC_CONTR |= 0x40;
轉(zhuǎn)換完成后又關(guān)閉轉(zhuǎn)換ADC_CONTR &= 0xBF;
讀完ADC的值后,又打開轉(zhuǎn)換ADC_CONTR |= 0x40;
每次要讀ADC數(shù)據(jù),都要這樣操作一便。
什么是轉(zhuǎn)換?為什么每次讀數(shù)據(jù)都要打開和關(guān)閉一次轉(zhuǎn)換?
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:227818 發(fā)表于 2024-1-10 06:18 | 只看該作者
ADC_CONTR |= 0x40,是把ADC_CONTR的D6置1,D6是ADC_START位,應(yīng)該是開始AD轉(zhuǎn)換的意思。
看手冊(cè)是這樣說的:ADC_START:ADC 轉(zhuǎn)換啟動(dòng)控制位。寫入 1 后開始 ADC 轉(zhuǎn)換,轉(zhuǎn)換完成后硬件自動(dòng)將此位清零。看手冊(cè),讀完AD值后,應(yīng)該不用關(guān)閉了。
回復(fù)

使用道具 舉報(bào)

板凳
ID:213173 發(fā)表于 2024-1-10 07:16 | 只看該作者
模擬量轉(zhuǎn)換成數(shù)字量不是立即完成,需要一點(diǎn)時(shí)間。啟動(dòng)轉(zhuǎn)換后等待轉(zhuǎn)換完成標(biāo)志ADC_FLAG為1后,讀取的數(shù)字量才有效,并且軟件清0 ADC_FLAG,為下一次轉(zhuǎn)換作準(zhǔn)備。
回復(fù)

使用道具 舉報(bào)

地板
ID:427868 發(fā)表于 2024-1-10 08:37 | 只看該作者
根據(jù)手冊(cè)得知,每次轉(zhuǎn)換前是需要先寫入ADC_CONTR |= 0x40,但轉(zhuǎn)換結(jié)束不需要再寫入ADC_CONTR &= 0xBF了,因?yàn)閱纹瑱C(jī)會(huì)自己清零,在實(shí)際應(yīng)用中也是這樣的。





回復(fù)

使用道具 舉報(bào)

5#
ID:226055 發(fā)表于 2024-1-10 09:22 | 只看該作者
    1、要看下你的芯片版本,STC很多芯片如果不是最終版本會(huì)有硬件BUG,那么有問題不奇怪。
    2、你的應(yīng)用是不是需要多個(gè)通道切換,如果是,這種打開ADC之后關(guān)閉ADC再到打開是屬于正常的邏輯。如果是單個(gè)固定通道,又不考慮功耗,那么打開一次就可以不用關(guān)閉的。
    3、樓上正解,ADC打開后,包括ADC電源打開,是需要稍作延時(shí)的,這樣檢測(cè)出的值才更準(zhǔn)確。
回復(fù)

使用道具 舉報(bào)

6#
ID:1064915 發(fā)表于 2024-1-10 10:30 | 只看該作者
這是STC12的

回復(fù)

使用道具 舉報(bào)

7#
ID:1063563 發(fā)表于 2024-1-12 16:26 | 只看該作者
劉佑紅 發(fā)表于 2024-1-10 08:37
根據(jù)手冊(cè)得知,每次轉(zhuǎn)換前是需要先寫入ADC_CONTR |= 0x40,但轉(zhuǎn)換結(jié)束不需要再寫入ADC_CONTR &= 0xBF了,因 ...

謝謝!
回復(fù)

使用道具 舉報(bào)

8#
ID:1063563 發(fā)表于 2024-1-12 16:27 | 只看該作者
wulin 發(fā)表于 2024-1-10 07:16
模擬量轉(zhuǎn)換成數(shù)字量不是立即完成,需要一點(diǎn)時(shí)間。啟動(dòng)轉(zhuǎn)換后等待轉(zhuǎn)換完成標(biāo)志ADC_FLAG為1后,讀取的數(shù)字量 ...

謝謝!
回復(fù)

使用道具 舉報(bào)

9#
ID:1019324 發(fā)表于 2024-1-12 16:47 | 只看該作者
adc采集是獨(dú)立于51單片機(jī)運(yùn)行的,AD轉(zhuǎn)換芯片與51單片機(jī)通過對(duì)應(yīng)通信協(xié)議進(jìn)行數(shù)據(jù)通信。0x40相當(dāng)于二者溝通的門戶,當(dāng)單片機(jī)需要使用ADC的數(shù)據(jù)時(shí)打開通道進(jìn)行數(shù)據(jù)交換。習(xí)慣上在讀完后關(guān)閉通道,解放cpu資源。
回復(fù)

使用道具 舉報(bào)

10#
ID:106977 發(fā)表于 2024-1-13 17:15 | 只看該作者
提出這類問題或是表明你沒有認(rèn)真閱讀STC的說明書;蚴悄銢]有讀懂說明書,那就是就是基礎(chǔ)問題,還需要加倍努力提高單片機(jī)開發(fā)基礎(chǔ)能力!
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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