TEORI
Gambar 13.1. Pin Konfigurasi Printer Dot Matriks
Gambar 13.2. Penamaan sinyal pada printer DB25 Female
Selama operasi printer standart, cara data ditransmisikan melalui jalur parallel port adalah bervariasi, tetapi pada prinsipnya adalah sebagai berikut:
1. Untuk mengirimkan sebuah byte data, software mengeluarkan byte ke jalur data, selanjutnya mengeluarkan pulsa STROBE.
2. Disisi lain Printer, menguji jalur BUSY, dan komputer menunggu untuk jalur busy sebelum mengirimkan byte berikutnya.
3. Pada implemantasi yang lain, jalur ACK digunakan printer untuk menginformasikan PC bahwa data telah diterima.
4. Jalur PAPER EMPTY adalah jalur untuk menginformasikan ke PC bahwa kertas telah keluar.
5. Printer juga mengirim sinyal SELECTED ke PC untuk mengindikasikan bahwa printer sedang on line dan siap untuk menerima data
6. Sinyal ERROR dari printer dapat digunakan untuk berbagai macam error yang akan menyebabkan printer tidak dapat menerima data.
7. AUTOFEED, memberitahukan ke printer untuk secara automatik menyisipkan line feed setelah carriage return
8. INIT, inisialisasi printer setelah pemberia catu daya
Gambar 13.3. Koneksi interface printer
Percobaan 13.1 Cetak sebuah karakter dengan menggunakan printer dot matriks
Pada percobaan ini, dua buah kalimat akan dicetak pada kertas dengan menggunakan sebuah printer melalui interface ke mikrokontroller.
1. Hubungkan konektor 8 bit ke P2 dan konektor 3 bit ke P3
2. Hubungkan modul printer ke konektor printer DB25 female
3. Hubungkan modul Microcontroller Trainer dengan power supply +5V
4. Hubungkan modul Microcontroller Trainer dengan rangkaian programmer
5. Buka Program M-IDE Studio for MCS-51, sebagai editor dan compiler program
6. Ketik program berikut ini: (download file prog132a.asm)
busy bit P3.0
strobe bit P3.1
portData equ P2
;
org 0h
start:call printchar; cetak sebuah karakter "A"
quit: sjmp Quit ; Hang Forever until reset pressed
;
;======================================================
;Subrutin ini digunakan untuk cetak satu karakter
;melalui D0 s/d D7
;sebelum melakukan cetak karakter, sinyal BUSY harus
;dideteksi, sampai terdeteksi sinyal dg logika low
;selanjutnya kirim sinyal STROBE dengan pulsa( --__-- )
;======================================================
Printchar:
mov portData,'A'
jb busy,$
setb strobe
clr strobe
acall delay
Setb strobe
acall delay
ret
;
delay: mov R7,#2
del1: mov R6,#20
DJNZ R6,$
DJNZ R7,del1
ret
;
end
7. Simpanlah program yang anda ketik dan beri nama : prog132a.asm
8. Pada program MIDE tersebut pilih Build /F9 atau untuk melakukan kompilasi program dari *.asm ke *.hex.
9. Lakukan pemrograman mikrokontroller dengan menggunakan Program ISP Software ( Lihat Petunjuk Penggunaan)
10. Lakukan modifikasi program tersebut untuk menampilkan data 3 kalimat ke printer dot matriks
Percobaan 13.2 Cetak dua buah kalimat dengan menggunakan printer dot matriks
Pada percobaan ini, dua buah kalimat akan dicetak pada kertas dengan menggunakan sebuah printer melalui interface ke mikrokontroller.
1. Hubungkan konektor 8 bit ke P2 dan konektor 3 bit ke P3
2. Hubungkan modul printer ke konektor printer DB25 female
3. Hubungkan modul Microcontroller Trainer dengan power supply +5V
4. Hubungkan modul Microcontroller Trainer dengan rangkaian programmer
5. Buka Program M-IDE Studio for MCS-51, sebagai editor dan compiler program
6. Ketik program berikut ini: (download file prog131a.asm)
busy bit P3.0
strobe bit P3.1
portData equ P2
;
org 0h
start: call word_Welcome ; to print ' Welcome To '
call enter ; new line feed
call word_Lab ; to print ' Computer Laboratory '
call enter ; new line feed
;
quit: sjmp Quit ; Hang Forever until reset pressed
;
;======================================================
;Subrutin ini digunakan untuk cetak satu karakter
:melalui D0 s/d D7
;sebelum melakukan cetak karakter, sinyal BUSY harus
;dideteksi, sampai terdeteksi sinyal dg logika low
;selanjutnya kirim sinyal STROBE dengan pulsa( --__-- )
;======================================================
Printchar:
mov portData,A
jb busy,$
setb strobe
clr strobe
acall delay
Setb strobe
acall delay
ret
;
delay: mov R7,#2
del1: mov R6,#20
DJNZ R6,$
DJNZ R7,del1
ret
;======================================================
;SUbrutine ini digunakan untuk cetak kalimat
;dengan mamanggil subrutine printchar dan look up data
;proses cetak akan berlangsung terus sampai ditemui '$'
;======================================================
word_welcome:
mov DPTR,#Text_welcome
lagi1: clr A
movc A,@A+DPTR
cjne A,#'$',Print1
sjmp Out1
Print1: call Printchar
inc dptr
call delay
sjmp lagi1
Out1: ret
;
;==========================================
;This subroutine print a text'Computer Laboratorium'
;this subroutine will print character by character till '$'
;character is detected, when this character is detected then
;It's indicated that a text has finished
;==========================================
word_Lab:
mov DPTR,#Text_lab
lagi2: clr A
movc A,@A+DPTR
cjne A,#'$',Print2
sjmp Out2
Print2:call Printchar
inc dptr
call delay
sjmp lagi2
Out2: ret
Enter:
mov A,#0dh
call printchar
call delay
mov A,#0ah
call printchar
ret
;
Text_welcome:
DB ' Welcome To $'
Text_Lab: DB ' Computer Laboratory $'
;
end
7. Simpanlah program yang anda ketik dan beri nama : prog131a.asm
8. Pada program MIDE tersebut pilih Build /F9 atau untuk melakukan kompilasi program dari *.asm ke *.hex.
9. Lakukan pemrograman mikrokontroller dengan menggunakan Program ISP Software ( Lihat Petunjuk Penggunaan)
10. Lakukan modifikasi program tersebut untuk menampilkan data 3 kalimat ke printer dot matriks
0 komentar:
Posting Komentar
Anda dapat menggunakan beberapa tag HTML, seperti <b>, <i>, <a>
Penting: Jika anda tidak memiliki account gmail pilih Name/URL pada form ini