How to work with inbuilt ADC Module of PIC Microcontroller (PIC18F4550)
Summary
A microcontroller, a digital device, can read, execute and transmit only digital signals. On the contrary, the outputs of the most of the transducers are analog in nature. Thus it is hard to interface these transducers directly with controllers. Analog-to-digital convertor (ADC) ICs are one way to make the analog input compatible with the microcontroller.
Using an external ADC adds complexity to the circuit. To avoid this complexity, PIC Microcontrollers have in-built ADC module which reduces the cost and connections of the circuit. This article explains the in-built ADC of PIC18F4550 controller.
Description
As mentioned in the summary, a PIC microcontroller has inbuilt ADC for A/D conversion. The ADC module of PIC18F4550 controller has following specifications:
Bit 7 | Bit 6 | Bit 5 | Bit 4 | Bit 3 | Bit 2 | Bit 1 | Bit 0 |
— | — | CHS3 | CHS2 | CHS1 | CHS0 | GO/DONE | ADON |
CHS3:CHS0 | Analog Channel | Pin |
0000 | Channel 0 | RA0/AN0 |
0001 | Channel 1 | RA1/AN1 |
0010 | Channel 2 | RA2/AN2 |
0011 | Channel 3 | RA3/AN3 |
0100 | Channel 4 | RA5/AN4 |
0101 | Channel 5 | RE0/AN5 |
0110 | Channel 6 | RE1/AN6 |
0111 | Channel 7 | RE2/AN7 |
1000 | Channel 8 | RB2/AN8 |
1001 | Channel 9 | RB3/AN9 |
1010 | Channel 10 | RB1/AN10 |
1011 | Channel 11 | RB4/AN11 |
1100 | Channel 12 | RB0/AN12 |
Bit 7 | Bit 6 | Bit 5 | Bit 4 | Bit 3 | Bit 2 | Bit 1 | Bit 0 |
— | — | VCFG1 | VCFG0 | PCFG3 | PCFG2 | PCFG1 | PCFG0 |
PCFG3: PCFG0 | AN12 | AN11 | AN10 | AN9 | AN8 | AN7 | AN6 | AN5 | AN4 | AN3 | AN2 | AN1 | AN0 |
0000 | A | A | A | A | A | A | A | A | A | A | A | A | A |
0001 | A | A | A | A | A | A | A | A | A | A | A | A | A |
0010 | A | A | A | A | A | A | A | A | A | A | A | A | A |
0011 | D | A | A | A | A | A | A | A | A | A | A | A | A |
0100 | D | D | A | A | A | A | A | A | A | A | A | A | A |
0101 | D | D | D | A | A | A | A | A | A | A | A | A | A |
0110 | D | D | D | D | A | A | A | A | A | A | A | A | A |
0111 | D | D | D | D | D | A | A | A | A | A | A | A | A |
1000 | D | D | D | D | D | D | A | A | A | A | A | A | A |
1001 | D | D | D | D | D | D | D | A | A | A | A | A | A |
1010 | D | D | D | D | D | D | D | D | A | A | A | A | A |
1011 | D | D | D | D | D | D | D | D | D | A | A | A | A |
1100 | D | D | D | D | D | D | D | D | D | D | A | A | A |
1101 | D | D | D | D | D | D | D | D | D | D | D | A | A |
1110 | D | D | D | D | D | D | D | D | D | D | D | D | A |
1111 | D | D | D | D | D | D | D | D | D | D | D | D | D |
Bit | = 1 | = 0 |
VCGF0 | Vref+ (RA3) | Vcc |
VCGF1 | Vref- (RA2) | Vss (GND) |
Bit 7 | Bit 6 | Bit 5 | Bit 4 | Bit 3 | Bit 2 | Bit 1 | Bit 0 |
ADFM | — | ACQT2 | ACQT1 | ACQT0 | ADCS2 | ADCS1 | ADCS0 |
ADCS2:ADCS0 | Clock Option |
000 | FRC (clock derived from A/D RC oscillator) |
001 | FOSC/64 |
010 | FOSC/16 |
011 | FOSC/4 |
100 | FRC (clock derived from A/D RC oscillator) |
101 | FOSC/32 |
110 | FOSC/8 |
111 | FOSC/2 |
Video
Code
This Code is only visible to Registered users. Please Login/Register
Components
|
Preset A preset is a three legged electronic component which can be made to offer varying resistance in a circuit. The resistance is varied by adjusting the rotary control over it. The adjustment can be done by using a small screw driver or... |
|
LCD
LCD (Liquid Crystal Display) screen is an electronic display module and find a wide range of applications. A 16x2 LCD display is very basic module and is very commonly used in various devices and circuits. These modules are preferred over seven segments... |
|
PIC18F4550 PIC18F4550 is an 8-bit microcontroller of PIC18 family. PIC18F family is based on 16-bit instruction set architecture. PIC18F4550 consists of 32 KB flash memory, 2 KB SRAM... |
- 20148 reads
