Interface yang sangat luar biasa
3.7. Printer Dot Matrik
Printer, merupakan sebuah mesin cetak karakter yang secara konvensional dikendalikan melalui komputer. Dengan mempelajari karakteristik pengoperasian sebuah printer maka kita dapat mengoperasikan printer tanpa bantuan komputer. Berikut merupakan konfigurasi pin pada printer konvensional.
Gambar 3.19. Pin konfigurasi pada printer
Dengan menggunakan kemampuan teknologi mikrokontroler, maka kita dapat membuat seolah-olah mikrokontroler adalah sebuah komputer untuk keperluan cetak karakter pada mesin printer. Pada kesempatan ini penulis masih melakukan penelitian cetak karakter pada mesin printer dot matrix, mungkin tidak menutup kemungkinan cetak karakter ke mesin printer dapat dilakukan di printer jenis yang lain, misal BJC or Laser.
Adat atau tatacara pengoperasian sebuah mesin printer harus mematuhi beberapa langkah software sebagai berikut:
1. Tulis sebuah data byte ( karakter yang akan dicetak pada mesin printer ) ke Port Data
2. Check untuk melihat apakah printer dalam keadaan Busy ( Bahasa Jawa: Repot atau sibuk ) pin 11. Jika printer dalam keadaan sibuk, maka printer tidak akan menerimanya, sehingga data yang kita tuliskan akan hilang ( So: jangan sekali-kali dilakukan ).
3. Kirim logika low pada Strobe. Hal ini akan menginformasikan ke printer bahwa ada data yang benar pada jalur data. ( pin 2 - 9)
4. Kirim logikan high pada Strobe sekali lagi setelah menunggu kira-kira 5 microsecond, setelah mengirim logika low pada Strobe.
Gambar 3.20. Rangkaian interface printer ke mikrokontroler
;=======================================================
;Program Cetak karakter ke printer dot matriks
;dengan konfigurasi hardware sebagai berikut:
;P2.0 s/d P2.7 terhubung ke port data D0 s/d D7 printer
;P1.2 terhubung ke Strobe printer
;P1.3 terhubung ke Reset printer
;=======================================================
buf equ 60h
Org 0h
Mov DPTR,#coba_txt
Lcall printout
main: sjmp main
;
printout: mov r6,#00h
lagi: mov a,r6
movc a,@A+dptr
mov R7,A
mov buf,#'$'
cjne A,buf,next
ret
;
next: mov p1,#00001111b
mov p1,#00001011b;mengirim sinyal logika nol pada reset printer
lcall delayprint ;waktu tunda pada logika nol
mov p1,#00001111b;mengembalikan sinyal reset ke logika 1
;shg didapatkan pulsa 1-0-1
;
mov A,r7
mov p2,A;mengirimkan data karakter satu per satu
;ke jalur data printer melalui port P2
lcall delayprint
mov p1,#00001111b; mengirim sinyal pulsa 1-0-1 pada pin Strobe,
; idem pada reset
mov p1,#00001110b
lcall delayprint
lcall delayprint
mov p1,#00001111b
inc r6
ljmp lagi
delayprint:mov r4,#200
djnz R4,$
ret
;
end
No comments:
Post a Comment