module vàora ghép nối với cổng LPT của PC

17 3 0
module vàora ghép nối với cổng LPT của PC

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

LỜI MỞ ĐẦU Trong năm gần công nghệ thơng tin có bước phát triển nhảy vọt, đặc biệt đời máy tính tạo cho xã hội bước phát triển mới, ảnh hưởng đến hầu hết vấn đề xã hội cơng nghiệp Máy tính phát triển vây việc kết nối điều khiển thiết bị ngày phát triển mạnh mẽ giúp điều khiển giám sát thiết bị thơng qua máy tính cách tối ưu Tiết kiêm thời gian tiền bạc Nhằm phục vụ nhu cầu trường cao đẳng, đại học đời mơn “ghép nối máy tính” Qua q trình học tập em nhận đề tài: “Xây dựng module vào/ra ghép nối với cổng LPT PC: với đầu rơle dòng điện nhỏ 500mA, đầu vào số cách ly quang Xây dựng phần mềm giao diện đơn giản máy tính cho phép đọc đầu vào hiển thị kết dạng đồ thị, điều khiển đầu nút ấn Nêu khả ứng dụng module.” Nội dung bàn đề tài: - Giới thiệu chung cổng LPT IC sử dụng module - Thiết kế phần cứng module - Lập trình phần mềm máy tính - Ứng dụng module Với kiến thức học trường chưa có nhiều kiến thức thực tế nên khơng thể tránh khỏi thiếu sót Em mong có bảo hướng dẫn thầy cô để tập lớn em hồn thiện Sinh viên thực Chương Giới thiệu chung 1.1 Tổng quan cấu trúc cổng song song Cổng song song gồm đường điều khiển, đường trạng thái đường liệu bao gồm chế độ hoạt động: - Chế độ tương thích - Chế độ nibble - Chế độ byte - Chế độ EPP - Chế độ ECP Chế độ sử dụng port song song chuẩn (SPP – Standard Parallel Port) chế độ 4, cần thêm phần cứng phép hoạt động tốc độ cao Sơ đồ chân máy in sau: Chân 10 11 Tín hiệu STR (OUT ) D0 D1 D2 D3 D4 D5 D6 D7 ACK (In) BUSY(In) Mơ tả Mức tín hiệu thấp, truyền liệu tới máy in Bit liệu Bit liệu Bit liệu Bit liệu Bit liệu Bit liệu Bit liệu Bit liệu Mức thấp: máy in nhận ký tự có khả nhận Mức cao: ký tự nhận; đệm máy in đầy; khởi động 12 13 14 PAPER EMPTY (In) SELECT (In) AUTOFEED(Out ) máy in; máy in trạng thái off-line Mức cao: hết giấy Mức cao: máy in trạng thái online 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; máy in lỗi 16 INIT (Out ) Mức thâp: khởi động máy in 17 SELECTIN (Out ) GROUND Mức thấp: chọn máy in 18-25 0V Cổng song song có ghi truyền liệu điều khiển máy in Địa sơ sở ghi cho tất cổng LPT từ LPT1 đến LPT4 lưu trữ vùng nhớ liệu BIOS Thanh ghi liệu định vị offset 00h, ghi trạng thái 01h ghi điều khiển 02h Thông thường, địa sở LPT 378h, LPT2 278h, địa ghi trạng thái 379h 279h địa ghi điều khiển 37Ah 27Ah Tuy nhiên số trường hợp, địa cổng song song trình khởi động BIOS BIOS lưu trữ địa sau: Địa 0000h:0408h 0000h:040Ah 0000h:040Ch Chức Địa sở LPT1 Địa sở LPT2 Địa sở LPT3 Định dạng ghi sau: - Thanh ghi liệu (hai chiều): D7 Tín hiệu máy in Chân số D6 D5 D4 D3 D2 D1 D0 - Thanh ghi trạng thái máy in (chỉ đọc): Tín hiệu máy in BUSY ACK PAPER SELECT ERROR IRQ x x 11 10 EMPTY 12 13 15 - - - Số chân cắm - Thanh ghi điều khiển máy in: Tín hiệu máy in x x DIR IRQ SELECTIN INIT AUTOFEED STROBE Số chân cắm - - - Enable - 17 16 14 x: không sử dụng IRQ Enable: yêu cầu ngắt cứng; = cho phép; = không cho phép Chú ý chân BUSY nối với cổng đảo trước đưa vào ghi trạng thái, bit SELECTIN , AUTOFEED STROBLE đưa qua cổng đảo trước đưa chân cổng máy in Thông thường tốc độ xử lý liệu thiết bị ngoại vi máy in chậm PC nhiều nên đường ACK , BUSY , STR sử dụng cho kỹ thuật bắt tay Khới đầu, PC đặt liệu lên bus sau kích hoạt thường STR xuống mức thấp để thông tin cho máy in biết liệu ổn định bus Khi máy in xử lý xong liệu, trả lại tín hiệu ACK xuống mức thấp để nhận PC đợi đường BUSY từ máy in xuống mức thấp đưa tiếp liệu lên bus Giao tiếp với máy tính Q trình giao tiếp với cổng song song dùng chế độ: chế độ chuẩn SPP chế độ mở rộng Việc giao tiếp chế độ mô tả sau: Hình 1.1 Trao đổi liệu song song PC dùng chế độ chuẩn Sơ đồ kết nối mô tả sau: PC1 Chức D0 D1 D2 D3 Chân Chân 15 13 12 10 PC2 Chức ERROR SELECT PAPER EMPTY ACK D4 BUSY ACK PAPER EMPTY SELECT ERROR GND 11 10 12 13 15 25 11 25 BUSY D4 D3 D2 D1 D0 GND Ngoài ra, việc kết nối máy tính sử dụng cổng song song dùng chế độ mở rộng, chế độ cho phép giao tiếp với tốc độ cao Hình 1.2 Trao đổi liệu qua cổng song song PC dùng chế độ mở rộng Sơ đồ kết nối mô tả sau: PC1 Chức Chân D0 D1 D2 D3 D4 D5 D6 D7 SELECT 13 BUSY 11 10 ACK PC2 Chân Chức D0 D1 D2 D3 D4 D5 D6 D7 17 SELECTIN 16 INIT STROBE SELECTIN INIT STROBE 17 16 13 11 10 SELECT BUSY ACK 1.2 Một số IC sử dụng module 1.2.1 IC 74HC244 74HC244 khối trung gian để chứa liệu trước chuyển vào hay chuyển khỏi hệ trung tâm Vi mạch đệm gồm nửa bit Nửa thứ gồm bit vào 1A1,…,1A4 đầu 1Y1,…,1Y4 Nửa thứ hai 2A1,…,2A4 đầu 2Y1,…,2Y4 Cho phép nửa thứ làm việc chân điều khiển 1G mức thấp nửa thứ hai làm việc chân điều khiển 3G mức thấp Như cách điều khiển chân 19 điều khiển liệu qua nửa bit riêng biệt đồng thời U 7A A A A A Y Y Y Y Y Y Y Y 18 16 14 12 O E 74H C 244 U 7B 11 13 15 17 19 A A A A O E 74H C 244 Hình 1.3 Vi mạch 74LS244 1.2.2 IC ULN2803 IC ULN2803 IC đệm dòng IC sử dụng để đệm dịng cho việc điều khiển rơle có cuộn hút ≤500mA U 6 10 IN IN IN IN IN IN IN IN O O O O O O O O U U U U U U U U T1 T2 T3 T4 T5 T6 T7 T8 1 1 1 1 C O M U LN 2803 Hình 1.4 Vi mạch ULN28030 CHƯƠNG THIẾT KẾ PHẦN CỨNG 2.1 Cơ sở thiết kế Sau q trình tìm hiểu phân tích đề tài ta xây dựng module ghép nối có sơ đồ khối sau: L P T đầu rơle đầu vào cách ly quang Hình 2.1: Sơ đồ khối module ghép nối 2.2 Mạch thiết kế Sau trình thiết kế ta sơ đồ nguyên lý module sau: P2 U 1 14 D 14 15 16 17 18 19 20 21 22 10 23 11 24 12 25 13 D D D D D D D D D D D D 2 1 1 8 11 D D D D D D D D D D U 6 Q Q Q Q Q Q Q Q 1 1 Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q 8 10 LE O E IN IN IN IN IN IN IN IN O O O O O O O O U U U U U U U U T1 T2 T3 T4 T5 T6 T7 T8 1 1 1 1 O O O O O O O O U U U U U U U U T T T T T T T T O U T O U T LPT 14 D D D D 1 1 14 19 A A A A Y Y Y Y 1 1 B B B B Y Y Y Y B B B B R L3 O U T 2 3 VR L O E A A A A R L2 VR L D D D D D C O M U LN 2803 74H C 373 R L1 VR L R L4 VR L O E O U T 3 74H C 244 R 10K 1 R L6 R L7 IS O IN O U T VR L 3 3 O U T R 12 470 IS O IN O U T B7 IS O IN IN VC C R 13 10K B6 IS O IN R 14 470 R L5 VR L +5 V VC C R 15 10K B5 VR L R 10 470 2 R 11 10K B4 +5 V VC C O U T IS O IN R 16 470 R 470 IS O IN R 17 10K 3 +5 V VC C R 10K B3 IS O IN IS O +5 V R 470 B2 B1 B0 R 470 R 10K R L8 VR L VC C R 470 +5 V VC C R 10K +5 V VC C +5 V VC C +5 V Hình 2.2: Sơ đồ nguyên lý module điều khiển đầu rơle đầu vào cách ly quang CHƯƠNG XÂY DỰNG PHẦN MỀM ĐIÊU KHIỂN 3.1 Giao diện phần mềm máy tính Hình 3.1 Giao diện phần mềm điều khiển đầu rơle đầu vào cách ly quang 3.2 Code chương trình 3.2.1 Code module: Public Declare Function Inportb Lib "dlportio.dll" Alias "DlPortReadPortUchar" (ByVal Port As Long) As Byte Public Declare Function DlPortReadPortUshort Lib "dlportio.dll" (ByVal Port As Long) As Integer Public Declare Function DlPortReadPortUlong Lib "dlportio.dll" (ByVal Port As Long) As Long Public Declare Sub DlPortReadPortBufferUchar Lib "dlportio.dll" (ByVal Port As Long, Buffer As Any, ByVal Count As Long) Public Declare Sub DlPortReadPortBufferUshort Lib "dlportio.dll" (ByVal Port As Long, Buffer As Any, ByVal Count As Long) Public Declare Sub DlPortReadPortBufferUlong Lib "dlportio.dll" (ByVal Port As Long, Buffer As Any, ByVal Count As Long) Public Declare Sub Outportb Lib "dlportio.dll" Alias "DlPortWritePortUchar" (ByVal Port As Long, ByVal Value As Byte) Public Declare Sub DlPortWritePortUshort Lib "dlportio.dll" (ByVal Port As Long, ByVal Value As Integer) Public Declare Sub DlPortWritePortUlong Lib "dlportio.dll" (ByVal Port As Long, ByVal Value As Long) Public Declare Sub DlPortWritePortBufferUchar Lib "dlportio.dll" (ByVal Port As Long, Buffer As Any, ByVal Count As Long) Public Declare Sub DlPortWritePortBufferUshort Lib "dlportio.dll" (ByVal Port As Long, Buffer As Any, ByVal Count As Long) Public Declare Sub DlPortWritePortBufferUlong Lib "dlportio.dll" (ByVal Port As Long, Buffer As Any, ByVal Count As Long) 3.2.2 Code Form Dim x As Byte Dim t As Integer Dim in0, in1, in2, in3, in4, in5, in6, in7 As Boolean Dim du_lieu_out Dim Relay1, Relay2, Relay3, Relay4, Relay5, Relay6, Relay7, Relay8 As Boolean Dim du_lieu As Byte Private Sub Command_Relay1_Click() If Relay1 = Then Relay1 = Else If Relay1 = Then Relay1 = End If End If du_lieu_out = 128 * Relay8 + 64 * Relay7 + 32 * Relay6 + 16 * Relay5 + * Relay4 + * Relay3 + * Relay2 + * Relay1 Outportb(&H379) = Outportb(&H378) = Chr(du_lieu_out) Outportb(&H379) = End Sub Private Sub Command_Relay2_Click() If Relay2 = Then Relay2 = Else If Relay2 = Then Relay2 = End If End If du_lieu_out = 128 * Relay8 + 64 * Relay7 + 32 * Relay6 + 16 * Relay5 + * Relay4 + * Relay3 + * Relay2 + * Relay1 Outportb(&H379) = Outportb(&H378) = Chr(du_lieu_out) Outportb(&H379) = End Sub Private Sub Command_Relay3_Click() If Relay3 = Then Relay3 = Else If Relay3 = Then Relay3 = End If End If du_lieu_out = 128 * Relay8 + 64 * Relay7 + 32 * Relay6 + 16 * Relay5 + * Relay4 + * Relay3 + * Relay2 + * Relay1 Outportb(&H379) = Outportb(&H378) = Chr(du_lieu_out) Outportb(&H379) = End Sub Private Sub Command_Relay4_Click() If Relay4 = Then Relay4 = Else If Relay4 = Then Relay4 = End If End If du_lieu_out = 128 * Relay8 + 64 * Relay7 + 32 * Relay6 + 16 * Relay5 + * Relay4 + * Relay3 + * Relay2 + * Relay1 Outportb(&H379) = Outportb(&H378) = Chr(du_lieu_out) Outportb(&H379) = End Sub Private Sub Command_Relay5_Click() If Relay5 = Then Relay5 = Else If Relay5 = Then Relay5 = End If End If du_lieu_out = 128 * Relay8 + 64 * Relay7 + 32 * Relay6 + 16 * Relay5 + * Relay4 + * Relay3 + * Relay2 + * Relay1 Outportb(&H379) = Outportb(&H378) = Chr(du_lieu_out) Outportb(&H379) = End Sub Private Sub Command_Relay6_Click() If Relay6 = Then Relay6 = Else If Relay6 = Then Relay6 = End If End If du_lieu_out = 128 * Relay8 + 64 * Relay7 + 32 * Relay6 + 16 * Relay5 + * Relay4 + * Relay3 + * Relay2 + * Relay1 Outportb(&H379) = Outportb(&H378) = Chr(du_lieu_out) Outportb(&H379) = End Sub Private Sub Command_Relay7_Click() If Relay7 = Then Relay7 = Else If Relay7 = Then Relay7 = End If End If du_lieu_out = 128 * Relay8 + 64 * Relay7 + 32 * Relay6 + 16 * Relay5 + * Relay4 + * Relay3 + * Relay2 + * Relay1 Outportb(&H379) = Outportb(&H378) = Chr(du_lieu_out) Outportb(&H379) = End Sub Private Sub Command_Relay8_Click() If Relay8 = Then Relay8 = Else If Relay8 = Then Relay8 = End If End If du_lieu_out = 128 * Relay8 + 64 * Relay7 + 32 * Relay6 + 16 * Relay5 + * Relay4 + * Relay3 + * Relay2 + * Relay1 Outportb(&H379) = Outportb(&H378) = Chr(du_lieu_out) Outportb(&H379) = End Sub Private Sub Timer1_Timer() Outportb(&H379) = du_lieu = inportb(&H378) in7 = (du_lieu And 128) / 128 in6 = (du_lieu And 64) / 64 in5 = (du_lieu And 32) / 32 in4 = (du_lieu And 16) / 16 in3 = (du_lieu And 8) / in2 = (du_lieu And 4) / in1 = (du_lieu And 2) / in0 = (du_lieu And 1) Picture_dau_vao.Line -(10 * t, Picture_dau_vao.Height - in0 * 10), &H80000007 Picture_dau_vao.Line -(10 * t, Picture_dau_vao.Height - in1 * 10), &H8080FF Picture_dau_vao.Line -(10 * t, Picture_dau_vao.Height - in2 * 10), &H80FF& Picture_dau_vao.Line -(10 * t, Picture_dau_vao.Height - in3 * 10), &HC0C0& Picture_dau_vao.Line -(10 * t, Picture_dau_vao.Height - in4 * 10), &HC000& Picture_dau_vao.Line -(10 * t, Picture_dau_vao.Height - in5 * 10), &HC0C000 Picture_dau_vao.Line -(10 * t, Picture_dau_vao.Height - in6 * 10), &HFF0000 Picture_dau_vao.Line -(10 * t, Picture_dau_vao.Height - in7 * 10), &HC0& t = t + 10 End Sub 3.3 Ứng dụng module Từ việc điều khiển rơle từ máy tính thơng qua cổng LPT ta ứng dụng module để điều khiển thiết bị điện như: quạt làm mát, đèn chiếu sang, khởi động động điện,… KẾT LUẬN Trong thời gian làm tập lớn “Xây dựng module vào/ra ghép nối với cổng LPT PC: với đầu rơle dòng điện nhỏ 500mA, đầu vào số cách ly quang Xây dựng phần mềm giao diện đơn giản máy tính cho phép đọc đầu vào hiển thị kết dạng đồ thị, điều khiển đầu nút ấn Nêu khả ứng dụng module.” với hướng dẫn nhiệt tình thầy giáo mơn giúp đỡ bạn lớp em hoàn thành nội dung cuả tập lớn Bài tập lớn thực nội dung sau: - Giới thiệu chung cổng LPT IC sử dụng module - Thiết kế phần cứng module - Lập trình phần mềm máy tính - Ứng dụng module Tuy nhiên hạn chế mặt thời gian kiến thức thực tế thân nên q trình tính tốn, thiết kế, lập trình khơng tránh khỏi thiếu sót Em xin chân thành cảm ơn! Hải phòng, ngày 26 tháng năm 2011 Sinh viên thực ... sang, khởi động động điện,… KẾT LUẬN Trong thời gian làm tập lớn “Xây dựng module vào/ra ghép nối với cổng LPT PC: với đầu rơle dòng điện nhỏ 500mA, đầu vào số cách ly quang Xây dựng phần mềm... tài ta xây dựng module ghép nối có sơ đồ khối sau: L P T đầu rơle đầu vào cách ly quang Hình 2.1: Sơ đồ khối module ghép nối 2.2 Mạch thiết kế Sau trình thiết kế ta sơ đồ nguyên lý module sau: P2... kết nối máy tính sử dụng cổng song song dùng chế độ mở rộng, chế độ cho phép giao tiếp với tốc độ cao Hình 1.2 Trao đổi liệu qua cổng song song PC dùng chế độ mở rộng Sơ đồ kết nối mô tả sau: PC1

Ngày đăng: 10/04/2017, 16:00

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan