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 :

GelKotak5KHz settingICmikro

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 :

HasilOsciloscope

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 🙂

Tinggalkan Balasan

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar Anda diproses.