Membuat gelombang kotak dengan menggunakan fasilitas timer yang ada pada MCS-51, Disini dimisalkan membuat gelombang kotak 5 KHz bisa juga dengan frekuensi yang lain seperti yang kita inginkan. Disini kita menggunakan crystal 11.0592 MHz. Sehingga perhitungannya adalah sebagai berikut :
Perhitungan :
Xtal yang dipakai 11.0592MHz sehingga frekuensi timer 1/12 11059200Hz=921600Hz
Waktu yang dibutuhkan timer untuk sekali mencacah =1/921600Hz=1.085 us
Periode Gelombang T=1/f=1/5000Hz=0.0002 detik=200uS
½ untuk periode tinggi dan rendah ½ 200us= 100us
Timer yang dipakai : Timer 1 mode 1
Isi register TH1 dan TL1 = 65536-(100us/1.085us)=65536-92=65444 Desimal => FFA4 h
Isi registerter TH1=FFh dan TL1=A4h
Rangkaian menggunakan simulasi proteus :
Programnya menggunakan assembly :
MOV TMOD,#10h ;Timer-1 Mode-1 (16-bit)
start: MOV TL1,#0A4h ;TL1=0, low byte
MOV TH1,#0ffh ;TH1=DCh, high byte
SETB TR1 ;jalankan Timer
loop: JNB TF1,loop ;Monitor Timer Flag
CLR TR1 ;Matikan Timer
CPL P0.1 ;Mentoggle out untuk tinggi rendah
CLR TF1 ;Reset TF
SJMP start ;reload Timer karena mode-1
END
Berikut Hasil setelah dirun :
Bila masih kurang jelas dapat dilihat pada video berikut :
https://youtube.com/watch?v=GkCo_N62Uds
Semoga bermanfaat bila masih ada kekurangan harap maklum…masih newbie 🙂