ESP8266 有一個類比數位轉換器 ADC(Analog digital converter,A0)引腳,ESP-12E 帶 USB CP2102 開發板模塊 A0 是在 Pin 1 位置,而 ESP-12F WiFi 模塊 A0 是在 Pin 2 位置,ADC 可以測量 0 ~ 3.3V 之間的電壓,處理器內建的 10 位元類比數位轉換電路,解析度是 1024(10-bit / 0 ~ 1023 整數數值)。
ESP8266 ESP-12F ADC 輸入腳 |
ADMUX 控制參考電壓,ADC 轉換(左調整或右調整)和模擬通道選擇的顯示。
ADMUX
|
||||||||
bit
|
7
|
6
|
5
|
4
|
3
|
2
|
1
|
0
|
name
|
REFS1
|
REFS0
|
ADLAR
|
-
|
MUX3
|
MUX2
|
MUX1
|
MUX0
|
REFS0 和 REFS1 設置參考電壓(Reference Voltage)。 下表顯示了這些位組合的含義。
REFS1
|
REFS0
|
Meanings
|
Argument of analogReference()
|
0
|
0
|
Voltage applied to AREF pin.
|
EXTERNAL(0)
|
0
|
1
|
Default referece voltage
|
DEFAULT(1)
|
1
|
0
|
Reserved.
|
-
|
1
|
1
|
Internal reference voltage
|
INTERNAL(3)
|
ADLAR 確定 ADC 轉換結果的顯示。 如果它是 1,ADC 轉換結果是左調整。 如果為 0,則右鍵調整。 它被設置為 0,由軟件調整。
MUX0 至 MUX3 選擇模擬引腳。如果 MUX3 ... MUX0 為 1000,則讀取內部溫度傳感器的值。 但是讀取內部溫度傳感器的能力是在程式軟件中進行的。MUX3
|
MUX2
|
MUX1
|
MUX0
|
Analog Pin
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
1
|
0
|
0
|
1
|
0
|
2
|
0
|
0
|
1
|
1
|
3
|
0
|
1
|
0
|
0
|
4
|
0
|
1
|
0
|
1
|
5
|
ADCSRA(ADC Control and Status Register A / ADC 控制和狀態寄存器A):
ADCSRA 是控制 AD 轉換的寄存器。
ADCSRA
|
||||||||
bit
|
7
|
6
|
5
|
4
|
3
|
2
|
1
|
0
|
name
|
ADEN
|
ADSC
|
ADATE
|
ADIF
|
ADIE
|
ADPS2
|
ADPS1
|
ADPS0
|
ADATE(ADC 自動觸發使能)控制 AD 轉換的自動觸發。 該位不被軟件使用。 ADIF(ADC 中斷標誌)和 ADIE(ADC 中斷使能)控制中斷。 這些位不被軟件使用。 ADPS 是確定係統時鐘頻率和 AD 轉換器輸入時鐘之間分頻係數的位。
ADPS2
|
ADPS1
|
ADPS0
|
Division Factor
|
0
|
0
|
0
|
2
|
0
|
0
|
1
|
2
|
0
|
1
|
0
|
4
|
0
|
1
|
1
|
8
|
1
|
0
|
0
|
16
|
1
|
0
|
1
|
32
|
1
|
1
|
0
|
64
|
1
|
1
|
1
|
128
|
要獲得 10bit 的精度,必須提供從 50kHz 到 200kHz 的時鐘。 如果你需要更少的精度,你可以提供更高的時鐘。 軟件將 ADPS 設置為 0b011,即分頻係數為 128。由於使用 16Mhz 系統時鐘,AD 轉換時鐘為 125kHz(= 16MHz/128),需要 13 個時鐘進行轉換,需要用0.000104秒(= 1/125kHz*13)或 104 微秒來執行 AD 轉換。
ADCH,ADCL:
ADCH 和 ADCL 是存儲 AD 轉換結果的寄存器。 ADMUX 寄存器的 ADLAR 位控制結果的存儲方式。軟件將 ADLAR 設置為 0,轉換結果的前 2位存儲在 ADXH中,其餘 8位存儲在 ADXL 中。
2017年 12月 4日 天氣報告
氣溫:20.2度 @ 20:20
相對濕度:百分之 71%
天氣:天色大致良好
沒有留言:
張貼留言