MODUL PERKULIAHAN
PERANCANGAN
BERBASIS
MIKROPROSESSO
R
stepper motor
Abstrak Sub-CPMK
05
Baradista Dimas Leotman, ST, M.Pd
Fakultas Teknik Teknik Elektro
Definisi
Timer
Timer atau pewaktu adalah sarana untuk menghitung durasi kejadian seperti halnya
stopwatch. Biasanya peran Timer juga merangkap Counter atau pencacah. Sedikit berbeda
dengan Timer, Counter merupakan sarana untuk mencacah atau menghitung jumlah
kejadian, jumlah barang atau lainnya. Tasbeh adalah contoh counter yang digunakan untuk
mencacah banyaknya dzikir.
Prosesor 8051 dilengkapi dengan I/O internal yang terdiri dari Sarana akses data
Paralel, Sarana Komunikasi Serial, Sarana untuk Timer/Counter dan Sarana untuk
Interupsi. Sarana Timer/Counter berupa 2 buah Timer/Counter yang dapat digunakan
dengan 4 macam cara atau mode. Ada 6 Register yang terkait dengan penggunaan
Timer/Counter, semuanya terletak pada SFR, Register tsb adalah TMOD, TCON, TH1,
TL1, TH0 dan TL0. Sebelum digunakan, Timer/Counter tsb harus di-setting melalui
pengisian TMOD dengan angka biner tertentu. Berikut ini adalah gambar yang terkait
dengan pengisian register TMOD atau Timer Mode.
TMOD: TIMER/COUNTER MODE CONTROL REGISTER. NOT BIT ADDRESSABLE.
Nibble atau 4-bit kiri digunakan untuk setting Timer atau Counter 1 sedangkan Nibble atau
4-bit kanan digunakan untuk Timer atau Counter 0. Keterangan masing-masing bit adalah
sebagai berikut,
GATE : Bit ini dipakai untuk menentukan kendali ON/OFF timer. Jika bit ini
LOW, maka kendali dilakukan secara software atau program, Timer1 akan
ON selama bit TR1 pada Register TCON bernilai HIGH. Tetapi jika bit ini
HIGH, berarti ON/OFF Timer atau Counter bergantung pada kondisi pin
INT, Timer 1 akan ON selama pin INT1 bernilai HIGH.
Misalnya kita ingin menggunakan Timer/Counter 0 sebagai Timer 16-bit. Maka bit-
bit setting yang kita berikan untuk TMOD adalah data biner “xxxx 0001”. Tanda x atau
don’t care berarti bahwa bit-bit tsb tidak terkait dengan Timer/Counter 0. Gambar di bawah
ini adalah diagram operasi Timer 16-bit.
Berikut ini adalah contoh penggunaan Timer dalam program penggerak motor
stepper. Misalnya kita menggunakan prosesor 8051 untuk menggerakkan motor stepper 4-
bit. Pin kendali motor stepper yang terdiri dari 4-bit dihubungkan dengan 4-bit LSB dari
Port 1. Gambar 5.3. memperlihatkan skema rangkaian pengganti untuk motor stepper 4-bit.
Kabel kendalinya adalah kabel hitam, kuning, orange dan coklat. Saklar pada gambar 5.3.
Gambar 5.3. Skema rangkaian pengganti untuk sebuah motor stepper 4-bit.
Resolusi dan kecepatan gerak motor stepper beragam, pada contoh ini motor
stepper bergerak dengan resolusi 1,8 per step dengan kecepatan maksimum 33 Hz atau 33
step per detik. Karena kecepatan gerak motor stepper sangat lambat jika dibandingkan
dengan kecepatan prosesor menggeser bit, maka prosesor perlu menunggu beberapa
milidetik sebelum memberikan bit kendali baru ke motor stepper. Misalnya kita ingin
menggerakkan motor stepper sejauh 100 step ke kanan dengan kecepatan 10 step per detik,
4-bit kendali motor stepper dihubungkan dengan 4-bit LSB Port 1. Maka program yang
harus kita buat adalah sebagai berikut.
Misalnya, pertama kali, LSB Port1 diberi bit 1100, kemudian 0110, kemudian 0011, 1001, 1100 dst
sampai 100 kali geser bit ke kanan. Tetapi harus ada jeda waktu pada setiap geseran, sesuai
dengan kecepatan gerak yang diinginkan. Interval antar step adalah 0,1 detik atau 100 ms. Maka
secara garis besar, kerja program terdiri dari 3 langkah yang diulang 100 kali, yaitu:
Delay maksimum untuk counter 16-bit adalah 65535 pulsa atau 65535 mikrodetik. Berarti delay
harus diulang, misal 10000 pulsa diulang 10 kali.
MOV A,#11001100B
MOV LoopX,#100
RR A
MOV LoopX+1,#10
SETB TR0
JNB TF0,$
CLR TF0
DJNZ LoopX+1,TUNDA
DJNZ LoopX,ULANG
Jika kita tulis program lengkap dengan nama file stepper.asm, maka setelah diasembli dengan
ASM51 akan dihasilkan file stepper.lst seperti berikut,
Dari listing program di atas terlihat bahwa instruksi yang berada dalam kotak besar
diulang 100 kali dengan menggunakan LoopX sebagai counter, sedangkan instruksi yang
berada dalam kotak kecil diulang 10 kali dengan menggunakan LoopX+1 sebagai counter.
2. Haryanto,Agus. Memebuat aplikasi sederhana dengan microsoft access. Kuliah umum ilmu
komputer.com
4. Prasetia,Retna. Teori dan praktek interfacing port paralel dan port serial computer dengan visual
basic 6.0 ,penerbit andi yogyakarta,2004.