Pada keluarga MCS-51 terdapat dua buah timer/ counter 16 bit, yang dapat dikonfigurasikan sebagai timer atau counter, 8 bit, 13 bit atau 16 bit sesuai dengan mode yang dipilih. Gambar berikut merupakan contoh aplikasi Counter 8 bit dengan menggunakan mode 3
          
          Percobaan 9.1. Aplikasi Mode 3 sebagai counter 8 bit  dengan            output LED
Pada percobaan ini, pulsa diambil melalui clock generator yang dibangkitkan oleh IC 555 yang mempunyai frekuensi 1 Hz, hasil cacahan biner pada register counter akan ditampilkan pada LED.
 Lakukan beberapa langkah percobaan sebagai  berikut:
          1. Hubungkan 1 buah kabel antara P3.5 dengan output clock IC  555
          2. Hubungkan jumper konektor LED_EN
          3. Hubungkan modul Microcontroller Trainer dengan power supply  +5V
          4. Hubungkan modul Microcontroller Trainer dengan rangkaian  programmer           
          5. Buka Program M-IDE Studio for MCS-51, sebagai editor dan  compiler            program
          6. Ketik program berikut ini: (download            file prog91a.asm)
            org 0h
Start: Mov TMOD,#00000111b        ; mode 3 counter 8 bit timer 0
          Setb TR0    ; TR1 = 0, start counting
Get:   Mov A, TL0   ; A = TL0
          CPL A        ; A = NOT A
          Mov P0, A    ; P0 = A
          Sjmp Get    ; Looping Forever
          End
           7. Simpanlah program yang anda ketik dan beri  nama            : prog91a.asm
          8. Pada program MIDE tersebut pilih Build /F9 atau untuk  melakukan kompilasi            program dari *.asm ke *.hex.
          9. Lakukan pemrograman mikrokontroller dengan menggunakan  Program ISP            Software ( Lihat Petunjuk Penggunaan)
          10. Lakukan pengamatan pada LED ? dan lengkapi tabel berikut.
| INPUT Clock  | DISPLAY LED | |||||||
| D1 | D2 | D3 | D4 | D5 | D6 | D7 | D8 | |
| 1 | ||||||||
| 2 | ||||||||
| 3 | ||||||||
| 4 | ||||||||
| : | ||||||||
| 20 | ||||||||
Percobaan 9.2. Aplikasi Timer 0, Mode 3 sebagai counter 8 bit dengan output 7 Segmen
Pada percobaan ini, pulsa diambil melalui  clock generator            yang dibangkitkan oleh IC 555 yang mempunyai frekuensi 1 Hz,  hasil cacahan            biner pada register counter akan ditampilkan pada 7 Segmen.
          Lakukan beberapa langkah percobaan sebagai berikut:
          1. Hubungkan 1 buah kabel antara P3.5 dengan output clock IC  555
          2. Hubungkan jumper konektor 7Segmen_EN
          3. Hubungkan modul Microcontroller Trainer dengan power supply  +5V
          4. Hubungkan modul Microcontroller Trainer dengan rangkaian  programmer           
          5. Buka Program M-IDE Studio for MCS-51, sebagai editor dan  compiler            program
          6. Ketik program berikut ini: (download            file prog92a.asm)
ratusan equ 30h
puluhan equ 31h
satuan equ 32h
Org 0h
Mov TMOD,#00000111b ; mode 3 counter 8 bit timer 0
Setb TR0 ; TR1 = 0, start counting
Get: Mov A, TL0 ; A = TL0
Call Bin2Dec ; panggil subroutine biner ke desimal
Call Display7Segmen; panggil subroutine display 7 segmen
Sjmp Get ;Looping Forever
;
Bin2Dec:
mov b,#100d
div ab
mov ratusan,a
mov a,b
mov b,#10d
div ab
mov puluhan,a
mov satuan,b
ret
;
Display7Segmen:
clr P3.5
clr P3.6
clr P3.7
mov A, ratusan
mov DPTR,#Data7segmen
movc A,@A+DPTR
mov P0,A
call delay
;
setb P3.5
clr P3.6
clr P3.7
mov A, puluhan
mov DPTR,#Data7segmen
movc A,@A+DPTR
mov P0,A
call delay
;
clr P3.5 ;
setb P3.6
clr P3.7
mov A, satuan
mov DPTR,#Data7segmen
movc A,@A+DPTR
mov P0,A
call delay
ret
;
delay: mov R0,#0
delay1:mov R2,#0fh
djnz R2,$
djnz R0,delay1
ret
;
Data7segmen:
db 11000000b,11111001b,10100100b,10110000b,10011001b
db 10010010b,10000010b,11111000b,10000000b,10010000b
;
end
7. Simpanlah program yang anda ketik dan beri  nama            : prog92a.asm
          8. Pada program MIDE tersebut pilih Build /F9 atau untuk  melakukan kompilasi            program dari *.asm ke *.hex.
          9. Lakukan pemrograman mikrokontroller dengan menggunakan  Program ISP            Software ( Lihat Petunjuk Penggunaan)
          10. Lakukan pengamatan pada display 7 segmen ? dan lengkapi  tabel berikut.
| Clock ke | Display 7 Segmen | 
| 1 | ? | 
| 2 | ? | 
| 3 | ? | 
| 4 | ? | 
| 5 | ? | 
| : | : | 
| 20 | ? | 
FUNGSI TIMER
Pada keluarga MCS-51 terdapat dua buah timer/ counter 16 bit, yang dapat dikonfigurasikan sebagai timer atau counter, 8 bit, 13 bit atau 16 bit sesuai dengan mode yang dipilih. Gambar berikut merupakan contoh aplikasi Counter 16 bit dengan menggunakan mode 1
        
Percobaan 9.3. Aplikasi Timer 1, sebagai timer 16 bit dengan output LED
Pada percobaan ini, clock akan dibangkitkan dengan menggunakan fungsi timer 16 bit, dengan periode 1 detik, Ton = 0,5 detik dan Toff = 0,5 detik, dengan tampilan LED
          
Pada mode ini, dengan kristal 12MHz maka  timer akan            overflow setiap 65.536 udetik. Pada percobaan ini, untuk  membangkitkan            interupsi setiap 1000 udetik maka data yang harus diisikan  pada register            TL1 dan TH1 adalah sebagai berikut:
          65536 - 10000 = 55536 d or D8F0h
          Maka interupsi TF1 akan segera dibangkitkan setiap 1000 x 1  udetik =            0,01 detik
          pada pemrograman ini, RO diimplementasikan sebagai counter  software,            Register R0 akan increment setiap Timer 1 overflow. Jika  register R7            telah mendeteksi nilai 50 maka port P0.0 ( LED D0 ) akan nyala  selama            = 0,01 x 50 detik = 0,5 detik.
Lakukan beberapa langkah percobaan sebagai  berikut:
          1. Lepas kabel yang menghubungkan antara P3.5 dengan output  clock IC            555
          2. Hubungkan jumper konektor LED_EN
          3. Hubungkan modul Microcontroller Trainer dengan power supply  +5V
          4. Hubungkan modul Microcontroller Trainer dengan rangkaian  programmer           
          5. Buka Program M-IDE Studio for MCS-51, sebagai editor dan  compiler            program
          6. Ketik program berikut ini: (download            file prog93a.asm)
            Org 0h
Start: Setb P0.0 ;P0.0 = 1
          call Delay ;call delay time
          Clr P0.0 ;P0.0 = 0
          call delay ;call delay time
          Sjmp Start ;Looping Forever
          ;
Delay: Mov R0,#0 ;R0 = 0
          Mov TMOD,#00010000b ;Mode 1, Fungsi =Timer 1 16 bit
Load: Mov TH1, #0D8h ;TH1 = D8h
          Mov TL1, #0F0h ; TL1 = F0h
          Setb TR1 ; TR1 = 1, Start Running
          OFlow: JNB TF1, OFlow ; jump to OFlow if TF1 =0
          Clr TR1 ; TR1 = 0
          Clr TF1 : TF1 = 0
          Inc R0 ; R0 = R0+1
          CJNE R0,#50,Load
          Ret
          ;
          End         7. Simpanlah program yang anda ketik dan beri  nama            : prog93a.asm
          8. Pada program MIDE tersebut pilih Build /F9 atau untuk  melakukan kompilasi            program dari *.asm ke *.hex.
          9. Lakukan pemrograman mikrokontroller dengan menggunakan  Program ISP            Software ( Lihat Petunjuk Penggunaan)
          10. Lakukan pengamatan pada nyala LED
          11. Lakukan modifikasi pada program tersebut untuk  membangkitkan frekuensi            10 Hz, 100 Hz, dan 500 Hz dan lakukan pengamatan pada layar  osciloscope
 
 
0 komentar:
Posting Komentar
Anda dapat menggunakan beberapa tag HTML, seperti <b>, <i>, <a>
Penting: Jika anda tidak memiliki account gmail pilih Name/URL pada form ini