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