dasar avr timer

Upload: andy-ashar

Post on 06-Jul-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/16/2019 dasar AVR Timer

    1/45

    IMER

     

    CLOCKI

    B 2 ( CN)

    CN

    BOTTOM > TOP

    •T TCNT 1

    •  TCNT TOP BOTTOM ()

    • F , .

  • 8/16/2019 dasar AVR Timer

    2/45

    OPCN0 (8 )

    255

    (1111 1111)

    OVERFLOW

    FLAG

    TOV=1

    BOOM=0

    (0000 0000)

    255

  • 8/16/2019 dasar AVR Timer

    3/45

    MODE F IMER

    •M :

    , , .

     •M PM : DC

    •M I C :

    , , .

    •M CC :

  • 8/16/2019 dasar AVR Timer

    4/45

    K IMER

    •J 1 1 A2313 = 3 (0, 1 )

    A 16 = 4 (0, 1, 2 )

    A128 = 5 (0 4 )

    •L (CN) 0 2 = 8

    1 3 = 16

    •M M 0 2

    M 1 3

    0 0 0 0 0 0 0 0

    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

    07

  • 8/16/2019 dasar AVR Timer

    5/45

    3. 0 M PM

    1. 0 M N2. 0

    4. 0 M CC

    5. 1 M I C

  • 8/16/2019 dasar AVR Timer

    6/45

    1. IMER0

    255255

    TOV=1   TOV=1 TOV=1

    255

    0

    CN0

    TOV=0 TOV=0

    1/1

    1/8

    1/64

    1/128

    1/1024

    11.059.200 HTOV=1

    CN0(8 )

    P

    B>255I

    11059200

    1382.400

    172.800

    43.200

    10.800

  • 8/16/2019 dasar AVR Timer

    7/45

    S CS02:CS01:CS00

    T 000

    1/1 001

    1/8 010

    1/64 011

    1/256 100

    1/1024 101

    E T0

    110

     

    REGISER CCR0

    REGISER REGISER PADA IMER 0

    0  WGM

    00

    WGM

    01  CS02   CS01   CS00

     

    O0

    REGISER IFR ( )

    OEI0

    REGISER IMSK

    0255CN0

    T0

  • 8/16/2019 dasar AVR Timer

    8/45

    CN0

    P 0

    TOV

    255

    1

    F = 10.800 HT1 = 0.0000926

    0TOV=1

    = JMLAH CLOCK 1

    = 255 0.0000926 DEIK = 0.0236 DEIK

  • 8/16/2019 dasar AVR Timer

    9/45

    F = 10.800 HT1 = 0.0000926 55

    CN0TOV

    1

    M 0 0

    CN0

    BOTTOM=55  = (25555) 1

    = 200 0.0000926 DEIK

    = 0.01852 DEIKBOTTOM= 0

    = (OPBOOM) 1

    = (2550) 1

    = 255 0.0000926 DEIK

    = 0.0236 DEIK

  • 8/16/2019 dasar AVR Timer

    10/45

    C P 0 = 0.01852

    10800

    B ?B BOOM/ CN0?

    P 0 = 1

    T1 = 1/10800 = 0 .0000926

      = 0.01852 /0 .0000926

    =

    TCNT0=?

    = 0.01852

    TOP

    0

    CN0

    255

    37

    JUMLAH CLOCK = TOP BOTTOM

    BOTTOM = TOP JUMLAH CLOCK

    = 255 200 = 55

    ICN0 ()

     

    0.01852

    55

    0

  • 8/16/2019 dasar AVR Timer

    11/45

    0

    1. / CN0 .

    2. E ( OEI0=1, IMSK)

    3. ( 0,1,2, CCR0)

    4. / /ISR .

     

    ()

     

       

      

    •   M 0

    CCR0 = 0;

    •   M 0( 2 1 0

    )

    CCR0 =00000 0101; // 005;

  • 8/16/2019 dasar AVR Timer

    12/45

    0

    P IDE

  • 8/16/2019 dasar AVR Timer

    13/45

    2. 0

    S CS02:CS01:CS00

    T 000

    1/1 001

    1/8 010

    REGISER CCR0 PADA IMER 0

    0   0   CS02   CS01   CS00

    1/256 100

    1/1024 101

    T0 110

    T0 111

    000CN0

    T0

  • 8/16/2019 dasar AVR Timer

    14/45

    0

    255   255 255

    O=1 O=2 O=3

    TCNT0

    J = TCNT0 + ( * 255)

  • 8/16/2019 dasar AVR Timer

    15/45

    0

    1. 0 .

    2. E ( OEI0=1, IMSK)

    3. S B/ CN0 = 0

    4. 0 ( 0,1,2, CCR0)

    5. I ISR 0

     

    ()

     

    5. J T0 = TCNT0 + ( * 255)

      

  • 8/16/2019 dasar AVR Timer

    16/45

    #

    =0;

    // T 0

    TIM0OVF 0()

    = + 1;

    ()

    DDRA= 0FF; //PORTA SEBAGAI OUTPUT

    DDRC=0FF; //PORTC SEBAGAI OUTPUT

    // T/C 0

    // C : T0 R E  

    // M: N =FF

    TCCR0=007;

    TCNT0=000;

    // T()/C() I()

    TIMSK=001;

    // G

    #("")

    (1)

    PORTC = TCNT0

    PORTA = ;

    ;

  • 8/16/2019 dasar AVR Timer

    17/45

    5. 1 M I C

    = ?

    PIN ICP1

  • 8/16/2019 dasar AVR Timer

    18/45

  • 8/16/2019 dasar AVR Timer

    19/45

    CARA KERJA INP CAPRE

    •TIMER1 DISET MENCACAH MODE NORMAL•INTERUPSI INPUT CAPTURE DIAKTIFKAN/ENABLE

    •TIMER 1 DIAKTIFKAN DGN MENETAPKAN SUMBER CLOCK

    •TCNT1 TERUS BERGULIR INCREMENT DAN RESET KETIKA NILAI MA

    KETIKA ADA PERUBAHAN SINAL DI PIN ICP1 ,MENEBABKAN INTERUPSIINPUT CAPTURE

    •ISI TCNT1 SAAT ITU DICOP KE REG ICR1

     

    INISIALISASI

    TIMER1

    ICR1

    TCNT1

    •  

    •KETIKA ADA PERUBAHAN SINALBERIKUTNA KEMBALI

    TERJADI INTERUPSI INPUT CAPTURE , BACA ICR1

    •SELISIH DATA ICR1 SAAT INI DGN ICR1 G DISIMPAN

    SEBELUMNA ADALAH PERIODE PULSA

    ICR1

    TCNT1

  • 8/16/2019 dasar AVR Timer

    20/45

    65.536 65.536   65.536

    TCNT1

    16

    P INP CAPRE CN1

    0

  • 8/16/2019 dasar AVR Timer

    21/45

    65.536

    TCNT1

    ICR1 = TCNT1   ICR1 = TCNT1

    0

  • 8/16/2019 dasar AVR Timer

    22/45

    65.536

    TCNT1

    ICR1 = TCNT1   ICR1 = TCNT1

    0

    500

    P :

    =4500 500

    = 4000

  • 8/16/2019 dasar AVR Timer

    23/45

    65.536

    T

    TCNT1

    64536   1200 J ICR1 CN1

    =1 =2=0

    1200

    1000

    P :

    =1200 1000

    = 200

    65,736

  • 8/16/2019 dasar AVR Timer

    24/45

    65.536

    65.536

    T

    TCNT1

    =1 =1=0

    1200

    1000

    ICR1 = TCNT1

    ICR1= ICR1

     = ICR + (65.536 * ) =   ICR

    I =

    ICR1 = TCNT1

    ICR1= ICR1

     = ICR + (65.536 * ) =   ICR

    I =

    T = 1200 +(65.536*1) 1000 =

  • 8/16/2019 dasar AVR Timer

    25/45

    ICR1

    TCNT1

    ICR1

    TCNT1TOV   TOV065536   065536

    CARA KERJA INP CAPRE

    ++ ++

    PIN

    ICP1

    INTCAPT

     

  • 8/16/2019 dasar AVR Timer

    26/45

    REGISER CCR1A

    COM1A1 COM1A0   GM11   GM10

    ICIE1 OEI1

    REGISER IMSK 07

    REGISER CCR1B

    ICNC1 ICES1   GM13 GM12   CS12 CS11   CS10

    1= N C

    1= ICP

    P S TCNT0 N

  • 8/16/2019 dasar AVR Timer

    27/45

    REGISER CN1 REGISER ICR1

    ICR1H0

    7

    7

    0

    7CN1H

    CN1L

    07

    0 0 0 0 1 0 1 1

    1 1 1 1 1 0 1 1

    G 8

    ICR1LICR1H

    0 0 0 0 1 0 1 1

    1 1 1 1 1 0 1 1

  • 8/16/2019 dasar AVR Timer

    28/45

    IM1CAP 1()

    ICR1S = (ICR1H

  • 8/16/2019 dasar AVR Timer

    29/45

    #

    ;

    S, S; C;

    /*T 1 ISR*/

    TIM1OVF 1()

    ++;

    /*T 1 ISR*/

     

    S = (CR1H

  • 8/16/2019 dasar AVR Timer

    30/45

    ()

    TCCR1A = 0; /* */

    TCCR1B = 0C2;/*T 1 /8, */

    TIMSK = 024; /* 1 */

    #() /* */

    (1)

    ; /* */

  • 8/16/2019 dasar AVR Timer

    31/45

    3. 0 M PM

    20%

    50%

    80%

  • 8/16/2019 dasar AVR Timer

    32/45

  • 8/16/2019 dasar AVR Timer

    33/45

    0  WGM

    00

    01

    C

    00

    WGMCS02   CS01   CS00

    S CS02:CS01:CS00

    T 000

    1/1 001

    1/8 010

    1/64 011

    1/256 100

    1/1024 101

    E T0

    110

     

    REGISER CCR0

    0 1 1 0   1 0 1 1

    C CCR0 PM

    0  WGM

    00

    01

    C

    00

    WGM

    01  CS02   CS01   CS00

  • 8/16/2019 dasar AVR Timer

    34/45

     

    OCR OCR OCR

    255

    CN0

    80%

    MOTOR DC

  • 8/16/2019 dasar AVR Timer

    35/45

      255

    CN0

    OCR

    30%

    MOTOR DC

  • 8/16/2019 dasar AVR Timer

    36/45

      255

    CN0

    OCR OCR OCR

    10%

    MOTOR DC

  • 8/16/2019 dasar AVR Timer

    37/45

    PWM :

    N (1, 8, 64, 256, 1024).

    D =  OCR

    256

    100

  • 8/16/2019 dasar AVR Timer

    38/45

    C 0 M PM

    #

    # PM   (PINA & 3)

    ()

    DDRA=000;

    PORA = 003; /* */

    PORB=000;DDRB=008; /*OC0 */

    CCR0=06B;

    (1)

    PA0

    PA5

    PA7

    PA1

    PA2

    PA3

    PA4

    PA6

    PB0

    PB5

    PB7

    PB1

    PB2

    PB3 (OC0)

    PB4

    PB6

    PWM

    OUTPUT

    (PM)

    0: OCR0=25; /*10 % */

    ;

    1: OCR0=76; /*30% */

    ;

    2: OCR0=128; /*50% */;

    3: OCR0=204; /*80% */

    ;

    :

    ;

    PC0

    PC7

    PC2

    PC6

    PC5

    PC4

    PC3

    PC1

    PC7

    PD0

    PA5

    PD1

    PD2

    PD3

    PD4

    PD6

    GND

    C 1 M PM

  • 8/16/2019 dasar AVR Timer

    39/45

    #

    # PM (PINA & 3) ()

    PORA = 003; /* */

    DDRD = 020; /*OC1A */

    CCR1A = 091;/* A /CCR1B = 002; /* / 8 */

    (1)

     

    PA0

    PA5

    PA7

    PA1

    PA2

    PA3

    PA4

    PA6

    C 1 M PM

    (PM)

    0: OCR1A = 25; /*10 % */

    ;

    1: OCR1A = 51; /*20% */

    ;

    2: OCR1A = 76; /*30% */

    ;

    3: OCR1A = 102; /*40% */

    ;

    :

    PD0

    PD5 (OC1A)

    PD1

    PD2

    PD3

    PD4

    PD6

    PWM

    OUTPUT

  • 8/16/2019 dasar AVR Timer

    40/45

    4. 0 M CC

    (F )

  • 8/16/2019 dasar AVR Timer

    41/45

    OCR OCR OCR

    TOP = OCR

    255

    CN0

    PERIODE =  2 * OCR * 1FREKWENSI = F

    2*N * (1 + OCR)

    N = (1, 8, 64, 256, 1024).

    OCR = F1/2F

    C = 26 H

  • 8/16/2019 dasar AVR Timer

    42/45

    TOP = OCR0CN0

    () 10.800

    B OCR0 ?

    OCR = F1/2F

    OCR = 10800/2*26 = 54

    OCR0 OCR0 OCR0 OCR0 OCR0 OCR0255

    6 (1)

  • 8/16/2019 dasar AVR Timer

    43/45

    #

    # CC (PINA & 3)

    ()

    DDRA=000;

    PORA = 003; /* */

    PORB=000;

    DDRB=008;

    CCR0=01D;

    (PM)

    0: OCR0=25; //207H

    ;

    1: OCR0=76; //70H

    ;

    2: OCR0=128; //41H;

    3: OCR0=204; //26H

    ;

    CN0=000;

    OCR0=05;

    :

    ;

  • 8/16/2019 dasar AVR Timer

    44/45

    PA0

    PA5

    PA7

    PA1

    PA2

    PA3

    PA4

    PA6

    PB0

    PB5

    PB7

    PB1

    PB2

    PB3 (OC0)

    PB4

    PB6

    CTC

    OUTPUT

    PC0

    PC7

    PC2

    PC6

    PC5

    PC4

    PC3

    PC1

    PC7

    PD0

    PA5

    PD1

    PD2

    PD3

    PD4

    PD6

    GND

    AVCC

  • 8/16/2019 dasar AVR Timer

    45/45