Vous êtes sur la page 1sur 109

Outline

Analog to Digital Conversion


Coding ADC

Using ADC on Firebird-V Robot


E-Yantra Team
Embedded Real-Time Systems Lab
Indian Institute of Technology-Bombay

IIT Bombay
September 26, 2012

www.e-yantra.org

Firebird ATmega2560 Robotics Research Platform

1/19

Outline
Analog to Digital Conversion
Coding ADC

Agenda for Discussion


1

Analog to Digital Conversion


Need for ADC
ADC of ATmega2560
ADC Channels

Coding ADC
ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

www.e-yantra.org

Firebird ATmega2560 Robotics Research Platform

2/19

Outline
Analog to Digital Conversion
Coding ADC

Need for ADC


ADC of ATmega2560
ADC Channels

Need for ADC

www.e-yantra.org

Firebird ATmega2560 Robotics Research Platform

3/19

Outline
Analog to Digital Conversion
Coding ADC

Need for ADC


ADC of ATmega2560
ADC Channels

Need for ADC

X IR Proximity sensors

www.e-yantra.org

Firebird ATmega2560 Robotics Research Platform

3/19

Outline
Analog to Digital Conversion
Coding ADC

Need for ADC


ADC of ATmega2560
ADC Channels

Need for ADC

X IR Proximity sensors
X Sharp IR Range sensors

www.e-yantra.org

Firebird ATmega2560 Robotics Research Platform

3/19

Outline
Analog to Digital Conversion
Coding ADC

Need for ADC


ADC of ATmega2560
ADC Channels

Need for ADC

X IR Proximity sensors
X Sharp IR Range sensors
X white line sensors

www.e-yantra.org

Firebird ATmega2560 Robotics Research Platform

3/19

Outline
Analog to Digital Conversion
Coding ADC

Need for ADC


ADC of ATmega2560
ADC Channels

Need for ADC

X IR Proximity sensors
X Sharp IR Range sensors
X white line sensors
X battery voltage sensing

www.e-yantra.org

Firebird ATmega2560 Robotics Research Platform

3/19

Outline
Analog to Digital Conversion
Coding ADC

Need for ADC


ADC of ATmega2560
ADC Channels

Need for ADC

X IR Proximity sensors
X Sharp IR Range sensors
X white line sensors
X battery voltage sensing
X etc..

www.e-yantra.org

Firebird ATmega2560 Robotics Research Platform

3/19

Outline
Analog to Digital Conversion
Coding ADC

Need for ADC


ADC of ATmega2560
ADC Channels

In-Built ADC of ATmega2560

www.e-yantra.org

Firebird ATmega2560 Robotics Research Platform

4/19

Outline
Analog to Digital Conversion
Coding ADC

Need for ADC


ADC of ATmega2560
ADC Channels

In-Built ADC of ATmega2560


X 10-bit Resolution

www.e-yantra.org

Firebird ATmega2560 Robotics Research Platform

4/19

Outline
Analog to Digital Conversion
Coding ADC

Need for ADC


ADC of ATmega2560
ADC Channels

In-Built ADC of ATmega2560


X 10-bit Resolution
X 13 - 260 s Conversion Time

www.e-yantra.org

Firebird ATmega2560 Robotics Research Platform

4/19

Outline
Analog to Digital Conversion
Coding ADC

Need for ADC


ADC of ATmega2560
ADC Channels

In-Built ADC of ATmega2560


X 10-bit Resolution
X 13 - 260 s Conversion Time
X 16 Multiplexed Single Ended Input Channels

www.e-yantra.org

Firebird ATmega2560 Robotics Research Platform

4/19

Outline
Analog to Digital Conversion
Coding ADC

Need for ADC


ADC of ATmega2560
ADC Channels

In-Built ADC of ATmega2560


X 10-bit Resolution
X 13 - 260 s Conversion Time
X 16 Multiplexed Single Ended Input Channels
X 14 Differential input channels

www.e-yantra.org

Firebird ATmega2560 Robotics Research Platform

4/19

Outline
Analog to Digital Conversion
Coding ADC

Need for ADC


ADC of ATmega2560
ADC Channels

In-Built ADC of ATmega2560


X 10-bit Resolution
X 13 - 260 s Conversion Time
X 16 Multiplexed Single Ended Input Channels
X 14 Differential input channels
X Optional Left Adjustment for ADC Result Readout

www.e-yantra.org

Firebird ATmega2560 Robotics Research Platform

4/19

Outline
Analog to Digital Conversion
Coding ADC

Need for ADC


ADC of ATmega2560
ADC Channels

In-Built ADC of ATmega2560


X 10-bit Resolution
X 13 - 260 s Conversion Time
X 16 Multiplexed Single Ended Input Channels
X 14 Differential input channels
X Optional Left Adjustment for ADC Result Readout
X 0 - VCC ADC Input Voltage Range

www.e-yantra.org

Firebird ATmega2560 Robotics Research Platform

4/19

Outline
Analog to Digital Conversion
Coding ADC

Need for ADC


ADC of ATmega2560
ADC Channels

In-Built ADC of ATmega2560


X 10-bit Resolution
X 13 - 260 s Conversion Time
X 16 Multiplexed Single Ended Input Channels
X 14 Differential input channels
X Optional Left Adjustment for ADC Result Readout
X 0 - VCC ADC Input Voltage Range
X 2.7 - VCC Differential ADC Voltage Range

www.e-yantra.org

Firebird ATmega2560 Robotics Research Platform

4/19

Outline
Analog to Digital Conversion
Coding ADC

Need for ADC


ADC of ATmega2560
ADC Channels

In-Built ADC of ATmega2560


X 10-bit Resolution
X 13 - 260 s Conversion Time
X 16 Multiplexed Single Ended Input Channels
X 14 Differential input channels
X Optional Left Adjustment for ADC Result Readout
X 0 - VCC ADC Input Voltage Range
X 2.7 - VCC Differential ADC Voltage Range
X Selectable 2.56V or 1.1V ADC Reference Voltage

www.e-yantra.org

Firebird ATmega2560 Robotics Research Platform

4/19

Outline
Analog to Digital Conversion
Coding ADC

Need for ADC


ADC of ATmega2560
ADC Channels

In-Built ADC of ATmega2560


X 10-bit Resolution
X 13 - 260 s Conversion Time
X 16 Multiplexed Single Ended Input Channels
X 14 Differential input channels
X Optional Left Adjustment for ADC Result Readout
X 0 - VCC ADC Input Voltage Range
X 2.7 - VCC Differential ADC Voltage Range
X Selectable 2.56V or 1.1V ADC Reference Voltage
X Free Running or Single Conversion Mode

www.e-yantra.org

Firebird ATmega2560 Robotics Research Platform

4/19

Outline
Analog to Digital Conversion
Coding ADC

Need for ADC


ADC of ATmega2560
ADC Channels

In-Built ADC of ATmega2560


X 10-bit Resolution
X 13 - 260 s Conversion Time
X 16 Multiplexed Single Ended Input Channels
X 14 Differential input channels
X Optional Left Adjustment for ADC Result Readout
X 0 - VCC ADC Input Voltage Range
X 2.7 - VCC Differential ADC Voltage Range
X Selectable 2.56V or 1.1V ADC Reference Voltage
X Free Running or Single Conversion Mode
X Interrupt on ADC Conversion Complete

www.e-yantra.org

Firebird ATmega2560 Robotics Research Platform

4/19

Outline
Analog to Digital Conversion
Coding ADC

Need for ADC


ADC of ATmega2560
ADC Channels

ADC Channels

www.e-yantra.org

Firebird ATmega2560 Robotics Research Platform

5/19

Outline
Analog to Digital Conversion
Coding ADC

Need for ADC


ADC of ATmega2560
ADC Channels

ADC Channels
Pin No.
97
96
95
94
93
92
91
90
89
88
87
86
85
84
83
82

Pin Name
PF0/ADC0
PF1/ADC1
PF2/ADC2
PF3/ADC3
PF4/ADC4
PF5/ADC5
PF6/ADC6
PF7/ADC7
PK0/ADC8
PK1/ADC9
PK2/ADC10
PK3/ADC11
PK4/ADC12
PK5/ADC13
PK6/ADC14
PK7/ADC15

Description
ADC input for Battery Voltage Monitoring
ADC input for White Line Sensor 3(Right)
ADC input for White Line Sensor 2(Center)
ADC input for White Line Sensor 1(Left)
ADC input for IR proximity analog sensor 1
ADC input for IR proximity analog sensor 2
ADC input for IR proximity analog sensor 3
ADC input for IR proximity analog sensor 4
ADC input for IR proximity analog sensor 5
ADC input for Sharp IR range sensor 1
ADC input for Sharp IR range sensor 2
ADC input for Sharp IR range sensor 3
ADC input for Sharp IR range sensor 4
ADC input for Sharp IR range sensor 5
ADC input for Servo Pod 1
ADC input for Servo Pod 2
www.e-yantra.org

Firebird ATmega2560 Robotics Research Platform

5/19

Outline
Analog to Digital Conversion
Coding ADC

Need for ADC


ADC of ATmega2560
ADC Channels

ADC Channels
Pin No.
97
96
95
94
93
92
91
90
89
88
87
86
85
84
83
82

Pin Name
PF0/ADC0
PF1/ADC1
PF2/ADC2
PF3/ADC3
PF4/ADC4
PF5/ADC5
PF6/ADC6
PF7/ADC7
PK0/ADC8
PK1/ADC9
PK2/ADC10
PK3/ADC11
PK4/ADC12
PK5/ADC13
PK6/ADC14
PK7/ADC15

Description
ADC input for Battery Voltage Monitoring
ADC input for White Line Sensor 3(Right)
ADC input for White Line Sensor 2(Center)
ADC input for White Line Sensor 1(Left)
ADC input for IR proximity analog sensor 1
ADC input for IR proximity analog sensor 2
ADC input for IR proximity analog sensor 3
ADC input for IR proximity analog sensor 4
ADC input for IR proximity analog sensor 5
ADC input for Sharp IR range sensor 1
ADC input for Sharp IR range sensor 2
ADC input for Sharp IR range sensor 3
ADC input for Sharp IR range sensor 4
ADC input for Sharp IR range sensor 5
ADC input for Servo Pod 1
ADC input for Servo Pod 2
www.e-yantra.org

Firebird ATmega2560 Robotics Research Platform

5/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

Steps for Using ADC in AVR

www.e-yantra.org

Firebird ATmega2560 Robotics Research Platform

6/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

Steps for Using ADC in AVR


1

Enabling ADC :
Set the ADEN bit of the ADC Control and Status Register ADCSRA
to logic 1.

www.e-yantra.org

Firebird ATmega2560 Robotics Research Platform

6/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

Steps for Using ADC in AVR


1

Enabling ADC :
Set the ADEN bit of the ADC Control and Status Register ADCSRA
to logic 1.

ADC Prescaler Division Ratio :


Set the bits ADPS 2:0 of the Register ADCSRA. ADC needs clock
frequency between 50KHz to 200KHz

www.e-yantra.org

Firebird ATmega2560 Robotics Research Platform

6/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

Steps for Using ADC in AVR


1

Enabling ADC :
Set the ADEN bit of the ADC Control and Status Register ADCSRA
to logic 1.

ADC Prescaler Division Ratio :


Set the bits ADPS 2:0 of the Register ADCSRA. ADC needs clock
frequency between 50KHz to 200KHz

Selecting reference voltage source for the ADC :


Select the reference voltage for ADC as AREF by making
REFS1:REFS0 as 00 (5 V)

www.e-yantra.org

Firebird ATmega2560 Robotics Research Platform

6/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

Steps for Using ADC in AVR


1

Enabling ADC :
Set the ADEN bit of the ADC Control and Status Register ADCSRA
to logic 1.

ADC Prescaler Division Ratio :


Set the bits ADPS 2:0 of the Register ADCSRA. ADC needs clock
frequency between 50KHz to 200KHz

Selecting reference voltage source for the ADC :


Select the reference voltage for ADC as AREF by making
REFS1:REFS0 as 00 (5 V)

Left/Right Adjustment :
ADCH contains the two most significant bits and ADCL contains
the remaining eight bits. We left shift this data so that ADCH will
contain the eight bits including the MSB and ADCL will contain
remaining two LSBs
www.e-yantra.org

Firebird ATmega2560 Robotics Research Platform

6/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

ADC Initilization

www.e-yantra.org

Firebird ATmega2560 Robotics Research Platform

7/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

ADC Initilization

X To Program ADC, we have to initialize some register before use it.

www.e-yantra.org

Firebird ATmega2560 Robotics Research Platform

7/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

ADC Initilization

X 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

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

ADC Initilization

X 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

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

ADC Initilization

X To Program ADC, we have to initialize some register before use it.


These registers are:
1

ADCSRA - ADC Control and Status Register A

ADCSRB - ADC Control and Status Register B

www.e-yantra.org

Firebird ATmega2560 Robotics Research Platform

7/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

ADC Initilization

X To Program ADC, we have to initialize some register before use it.


These registers are:
1

ADCSRA - ADC Control and Status Register A

ADCSRB - ADC Control and Status Register B

ADMUX - ADC Multiplexer Selection Register

www.e-yantra.org

Firebird ATmega2560 Robotics Research Platform

7/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

ADC Initilization

X To Program ADC, we have to initialize some register before use it.


These registers are:
1

ADCSRA - ADC Control and Status Register A

ADCSRB - ADC Control and Status Register B

ADMUX - ADC Multiplexer Selection Register

ACSR - Analog Comparator Control and Status Register

www.e-yantra.org

Firebird ATmega2560 Robotics Research Platform

7/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

ADC Initilization

X To Program ADC, we have to initialize some register before use it.


These registers are:
1

ADCSRA - ADC Control and Status Register A

ADCSRB - ADC Control and Status Register B

ADMUX - ADC Multiplexer Selection Register

ACSR - Analog Comparator Control and Status Register

X All these Registers are 8 Bit.

www.e-yantra.org

Firebird ATmega2560 Robotics Research Platform

7/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

ADCSRA- ADC Control and Status Register A


This register is Used to control ADC operation

www.e-yantra.org

Firebird ATmega2560 Robotics Research Platform

8/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

ADCSRA- ADC Control and Status Register A


This register is Used to control ADC operation

Bit

Symbol

Description

www.e-yantra.org

Bit Value

Firebird ATmega2560 Robotics Research Platform

8/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

ADCSRA- ADC Control and Status Register A


This register is Used to control ADC operation

Bit
7

Symbol
ADEN

Description
ADC Enable

www.e-yantra.org

Bit Value

Firebird ATmega2560 Robotics Research Platform

8/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

ADCSRA- ADC Control and Status Register A


This register is Used to control ADC operation

Bit
7

Symbol
ADEN

Description
ADC Enable

www.e-yantra.org

Bit Value
1

Firebird ATmega2560 Robotics Research Platform

8/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

ADCSRA- ADC Control and Status Register A


This register is Used to control ADC operation

Bit
7
6

Symbol
ADEN
ADSC

Description
ADC Enable
ADC Start Conversion

www.e-yantra.org

Bit Value
1

Firebird ATmega2560 Robotics Research Platform

8/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

ADCSRA- ADC Control and Status Register A


This register is Used to control ADC operation

Bit
7
6

Symbol
ADEN
ADSC

Description
ADC Enable
ADC Start Conversion

www.e-yantra.org

Bit Value
1
0

Firebird ATmega2560 Robotics Research Platform

8/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

ADCSRA- ADC Control and Status Register A


This register is Used to control ADC operation

Bit
7
6
5

Symbol
ADEN
ADSC
ADATE

Description
ADC Enable
ADC Start Conversion
ADC Auto Trigger Enable

www.e-yantra.org

Bit Value
1
0

Firebird ATmega2560 Robotics Research Platform

8/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

ADCSRA- ADC Control and Status Register A


This register is Used to control ADC operation

Bit
7
6
5

Symbol
ADEN
ADSC
ADATE

Description
ADC Enable
ADC Start Conversion
ADC Auto Trigger Enable

www.e-yantra.org

Bit Value
1
0
0

Firebird ATmega2560 Robotics Research Platform

8/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

ADCSRA- ADC Control and Status Register A


This register is Used to control ADC operation

Bit
7
6
5
4

Symbol
ADEN
ADSC
ADATE
ADIF

Description
ADC Enable
ADC Start Conversion
ADC Auto Trigger Enable
ADC Interrupt Flag

www.e-yantra.org

Bit Value
1
0
0

Firebird ATmega2560 Robotics Research Platform

8/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

ADCSRA- ADC Control and Status Register A


This register is Used to control ADC operation

Bit
7
6
5
4

Symbol
ADEN
ADSC
ADATE
ADIF

Description
ADC Enable
ADC Start Conversion
ADC Auto Trigger Enable
ADC Interrupt Flag

www.e-yantra.org

Bit Value
1
0
0
0

Firebird ATmega2560 Robotics Research Platform

8/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

ADCSRA- ADC Control and Status Register A


This register is Used to control ADC operation

Bit
7
6
5
4
3

Symbol
ADEN
ADSC
ADATE
ADIF
ADIE

Description
ADC Enable
ADC Start Conversion
ADC Auto Trigger Enable
ADC Interrupt Flag
ADC Interrupt Enable

www.e-yantra.org

Bit Value
1
0
0
0

Firebird ATmega2560 Robotics Research Platform

8/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

ADCSRA- ADC Control and Status Register A


This register is Used to control ADC operation

Bit
7
6
5
4
3

Symbol
ADEN
ADSC
ADATE
ADIF
ADIE

Description
ADC Enable
ADC Start Conversion
ADC Auto Trigger Enable
ADC Interrupt Flag
ADC Interrupt Enable

www.e-yantra.org

Bit Value
1
0
0
0
0

Firebird ATmega2560 Robotics Research Platform

8/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

ADCSRA- ADC Control and Status Register A


This register is Used to control ADC operation

Bit
7
6
5
4
3
2

Symbol
ADEN
ADSC
ADATE
ADIF
ADIE
ADPS2

Description
ADC Enable
ADC Start Conversion
ADC Auto Trigger Enable
ADC Interrupt Flag
ADC Interrupt Enable
ADC Prescaler Select Bits

www.e-yantra.org

Bit Value
1
0
0
0
0

Firebird ATmega2560 Robotics Research Platform

8/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

ADCSRA- ADC Control and Status Register A


This register is Used to control ADC operation

Bit
7
6
5
4
3
2

Symbol
ADEN
ADSC
ADATE
ADIF
ADIE
ADPS2

Description
ADC Enable
ADC Start Conversion
ADC Auto Trigger Enable
ADC Interrupt Flag
ADC Interrupt Enable
ADC Prescaler Select Bits

www.e-yantra.org

Bit Value
1
0
0
0
0
1

Firebird ATmega2560 Robotics Research Platform

8/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

ADCSRA- ADC Control and Status Register A


This register is Used to control ADC operation

Bit
7
6
5
4
3
2
1

Symbol
ADEN
ADSC
ADATE
ADIF
ADIE
ADPS2
ADPS1

Description
ADC Enable
ADC Start Conversion
ADC Auto Trigger Enable
ADC Interrupt Flag
ADC Interrupt Enable
ADC Prescaler Select Bits
ADC Prescaler Select Bits

www.e-yantra.org

Bit Value
1
0
0
0
0
1

Firebird ATmega2560 Robotics Research Platform

8/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

ADCSRA- ADC Control and Status Register A


This register is Used to control ADC operation

Bit
7
6
5
4
3
2
1

Symbol
ADEN
ADSC
ADATE
ADIF
ADIE
ADPS2
ADPS1

Description
ADC Enable
ADC Start Conversion
ADC Auto Trigger Enable
ADC Interrupt Flag
ADC Interrupt Enable
ADC Prescaler Select Bits
ADC Prescaler Select Bits

www.e-yantra.org

Bit Value
1
0
0
0
0
1
1

Firebird ATmega2560 Robotics Research Platform

8/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

ADCSRA- ADC Control and Status Register A


This register is Used to control ADC operation

Bit
7
6
5
4
3
2
1
0

Symbol
ADEN
ADSC
ADATE
ADIF
ADIE
ADPS2
ADPS1
ADPS0

Description
ADC Enable
ADC Start Conversion
ADC Auto Trigger Enable
ADC Interrupt Flag
ADC Interrupt Enable
ADC Prescaler Select Bits
ADC Prescaler Select Bits
ADC Prescaler Select Bits

www.e-yantra.org

Bit Value
1
0
0
0
0
1
1

Firebird ATmega2560 Robotics Research Platform

8/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

ADCSRA- ADC Control and Status Register A


This register is Used to control ADC operation

Bit
7
6
5
4
3
2
1
0

Symbol
ADEN
ADSC
ADATE
ADIF
ADIE
ADPS2
ADPS1
ADPS0

Description
ADC Enable
ADC Start Conversion
ADC Auto Trigger Enable
ADC Interrupt Flag
ADC Interrupt Enable
ADC Prescaler Select Bits
ADC Prescaler Select Bits
ADC Prescaler Select Bits

www.e-yantra.org

Bit Value
1
0
0
0
0
1
1
0

Firebird ATmega2560 Robotics Research Platform

8/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

ADCSRA- ADC Control and Status Register A


This register is Used to control ADC operation

Bit
7
6
5
4
3
2
1
0

Symbol
ADEN
ADSC
ADATE
ADIF
ADIE
ADPS2
ADPS1
ADPS0

Description
ADC Enable
ADC Start Conversion
ADC Auto Trigger Enable
ADC Interrupt Flag
ADC Interrupt Enable
ADC Prescaler Select Bits
ADC Prescaler Select Bits
ADC Prescaler Select Bits

www.e-yantra.org

Bit Value
1
0
0
0
0
1
1
0

Firebird ATmega2560 Robotics Research Platform

8/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

ADCSRA- ADC Control and Status Register A


This register is Used to control ADC operation

Bit
7
6
5
4
3
2
1
0

Symbol
ADEN
ADSC
ADATE
ADIF
ADIE
ADPS2
ADPS1
ADPS0

Description
ADC Enable
ADC Start Conversion
ADC Auto Trigger Enable
ADC Interrupt Flag
ADC Interrupt Enable
ADC Prescaler Select Bits
ADC Prescaler Select Bits
ADC Prescaler Select Bits

Bit Value
1
0
0
0
0
1
1
0

ADCSRA = 0x86

www.e-yantra.org

Firebird ATmega2560 Robotics Research Platform

8/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

ADC Prescaler Selection Bit

www.e-yantra.org

Firebird ATmega2560 Robotics Research Platform

9/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

ADC Prescaler Selection Bit

www.e-yantra.org

Firebird ATmega2560 Robotics Research Platform

9/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

ADCSRB- ADC Control and Status Register B


This register is Used to control ADC operation

www.e-yantra.org

Firebird ATmega2560 Robotics Research Platform

10/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

ADCSRB- ADC Control and Status Register B


This register is Used to control ADC operation

Bit

Symbol

Description

www.e-yantra.org

Bit Value

Firebird ATmega2560 Robotics Research Platform

10/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

ADCSRB- ADC Control and Status Register B


This register is Used to control ADC operation

Bit
7

Symbol
-

Description
Reserved Bit

www.e-yantra.org

Bit Value

Firebird ATmega2560 Robotics Research Platform

10/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

ADCSRB- ADC Control and Status Register B


This register is Used to control ADC operation

Bit
7

Symbol
-

Description
Reserved Bit

www.e-yantra.org

Bit Value
-

Firebird ATmega2560 Robotics Research Platform

10/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

ADCSRB- ADC Control and Status Register B


This register is Used to control ADC operation

Bit
7
6

Symbol
ACME

Description
Reserved Bit
Analog Comparator Multiplexer Enable

www.e-yantra.org

Bit Value
-

Firebird ATmega2560 Robotics Research Platform

10/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

ADCSRB- ADC Control and Status Register B


This register is Used to control ADC operation

Bit
7
6

Symbol
ACME

Description
Reserved Bit
Analog Comparator Multiplexer Enable

www.e-yantra.org

Bit Value
0

Firebird ATmega2560 Robotics Research Platform

10/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

ADCSRB- ADC Control and Status Register B


This register is Used to control ADC operation

Bit
7
6
5
4

Symbol
ACME
-

Description
Reserved Bit
Analog Comparator Multiplexer Enable
Reserved Bit
Reserved Bit

www.e-yantra.org

Bit Value
0
-

Firebird ATmega2560 Robotics Research Platform

10/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

ADCSRB- ADC Control and Status Register B


This register is Used to control ADC operation

Bit
7
6
5
4
3

Symbol
ACME
MUX5

Description
Reserved Bit
Analog Comparator Multiplexer Enable
Reserved Bit
Reserved Bit
ADC Channel selection bit-5

www.e-yantra.org

Bit Value
0
-

Firebird ATmega2560 Robotics Research Platform

10/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

ADCSRB- ADC Control and Status Register B


This register is Used to control ADC operation

Bit
7
6
5
4
3

Symbol
ACME
MUX5

Description
Reserved Bit
Analog Comparator Multiplexer Enable
Reserved Bit
Reserved Bit
ADC Channel selection bit-5

www.e-yantra.org

Bit Value
0
0

Firebird ATmega2560 Robotics Research Platform

10/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

ADCSRB- ADC Control and Status Register B


This register is Used to control ADC operation

Bit
7
6
5
4
3
2
1
0

Symbol
ACME
MUX5
ADTS2
ADTS1
ADTS0

Description
Reserved Bit
Analog Comparator Multiplexer Enable
Reserved Bit
Reserved Bit
ADC Channel selection bit-5
ADC Auto Trigger Source Bits
ADC Auto Trigger Source Bits
ADC Auto Trigger Source Bits

www.e-yantra.org

Bit Value
0
0
0
0
0

Firebird ATmega2560 Robotics Research Platform

10/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

ADCSRB- ADC Control and Status Register B


This register is Used to control ADC operation

Bit
7
6
5
4
3
2
1
0

Symbol
ACME
MUX5
ADTS2
ADTS1
ADTS0

Description
Reserved Bit
Analog Comparator Multiplexer Enable
Reserved Bit
Reserved Bit
ADC Channel selection bit-5
ADC Auto Trigger Source Bits
ADC Auto Trigger Source Bits
ADC Auto Trigger Source Bits

www.e-yantra.org

Bit Value
0
0
0
0
0

Firebird ATmega2560 Robotics Research Platform

10/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

ADCSRB- ADC Control and Status Register B


This register is Used to control ADC operation

Bit
7
6
5
4
3
2
1
0

Symbol
ACME
MUX5
ADTS2
ADTS1
ADTS0

Description
Reserved Bit
Analog Comparator Multiplexer Enable
Reserved Bit
Reserved Bit
ADC Channel selection bit-5
ADC Auto Trigger Source Bits
ADC Auto Trigger Source Bits
ADC Auto Trigger Source Bits

Bit Value
0
0
0
0
0

ADCSRB = 0x00

www.e-yantra.org

Firebird ATmega2560 Robotics Research Platform

10/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

ADMUX - ADC Multiplexer Selection Register


This register is Used to select ADC channel

www.e-yantra.org

Firebird ATmega2560 Robotics Research Platform

11/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

ADMUX - ADC Multiplexer Selection Register


This register is Used to select ADC channel

Bit

Symbol

Description

www.e-yantra.org

Bit Value

Firebird ATmega2560 Robotics Research Platform

11/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

ADMUX - ADC Multiplexer Selection Register


This register is Used to select ADC channel

Bit
7

Symbol
REFS1

Description
Reference Selection Bit

www.e-yantra.org

Bit Value

Firebird ATmega2560 Robotics Research Platform

11/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

ADMUX - ADC Multiplexer Selection Register


This register is Used to select ADC channel

Bit
7
6

Symbol
REFS1
REFS2

Description
Reference Selection Bit
Reference Selection Bit

www.e-yantra.org

Bit Value
0
0

Firebird ATmega2560 Robotics Research Platform

11/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

ADMUX - ADC Multiplexer Selection Register


This register is Used to select ADC channel

Bit
7
6
5

Symbol
REFS1
REFS2
ADLAR

Description
Reference Selection Bit
Reference Selection Bit
ADC Left Adjust Result

www.e-yantra.org

Bit Value
0
0

Firebird ATmega2560 Robotics Research Platform

11/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

ADMUX - ADC Multiplexer Selection Register


This register is Used to select ADC channel

Bit
7
6
5

Symbol
REFS1
REFS2
ADLAR

Description
Reference Selection Bit
Reference Selection Bit
ADC Left Adjust Result

www.e-yantra.org

Bit Value
0
0
1

Firebird ATmega2560 Robotics Research Platform

11/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

ADMUX - ADC Multiplexer Selection Register


This register is Used to select ADC channel

Bit
7
6
5
4

Symbol
REFS1
REFS2
ADLAR
MUX4

Description
Reference Selection Bit
Reference Selection Bit
ADC Left Adjust Result
ADC Channel selection bit-4

www.e-yantra.org

Bit Value
0
0
1

Firebird ATmega2560 Robotics Research Platform

11/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

ADMUX - ADC Multiplexer Selection Register


This register is Used to select ADC channel

Bit
7
6
5
4
3
2
1
0

Symbol
REFS1
REFS2
ADLAR
MUX4
MUX3
MUX2
MUX1
MUX0

Description
Reference Selection Bit
Reference Selection Bit
ADC Left Adjust Result
ADC Channel selection bit-4
ADC Channel selection bit-3
ADC Channel selection bit-2
ADC Channel selection bit-1
ADC Channel selection bit-0

www.e-yantra.org

Bit Value
0
0
1
0
0
0
0
0

Firebird ATmega2560 Robotics Research Platform

11/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

ADMUX - ADC Multiplexer Selection Register


This register is Used to select ADC channel

Bit
7
6
5
4
3
2
1
0

Symbol
REFS1
REFS2
ADLAR
MUX4
MUX3
MUX2
MUX1
MUX0

Description
Reference Selection Bit
Reference Selection Bit
ADC Left Adjust Result
ADC Channel selection bit-4
ADC Channel selection bit-3
ADC Channel selection bit-2
ADC Channel selection bit-1
ADC Channel selection bit-0

www.e-yantra.org

Bit Value
0
0
1
0
0
0
0
0

Firebird ATmega2560 Robotics Research Platform

11/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

ADMUX - ADC Multiplexer Selection Register


This register is Used to select ADC channel

Bit
7
6
5
4
3
2
1
0

Symbol
REFS1
REFS2
ADLAR
MUX4
MUX3
MUX2
MUX1
MUX0

Description
Reference Selection Bit
Reference Selection Bit
ADC Left Adjust Result
ADC Channel selection bit-4
ADC Channel selection bit-3
ADC Channel selection bit-2
ADC Channel selection bit-1
ADC Channel selection bit-0

Bit Value
0
0
1
0
0
0
0
0
ADMUX = 0x20

www.e-yantra.org

Firebird ATmega2560 Robotics Research Platform

11/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

ADC Reference Voltage Selection Bit

www.e-yantra.org

Firebird ATmega2560 Robotics Research Platform

12/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

ADC Reference Voltage Selection Bit

www.e-yantra.org

Firebird ATmega2560 Robotics Research Platform

12/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

ADC Left Adjustment Bit

www.e-yantra.org

Firebird ATmega2560 Robotics Research Platform

13/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

ADC Left Adjustment Bit

www.e-yantra.org

Firebird ATmega2560 Robotics Research Platform

13/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

ADMUX5:0 Channel Selection

www.e-yantra.org

Firebird ATmega2560 Robotics Research Platform

14/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

ADMUX5:0 Channel Selection

MUX5:0
00000
00001
00010
00011
00100
00101
00110
00111

ADC Channel
ADC0
ADC1
ADC2
ADC3
ADC4
ADC5
ADC6
ADC7

www.e-yantra.org

Firebird ATmega2560 Robotics Research Platform

14/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

ADMUX5:0 Channel Selection

MUX5:0
00000
00001
00010
00011
00100
00101
00110
00111

ADC Channel
ADC0
ADC1
ADC2
ADC3
ADC4
ADC5
ADC6
ADC7

www.e-yantra.org

Firebird ATmega2560 Robotics Research Platform

14/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

ADMUX5:0 Channel Selection

MUX5:0
00000
00001
00010
00011
00100
00101
00110
00111

ADC Channel
ADC0
ADC1
ADC2
ADC3
ADC4
ADC5
ADC6
ADC7

www.e-yantra.org

MUX5:0
10000
10001
10010
10011
10100
10101
10110
10111

ADC Channel
ADC8
ADC9
ADC10
ADC11
ADC12
ADC13
ADC14
ADC15

Firebird ATmega2560 Robotics Research Platform

14/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

ACSR - Analog Comparator Control and Status Register


This register is Used for Analog Comparator

www.e-yantra.org

Firebird ATmega2560 Robotics Research Platform

15/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

ACSR - Analog Comparator Control and Status Register


This register is Used for Analog Comparator

Bit

Symbol

Description

www.e-yantra.org

Bit Value

Firebird ATmega2560 Robotics Research Platform

15/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

ACSR - Analog Comparator Control and Status Register


This register is Used for Analog Comparator

Bit
7

Symbol
ACD

Description
Analog Comparator Disable

www.e-yantra.org

Bit Value

Firebird ATmega2560 Robotics Research Platform

15/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

ACSR - Analog Comparator Control and Status Register


This register is Used for Analog Comparator

Bit
7

Symbol
ACD

Description
Analog Comparator Disable

www.e-yantra.org

Bit Value
1

Firebird ATmega2560 Robotics Research Platform

15/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

ACSR - Analog Comparator Control and Status Register


This register is Used for Analog Comparator

Bit
7
6
5
4
3
2
1
0

Symbol
ACD
ACBG
ACO
ACI
ACIE
ACIC
ACIS1
ACIS0

Description
Analog Comparator
Analog Comparator
Analog Comparator
Analog Comparator
Analog Comparator
Analog Comparator
Analog Comparator
Analog Comparator

www.e-yantra.org

Disable
Bandgap Select
Output
Interrupt Flag
Interrupt Enable
Input Capture Enable
Interrupt Mode Select
Interrupt Mode Select

Bit Value
1
0
0
0
0
0
0
0

Firebird ATmega2560 Robotics Research Platform

15/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

ACSR - Analog Comparator Control and Status Register


This register is Used for Analog Comparator

Bit
7
6
5
4
3
2
1
0

Symbol
ACD
ACBG
ACO
ACI
ACIE
ACIC
ACIS1
ACIS0

Description
Analog Comparator
Analog Comparator
Analog Comparator
Analog Comparator
Analog Comparator
Analog Comparator
Analog Comparator
Analog Comparator

www.e-yantra.org

Disable
Bandgap Select
Output
Interrupt Flag
Interrupt Enable
Input Capture Enable
Interrupt Mode Select
Interrupt Mode Select

Bit Value
1
0
0
0
0
0
0
0

Firebird ATmega2560 Robotics Research Platform

15/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

ACSR - Analog Comparator Control and Status Register


This register is Used for Analog Comparator

Bit
7
6
5
4
3
2
1
0

Symbol
ACD
ACBG
ACO
ACI
ACIE
ACIC
ACIS1
ACIS0

Description
Analog Comparator
Analog Comparator
Analog Comparator
Analog Comparator
Analog Comparator
Analog Comparator
Analog Comparator
Analog Comparator

Disable
Bandgap Select
Output
Interrupt Flag
Interrupt Enable
Input Capture Enable
Interrupt Mode Select
Interrupt Mode Select

Bit Value
1
0
0
0
0
0
0
0

ACSR = 0x80

www.e-yantra.org

Firebird ATmega2560 Robotics Research Platform

15/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

Syntax for C-Program


ADC Initialization

www.e-yantra.org

Firebird ATmega2560 Robotics Research Platform

16/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

Syntax for C-Program


ADC Initialization

ADC Port Pin Config

www.e-yantra.org

Firebird ATmega2560 Robotics Research Platform

16/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

Syntax for C-Program


ADC Initialization

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

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

Syntax for C-Program


ADC Initialization

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

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

Syntax for C-Program


ADC Initialization

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

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

Syntax for C-Program


ADC Initialization

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

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

Syntax for C-Program


Program

www.e-yantra.org

Firebird ATmega2560 Robotics Research Platform

17/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

Syntax for C-Program


Program

Main Program

www.e-yantra.org

Firebird ATmega2560 Robotics Research Platform

17/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

Syntax for C-Program


Program

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 Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

Syntax for C-Program


Program

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);
}
}

Print ADC Value on LCD

www.e-yantra.org

Firebird ATmega2560 Robotics Research Platform

17/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

Syntax for C-Program


Program

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);
}
}

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 Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

Syntax for C-Program


Program

www.e-yantra.org

Firebird ATmega2560 Robotics Research Platform

18/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

Syntax for C-Program


Program

ADC Conversion Function

www.e-yantra.org

Firebird ATmega2560 Robotics Research Platform

18/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

Syntax for C-Program


Program

ADC Conversion Function


unsigned 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 bit
while((ADCSRA&0x10)==0);
//Wait for ADC conversion to complete
a=ADCH;
ADCSRA = ADCSRA|0x10; //clear ADIF (ADC Interrupt Flag) by writing 1 to it
ADCSRB = 0x00;
return a;
}

www.e-yantra.org

Firebird ATmega2560 Robotics Research Platform

18/19

Outline
Analog to Digital Conversion
Coding ADC

ADC Initilization
ADCSRA
ADCSRB
ADMUX
ACSR
Program

Thank You!
Post your queries on: http://qa.e-yantra.org/

www.e-yantra.org

Firebird ATmega2560 Robotics Research Platform

19/19

Vous aimerez peut-être aussi