Tê sigal (dùg cho hardware)

Một phần của tài liệu bài giảng giao tiếp và điều khiển bằng máy tính (Trang 112 - 117)

- Image: hiển thị biểu tượng hoặc hình ảnh cho mục chọn.

n tê sigal (dùg cho hardware)

quản lý và điều khiển quá trình trao đổi thông tin này. DATA port có 8 pins tức là 1 bytes.

STATUS port là nơi hiển thị các quá trình vận hành của parallel port. Một ví dụ đơn giản là giả sử bạn muốn in một bài viết ra printer, nhưng khi nhấn nút "print" thì lại thấy máy vi tính hiển thị một thông báo hết giấy! Trên thực tế phía sau những hành

động này là một chuỗi phối hợp giữa software và hardware. Khi bạn click "print" tức là bạn kích hoạt một trong những pins của CONTROL port bằng software để bảo cái printer in bài ra. Nhưng trước khi thực hiện việc in printer cũng tự biết nó hết giấy và tự

kích hoạt một trong số những pins của STATUS port để báo cho computer biết là hết giấy. Kết quả là software điều khiển quá trình in kiểm tra (trước khi in) thấy được cho nên nó hiện thông báo hết giấy cho bạn. Nhiều hoạt động tương tự như printer chưa on, printer hết mực, printer bị kẹt giấy...cũng do phối hợp giữa những pins này tạo nên.

Bảng địa chỉ LPT Port:

Port Address Address

Chú Thích

3BCh - 3BFh dùng cho prallel port vốn dính vào Video Card (cách cũ)

378h - 37Fh khu vực memory thường dùng cho LPT 1 278h - 27Fh khu vực memory thường dùng cho LPT 2

....

6.3 Chc năng các Pin trong parallel port (xem chi tiết [5])

Châ

n tên signal(dùng cho hardware) hardware) Direction/t ype (nhìn tPC) Tên signal và th tca bit (dùng cho software)

Normal signal line function

1 -STROBE OC/Pullup* Control register bit 0

kích hoạt thông báo gởi hoặc nhận data, 0 là đọc, 1 là viết

113

2 D0 hai chiều Data register bit

0 bit 0 chứa data 3 D1 hai chiều Data register bit 1 bit 1 chứa data 4 D2 hai chiều Data register bit 2 bit 2 chứa data 5 D3 hai chiều Data register bit 3 bit 3 chứa data 6 D4 hai chiều Data register bit 4 bit 4 chứa data 7 D5 hai chiều Data register bit 5 bit 5 chứa data 8 D6 hai chiều Data register bit 6 bit 6 chứa data 9 D7 hai chiều Data register bit 7 bit 7 chứa data 10 -ACK Input Status register

bit 6

Pulsed low by printer to acknowledge data byte

Rising (usually) edge causes IRQ if enabled 11 BUSY Input Status register

bit 7 kích hoạt khi printer đang bận (busy) 12 NOPAPER Input Status register

bit 5 kích hoạt khi printer hết giấy 13 SELECTED Input Status register

bit 4 kích hoạt khi printer đang hoạt động 14 -AUTOFEED OC/Pullup Control register

bit 1

kích hoạt thông báo data đã sẵn sàng để đọc hoặc viết

15 -ERROR Input Status register

bit 3 kích hoạt khi printer bị lổi (vì nhiều lý do) 16

-

INITIALIZE ZE

OC/Pullup Control register bit 2 kích hoạt để printer reset lại vị trí ban đầu 17 -SELECT OC/Pullup Control register bit 3 kích hoạt để đánh dấu printer nhận được valid address 18 Ground

... Ground chân (18-25) bỏ trống, dùng tùy ý 25 Ground

Chú ý: mt s dòng máy Dataport ch có chiu output * OC/Pullup: Ngõ ra để h cn mc thêm đin tr kéo lên.

114

6.4Viết chương trình truyn nhn song song đơn gin trên VB.NET (xem chi tiết [6]) tiết [6])

Trong VB hỗ trợ hàm xuất nhập qua cổng LPT là hàm inpout32.dll

Ta có thể tải hàm này từ internet vào google gõ tên hàm vào hoặc truy cập trực tiếp vào đường dẫn sau

http://logix4u.net/Legacy_Ports/Parallel_Port/Inpout32.dll_for_Windows_98/2000/NT/XP.htm l

Sau khi tải về giải nén và mở thư mục:

inpout32_source_and_bins\inpout32_source_and_bins\binaries\Dll

Hình 6.2

Copy file inpout32.dll bỏ vào thư mục C:\WINDOWS\system32 Tiếp theo mở một dự án VB và tạo một giao diện như hình sau:

Hình 6.3: Giao din giao tiếp LPT đơn gin

Bước kế tiếp là tạo 1 module để liên kết với thư viện liên kết động inpout32.dll

vừa tải về. Cách tạo một module như sau: trên thanh menu của VB vào Project -> Add module cửa sổ sau hiện ra

115

Click chọn nút Add, cửa sổ soạn thảo code cho module hiện ra, đánh đoạn code sau đây vào:

Ví dụ: Đoạn code cho Module giao tiếp LPT

Module porting

PublicDeclareFunction Inp Lib"inpout32.dll"Alias"Inp32" _ (ByVal PortAddress AsInteger) AsInteger

PublicDeclareSub Out Lib"inpout32.dll"Alias"Out32" _ (ByVal PortAddress AsInteger, ByVal Value AsInteger)

EndModule

Đoạn code trên khai báo cho chương trình biết đang sử dụng hàm Inport và outport trong thư viện "inpout32.dll"

Trở lại giao diện form

Click vào nút READ và viết lệnh sau: Ví dụ:

PrivateSub Button1_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles Button1.Click

'Declare variables to store read information and Address values

Dim intAddress AsInteger, intReadVal AsInteger

'Get the address and assign

intAddress = 888 'Địa chỉ thanh ghi dữ liệu 378H 'Read the corresponding value and store

intReadVal = porting.Inp(intAddress) TextBox1.Text = intReadVal.ToString()

EndSub

Click vào nút WRITE và viết lệnh sau: Ví dụ:

PrivateSub Button2_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles Button2.Click Dim intVal2Write AsInteger

'Read the corresponding value and store

intVal2Write = Convert.ToString(TextBox1.Text) 'porting is the name of the module

porting.Out(888, intVal2Write) 'Địa chỉ thanh ghi dữ liệu 378H

EndSub

116

- Ví dụ trên trình bày việc ghi và nhận dữ liệu qua Data Register của cổng LPT. Ngoài ra ta có thể tác động đến các thanh ghi khác như Control Register, Feedback Register.

- PortAddress: là địa chỉ của thanh ghi dữ liệu, cũng là địa chỉ của cổng LPT - PortAddress+1: là địa chỉ của thanh ghi Feedback Register

- PortAddress+2: là địa chỉ của thanh ghi Control Register.

Như ví dụ trên cổng LPT của ta có địa chỉ 378H (hệ DEC là 888), vậy nếu thao tác trên Data Register ta chọn địa chỉ 888, Feedback Register: 889, Control Register:890

Hình 6.5: Giao din mt chương trình mu

6.5 Phn cng giao tiếp (xem chi tiết [7])

- Khi ghép nối giữa máy tính và thiết bịđiều khiển cần phải qua IC đệm để tránh hư

hỏng main máy tính do chập mạch hay những sự cố khác. IC đệm hay dùng trong giao tiếp LPT là 74LS245.

117

Hình 6.7: Sơđồ giao tiếp điu khin 8 led dùng IC đệm

Luyn tp trên lp Câu hi lý thuyết

Một phần của tài liệu bài giảng giao tiếp và điều khiển bằng máy tính (Trang 112 - 117)

Tải bản đầy đủ (PDF)

(122 trang)