Upload
venkateshduppada
View
215
Download
0
Embed Size (px)
Citation preview
7/25/2019 07-ADC
1/109
OutlineAnalog to Digital Conversion
Coding ADC
Using ADC on Firebird-V Robot
E-Yantra TeamEmbedded Real-Time Systems Lab
Indian Institute of Technology-Bombay
IIT BombaySeptember 26, 2012
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 1/19
http://find/http://goback/7/25/2019 07-ADC
2/109
OutlineAnalog to Digital Conversion
Coding ADC
Agenda for Discussion
1 Analog to Digital ConversionNeed for ADCADC of ATmega2560
ADC Channels
2 Coding ADCADC InitilizationADCSRA
ADCSRBADMUXACSRProgram
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 2/19
http://find/http://goback/7/25/2019 07-ADC
3/109
OutlineAnalog to Digital Conversion
Coding ADC
Need for ADCADC of ATmega2560ADC Channels
Need for ADC
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 3/19
http://find/7/25/2019 07-ADC
4/109
OutlineAnalog to Digital Conversion
Coding ADC
Need for ADCADC of ATmega2560ADC Channels
Need for ADC
IR Proximity sensors
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 3/19
http://find/7/25/2019 07-ADC
5/109
OutlineAnalog to Digital Conversion
Coding ADC
Need for ADCADC of ATmega2560ADC Channels
Need for ADC
IR Proximity sensors
Sharp IR Range sensors
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 3/19
http://find/7/25/2019 07-ADC
6/109
OutlineAnalog to Digital Conversion
Coding ADC
Need for ADCADC of ATmega2560ADC Channels
Need for ADC
IR Proximity sensors
Sharp IR Range sensors
white line sensors
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 3/19
http://find/7/25/2019 07-ADC
7/109
OutlineAnalog to Digital Conversion
Coding ADC
Need for ADCADC of ATmega2560ADC Channels
Need for ADC
IR Proximity sensors
Sharp IR Range sensors
white line sensors
battery voltage sensing
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 3/19
http://find/7/25/2019 07-ADC
8/109
OutlineAnalog to Digital Conversion
Coding ADC
Need for ADCADC of ATmega2560ADC Channels
Need for ADC
IR Proximity sensors
Sharp IR Range sensors
white line sensors
battery voltage sensing
etc..
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 3/19
http://find/7/25/2019 07-ADC
9/109
OutlineAnalog to Digital Conversion
Coding ADC
Need for ADCADC of ATmega2560ADC Channels
In-Built ADC of ATmega2560
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 4/19
http://find/7/25/2019 07-ADC
10/109
OutlineAnalog to Digital Conversion
Coding ADC
Need for ADCADC of ATmega2560ADC Channels
In-Built ADC of ATmega2560
10-bit Resolution
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 4/19
http://find/http://goback/7/25/2019 07-ADC
11/109
OutlineAnalog to Digital Conversion
Coding ADC
Need for ADCADC of ATmega2560ADC Channels
In-Built ADC of ATmega2560
10-bit Resolution
13 - 260 s Conversion Time
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 4/19
http://find/7/25/2019 07-ADC
12/109
OutlineAnalog to Digital Conversion
Coding ADC
Need for ADCADC of ATmega2560ADC Channels
In-Built ADC of ATmega2560
10-bit Resolution
13 - 260 s Conversion Time
16 Multiplexed Single Ended Input Channels
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 4/19
http://find/7/25/2019 07-ADC
13/109
OutlineAnalog to Digital Conversion
Coding ADC
Need for ADCADC of ATmega2560ADC Channels
In-Built ADC of ATmega2560
10-bit Resolution
13 - 260 s Conversion Time
16 Multiplexed Single Ended Input Channels
14 Differential input channels
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 4/19
http://find/7/25/2019 07-ADC
14/109
7/25/2019 07-ADC
15/109
OutlineAnalog to Digital Conversion
Coding ADC
Need for ADCADC of ATmega2560ADC Channels
In-Built ADC of ATmega2560
10-bit Resolution
13 - 260 s Conversion Time
16 Multiplexed Single Ended Input Channels
14 Differential input channels
Optional Left Adjustment for ADC Result Readout
0 - VCC ADC Input Voltage Range
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 4/19
http://find/7/25/2019 07-ADC
16/109
OutlineAnalog to Digital Conversion
Coding ADC
Need for ADCADC of ATmega2560ADC Channels
In-Built ADC of ATmega2560
10-bit Resolution
13 - 260 s Conversion Time
16 Multiplexed Single Ended Input Channels
14 Differential input channels
Optional Left Adjustment for ADC Result Readout
0 - VCC ADC Input Voltage Range
2.7 - VCC Differential ADC Voltage Range
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 4/19
O li N d f ADC
http://find/7/25/2019 07-ADC
17/109
OutlineAnalog to Digital Conversion
Coding ADC
Need for ADCADC of ATmega2560ADC Channels
In-Built ADC of ATmega2560
10-bit Resolution
13 - 260 s Conversion Time
16 Multiplexed Single Ended Input Channels
14 Differential input channels
Optional Left Adjustment for ADC Result Readout
0 - VCC ADC Input Voltage Range
2.7 - VCC Differential ADC Voltage Range
Selectable 2.56V or 1.1V ADC Reference Voltage
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 4/19
O tli N d f ADC
http://find/7/25/2019 07-ADC
18/109
OutlineAnalog to Digital Conversion
Coding ADC
Need for ADCADC of ATmega2560ADC Channels
In-Built ADC of ATmega2560
10-bit Resolution
13 - 260 s Conversion Time
16 Multiplexed Single Ended Input Channels
14 Differential input channels
Optional Left Adjustment for ADC Result Readout
0 - VCC ADC Input Voltage Range
2.7 - VCC Differential ADC Voltage Range
Selectable 2.56V or 1.1V ADC Reference Voltage Free Running or Single Conversion Mode
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 4/19
Outline Need for ADC
http://find/7/25/2019 07-ADC
19/109
OutlineAnalog to Digital Conversion
Coding ADC
Need for ADCADC of ATmega2560ADC Channels
In-Built ADC of ATmega2560
10-bit Resolution
13 - 260 s Conversion Time
16 Multiplexed Single Ended Input Channels
14 Differential input channels
Optional Left Adjustment for ADC Result Readout
0 - VCC ADC Input Voltage Range
2.7 - VCC Differential ADC Voltage Range
Selectable 2.56V or 1.1V ADC Reference Voltage Free Running or Single Conversion Mode
Interrupt on ADC Conversion Complete
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 4/19
Outline Need for ADC
http://find/7/25/2019 07-ADC
20/109
OutlineAnalog to Digital Conversion
Coding ADC
Need for ADCADC of ATmega2560ADC Channels
ADC Channels
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 5/19
Outline Need for ADC
http://find/7/25/2019 07-ADC
21/109
OutlineAnalog to Digital Conversion
Coding ADC
Need for ADCADC of ATmega2560ADC Channels
ADC Channels
Pin No. Pin Name Description97 PF0/ADC0 ADC input for Battery Voltage Monitoring96 PF1/ADC1 ADC input for White Line Sensor 3(Right)95 PF2/ADC2 ADC input for White Line Sensor 2(Center)94 PF3/ADC3 ADC input for White Line Sensor 1(Left)93 PF4/ADC4 ADC input for IR proximity analog sensor 1
92 PF5/ADC5 ADC input for IR proximity analog sensor 291 PF6/ADC6 ADC input for IR proximity analog sensor 390 PF7/ADC7 ADC input for IR proximity analog sensor 489 PK0/ADC8 ADC input for IR proximity analog sensor 588 PK1/ADC9 ADC input for Sharp IR range sensor 187 PK2/ADC10 ADC input for Sharp IR range sensor 286 PK3/ADC11 ADC input for Sharp IR range sensor 385 PK4/ADC12 ADC input for Sharp IR range sensor 484 PK5/ADC13 ADC input for Sharp IR range sensor 583 PK6/ADC14 ADC input for Servo Pod 182 PK7/ADC15 ADC input for Servo Pod 2
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 5/19
Outline Need for ADC
http://find/7/25/2019 07-ADC
22/109
Analog to Digital ConversionCoding ADC
ADC of ATmega2560ADC Channels
ADC Channels
Pin No. Pin Name Description97 PF0/ADC0 ADC input for Battery Voltage Monitoring96 PF1/ADC1 ADC input for White Line Sensor 3(Right)95 PF2/ADC2 ADC input for White Line Sensor 2(Center)94 PF3/ADC3 ADC input for White Line Sensor 1(Left)93 PF4/ADC4 ADC input for IR proximity analog sensor 1
92 PF5/ADC5 ADC input for IR proximity analog sensor 291 PF6/ADC6 ADC input for IR proximity analog sensor 390 PF7/ADC7 ADC input for IR proximity analog sensor 489 PK0/ADC8 ADC input for IR proximity analog sensor 588 PK1/ADC9 ADC input for Sharp IR range sensor 187 PK2/ADC10 ADC input for Sharp IR range sensor 286 PK3/ADC11 ADC input for Sharp IR range sensor 385 PK4/ADC12 ADC input for Sharp IR range sensor 484 PK5/ADC13 ADC input for Sharp IR range sensor 583 PK6/ADC14 ADC input for Servo Pod 182 PK7/ADC15 ADC input for Servo Pod 2
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 5/19
Outline
ADC InitilizationADCSRAADCSRB
http://find/7/25/2019 07-ADC
23/109
Analog to Digital ConversionCoding ADC
ADCSRBADMUXACSRProgram
Steps for Using ADC in AVR
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 6/19
OutlineADC InitilizationADCSRAADCSRB
http://find/7/25/2019 07-ADC
24/109
Analog to Digital ConversionCoding ADC
ADCSRBADMUXACSRProgram
Steps for Using ADC in AVR
1 Enabling ADC :Set the ADEN bit of the ADC Control and Status Register ADCSRAto logic 1.
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 6/19
http://find/7/25/2019 07-ADC
25/109
OutlineA l t Di it l C i
ADC InitilizationADCSRAADCSRB
7/25/2019 07-ADC
26/109
Analog to Digital ConversionCoding ADC
ADMUXACSRProgram
Steps for Using ADC in AVR
1 Enabling ADC :Set the ADEN bit of the ADC Control and Status Register ADCSRAto logic 1.
2 ADC Prescaler Division Ratio :
Set the bits ADPS 2:0 of the Register ADCSRA. ADC needs clockfrequency between 50KHz to 200KHz
3 Selecting reference voltage source for the ADC :Select the reference voltage for ADC as AREF by makingREFS1:REFS0 as 00 (5 V)
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 6/19
OutlineAnalog to Digital Conversion
ADC InitilizationADCSRAADCSRB
http://find/7/25/2019 07-ADC
27/109
Analog to Digital ConversionCoding ADC
ADMUXACSRProgram
Steps for Using ADC in AVR
1 Enabling ADC :Set the ADEN bit of the ADC Control and Status Register ADCSRAto logic 1.
2 ADC Prescaler Division Ratio :
Set the bits ADPS 2:0 of the Register ADCSRA. ADC needs clockfrequency between 50KHz to 200KHz
3 Selecting reference voltage source for the ADC :Select the reference voltage for ADC as AREF by makingREFS1:REFS0 as 00 (5 V)
4 Left/Right Adjustment :ADCH contains the two most significant bits and ADCL containsthe remaining eight bits. We left shift this data so that ADCH willcontain the eight bits including the MSB and ADCL will containremaining two LSBs
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 6/19
OutlineAnalog to Digital Conversion
ADC InitilizationADCSRAADCSRB
http://find/http://goback/7/25/2019 07-ADC
28/109
Analog to Digital ConversionCoding ADC
ADMUXACSRProgram
ADC Initilization
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 7/19
OutlineAnalog to Digital Conversion
ADC InitilizationADCSRAADCSRBADMUX
http://find/7/25/2019 07-ADC
29/109
Analog to Digital ConversionCoding ADC
ADMUXACSRProgram
ADC Initilization
To Program ADC, we have to initialize some register before use it.
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 7/19
OutlineAnalog to Digital Conversion
ADC InitilizationADCSRAADCSRBADMUX
http://find/7/25/2019 07-ADC
30/109
g gCoding ADC
ADMUXACSRProgram
ADC Initilization
To Program ADC, we have to initialize some register before use it.
These registers are:
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 7/19
OutlineAnalog to Digital Conversion
ADC InitilizationADCSRAADCSRBADMUX
http://find/7/25/2019 07-ADC
31/109
g gCoding ADC
ADMUXACSRProgram
ADC Initilization
To Program ADC, we have to initialize some register before use it.
These registers are:
1 ADCSRA- ADC Control and Status Register A
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 7/19
OutlineAnalog to Digital Conversion
ADC InitilizationADCSRAADCSRBADMUX
http://find/7/25/2019 07-ADC
32/109
Coding ADCADMUXACSRProgram
ADC Initilization
To Program ADC, we have to initialize some register before use it.
These registers are:
1 ADCSRA- ADC Control and Status Register A
2 ADCSRB- ADC Control and Status Register B
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 7/19
OutlineAnalog to Digital Conversion
C di ADC
ADC InitilizationADCSRAADCSRBADMUX
http://find/7/25/2019 07-ADC
33/109
Coding ADCADMUXACSRProgram
ADC Initilization
To Program ADC, we have to initialize some register before use it.
These registers are:
1 ADCSRA- ADC Control and Status Register A
2 ADCSRB- ADC Control and Status Register B
3 ADMUX- ADC Multiplexer Selection Register
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 7/19
OutlineAnalog to Digital Conversion
C di ADC
ADC InitilizationADCSRAADCSRBADMUX
http://find/http://goback/7/25/2019 07-ADC
34/109
Coding ADCACSRProgram
ADC Initilization
To Program ADC, we have to initialize some register before use it.
These registers are:
1 ADCSRA- ADC Control and Status Register A
2 ADCSRB- ADC Control and Status Register B
3 ADMUX- ADC Multiplexer Selection Register
4 ACSR - Analog Comparator Control and Status Register
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 7/19
OutlineAnalog to Digital Conversion
Coding ADC
ADC InitilizationADCSRAADCSRBADMUX
http://find/7/25/2019 07-ADC
35/109
Coding ADCACSRProgram
ADC Initilization
To Program ADC, we have to initialize some register before use it.
These registers are:
1 ADCSRA- ADC Control and Status Register A
2 ADCSRB- ADC Control and Status Register B
3 ADMUX- ADC Multiplexer Selection Register
4 ACSR - Analog Comparator Control and Status Register
All these Registers are 8 Bit.
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 7/19
OutlineAnalog to Digital Conversion
Coding ADC
ADC InitilizationADCSRAADCSRBADMUX
http://find/7/25/2019 07-ADC
36/109
Coding ADCACSRProgram
ADCSRA- ADC Control and Status Register AThis register is Used to control ADC operation
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 8/19
OutlineAnalog to Digital Conversion
Coding ADC
ADC InitilizationADCSRAADCSRBADMUXACSR
http://find/http://goback/7/25/2019 07-ADC
37/109
Coding ADCACSRProgram
ADCSRA- ADC Control and Status Register AThis register is Used to control ADC operation
Bit Symbol Description Bit Value
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 8/19
OutlineAnalog to Digital Conversion
Coding ADC
ADC InitilizationADCSRAADCSRBADMUXACSR
http://find/http://goback/7/25/2019 07-ADC
38/109
gACSRProgram
ADCSRA- ADC Control and Status Register AThis register is Used to control ADC operation
Bit Symbol Description Bit Value
7 ADEN ADC Enable
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 8/19
OutlineAnalog to Digital Conversion
Coding ADC
ADC InitilizationADCSRAADCSRBADMUXACSR
http://find/http://goback/7/25/2019 07-ADC
39/109
gACSRProgram
ADCSRA- ADC Control and Status Register AThis register is Used to control ADC operation
Bit Symbol Description Bit Value
7 ADEN ADC Enable 1
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 8/19
OutlineAnalog to Digital Conversion
Coding ADC
ADC InitilizationADCSRAADCSRBADMUXACSR
http://find/http://goback/7/25/2019 07-ADC
40/109
ACSRProgram
ADCSRA- ADC Control and Status Register AThis register is Used to control ADC operation
Bit Symbol Description Bit Value
7 ADEN ADC Enable 1
6 ADSC ADC Start Conversion
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 8/19
OutlineAnalog to Digital Conversion
Coding ADC
ADC InitilizationADCSRAADCSRBADMUXACSR
http://find/http://goback/7/25/2019 07-ADC
41/109
ACSRProgram
ADCSRA- ADC Control and Status Register AThis register is Used to control ADC operation
Bit Symbol Description Bit Value
7 ADEN ADC Enable 1
6 ADSC ADC Start Conversion 0
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 8/19
OutlineAnalog to Digital Conversion
Coding ADC
ADC InitilizationADCSRAADCSRBADMUXACSR
http://find/7/25/2019 07-ADC
42/109
Program
ADCSRA- ADC Control and Status Register AThis register is Used to control ADC operation
Bit Symbol Description Bit Value
7 ADEN ADC Enable 1
6 ADSC ADC Start Conversion 0
5 ADATE ADC Auto Trigger Enable
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 8/19
OutlineAnalog to Digital Conversion
Coding ADC
ADC InitilizationADCSRAADCSRBADMUXACSR
http://find/7/25/2019 07-ADC
43/109
Program
ADCSRA- ADC Control and Status Register AThis register is Used to control ADC operation
Bit Symbol Description Bit Value
7 ADEN ADC Enable 1
6 ADSC ADC Start Conversion 0
5 ADATE ADC Auto Trigger Enable 0
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 8/19
OutlineAnalog to Digital Conversion
Coding ADC
ADC InitilizationADCSRAADCSRBADMUXACSR
http://find/7/25/2019 07-ADC
44/109
Program
ADCSRA- ADC Control and Status Register AThis register is Used to control ADC operation
Bit Symbol Description Bit Value
7 ADEN ADC Enable 1
6 ADSC ADC Start Conversion 0
5 ADATE ADC Auto Trigger Enable 04 ADIF ADC Interrupt Flag
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 8/19
OutlineAnalog to Digital Conversion
Coding ADC
ADC InitilizationADCSRAADCSRBADMUXACSRP
http://find/7/25/2019 07-ADC
45/109
Program
ADCSRA- ADC Control and Status Register AThis register is Used to control ADC operation
Bit Symbol Description Bit Value
7 ADEN ADC Enable 1
6 ADSC ADC Start Conversion 0
5 ADATE ADC Auto Trigger Enable 04 ADIF ADC Interrupt Flag 0
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 8/19
OutlineAnalog to Digital Conversion
Coding ADC
ADC InitilizationADCSRAADCSRBADMUXACSRP
http://find/7/25/2019 07-ADC
46/109
Program
ADCSRA- ADC Control and Status Register AThis register is Used to control ADC operation
Bit Symbol Description Bit Value
7 ADEN ADC Enable 1
6 ADSC ADC Start Conversion 0
5 ADATE ADC Auto Trigger Enable 04 ADIF ADC Interrupt Flag 0
3 ADIE ADC Interrupt Enable
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 8/19
OutlineAnalog to Digital Conversion
Coding ADC
ADC InitilizationADCSRAADCSRBADMUXACSRProgram
http://find/7/25/2019 07-ADC
47/109
Program
ADCSRA- ADC Control and Status Register AThis register is Used to control ADC operation
Bit Symbol Description Bit Value
7 ADEN ADC Enable 1
6 ADSC ADC Start Conversion 0
5 ADATE ADC Auto Trigger Enable 04 ADIF ADC Interrupt Flag 0
3 ADIE ADC Interrupt Enable 0
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 8/19
OutlineAnalog to Digital Conversion
Coding ADC
ADC InitilizationADCSRAADCSRBADMUXACSRProgram
http://find/7/25/2019 07-ADC
48/109
Program
ADCSRA- ADC Control and Status Register AThis register is Used to control ADC operation
Bit Symbol Description Bit Value
7 ADEN ADC Enable 1
6 ADSC ADC Start Conversion 0
5 ADATE ADC Auto Trigger Enable 04 ADIF ADC Interrupt Flag 0
3 ADIE ADC Interrupt Enable 0
2 ADPS2 ADC Prescaler Select Bits
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 8/19
OutlineAnalog to Digital Conversion
Coding ADC
ADC InitilizationADCSRAADCSRBADMUXACSRProgram
http://find/7/25/2019 07-ADC
49/109
Program
ADCSRA- ADC Control and Status Register AThis register is Used to control ADC operation
Bit Symbol Description Bit Value
7 ADEN ADC Enable 1
6 ADSC ADC Start Conversion 0
5 ADATE ADC Auto Trigger Enable 04 ADIF ADC Interrupt Flag 0
3 ADIE ADC Interrupt Enable 0
2 ADPS2 ADC Prescaler Select Bits 1
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 8/19
OutlineAnalog to Digital Conversion
Coding ADC
ADC Initilization
ADCSRAADCSRBADMUXACSRProgram
http://find/7/25/2019 07-ADC
50/109
g
ADCSRA- ADC Control and Status Register AThis register is Used to control ADC operation
Bit Symbol Description Bit Value
7 ADEN ADC Enable 1
6 ADSC ADC Start Conversion 0
5 ADATE ADC Auto Trigger Enable 04 ADIF ADC Interrupt Flag 0
3 ADIE ADC Interrupt Enable 0
2 ADPS2 ADC Prescaler Select Bits 1
1 ADPS1 ADC Prescaler Select Bits
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 8/19
OutlineAnalog to Digital Conversion
Coding ADC
ADC Initilization
ADCSRAADCSRBADMUXACSRProgram
http://find/7/25/2019 07-ADC
51/109
g
ADCSRA- ADC Control and Status Register AThis register is Used to control ADC operation
Bit Symbol Description Bit Value
7 ADEN ADC Enable 1
6 ADSC ADC Start Conversion 0
5 ADATE ADC Auto Trigger Enable 04 ADIF ADC Interrupt Flag 0
3 ADIE ADC Interrupt Enable 0
2 ADPS2 ADC Prescaler Select Bits 1
1 ADPS1 ADC Prescaler Select Bits 1
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 8/19
OutlineAnalog to Digital Conversion
Coding ADC
ADC Initilization
ADCSRAADCSRBADMUXACSRProgram
http://find/7/25/2019 07-ADC
52/109
ADCSRA- ADC Control and Status Register AThis register is Used to control ADC operation
Bit Symbol Description Bit Value
7 ADEN ADC Enable 1
6 ADSC ADC Start Conversion 0
5 ADATE ADC Auto Trigger Enable 04 ADIF ADC Interrupt Flag 0
3 ADIE ADC Interrupt Enable 0
2 ADPS2 ADC Prescaler Select Bits 1
1 ADPS1 ADC Prescaler Select Bits 1
0 ADPS0 ADC Prescaler Select Bits
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 8/19
OutlineAnalog to Digital Conversion
Coding ADC
ADC Initilization
ADCSRAADCSRBADMUXACSRProgram
http://find/7/25/2019 07-ADC
53/109
ADCSRA- ADC Control and Status Register AThis register is Used to control ADC operation
Bit Symbol Description Bit Value
7 ADEN ADC Enable 1
6 ADSC ADC Start Conversion 0
5 ADATE ADC Auto Trigger Enable 04 ADIF ADC Interrupt Flag 0
3 ADIE ADC Interrupt Enable 0
2 ADPS2 ADC Prescaler Select Bits 1
1 ADPS1 ADC Prescaler Select Bits 1
0 ADPS0 ADC Prescaler Select Bits 0
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 8/19
OutlineAnalog to Digital Conversion
Coding ADC
ADC Initilization
ADCSRAADCSRBADMUXACSRProgram
http://find/7/25/2019 07-ADC
54/109
ADCSRA- ADC Control and Status Register AThis register is Used to control ADC operation
Bit Symbol Description Bit Value
7 ADEN ADC Enable 1
6 ADSC ADC Start Conversion 0
5 ADATE ADC Auto Trigger Enable 04 ADIF ADC Interrupt Flag 0
3 ADIE ADC Interrupt Enable 0
2 ADPS2 ADC Prescaler Select Bits 1
1 ADPS1 ADC Prescaler Select Bits 1
0 ADPS0 ADC Prescaler Select Bits 0
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 8/19
OutlineAnalog to Digital Conversion
Coding ADC
ADC Initilization
ADCSRAADCSRBADMUXACSRProgram
http://find/http://goback/7/25/2019 07-ADC
55/109
ADCSRA- ADC Control and Status Register AThis register is Used to control ADC operation
Bit Symbol Description Bit Value
7 ADEN ADC Enable 1
6 ADSC ADC Start Conversion 0
5 ADATE ADC Auto Trigger Enable 04 ADIF ADC Interrupt Flag 0
3 ADIE ADC Interrupt Enable 0
2 ADPS2 ADC Prescaler Select Bits 1
1 ADPS1 ADC Prescaler Select Bits 1
0 ADPS0 ADC Prescaler Select Bits 0
ADCSRA= 0x86
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 8/19
OutlineAnalog to Digital Conversion
Coding ADC
ADC Initilization
ADCSRAADCSRBADMUXACSRProgram
http://find/7/25/2019 07-ADC
56/109
ADC Prescaler Selection Bit
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 9/19
OutlineAnalog to Digital Conversion
Coding ADC
ADC Initilization
ADCSRAADCSRBADMUXACSRProgram
http://find/7/25/2019 07-ADC
57/109
ADC Prescaler Selection Bit
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 9/19
OutlineAnalog to Digital Conversion
Coding ADC
ADC Initilization
ADCSRAADCSRBADMUXACSRProgram
http://find/7/25/2019 07-ADC
58/109
ADCSRB- ADC Control and Status Register BThis register is Used to control ADC operation
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 10/19
OutlineAnalog to Digital Conversion
Coding ADC
ADC Initilization
ADCSRAADCSRBADMUXACSRProgram
http://find/7/25/2019 07-ADC
59/109
ADCSRB- ADC Control and Status Register BThis register is Used to control ADC operation
Bit Symbol Description Bit Value
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 10/19
OutlineAnalog to Digital Conversion
Coding ADC
ADC Initilization
ADCSRAADCSRBADMUXACSRProgram
http://find/http://goback/7/25/2019 07-ADC
60/109
ADCSRB- ADC Control and Status Register BThis register is Used to control ADC operation
Bit Symbol Description Bit Value
7 - Reserved Bit
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 10/19
OutlineAnalog to Digital Conversion
Coding ADC
ADC Initilization
ADCSRAADCSRBADMUXACSRProgram
http://find/7/25/2019 07-ADC
61/109
ADCSRB- ADC Control and Status Register BThis register is Used to control ADC operation
Bit Symbol Description Bit Value
7 - Reserved Bit -
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 10/19
OutlineAnalog to Digital Conversion
Coding ADC
ADC Initilization
ADCSRAADCSRBADMUXACSRProgram
ADCSRB ADC C l d S R i B
http://find/7/25/2019 07-ADC
62/109
ADCSRB- ADC Control and Status Register BThis register is Used to control ADC operation
Bit Symbol Description Bit Value
7 - Reserved Bit -
6 ACME Analog Comparator Multiplexer Enable
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 10/19
OutlineAnalog to Digital Conversion
Coding ADC
ADC Initilization
ADCSRAADCSRBADMUXACSRProgram
ADCSRB ADC C l d S R i B
http://find/http://goback/7/25/2019 07-ADC
63/109
ADCSRB- ADC Control and Status Register BThis register is Used to control ADC operation
Bit Symbol Description Bit Value
7 - Reserved Bit -
6 ACME Analog Comparator Multiplexer Enable 0
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 10/19
OutlineAnalog to Digital Conversion
Coding ADC
ADC Initilization
ADCSRAADCSRBADMUXACSRProgram
ADCSRB ADC C l d S R i B
http://find/http://goback/7/25/2019 07-ADC
64/109
ADCSRB- ADC Control and Status Register BThis register is Used to control ADC operation
Bit Symbol Description Bit Value
7 - Reserved Bit -
6 ACME Analog Comparator Multiplexer Enable 0
5 - Reserved Bit -4 - Reserved Bit -
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 10/19
OutlineAnalog to Digital Conversion
Coding ADC
ADC Initilization
ADCSRAADCSRBADMUXACSRProgram
ADCSRB ADC C t l d St t R i t B
http://find/7/25/2019 07-ADC
65/109
ADCSRB- ADC Control and Status Register BThis register is Used to control ADC operation
Bit Symbol Description Bit Value
7 - Reserved Bit -
6 ACME Analog Comparator Multiplexer Enable 0
5 - Reserved Bit -4 - Reserved Bit -
3 MUX5 ADC Channel selection bit-5
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 10/19
OutlineAnalog to Digital Conversion
Coding ADC
ADC Initilization
ADCSRAADCSRBADMUXACSRProgram
ADCSRB ADC C t l d St t R i t B
http://find/http://goback/7/25/2019 07-ADC
66/109
ADCSRB- ADC Control and Status Register BThis register is Used to control ADC operation
Bit Symbol Description Bit Value
7 - Reserved Bit -
6 ACME Analog Comparator Multiplexer Enable 0
5 - Reserved Bit -4 - Reserved Bit -
3 MUX5 ADC Channel selection bit-5 0
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 10/19
OutlineAnalog to Digital Conversion
Coding ADC
ADC Initilization
ADCSRAADCSRBADMUXACSRProgram
ADCSRB ADC Control and Status Register B
http://find/7/25/2019 07-ADC
67/109
ADCSRB- ADC Control and Status Register BThis register is Used to control ADC operation
Bit Symbol Description Bit Value
7 - Reserved Bit -
6 ACME Analog Comparator Multiplexer Enable 0
5 - Reserved Bit -4 - Reserved Bit -
3 MUX5 ADC Channel selection bit-5 0
2 ADTS2 ADC Auto Trigger Source Bits 0
1 ADTS1 ADC Auto Trigger Source Bits 0
0 ADTS0 ADC Auto Trigger Source Bits 0
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 10/19
OutlineAnalog to Digital Conversion
Coding ADC
ADC Initilization
ADCSRAADCSRBADMUXACSRProgram
ADCSRB ADC Control and Status Register B
http://find/7/25/2019 07-ADC
68/109
ADCSRB- ADC Control and Status Register BThis register is Used to control ADC operation
Bit Symbol Description Bit Value
7 - Reserved Bit -
6 ACME Analog Comparator Multiplexer Enable 0
5 - Reserved Bit -4 - Reserved Bit -
3 MUX5 ADC Channel selection bit-5 0
2 ADTS2 ADC Auto Trigger Source Bits 0
1 ADTS1 ADC Auto Trigger Source Bits 0
0 ADTS0 ADC Auto Trigger Source Bits 0
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 10/19
OutlineAnalog to Digital Conversion
Coding ADC
ADC Initilization
ADCSRAADCSRBADMUXACSRProgram
ADCSRB ADC Control and Status Register B
http://find/7/25/2019 07-ADC
69/109
ADCSRB- ADC Control and Status Register BThis register is Used to control ADC operation
Bit Symbol Description Bit Value
7 - Reserved Bit -
6 ACME Analog Comparator Multiplexer Enable 0
5 - Reserved Bit -4 - Reserved Bit -
3 MUX5 ADC Channel selection bit-5 0
2 ADTS2 ADC Auto Trigger Source Bits 0
1 ADTS1 ADC Auto Trigger Source Bits 0
0 ADTS0 ADC Auto Trigger Source Bits 0
ADCSRB= 0x00
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 10/19
OutlineAnalog to Digital Conversion
Coding ADC
ADC Initilization
ADCSRAADCSRBADMUXACSRProgram
ADMUX ADC Multiplexer Selection Register
http://find/7/25/2019 07-ADC
70/109
ADMUX - ADC Multiplexer Selection RegisterThis register is Used to select ADC channel
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 11/19
OutlineAnalog to Digital Conversion
Coding ADC
ADC Initilization
ADCSRAADCSRBADMUXACSRProgram
ADMUX - ADC Multiplexer Selection Register
http://find/7/25/2019 07-ADC
71/109
ADMUX - ADC Multiplexer Selection RegisterThis register is Used to select ADC channel
Bit Symbol Description Bit Value
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 11/19
OutlineAnalog to Digital Conversion
Coding ADC
ADC Initilization
ADCSRAADCSRBADMUXACSRProgram
ADMUX - ADC Multiplexer Selection Register
http://find/7/25/2019 07-ADC
72/109
ADMUX ADC Multiplexer Selection RegisterThis register is Used to select ADC channel
Bit Symbol Description Bit Value
7 REFS1 Reference Selection Bit
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 11/19
OutlineAnalog to Digital Conversion
Coding ADC
ADC Initilization
ADCSRAADCSRBADMUXACSRProgram
ADMUX - ADC Multiplexer Selection Register
http://find/7/25/2019 07-ADC
73/109
ADMUX ADC Multiplexer Selection RegisterThis register is Used to select ADC channel
Bit Symbol Description Bit Value
7 REFS1 Reference Selection Bit 0
6 REFS2 Reference Selection Bit 0
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 11/19
OutlineAnalog to Digital Conversion
Coding ADC
ADC Initilization
ADCSRAADCSRBADMUXACSRProgram
ADMUX - ADC Multiplexer Selection Register
http://find/7/25/2019 07-ADC
74/109
ADMUX ADC Multiplexer Selection RegisterThis register is Used to select ADC channel
Bit Symbol Description Bit Value
7 REFS1 Reference Selection Bit 0
6 REFS2 Reference Selection Bit 0
5 ADLAR ADC Left Adjust Result
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 11/19
OutlineAnalog to Digital Conversion
Coding ADC
ADC Initilization
ADCSRAADCSRBADMUXACSRProgram
ADMUX - ADC Multiplexer Selection Register
http://find/http://goback/7/25/2019 07-ADC
75/109
ADMUX ADC Multiplexer Selection RegisterThis register is Used to select ADC channel
Bit Symbol Description Bit Value
7 REFS1 Reference Selection Bit 0
6 REFS2 Reference Selection Bit 0
5 ADLAR ADC Left Adjust Result 1
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 11/19
OutlineAnalog to Digital Conversion
Coding ADC
ADC InitilizationADCSRAADCSRBADMUXACSRProgram
ADMUX - ADC Multiplexer Selection Register
http://find/7/25/2019 07-ADC
76/109
U C u t p e e Se ect o eg steThis register is Used to select ADC channel
Bit Symbol Description Bit Value
7 REFS1 Reference Selection Bit 0
6 REFS2 Reference Selection Bit 0
5 ADLAR ADC Left Adjust Result 14 MUX4 ADC Channel selection bit-4
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 11/19
OutlineAnalog to Digital Conversion
Coding ADC
ADC InitilizationADCSRAADCSRBADMUXACSRProgram
ADMUX - ADC Multiplexer Selection Register
http://find/7/25/2019 07-ADC
77/109
p gThis register is Used to select ADC channel
Bit Symbol Description Bit Value
7 REFS1 Reference Selection Bit 0
6 REFS2 Reference Selection Bit 0
5 ADLAR ADC Left Adjust Result 14 MUX4 ADC Channel selection bit-4 0
3 MUX3 ADC Channel selection bit-3 0
2 MUX2 ADC Channel selection bit-2 0
1 MUX1 ADC Channel selection bit-1 0
0 MUX0 ADC Channel selection bit-0 0
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 11/19
OutlineAnalog to Digital Conversion
Coding ADC
ADC InitilizationADCSRAADCSRBADMUXACSRProgram
ADMUX - ADC Multiplexer Selection Register
http://find/7/25/2019 07-ADC
78/109
p gThis register is Used to select ADC channel
Bit Symbol Description Bit Value
7 REFS1 Reference Selection Bit 0
6 REFS2 Reference Selection Bit 0
5 ADLAR ADC Left Adjust Result 14 MUX4 ADC Channel selection bit-4 0
3 MUX3 ADC Channel selection bit-3 0
2 MUX2 ADC Channel selection bit-2 0
1 MUX1 ADC Channel selection bit-1 0
0 MUX0 ADC Channel selection bit-0 0
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 11/19
OutlineAnalog to Digital Conversion
Coding ADC
ADC InitilizationADCSRAADCSRBADMUXACSRProgram
ADMUX - ADC Multiplexer Selection Register
http://find/7/25/2019 07-ADC
79/109
p gThis register is Used to select ADC channel
Bit Symbol Description Bit Value
7 REFS1 Reference Selection Bit 0
6 REFS2 Reference Selection Bit 0
5 ADLAR ADC Left Adjust Result 1
4 MUX4 ADC Channel selection bit-4 0
3 MUX3 ADC Channel selection bit-3 0
2 MUX2 ADC Channel selection bit-2 0
1 MUX1 ADC Channel selection bit-1 0
0 MUX0 ADC Channel selection bit-0 0
ADMUX=0x20
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 11/19
OutlineAnalog to Digital Conversion
Coding ADC
ADC InitilizationADCSRAADCSRBADMUXACSRProgram
ADC Reference Voltage Selection Bit
http://find/7/25/2019 07-ADC
80/109
g
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 12/19
OutlineAnalog to Digital Conversion
Coding ADC
ADC InitilizationADCSRAADCSRBADMUXACSRProgram
ADC Reference Voltage Selection Bit
http://find/7/25/2019 07-ADC
81/109
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 12/19
OutlineAnalog to Digital ConversionCoding ADC
ADC InitilizationADCSRAADCSRBADMUXACSRProgram
ADC Left Adjustment Bit
http://find/http://goback/7/25/2019 07-ADC
82/109
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 13/19
OutlineAnalog to Digital ConversionCoding ADC
ADC InitilizationADCSRAADCSRBADMUXACSRProgram
ADC Left Adjustment Bit
http://find/7/25/2019 07-ADC
83/109
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 13/19
OutlineAnalog to Digital ConversionCoding ADC
ADC InitilizationADCSRA
ADCSRBADMUXACSRProgram
ADMUX5:0 Channel Selection
http://find/7/25/2019 07-ADC
84/109
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 14/19
OutlineAnalog to Digital ConversionCoding ADC
ADC InitilizationADCSRA
ADCSRBADMUXACSRProgram
ADMUX5:0 Channel Selection
http://find/7/25/2019 07-ADC
85/109
MUX5:0 ADC Channel
00000 ADC0
00001 ADC1
00010 ADC200011 ADC3
00100 ADC4
00101 ADC5
00110 ADC600111 ADC7
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 14/19
OutlineAnalog to Digital ConversionCoding ADC
ADC InitilizationADCSRA
ADCSRBADMUXACSRProgram
ADMUX5:0 Channel Selection
http://find/http://goback/7/25/2019 07-ADC
86/109
MUX5:0 ADC Channel
00000 ADC0
00001 ADC1
00010 ADC200011 ADC3
00100 ADC4
00101 ADC5
00110 ADC600111 ADC7
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 14/19
OutlineAnalog to Digital ConversionCoding ADC
ADC InitilizationADCSRA
ADCSRBADMUXACSRProgram
ADMUX5:0 Channel Selection
http://find/http://goback/7/25/2019 07-ADC
87/109
MUX5:0 ADC Channel
00000 ADC0
00001 ADC1
00010 ADC200011 ADC3
00100 ADC4
00101 ADC5
00110 ADC6
00111 ADC7
MUX5:0 ADC Channel
10000 ADC8
10001 ADC9
10010 ADC1010011 ADC11
10100 ADC12
10101 ADC13
10110 ADC14
10111 ADC15
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 14/19
OutlineAnalog to Digital ConversionCoding ADC
ADC InitilizationADCSRA
ADCSRBADMUXACSRProgram
ACSR - Analog Comparator Control and Status RegisterThis register is Used for Analog Comparator
http://find/7/25/2019 07-ADC
88/109
This register is Used for Analog Comparator
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 15/19
OutlineAnalog to Digital ConversionCoding ADC
ADC InitilizationADCSRA
ADCSRBADMUXACSRProgram
ACSR - Analog Comparator Control and Status RegisterThis register is Used for Analog Comparator
http://find/7/25/2019 07-ADC
89/109
This register is Used for Analog Comparator
Bit Symbol Description Bit Value
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 15/19
OutlineAnalog to Digital ConversionCoding ADC
ADC InitilizationADCSRA
ADCSRBADMUXACSRProgram
ACSR - Analog Comparator Control and Status RegisterThis register is Used for Analog Comparator
http://find/7/25/2019 07-ADC
90/109
g U g p
Bit Symbol Description Bit Value
7 ACD Analog Comparator Disable
www e-yantra org Firebird ATmega2560 Robotics Research Platform 15/19
OutlineAnalog to Digital ConversionCoding ADC
ADC InitilizationADCSRA
ADCSRBADMUXACSRProgram
ACSR - Analog Comparator Control and Status RegisterThis register is Used for Analog Comparator
http://find/7/25/2019 07-ADC
91/109
g g p
Bit Symbol Description Bit Value
7 ACD Analog Comparator Disable 1
www e-yantra org Firebird ATmega2560 Robotics Research Platform 15/19
OutlineAnalog to Digital ConversionCoding ADC
ADC InitilizationADCSRA
ADCSRBADMUXACSRProgram
ACSR - Analog Comparator Control and Status RegisterThis register is Used for Analog Comparator
http://find/7/25/2019 07-ADC
92/109
g g p
Bit Symbol Description Bit Value
7 ACD Analog Comparator Disable 1
6 ACBG Analog Comparator Bandgap Select 0
5 ACO Analog Comparator Output 0
4 ACI Analog Comparator Interrupt Flag 0
3 ACIE Analog Comparator Interrupt Enable 0
2 ACIC Analog Comparator Input Capture Enable 0
1 ACIS1 Analog Comparator Interrupt Mode Select 0
0 ACIS0 Analog Comparator Interrupt Mode Select 0
www e-yantra org Firebird ATmega2560 Robotics Research Platform 15/19
OutlineAnalog to Digital ConversionCoding ADC
ADC InitilizationADCSRA
ADCSRBADMUXACSRProgram
ACSR - Analog Comparator Control and Status RegisterThis register is Used for Analog Comparator
http://find/7/25/2019 07-ADC
93/109
Bit Symbol Description Bit Value
7 ACD Analog Comparator Disable 1
6 ACBG Analog Comparator Bandgap Select 0
5 ACO Analog Comparator Output 0
4 ACI Analog Comparator Interrupt Flag 0
3 ACIE Analog Comparator Interrupt Enable 0
2 ACIC Analog Comparator Input Capture Enable 0
1 ACIS1 Analog Comparator Interrupt Mode Select 0
0 ACIS0 Analog Comparator Interrupt Mode Select 0
www e-yantra org Firebird ATmega2560 Robotics Research Platform 15/19
OutlineAnalog to Digital Conversion
Coding ADC
ADC InitilizationADCSRA
ADCSRBADMUXACSRProgram
ACSR - Analog Comparator Control and Status RegisterThis register is Used for Analog Comparator
http://find/7/25/2019 07-ADC
94/109
Bit Symbol Description Bit Value
7 ACD Analog Comparator Disable 1
6 ACBG Analog Comparator Bandgap Select 0
5 ACO Analog Comparator Output 0
4 ACI Analog Comparator Interrupt Flag 0
3 ACIE Analog Comparator Interrupt Enable 0
2 ACIC Analog Comparator Input Capture Enable 0
1 ACIS1 Analog Comparator Interrupt Mode Select 0
0 ACIS0 Analog Comparator Interrupt Mode Select 0
ACSR=0x80
www e yantra org Firebird ATmega2560 Robotics Research Platform 15/19
OutlineAnalog to Digital Conversion
Coding ADC
ADC InitilizationADCSRA
ADCSRBADMUXACSRProgram
Syntax for C-ProgramADC Initialization
http://find/7/25/2019 07-ADC
95/109
www e yantra org Firebird ATmega2560 Robotics Research Platform 16/19
OutlineAnalog to Digital Conversion
Coding ADC
ADC InitilizationADCSRA
ADCSRBADMUXACSRProgram
Syntax for C-ProgramADC Initialization
http://find/7/25/2019 07-ADC
96/109
ADC Port Pin Config
www e yantra org Firebird ATmega2560 Robotics Research Platform 16/19
OutlineAnalog to Digital Conversion
Coding ADC
ADC InitilizationADCSRA
ADCSRBADMUXACSRProgram
Syntax for C-ProgramADC Initialization
http://find/7/25/2019 07-ADC
97/109
ADC Port Pin Config
void adc_pin_config (void) //Configure ADC Ports{
Port K and Port F must be defined Input
}
www e yantra org Firebird ATmega2560 Robotics Research Platform 16/19
OutlineAnalog to Digital Conversion
Coding ADC
ADC InitilizationADCSRA
ADCSRBADMUXACSRProgram
Syntax for C-ProgramADC Initialization
http://find/7/25/2019 07-ADC
98/109
ADC Port Pin Config
void adc_pin_config (void) //Configure ADC Ports{
Port K and Port F must be defined Input
}
ADC Initialization
www e yantra org Firebird ATmega2560 Robotics Research Platform 16/19
OutlineAnalog to Digital Conversion
Coding ADC
ADC InitilizationADCSRA
ADCSRBADMUXACSRProgram
Syntax for C-ProgramADC Initialization
http://find/7/25/2019 07-ADC
99/109
ADC Port Pin Config
void adc_pin_config (void) //Configure ADC Ports{
Port K and Port F must be defined Input
}
ADC Initialization
void adc_init() //Set Register Values for starting ADC{
ADCSRA =
ADCSRB =ADMUX =ADCSRA =ACSR =
}
www e yantra org Firebird ATmega2560 Robotics Research Platform 16/19
OutlineAnalog to Digital Conversion
Coding ADC
ADC InitilizationADCSRA
ADCSRBADMUXACSRProgram
Syntax for C-ProgramADC Initialization
http://find/7/25/2019 07-ADC
100/109
ADC Port Pin Config
void adc_pin_config (void) //Configure ADC Ports{
Port K and Port F must be defined Input
}
ADC Initialization
void adc_init() //Set Register Values for starting ADC{
ADCSRA =
ADCSRB =ADMUX =ADCSRA =ACSR =
}
t Fi bi d AT 2560 R b ti R h Pl tf 16/19
OutlineAnalog to Digital Conversion
Coding ADC
ADC InitilizationADCSRA
ADCSRBADMUXACSRProgram
Syntax for C-ProgramProgram
http://find/7/25/2019 07-ADC
101/109
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 17/19
Outline
Analog to Digital ConversionCoding ADC
ADC InitilizationADCSRA
ADCSRBADMUXACSRProgram
Syntax for C-ProgramProgram
http://find/7/25/2019 07-ADC
102/109
Main Program
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 17/19
Outline
Analog to Digital ConversionCoding ADC
ADC InitilizationADCSRA
ADCSRBADMUXACSRProgram
Syntax for C-ProgramProgram
http://find/7/25/2019 07-ADC
103/109
Main Program
int main(void){
init_devices();lcd_init();while(1){
print_sensor(1,1,0);
print_sensor(1,4,1);print_sensor(1,8,2);
}}
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 17/19
Outline
Analog to Digital ConversionCoding ADC
ADC InitilizationADCSRA
ADCSRBADMUXACSRProgram
Syntax for C-ProgramProgram
http://find/7/25/2019 07-ADC
104/109
Main Programint main(void){
init_devices();lcd_init();while(1){
print_sensor(1,1,0);
print_sensor(1,4,1);print_sensor(1,8,2);
}}
Print ADC Value on LCD
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 17/19
Outline
Analog to Digital ConversionCoding ADC
ADC InitilizationADCSRA
ADCSRBADMUXACSRProgram
Syntax for C-ProgramProgram
http://find/7/25/2019 07-ADC
105/109
Main Programint main(void){
init_devices();lcd_init();while(1){
print_sensor(1,1,0);
print_sensor(1,4,1);print_sensor(1,8,2);
}}
Print ADC Value on LCD
void print_sensor(char row, char column, unsigned char channel){
ADC_Value = ADC_Conversion(channel);lcd_print(row, column, ADC_Value, 3);
}
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 17/19
Outline
Analog to Digital ConversionCoding ADC
ADC InitilizationADCSRA
ADCSRBADMUXACSRProgram
Syntax for C-ProgramProgram
http://find/7/25/2019 07-ADC
106/109
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 18/19
Outline
Analog to Digital ConversionCoding ADC
ADC InitilizationADCSRA
ADCSRBADMUXACSRProgram
Syntax for C-ProgramProgram
http://find/7/25/2019 07-ADC
107/109
ADC Conversion Function
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 18/19
Outline
Analog to Digital ConversionCoding ADC
ADC InitilizationADCSRA
ADCSRBADMUXACSRProgram
Syntax for C-ProgramProgram
http://find/7/25/2019 07-ADC
108/109
ADC Conversion Functionunsigned char ADC_Conversion(unsigned char Ch){
unsigned char a;if(Ch>7)
{ADCSRB = 0x08;
}Ch = Ch & 0x07;ADMUX= 0x20 | Ch;ADCSRA = ADCSRA | 0x40; //Set start conversion bitwhile((ADCSRA&0x10)==0); //Wait for ADC conversion to completea=ADCH;ADCSRA = ADCSRA|0x10; //clear ADIF (ADC Interrupt Flag) by writing 1 to itADCSRB = 0x00;return a;
}
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 18/19
Outline
Analog to Digital ConversionCoding ADC
ADC InitilizationADCSRA
ADCSRBADMUXACSRProgram
http://find/7/25/2019 07-ADC
109/109
Thank You!
Post your queries on: http://qa.e-yantra.org/
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 19/19
http://find/