Aplikasi Counter 8 Bit

download Aplikasi Counter 8 Bit

of 7

Transcript of Aplikasi Counter 8 Bit

  • 8/3/2019 Aplikasi Counter 8 Bit

    1/7

    APLIKASI COUNTER 8 BIT

    Gambar 4.4. Blok diagram Timer-Counter sebagai counter 8 bit mode 3

    Agar mikrokontroler dapat bekerja sebagai counter 8 bit, maka TMOD harus dikonfigurasikan denganmengisi data sebagai berikut:

    TIMER-COUNTER 1 TIMER-COUNTER 0

    GATE C/T M1 M0 GATE C/T M1 M0

    0 1 1 1 0 0 0 0

    GATE = 0 :Menyatakan bahwa interupsi eksternal INT1 tidak difungsikan, sehingga satu-satunya BIT yang mengendalikan saklar S2 adalah TR1, agar register counter dapatbekerja, maka TR1 harus diset sama dengan 1

    C/T = 1 :Untuk mengkonfigurasikan mikrokontroler sebagai counter

    M1=1 M0=1 :Pemilihan mode 3

    Pada contoh aplikasi tersebut, clock yang akan dihitung diumpankan pada pin T1( P3.5 ) untukdihitung oleh counter 8 bit. Overflow dari counter ini dapat ditangkap oleh flag TF1, hasil cacahanyang dilakukanoleh counter 8 bit dapat dilihat pada LED yang terkoneksi ke port P1.

    http://elektronika-elektronika.blogspot.com/2007/03/aplikasi-counter-8-bit.htmlhttp://bp3.blogger.com/_YF5WDLLK2nA/RflSdM3MHkI/AAAAAAAAAqs/ZrznqjjtZPM/s1600-h/mode_31.gifhttp://elektronika-elektronika.blogspot.com/2007/03/aplikasi-counter-8-bit.html
  • 8/3/2019 Aplikasi Counter 8 Bit

    2/7

    Gambar 4.5. Aplikasi sebagai counter 8 bit dengan output ke LED

    ; Percobaan 4.2.

    ;Listing Program output data counter 8 bit mode 3 pada LED untuk timer 1

    Org 0h

    Start: Mov TMOD,#01110000b ; mode 3 counter 8 bit timer 1

    Setb TR1 ; TR1 = 1, start countingUlang: Mov A, TL1 ; A = TL1

    Mov P1, A ; P1 = A

    Sjmp Ulang ; Disinilah awal dari Looping Forever

    End

    ; Percobaan 4.2.b

    ;Kerjakan Program output data counter 8 bit mode 3 pada LED untuk timer 0

    Gambar 4.6. Aplikasi counter 8 bit dengan output ke LCD Character

    D a t a C o u n t e r : 2 1 4

    ; Percobaan 4.3.

    ; Rencanakan Program untuk mengeluarkan data counter pada LCD Character

    dispclr equ 00000001b

    http://bp0.blogger.com/_YF5WDLLK2nA/RflS7c3MHmI/AAAAAAAAAq8/0d6oD1Fz8v0/s1600-h/mode3_1.gifhttp://bp2.blogger.com/_YF5WDLLK2nA/RflSn83MHlI/AAAAAAAAAq0/XxBy4xQy9sU/s1600-h/mode_32.gif
  • 8/3/2019 Aplikasi Counter 8 Bit

    3/7

    funcset equ 00111000bentrmod equ 00000110bdispon equ 00001100b

    Org 0h

    Mulai: Mov TMOD,#01110000b

    Setb TR1

    acall init_lcdacall tulis

    Again: Mov A, TL1

    acall konversi

    acall printoutchar

    sjmp again

    ;

    konversi:mov b,#100ddiv abmov Ratusan,a

    mov a,bmov b,#10ddiv abmov Puluhan,amov Satuan,b

    ret

    ;

    Printoutchar:mov r1,#0c9hacall write_instmov a,Ratusan

    add a,#30hmov r1,aacall write_datamov r1,#0cahacall write_instmov a,puluhanadd a,#30hmov r1,aacall write_datamov r1,#0cbhacall write_instmov a,satuanadd a,#30hmov r1,aacall write_dataret

    ;

    Tulis: mov dptr,#tulisan1

    mov r3,#8

    mov r1,#0c0h

  • 8/3/2019 Aplikasi Counter 8 Bit

    4/7

    acall write_inst

    Tulis1: clr a

    movc a,@a+dptr

    mov r1,A

    inc dptr

    acall write_data

    djnz r3,tulis1ret

    ;

    Write_inst:Clr P1.0 ; RS = P1.0 = 0, mode tulis instruksi ke LCDMov P0,R1 ; D7 s/d D0 = P0 = R1Setb P1.1 ; EN = 1 = P1.1Acall delay ; panggil waktu tundaClr P1.1 ; EN = 0 = P1.1ret;

    Write_data:Setb P1.0 ; RS = P1.0 = 1, mode tulis data ke LCDMov P0,R1 ; D7 s/d D0 = P0 = R1Setb P1.1 ; EN = 1 = P1.1Acall delay ; panggil waktu tundaClr p1.1 ; EN = 0 = P1.1ret;

    init_lcd:mov r1,#dispclracall write_instmov r1,#funcsetacall write_instmov r1,#disponacall write_instmov r1,#entrmodacall write_instret

    ;

    Tulisan1: DB 'Data counter :'

    end

    http://bp3.blogger.com/_YF5WDLLK2nA/RflTOM3MHnI/AAAAAAAAArE/wYteAwMY1qo/s1600-h/mode3_2.gif
  • 8/3/2019 Aplikasi Counter 8 Bit

    5/7

    Gambar 4.7. Aplikasi counter 8 bit dengan output ke 7 Segmen

    ; Percobaan 4.4.

    Org 0h

    Mulai: Mov TMOD,#01110000b

    Setb TR1Again: Mov A, TL1

    acall konversi

    acall display7Segmen

    sjmp again

    ;

    Konversi:mov b,#100ddiv abmov Ratusan,amov a,b

    mov b,#10ddiv abmov Puluhan,amov Satuan,b

    ret

    ;

    Display7segmen:

    Mov P1,#11111111bmov A, Ratusanmov DPTR,#Data7segmenmovc A,@A+DPTR

    mov P0,Aclr P1.5Acall delay;mov A,Puluhanmov DPTR,#Data7segmenmovc A,@A+DPTRsetb P1.5mov P0,Aclr P1.6Acall delay;mov A,Satuanmov DPTR,#Data7segmenmovc A,@A+DPTRsetb P1.6mov P0,Aclr P1.7Acall delay;ret

  • 8/3/2019 Aplikasi Counter 8 Bit

    6/7

    Data7segmen:db11000000b,11111001b,10100100b,10110000b,10011001b,

    db10010010b,10000010b,11111000b,10000000b,10010000b

    Posted by generated at 9:03 PM

    Tags:Mikrokontroller0 comments

    Membangun oscilator 1 Hz dengan Timer 16 bit

    Gambar 4.4. Blok diagram pembangkit clock 1 Hz

    Gambar 4.5. Bentuk gelombang kotak frekuensi 1 Hz

    65535 -10000 = 55535 d atau D8EF h, akan menghasilkan interupsi setelah: 1000 x 1 mikro detik= 0.01 detik. Dengan melalui pembagi 50 maka akan dihasilkan lebar Ton = Toff = 0.5 detiksehingga frekuensi yang dihasilkan f=1 Hz

    ;Percobaan 4.1.

    http://elektronika-elektronika.blogspot.com/2007/03/aplikasi-counter-8-bit.htmlhttp://elektronika-elektronika.blogspot.com/search/label/Mikrokontrollerhttp://elektronika-elektronika.blogspot.com/search/label/Mikrokontrollerhttp://www.blogger.com/comment.g?blogID=3742259245954595860&postID=311971025118334681http://elektronika-elektronika.blogspot.com/2007/03/membangun-oscilator-1-hz-dengan-timer.htmlhttp://bp3.blogger.com/_YF5WDLLK2nA/RflR1M3MHjI/AAAAAAAAAqk/gJ13K95LsaQ/s1600-h/mode_15.gifhttp://bp3.blogger.com/_YF5WDLLK2nA/RflRiM3MHiI/AAAAAAAAAqc/9qb2lBxMlj8/s1600-h/mode_14.gifhttp://www.blogger.com/post-edit.g?blogID=3742259245954595860&postID=311971025118334681http://elektronika-elektronika.blogspot.com/2007/03/aplikasi-counter-8-bit.htmlhttp://www.blogger.com/email-post.g?blogID=3742259245954595860&postID=311971025118334681http://elektronika-elektronika.blogspot.com/search/label/Mikrokontrollerhttp://www.blogger.com/comment.g?blogID=3742259245954595860&postID=311971025118334681http://elektronika-elektronika.blogspot.com/2007/03/membangun-oscilator-1-hz-dengan-timer.html
  • 8/3/2019 Aplikasi Counter 8 Bit

    7/7

    ;Program untuk membangkitkan clock dengan frekuensi f=1 Hz

    Org 0h

    Start: Setb P0.0 ;P0.0 = 1

    Acall Tunda ;Memanggil waktu tunda

    Clr P0.0 ;P0.0 = 0

    Sjmp Start ;Looping Forever

    Tunda: Mov R0,#0 ;R0 = 0Lagi: Mov TMOD,#00010000b ;Pemilihan mode 1

    Mov TH1, #0D8h ;TH1 = D8h

    Mov TL1, #0EFh ; TL1 = EFh

    Setb TR1 ; TR1 = 1, mulai bekerja

    Ulang: JBC TF1, Hitung ; Lompat ke Hitung jika TF1 =1

    Sjmp Ulang

    Hitung: Inc R0 ; R0 = R0+1

    CJNE R0,#50,Lagi ; Bandingkan R0 dengan 50, jika tidak sama

    ; lompat ke lagi

    RetEnd

    ;Percobaan 4.2.

    ;Program untuk membangkitkan clock dengan frekuensi f=10 Hz

    ;Lakukan perhitungan untuk frekuensi tersebut