LPC2103之Analog-to-Digital Converter
Features
LPC2103的ADC特性:
1.10bit逐次逼近型模數(shù)轉(zhuǎn)換器
2.低功耗模式
3.測(cè)量范圍0V—VDD(3.3V)(通常為3V,不超過VDDA)
4.10bit轉(zhuǎn)換時(shí)間> 2.44us
5.單輸入或多輸入突發(fā)轉(zhuǎn)換模式
6.每路模數(shù)通道有專用的結(jié)果寄存器
Description
APB時(shí)鐘為A/D轉(zhuǎn)換基本時(shí)鐘。轉(zhuǎn)換器中包括可編程分頻時(shí)鐘,逐次逼近處理所需的時(shí)鐘最大能達(dá)到4.5MHz,徹底準(zhǔn)確的轉(zhuǎn)換需要11個(gè)這樣的時(shí)鐘周期。
Pin description
Pin | Type | Description |
AD0.7:0 | Input | 模擬輸入端口。 |
VDD(3V3) | Reference | 參考電壓 |
VDDA,VSSA | Power | 模擬電壓和地 |
Register description
//模數(shù)控制寄存器
#define AD0CR(*((volatile unsigned long *) 0xE0034000))
A/D轉(zhuǎn)換發(fā)生前,必須設(shè)置ADCR寄存器選擇操作模式。復(fù)位值為0x00000001??勺x可寫寄存器。
位 | 信號(hào) | 功能 |
7:0 | SEL | 選擇AD0.7:0管腳哪一路進(jìn)行采樣和轉(zhuǎn)換。8bit數(shù)據(jù)分別對(duì)應(yīng)8路A/D輸入管腳,有且只有一位可以寫1。寫0x00默認(rèn)為0x01。 |
15:8 | CLKDIV | APB時(shí)鐘(PCLK)的分頻系數(shù)。必須使得A/D轉(zhuǎn)換時(shí)鐘小等于4.5MHz。 |
16 | BURST | 1——突發(fā)模式,轉(zhuǎn)換時(shí)間和轉(zhuǎn)換精度由CLKS決定 0——正常模式,11clock/10bits |
19:17 | CLKS | 突發(fā)(BURST)模式下轉(zhuǎn)換時(shí)鐘周期選擇(轉(zhuǎn)換時(shí)間和轉(zhuǎn)換精度的取舍)。 000——11clock/10bits 001——10clock/9bits 010——9clock/8bits 011——8clock/7bits 100——7clock/6bits 101——6clock/5bits 110——5clock/4bits 111——4clock/3bits |
20 | 保留 | |
21 | PDN | 1——A/D轉(zhuǎn)換可操作 0——A/D轉(zhuǎn)換工作于低功耗模式 |
23:22 | 保留 | |
26:24 | START | 當(dāng)BURST位為0時(shí),以下設(shè)置控制是否以及何時(shí)A/D轉(zhuǎn)換開始。 000——不啟動(dòng)(該值應(yīng)該使用于PDN=0時(shí)) 001——立刻啟動(dòng) 010——Start conversion when the edge selected by bit 27 occurs on P0.16/EINT0/MAT0.2 pin. 011——Start conversion when the edge selected by bit 27 occurs on P0.22. 100——Start conversion when the edge selected by bit 27 occurs on MAT0.1. 101——Start conversion when the edge selected by bit 27 occurs on MAT0.3. 110——Start conversion when the edge selected by bit 27 occurs on MAT1.0. 111——Start conversion when the edge selected by bit 27 occurs on MAT1.1. |
27 | EDGE | 此位的設(shè)置僅在START選擇了010-111時(shí) 1——Start conversion on a falling edge on the selected CAP/MAT signal. 0——Start conversion on a rising edge on the selected CAP/MAT signal. |
31:28 | 保留 |
//模數(shù)全局?jǐn)?shù)據(jù)寄存器
#define AD0GDR(*((volatile unsigned long *) 0xE0034004))
可讀可寫寄存器。該寄存器包括了ADC的DONE位和最近的A/D轉(zhuǎn)換結(jié)果。
位 | 信號(hào) | 功能 |
5:0 | 保留 | |
15:6 | RESULT | 轉(zhuǎn)換結(jié)果 |
23:16 | 保留 | |
26:24 | CHN | 該位包含了RESULT位所轉(zhuǎn)換的通道。 |
29:27 | 保留 | |
30 | OVERUN | 溢出標(biāo)志位 |
31 | DONE | A/D轉(zhuǎn)換完成該位置1,讀該位和寫ADCR時(shí)該位清除。當(dāng)寫ADCR時(shí)轉(zhuǎn)換正在進(jìn)行中,該位置1并且開始新的轉(zhuǎn)換。 |
//模數(shù)狀態(tài)寄存器
#define AD0STAT(*((volatile unsigned long *) 0xE0034030))
只讀寄存器。該寄存器包括了所有A/D通道的DONE和OVERRUN標(biāo)志位,也包括了A/D中斷標(biāo)志。
位 | 信號(hào) | 功能 |
0 | DONE0 | 該位反映了結(jié)果寄存器中A/D通道0的DONE狀態(tài)。 |
1 | DONE1 | 該位反映了結(jié)果寄存器中A/D通道1的DONE狀態(tài)。 |
2 | DONE2 | 該位反映了結(jié)果寄存器中A/D通道2的DONE狀態(tài)。 |
3 | DONE3 | 該位反映了結(jié)果寄存器中A/D通道3的DONE狀態(tài)。 |
4 | DONE4 | 該位反映了結(jié)果寄存器中A/D通道4的DONE狀態(tài)。 |
5 | DONE5 | 該位反映了結(jié)果寄存器中A/D通道5的DONE狀態(tài)。 |
6 | DONE6 | 該位反映了結(jié)果寄存器中A/D通道6的DONE狀態(tài)。 |
7 | DONE7 | 該位反映了結(jié)果寄存器中A/D通道7的DONE狀態(tài)。 |
8 | OVERRUN0 | 該位反映了結(jié)果寄存器中A/D通道0的OVERRUN狀態(tài)。 |
9 | OVERRUN1 | 該位反映了結(jié)果寄存器中A/D通道1的OVERRUN狀態(tài)。 |
10 | OVERRUN2 | 該位反映了結(jié)果寄存器中A/D通道2的OVERRUN狀態(tài)。 |
11 | OVERRUN3 | 該位反映了結(jié)果寄存器中A/D通道3的OVERRUN狀態(tài)。 |
12 | OVERRUN4 | 該位反映了結(jié)果寄存器中A/D通道4的OVERRUN狀態(tài)。 |
13 | OVERRUN5 | 該位反映了結(jié)果寄存器中A/D通道5的OVERRUN狀態(tài)。 |
14 | OVERRUN6 | 該位反映了結(jié)果寄存器中A/D通道6的OVERRUN狀態(tài)。 |
15 | OVERRUN7 | 該位反映了結(jié)果寄存器中A/D通道7的OVERRUN狀態(tài)。 |
16 | ADINT | A/D中斷標(biāo)志位。當(dāng)任何A/D DONE標(biāo)志位置位時(shí)該位置位,并且影響ADINTEN寄存器的A/D中斷。 |
31:17 | 保留 |
//模數(shù)中斷使能寄存器
#define AD0INTEN(*((volatile unsigned long *) 0xE003400C))
該寄存器控制A/D轉(zhuǎn)換完成是否產(chǎn)生一個(gè)中斷。
位 | 信號(hào) | 功能 |
0 | ADINTEN0 | 1——A/D通道0轉(zhuǎn)換完成產(chǎn)生中斷 0——A/D通道0轉(zhuǎn)換完成不產(chǎn)生中斷 |
1 | ADINTEN 1 | 1——A/D通道1轉(zhuǎn)換完成產(chǎn)生中斷 0——A/D通道1轉(zhuǎn)換完成不產(chǎn)生中斷 |
2 | ADINTEN 2 | 1——A/D通道2轉(zhuǎn)換完成產(chǎn)生中斷 0——A/D通道2轉(zhuǎn)換完成不產(chǎn)生中斷 |
3 | ADINTEN 3 | 1——A/D通道3轉(zhuǎn)換完成產(chǎn)生中斷 0——A/D通道3轉(zhuǎn)換完成不產(chǎn)生中斷 |
4 | ADINTEN 4 | 1——A/D通道4轉(zhuǎn)換完成產(chǎn)生中斷 0——A/D通道4轉(zhuǎn)換完成不產(chǎn)生中斷 |
5 | ADINTEN 5 | 1——A/D通道5轉(zhuǎn)換完成產(chǎn)生中斷 0——A/D通道5轉(zhuǎn)換完成不產(chǎn)生中斷 |
6 | ADINTEN 6 | 1——A/D通道6轉(zhuǎn)換完成產(chǎn)生中斷 0——A/D通道6轉(zhuǎn)換完成不產(chǎn)生中斷 |
7 | ADINTEN 7 | 1——A/D通道7轉(zhuǎn)換完成產(chǎn)生中斷 0——A/D通道7轉(zhuǎn)換完成不產(chǎn)生中斷 |
8 | ADINTEN | 1——只要ADINTEN7:0使能就可以產(chǎn)生中斷 0——只有ADDR中的全局DONE標(biāo)志位使能才產(chǎn)生中斷 |
31:9 | 保留 |
//模數(shù)通道0/1/2/3/4/5/6/7數(shù)據(jù)寄存器
//模數(shù)通道0數(shù)據(jù)寄存器
#define AD0DR0(*((volatile unsigned long *) 0xE0034010))
//模數(shù)通道1數(shù)據(jù)寄存器
#define AD0DR1(*((volatile unsigned long *) 0xE0034014))
//模數(shù)通道2數(shù)據(jù)寄存器
#define AD0DR2(*((volatile unsigned long *) 0xE0034018))
//模數(shù)通道3數(shù)據(jù)寄存器
#define AD0DR3(*((volatile unsigned long *) 0xE003401C))
//模數(shù)通道4數(shù)據(jù)寄存器
#define AD0DR4(*((volatile unsigned long *) 0xE0034020))
//模數(shù)通道5數(shù)據(jù)寄存器
#define AD0DR5(*((volatile unsigned long *) 0xE0034024))
//模數(shù)通道6數(shù)據(jù)寄存器
#define AD 0DR6(*((volatile unsigned long *) 0xE0034028))
//模數(shù)通道7數(shù)據(jù)寄存器
#define AD0DR7(*((volatile unsigned long *) 0xE003402C))
只讀存儲(chǔ)器。
位 | 信號(hào) | 功能 |
5:0 | 保留 | |
15:6 | RESULT | 轉(zhuǎn)換結(jié)果。 |
29:16 | 保留 | |
30 | OVERRUN | 溢出標(biāo)志位。 |
31 | DONE | 完成標(biāo)志位,讀該寄存器清除該位 |
評(píng)論