07-ADC

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/