Tài liệu Lập trình hệ thống - Chương 5: Giao tiếp cống song song - Phạm Hùng Kim Khánh

1. Cấu trúc cổng song song
Cổng song song gồm có 4 đường điều khiển, 5 đường trạng thái và 8 đường dữ liệu
bao gồm 5 chế độ hoạt động:
- Chế độ tương thích (compatibility).
- Chế độ nibble.
- Chế độ byte.
- Chế độ EPP (Enhanced Parallel Port).
- Chế độ ECP (Extended Capabilities Port).
3 chế độ đầu tiên sử dụng port song song chuẩn (SPP – Standard Parallel Port) trong
khi đó chế độ 4, 5 cần thêm phần cứng để cho phép hoạt động ở tốc độ cao hơn. 
pdf 15 trang thamphan 27/12/2022 1500
Bạn đang xem tài liệu "Tài liệu Lập trình hệ thống - Chương 5: Giao tiếp cống song song - Phạm Hùng Kim Khánh", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

File đính kèm:

  • pdftai_lieu_lap_trinh_he_thong_chuong_5_giao_tiep_cong_song_son.pdf

Nội dung text: Tài liệu Lập trình hệ thống - Chương 5: Giao tiếp cống song song - Phạm Hùng Kim Khánh

  1. Tài liệu Lập trình hệ thống Chương 5 Chương 5 GIAO TIẾP CỐNG SONG SONG 1. Cấu trúc cổng song song Cổng song song gồm có 4 đường điều khiển, 5 đường trạng thái và 8 đường dữ liệu bao gồm 5 chế độ hoạt động: - Chế độ tương thích (compatibility). - Chế độ nibble. - Chế độ byte. - Chế độ EPP (Enhanced Parallel Port). - Chế độ ECP (Extended Capabilities Port). 3 chế độ đầu tiên sử dụng port song song chuẩn (SPP – Standard Parallel Port) trong khi đó chế độ 4, 5 cần thêm phần cứng để cho phép hoạt động ở tốc độ cao hơn. Sơ đồ chân của máy in như sau: Chân Tín hiệu Mô tả 1 STR (Out) Mức tín hiệu thấp, truyền dữ liệu tới máy in 2 D0 Bit dữ liệu 0 3 D1 Bit dữ liệu 1 4 D2 Bit dữ liệu 2 5 D3 Bit dữ liệu 3 6 D4 Bit dữ liệu 4 7 D5 Bit dữ liệu 5 8 D6 Bit dữ liệu 6 9 D7 Bit dữ liệu 7 10 ACK (In) Mức thấp: máy in đã nhận 1 ký tự và có khả năng nhận nữa 11 BUSY (In) Mức cao: ký tự đã được nhận; bộ đệm máy in đầy; khởi động máy in; máy in ở trạng thái off-line. 12 PAPER EMPTY (In) Mức cao: hết giấy 13 SELECT (In) Mức cao: máy in ở trạng thái online 14 AUTOFEED (Out) Tự động xuống dòng; mức thấp: máy in xuống dòng tự động 15 ERROR (In) Mức thấp: hết giấy; máy in ở offline; lỗi máy in 16 INIT (Out) Mức thấp: khởi động máy in 17 SELECTIN (Out) Mức thấp: chọn máy in 18-25 GROUND 0V Cổng song song có ba thanh ghi có thể truyền dữ liệu và điều khiển máy in. Địa chỉ cơ sở của các thanh ghi cho tất cả cổng LPT (line printer) từ LPT1 đến LPT4 được lưu trữ trong vùng dữ liệu của BIOS. Thanh ghi dữ liệu được định vị ở offset 00h, thanh ghi trang Phạm Hùng Kim Khánh Trang 116
  2. Tài liệu Lập trình hệ thống Chương 5 2. Giao tiếp với thiết bị ngoại vi 2.1. Giao tiếp với máy tính Quá trình giao tiếp với cổng song song dùng 2 chế độ: chế độ chuẩn SPP và chế độ mở rộng. Việc giao tiếp ở chế độ chuẩn mô tả như sau: 13 13 25 25 12 12 24 24 11 11 23 23 10 10 22 22 9 9 21 21 8 8 20 20 7 7 19 19 6 6 18 18 5 5 17 17 4 4 16 16 3 3 15 15 2 2 14 14 1 1 Hình 5.1 - Trao đổi dữ liệu qua cổng song song giữa 2 PC dùng chế độ chuẩn Sơ đồ chân kết nối mô tả như sau: PC1 PC2 Chức năng Chân Chân Chức năng D0 2 15 ERROR D1 3 13 SELECT D2 4 12 PAPER EMPTY D3 5 10 ACK D4 6 11 BUSY BUSY 11 6 D4 ACK 10 5 D3 PAPER EMPTY 12 4 D2 SELECT 13 3 D1 ERROR 15 2 D0 GND 25 25 GND Ngoài ra, việc kết nối giữa 2 máy tính sử dụng cổng song song có thể dùng chế độ mở rộng, chế độ này cho phép giao tiếp với tốc độ cao hơn. Phạm Hùng Kim Khánh Trang 118
  3. Tài liệu Lập trình hệ thống Chương 5 74LS06 9 8 1 STROBE 10K1 14 2 3 2 9 15 4 D0 Q0 5 8 3 7 D1 Q1 6 7 16 8 D2 Q2 9 6 4 13 D3 Q3 12 5 VCC 17 14 D4 Q4 15 4 5 17 D5 Q5 16 3 18 18 D6 Q6 19 2 1 6 D7 Q7 19 11 7 CLK 20 1 8 OE 21 9 74LS374 22 10 ACK 23 11 PAPER EMPTY 74LS257 SW0-7 10K 24 12 SELECT 4 2 2 3 9 25 74LS06 7 1Y 1A 5 5 Q0 D0 4 8 13 9 2Y 2A 11 6 Q1 D1 7 7 BUSY 2 1 12 3Y 3A 14 9 Q2 D2 8 6 4Y 4A 12 Q3 D3 13 5 VCC 3 15 Q4 D4 14 4 74LS06 1B 6 16 Q5 D5 17 3 2B 10 19 Q6 D6 18 2 1 AUTO FEED 3 4 3B 13 Q7 D7 4B 11 1 CLK 74LS06 A/B 15 1 G OE SELECT IN 5 6 74LS374 Hình 5.3 – Mạch giao tiếp đơn giản thông qua cổng máy in Giao diện: Hình 5.4 – Giao diện của chưnơg trình giao tiếp với cổng máy in Chương trình giao tiếp trên VB sử dụng thư viện liên kết động để trao đổi dữ liệu với cổng máy in. Thư viện IO.DLL bao gồm các hàm sau: - Hàm PortOut: xuất 1 byte ra cổng Phạm Hùng Kim Khánh Trang 120
  4. Tài liệu Lập trình hệ thống Chương 5 End Begin VB.CheckBox chkSW Height = 375 Index = 7 Left = 1800 TabIndex = 17 Top = 3480 Width = 1575 End Begin VB.CheckBox chkSW Height = 375 Index = 6 Left = 1800 TabIndex = 16 Top = 3000 Width = 1575 End Begin VB.CheckBox chkSW Height = 375 Index = 5 Left = 1800 TabIndex = 15 Top = 2520 Width = 1575 End Begin VB.CheckBox chkSW Height = 375 Index = 4 Left = 1800 TabIndex = 14 Top = 2040 Width = 1575 End Begin VB.CheckBox chkSW Height = 375 Index = 3 Left = 1800 Phạm Hùng Kim Khánh Trang 122
  5. Tài liệu Lập trình hệ thống Chương 5 Caption = "Send" Height = 495 Left = 0 TabIndex = 8 Top = 3960 Width = 1095 End Begin VB.Label lblLED BackStyle = 0 'Transparent Caption = "LED7" Height = 375 Index = 7 Left = 240 TabIndex = 7 Top = 3480 Width = 1095 End Begin VB.Label lblLED BackStyle = 0 'Transparent Caption = "LED6" Height = 375 Index = 6 Left = 240 TabIndex = 6 Top = 3000 Width = 975 End Begin VB.Label lblLED BackStyle = 0 'Transparent Caption = "LED5" Height = 375 Index = 5 Left = 240 TabIndex = 5 Top = 2520 Width = 975 End Phạm Hùng Kim Khánh Trang 124
  6. Tài liệu Lập trình hệ thống Chương 5 Top = 600 Width = 975 End Begin VB.Label lblLED BackStyle = 0 'Transparent Caption = "LED0" Height = 375 Index = 0 Left = 240 TabIndex = 0 Top = 120 Width = 975 End Begin VB.Shape shpLED BorderColor = &H000000FF& FillColor = &H000000FF& FillStyle = 0 'Solid Height = 375 Index = 7 Left = 840 Shape = 3 'Circle Top = 3480 Width = 375 End Begin VB.Shape shpLED BorderColor = &H000000FF& FillColor = &H000000FF& FillStyle = 0 'Solid Height = 375 Index = 6 Left = 840 Shape = 3 'Circle Top = 3000 Width = 375 End Begin VB.Shape shpLED BorderColor = &H000000FF& Phạm Hùng Kim Khánh Trang 126
  7. Tài liệu Lập trình hệ thống Chương 5 Left = 840 Shape = 3 'Circle Top = 1080 Width = 375 End Begin VB.Shape shpLED BorderColor = &H000000FF& FillColor = &H000000FF& FillStyle = 0 'Solid Height = 375 Index = 1 Left = 840 Shape = 3 'Circle Top = 600 Width = 375 End Begin VB.Shape shpLED BorderColor = &H000000FF& FillColor = &H000000FF& FillStyle = 0 'Solid Height = 375 Index = 0 Left = 840 Shape = 3 'Circle Top = 120 Width = 375 End End Attribute VB_Name = "Form1" Attribute VB_GlobalNameSpace = False Attribute VB_Creatable = False Attribute VB_PredeclaredId = True Attribute VB_Exposed = False 'IO.DLL Private Declare Sub PortOut Lib "IO.DLL" (ByVal Port As Integer, ByVal Data As Byte) Phạm Hùng Kim Khánh Trang 128
  8. Tài liệu Lập trình hệ thống Chương 5 Dim s As String t = 0 For i = 0 To 7 t = t + (2 ^ i) * (1 - shpLED(i).FillStyle) Next i PortOut BA_LPT, t PortOut BA_LPT, 1 'STROBE = 1 PortOut BA_LPT, 0 'STROBE = 0 End Sub Private Sub Form_Load() BA_LPT = &H378 PortOut BA_LPT + 2, 0 End Sub Private Sub lblLED_Click(Index As Integer) shpLED(Index).FillStyle = 1 - shpLED(Index).FillStyle End Sub Phạm Hùng Kim Khánh Trang 130