Top Banner

of 17

ADC DAN USART

Jul 07, 2018

Download

Documents

DeNy Safarany
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 8/18/2019 ADC DAN USART

    1/17

    I. Tujuan

    Setelah menyelesaikan praktikum ini, diharapkan dapat memahami:

    1. Mengakses Timer dengan mode normal dan CTC serta Timer sebagai counter 

    2. Memprogram timer dengan ketiga mode tersebut3. Mengaplikasi fungsi timer pada mikrokontroler !" Teori Dasar

    II. Dasar Teori#enis timer yang diberikan oleh !" ada dua yaitu timer dengan resolusi $%bit dan

    1&%bit. Sedangkan fitur timer dari masing%masing resolusi tersebut adalah sebagai

     berikut :

    1. T'M(" ) dan 2 *resolusi $%bit+

    eatures:

    a. Single Compare -nit Counter  b. Clear Timer on Compare Match *uto "eload+

    c. litch%free, /hase Correct /ulse 0idth Modulator */0M+

    d. reuency enerator 

    e. (ternal (ent Counter f. 1)%bit Clock /rescaler *1, $, &4, 25&, 1)24+

    g. 6erflo7 and Compare Match 'nterrupt Sources *T6!) and 6C)+

    2. T'M(" 1 *resolusi 1&%bit+eatures:

    a. True 1&%bit 8esign *i.e., llo7s 1&%bit /0M+

     b. T7o 'ndependent 6utput Compare -nitsc. 8ouble 9uffered 6utput Compare "egisters

    d. 6ne 'nput Capture -nit

    e. 'nput Capture oise Canceler f. Clear Timer on Compare Match *uto "eload+

    g. litch%free, /hase Correct /ulse 0idth Modulator */0M+

    h. !ariable /0M /eriodi. reuency enerator  ;. (ternal (ent Counter 

    k. our 'ndependent 'nterrupt Sources *T6!1, 6C1, 6C19, and 'C1+

  • 8/18/2019 ADC DAN USART

    2/17

    Secara umum mode pada Timer

  • 8/18/2019 ADC DAN USART

    3/17

    8ari mode CTC ini, terdapat istilah pembagi clock *prescaller = + yang harus

    diketahui dalam menghitung 7aktu atau frekuensi yang akan ditentukan nantinya,

    rumusan tersebut yaitu :

    tau:

    "umusan 7aktu maksimum dari suatu timer adalah sebagai berikut:

    8imana : clk = nilai frekuensi kristal yang digunakan.

    > = nilai bit timer yang digunakan, bisa $%bit atau 1&%bit.

    •  ;ika $%bit maka > = 255

    •  ;ika 1&%bit maka > = &5535

      = /rescaller, faktor pembagi mulai $, &4, 25& 1)24.

    Contoh :

    8iketahui clk = 11.)5?2)) Mh@ dan menggunakan T'M(" )

  • 8/18/2019 ADC DAN USART

    4/17

     ;ika $%bit maka > = 255

     ;ika 1&%bit maka > = &5535

    Salah satu fitur !" TMega1& yaitu fitur Timer tersebut difungsikan sebagai counter 

    yang bisa menerima masukan dari luar. Masukan sinyal fitur timer tersebut terbagi dua

    yang dikendalikan oleh multiplekser clock select, yaitu :

    1. ia prescaler 

    merupakan konstanta yang digunakan sebagai faktor pembagi terhadap kristal yang

    digunakan untuk men;adi denyut mikrokontroler, konstanta tersebut bernilai 1, $, &4,

    25&

    dan 1)24 untuk diturunkan sebagai sumber clock % clkTn.

    2. ia sinyal eksternal

    merupakan pengaktifasian timer sebagai counter, tiap fitur Timer di !" 

    TMega1& memiliki beda pin masukan yaitu T)%Timer), T1%Timer1 dan

  • 8/18/2019 ADC DAN USART

    5/17

    Selain itu ;uga ada fitur mikrokontroler !" TMega1& yang ;uga mampu menerima

    sinyal luar yang secara khusus dan spesifik terhadap masukan yang diterimanya. 8ari

    fitur tersebut bisa di;elaskan sebagai berikut :

    1. itur Timer sebagai Counter 

    /ada fitur ini difungksikan sebuah timer yang ada di !" TMega1& dimana ada

    dua timer yang bisa menerima sinyal data dari luar yaitu :

    a. Timer) pada pin T)

    9erikut ini merupakan blok dari unit counter dimana sebuah input Tn atau T)difungsikan sebagai sinyal eksternal yang masuk ke sistem counter dari Timer).

    Sinyal keluaran clkTn ditentukan oleh multiplekser untuk pembeda sinyal masuk 

    dari prescaler atau T).

  • 8/18/2019 ADC DAN USART

    6/17

    Timer1 pada pin T1

    9erikut ini merupakan blok dari unit counter dimana sebuah input Tn atau T1

    difungsikan sebagai sinyal eksternal yang masuk ke sistem counter dari Timer1.

    8ikarenakan 8ata Counter adalah 1&%bit, register TCT1 dipecah men;adi $%bit taitu

    TCT1B dan TCT1I. register T(M/ diisi dari TCT1B ketika TCT1I dibaca.

    8an TCT1B diisi oleh register T(M/ ketika register TCT1I ditulis

    III. Alat dan Bahan

    1. omputer 1 -nit

    2. Trainer board Mikrokontroller !" 1 -nit3. abel -S9 1 9uah

    IV. Setting Percobaan

    V. Prosedur Percobaan

    Prosedur Umum

    1. Secara keseluruhan beberapa percobaan diba7ah ini menggunakan 7i@ard sehingga

    kode digenerate secara otomatis.

    2. tur semua kode program yang ada kemudian diletakkan sesuai pada bagian%bagian

    kode hasil generate 7i@ard.

  • 8/18/2019 ADC DAN USART

    7/17

    3. /astikan hasil compile tidak menghasilkan error dengan menekan F9.

    4. Selan;utnya do7nload program tersebut ke MS%1& ia -S9 dengan menekan Shift

    F9 dan tekan tombol Program the chi!.

    5. mati dan analisa hasilnya kemudian catat hasil tersebut sebagai laporan

    sementara.Prosedur "husus

    Percobaan #e $

    %. &enerate dela' % deti# TI()*% mengguna#an mode normal

    Selanjutn'a #eti#an !rogram beri#ut$

    /****************************************************This program was produced by theCodeWizardAVR V2.03. !ta"dardAutomatic #rogram $e"eratorCopyright %&&'(200' #a)e +aiduc, +# -"oTech s.r..http//www.hpi"otech.com#roect 1ip(op usi"g T-R% mode 4ormaVersio" %.05ate 20%3(03(%%Author Taui6urrahma"Compa"y 5207 ( #-!Comme"ts Timer % o)erow i"terrupt ser)ice routi"eChip type ATmega%7#rogram type Appicatio"Coc8 re6ue"cy %%.09&200 +zemory mode !ma:ter"a RA size 05ata !tac8 size 297

    *****************************************************/;i"cude

  • 8/18/2019 ADC DAN USART

    8/17

    // #ace your code here

    if (8o"disi){

    >ar?5=0:;

    8o"disi=0;

    }else{

    >ar?5=0:00;

    8o"disi=%;

    }}// 5ecare your goba )ariabes here

    )oid mai"()oid)

    {// 5ecare your oca )ariabes here// -"put/@utput #orts i"itiaizatio"// #ort A i"itiaizatio"// 1u"cB-" 1u"c7-" 1u"c9-" 1u"c-" 1u"c3-" 1u"c2-" 1u"c%-"1u"c0-"// !tateBT !tate7T !tate9T !tateT !tate3T !tate2T !tate%T!tate0T

    #@RTA=0:00;

    55RA=0:00;// #ort > i"itiaizatio"// 1u"cB-" 1u"c7-" 1u"c9-" 1u"c-" 1u"c3-" 1u"c2-" 1u"c%-"

    1u"c0-"

    // !tateBT !tate7T !tate9T !tateT !tate3T !tate2T !tate%T!tate0T

    #@RT>=0:00;

    55R>=0:00;// #ort C i"itiaizatio"// 1u"cB-" 1u"c7-" 1u"c9-" 1u"c-" 1u"c3-" 1u"c2-" 1u"c%-"1u"c0-"

    // !tateBT !tate7T !tate9T !tateT !tate3T !tate2T !tate%T!tate0T

    #@RTC=0:00;

    55RC=0:00;// #ort 5 i"itiaizatio"// 1u"cB@ut 1u"c7@ut 1u"c9@ut 1u"c@ut 1u"c3@ut 1u"c2@ut1u"c%@ut 1u"c0@ut// !tateB0 !tate70 !tate90 !tate0 !tate30 !tate20 !tate%0!tate00

    #@RT5=0:00;

    55R5=0:11;// Timer/Cou"ter 0 i"itiaizatio"// Coc8 source !ystem Coc8// Coc8 )aue Timer 0 !topped// ode 4orma top11h// @C0 output 5isco""ected

    TCCR0=0:00;

    TC4T0=0:00;

    @CR0=0:00;// Timer/Cou"ter % i"itiaizatio"// Coc8 source !ystem Coc8// Coc8 )aue %0.'00 8+z// ode 4orma top1111h// @C%A output 5isco".// @C%> output 5isco".

    // 4oise Ca"ceer @// -"put Capture o" 1ai"g dge// Timer % @)erow -"terrupt @"// -"put Capture -"terrupt @// Compare A atch -"terrupt @// Compare > atch -"terrupt @

    TCCR%A=0:00;

    TCCR%>=0:09;

    TC4T%+=0:59;

  • 8/18/2019 ADC DAN USART

    9/17

    TC4T%?=0:50;

    -CR%+=0:00;

    -CR%?=0:00;

    @CR%A+=0:00;

    @CR%A?=0:00;

    @CR%>+=0:00;

    @CR%>?=0:00;

    // Timer/Cou"ter 2 i"itiaizatio"// Coc8 source !ystem Coc8// Coc8 )aue Timer 2 !topped// ode 4orma top11h// @C2 output 5isco""ected

    A!!R=0:00;

    TCCR2=0:00;

    TC4T2=0:00;

    @CR2=0:00;// :ter"a -"terruptDsE i"itiaizatio"// -4T0 @// -4T% @

    CFCR=0:00;CFC!R=0:00;

    // TimerDsE/Cou"terDsE -"terruptDsE i"itiaizatio"

    T-!G=0:0;// A"aog Comparator i"itiaizatio"// A"aog Comparator @// A"aog Comparator -"put Capture by Timer/Cou"ter % @

    AC!R=0:'0;

    !1-@R=0:00;// $oba e"abe i"terrupts;asmDHseiHE

    while (%)

    {// #ace your code here

    };

    }

    +. &enerate dela' % deti# TI()*% mengguna#an mode ,T, -,lear Timer on

    ,om!are (atch Interru!t

    Mekanisme berikut ini adalah membuat delay 1 detik pada timer 1. gar 

    memperoleh 7aktu yang lebih presisi, didapatkan nilai ,om!are A / +A+F0

  • 8/18/2019 ADC DAN USART

    10/17

    Code0i@ard!" !2.)3.4 Standard

    utomatic /rogram enerator 

    Copyright 1??$%2))$ /ael Baiduc, B/ 'nfoTech s.r.l.

    http:

  • 8/18/2019 ADC DAN USART

    11/17

  • 8/18/2019 ADC DAN USART

    12/17

  • 8/18/2019 ADC DAN USART

    13/17

    Tambahkan program dalam fungsi void main di bagian while

    Tetapi untuk mengakses optocoupler dengan IC8 tidak bisa diakses bersamaan haru

    memilih ;umper 3 sesuai ilustrasi berikut ini.

    4. Mengakses Timer) sebagai counter dengan interrupt

    -ntuk membuat interrupt ketika timer) difungsikan sebagai counter, dimana

    ketika hitungan tercapai maka flag interrupt aktif. 9erikut ini dibuat hitungan ke%&

    maka 9arI(8 men;alankan running led dan hitungan ke%3 running led tersebut

    akan padam hingga proses tersebut ber;alan seterusnya.

  • 8/18/2019 ADC DAN USART

    14/17

    Copyright 1??$%2))$ /ael Baiduc, B/ 'nfoTech s.r.l.

    http:

  • 8/18/2019 ADC DAN USART

    15/17

    kondisi=3Q

    for*a=1QaL=1)QaUU+O

    9arI(8 = )55QdelayNms*1))+Q9arI(8 = )QdelayNms*1))+Q

    R

    Relse if*kondisi==3+ O

  • 8/18/2019 ADC DAN USART

    16/17

  • 8/18/2019 ADC DAN USART

    17/17

    6C"2/)))1