Mikrokontroler dan komputer dapat melakukan komunikasi dua arah dengan menggunakan port paralel komputer sebagai jalur input dan output antara komputer dan mikrokontroler.
Port paralel ialah port data di komputer untuk mentransmisi 8 bit data dalam sekali detak. Standar port paralel yang baru ialah IEEE 1284 dimana dikeluarkan tahun 1994. Standar ini mendefinisikan 5 mode operasi sebagai berikut :
- Mode kompatibilitas
- mode nibble
- mode byte
- mode EPP (enhanced parallel port)
- mode ECP (Extended capability port)
Port paralel Extend dan Enhanced menggunakan hardware tambahan untuk membangkitkan dan mengatur handshaking. Untuk mengeluarkan 1 byte ke printer menggunakan mode kompatibilitas, software harus :
- menulis byte ke data port
- cek untuk melihat apakah printer sibuk, jika sibuk, ia tidak akan menerima data, sehingga data yang telah ditulis akan hilang.
- buat strobe (pin 1) rendah. Ini memberitahukan printer bahwa data yang benar telah berada di line data
- buat strobe tinggi lagi setelah menunggu sekitar 5 mikrodetik setelah membuat strobe low.
Protokol EPP mempunyai 4 macam siklus transfer dta yang berbeda yaitu :
- Siklus baca data (Data read)
- Siklus baca alamat (Address Read)
- Siklus tulis data (data write)
- siklus tulis alamat (address write)
Berikut ialah tabel nama pin dari konekter DB25 dan Centronics dengan jumlah konektor 34. DB25 ialah konektor yang umum digunakan di computer sebagai port paralel , sedangkan konektor Centronics umum ditemukan di printer. IEEE 1284 ialah standar yang menentukan 3 konektor berbeda yang dapat digunakan dengan port paralel, yaitu1284 tipe A ialah konektor DB25 yang dapat ditemukan di hampir semua komputer, 1284 tipe B ialah konektor Centronics 36 pin yang umum ditemukan di printer, IEEE 1284 type C ialah konektor 36 pin seperti Centronics, tetapi ukurannya lebih kecil dan lebih memuaskan.
Tabel Nama pin dari konektor parallel port DB 25 dan Centronics
Pin DB25
|
Pin Centronics
|
SPP Signal
|
Arah In/out
|
Register
|
Hardware di invert
|
1
|
1
|
nStrobe
|
In/Out
|
Control
|
Ya
|
2
|
2
|
Data 0
|
Out
|
Data
|
|
3
|
3
|
Data 1
|
Out
|
Data
|
|
4
|
4
|
Data 2
|
Out
|
Data
|
|
5
|
5
|
Data 3
|
Out
|
Data
|
|
6
|
6
|
Data 4
|
Out
|
Data
|
|
7
|
7
|
Data 5
|
Out
|
Data
|
|
8
|
8
|
Data 6
|
Out
|
Data
|
|
9
|
9
|
Data 7
|
Out
|
Data
|
|
10
|
10
|
nAck
|
In
|
Status
|
|
11
|
11
|
Busy
|
In
|
Status
|
Ya
|
12
|
12
|
Paper-Out / Paper-End
|
In
|
Status
|
|
13
|
13
|
Select
|
In
|
Status
|
|
14
|
14
|
nAuto-Linefeed
|
In/Out
|
Control
|
Ya
|
15
|
32
|
nError / nFault
|
In
|
Status
|
|
16
|
31
|
nInitialize
|
In/Out
|
Control
|
|
17
|
36
|
nSelect-Printer / nSelect-In
|
In/Out
|
Control
|
Ya
|
18 – 25
|
19-30
|
Ground
|
Gnd
|
//Program menggunakan bahasa C (Turbo C) untuk pengendali lampu led di port paralel
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
int main()
{
outport(0x378,0);//lampu led mati
sleep(1); //tunda 1 detik
outport(0x378,1); //lampu led hidup
sleep(1);
return
0;
}
Untuk mengaktifkan port paralel sebagai jalur data input - output terlebih dahulu anda harus mensetting bios pada mode EPP, ECP, atau pada beberapa komputer Bi-directional (standard).
Rangkaian antar muka antara mikrokontroler dan komputer adalah sebagai berikut :
Gambar Antarmuka Port Data Paralel Port dengan Mikrokontroler ATMEGA32
0 komentar:
Post a Comment