Download artikel ini :Klik Disini
Download Schematic :Klik Disini
Download Source Code :Klik Disini
Disini, saya akan menjelaskan pemanfaatan waktu timer pada Mikrokontroler keluarga MCS51. Sebelum membaca tutorial ini, alangakah baiknya membaca tutorial sebelumnya. Tutorial sebelumnya yaitu Membaca Port Pada AT89S52. Pembacaan terlebih dahulu tutorial tersebut dimaksudkan agar memudahkan untuk mencerna materi ini. Pada AT89S52 ini dilengkapi dengan tiga perangkat timer/counter, masing-masing dinamakan timer 0, timer 1, dan timer 2. Perangkat timer./counter tersebut merupakan perangkat keras yang terpadu dalam mikrokontroler AT89S52, untuk mengaksesnya digunakan register khusus yang tersimpan dalam SRF (Special Function Register).
Pencacah biner Timer 0 diakses melalui register TL0 dan register TH0, pencacah biner Timer 1 diakses melalui register TL1 dan TH1, dan pencacah biner Timer 2 menggunakan register TL2, TH2, RCAP2L, dan RCAP2H serta indicator limpahan pada bit TF2.
Untuk mengatur kerja dari Timer 0 dan Timer 1 ini digunakan 2 register tambahan. Register tambahan tersebut adalah register TCON dan register TMOD, sedangkan untuk Timer 2 digunakan register T2CON dan T2MOD. Timer/Counter ini dapat digunakan berbagai macam, misalnya membuat waktu tunda, serta dapat juga digunakan untuk menghasilkan suara dengan frekuensi tertentu, dan masih banyak lagi.
Disini yang akan saya jelaskan adalah membuat waktu tunda dengan tundaan 1 menit. Mengaktifkan LED selama 1 menit dengan menekan tombol pada port mikro. Dalam melakukan tundaan ini pemanfaatan timer-lah yang paling akurat untuk melakukan tundaan. Karena ada 4 macam mode kerja timer, maka sebelum membuat program harus memeriksa tundaan maksimal yang bias dilakukan (Mode Kerja Timer). Untuk melihatnya dapat dilihat pada tabel dibawah ini :
Disini yang akan saya jelaskan adalah membuat waktu tunda dengan tundaan 1 menit. Mengaktifkan LED selama 1 menit dengan menekan tombol pada port mikro. Dalam melakukan tundaan ini pemanfaatan timer-lah yang paling akurat untuk melakukan tundaan. Karena ada 4 macam mode kerja timer, maka sebelum membuat program harus memeriksa tundaan maksimal yang bias dilakukan (Mode Kerja Timer). Untuk melihatnya dapat dilihat pada tabel dibawah ini :
Tabel tundaan maksimum tiap Mode Kerja Timer
(Frekuensi Kristal = 12 MHz)
Jika dilihat dari table diatas, tidak ada satupun untuk melakukan waktu tunda 1 menit. Sehingga yang dilakukan adalah pengulangan kerja timer agar mendapatkan total waktu tunda 1 menit. 10 detik = 10.000.000 mikrodetik. Maka yang dilakukan adalah pengulangan pada Mode 1.(Frekuensi Kristal = 12 MHz)
Mode 1 : 50.000 mikrodetik x 200 pengulangan = 10.000.000 mikrodetik
Langsung saja menuju rangkaian dan program untuk lebih jelasnya.Gambar rangkaian :
Untuk Listingnya :
HITUNG EQU 200
TUNDAAN EQU -50000
ORG 0H
MOV P3, #0FFH
MOV TMOD,#01H
MULAI:
MOV A, P3
CJNE A,#0FEH,MULAI
MOV P2, #0H
ACALL DELAY
ACALL DELAY
ACALL DELAY
ACALL DELAY
ACALL DELAY
ACALL DELAY
SJMP MULAI
DELAY:
MOV R1, #HITUNG
TERUS:
MOV TH0,#HIGH TUNDAAN
MOV TL0,#LOW TUNDAAN
SETB TR0
JNB TF0,$
CLR TR0
CLR TF0
DJNZ R1, TERUS
RET
END
*Untuk penjelasan listingnya, dapat download artikel ini atau source code.
*Schematic dibuat oleh penulis menggunakan Proteus 7.5 SP4, dan Source Code dibuat menggunakan MIDE-51. Bagi yang belum mempunyai dapat download link dibawah ini:
Download Proteus 7.6 SP4 :Klik Disini*Schematic dibuat oleh penulis menggunakan Proteus 7.5 SP4, dan Source Code dibuat menggunakan MIDE-51. Bagi yang belum mempunyai dapat download link dibawah ini:
Download MIDE-51 :Klik Disini
4 comments:
Bagus dah, yang penting pertamax
joooossshh,
sunduul gaaaaan, hhh,
kalau delay buat trffic light gmna?
thanks min...
solder uap
Posting Komentar