Đồ án Ghép nối máy tính

Ghép nối máy tính là môn học nghiên cứu các cổng, các khe cắm mở rộng của máy tính để từ đó thiết kế các khối ghép nối phục vụ mục đích cho đo lường và điều khiển trong công nghiệp. Máy tính được ứng dụng rộng rãi trong nhiều lĩnh vực, công việc này cần phải có khối ghép này,công viecje kia cần khối ghép kia . Tất cả các khả năng đó đều được các nhà sản xuất để trống nhiều vô số các đường có thể ghép vói bus của máy tính như: RS232, LPT, khe cắm mở rộng , cổng USB Trong đề tài cần nghiên cứu là cổng LPT là sinh viên khoa điện tử chúng em nói chung cũng như sinh viên các khoa khác co liên quoan tới môn học.nhưng do thời gian tìm hiểu và kiến thức về môn học còn có nhiều hạn chế,cho nên trong đề tài nghiên cứu về vi điều khiển của chúng em còn gì thiếu sót và hạn chế mong thầy chỉ bảo giúp cho chúng em hiểu sâu hơn về môn học này.

doc13 trang | Chia sẻ: lvbuiluyen | Lượt xem: 2763 | Lượt tải: 3download
Bạn đang xem nội dung tài liệu Đồ án Ghép nối máy tính, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
PHẦN I LỜI MỞ ĐẦU Ghép nối máy tính là môn học nghiên cứu các cổng, các khe cắm mở rộng của máy tính để từ đó thiết kế các khối ghép nối phục vụ mục đích cho đo lường và điều khiển trong công nghiệp. Máy tính được ứng dụng rộng rãi trong nhiều lĩnh vực, công việc này cần phải có khối ghép này,công viecje kia cần khối ghép kia….. Tất cả các khả năng đó đều được các nhà sản xuất để trống nhiều vô số các đường có thể ghép vói bus của máy tính như: RS232, LPT, khe cắm mở rộng , cổng USB…… Trong đề tài cần nghiên cứu là cổng LPT là sinh viên khoa điện tử chúng em nói chung cũng như sinh viên các khoa khác co liên quoan tới môn học.nhưng do thời gian tìm hiểu và kiến thức về môn học còn có nhiều hạn chế,cho nên trong đề tài nghiên cứu về vi điều khiển của chúng em còn gì thiếu sót và hạn chế mong thầy chỉ bảo giúp cho chúng em hiểu sâu hơn về môn học này. Chúng em xin chân thành cảm ơn! PHẦN II I : CƠ SỞ LÝ THUYẾT 1: Giới thiệu cổng LPT Cổng song song được thiết kế đầu tiên bởi công ty Centronic nhằm mục đích ghép nối máy vi tính với máy in. Sau này được tiêu chuẩn hóa và có mặt ở hầu hết máy vi tính. Tên gọi của cổng song song bắt nguồn kiểu truyền dữ liệu qua cổng này, các bit truyền song song còn các byte truyền nối tiếp. Ngoài ra còn gọi là cổng LPT Cấu trúc cổng song song gồm 8 đường dữ liệu, 4 dường dẫn điều khiển và 5 đường dẫn trạng thái. Các đường dẫn này đều tương thích với mức TTL(0.5) do vậy khá thuận tiện, đơn giản cho việc ghép nối nhiều linh kiện, mạch điện tương thích với mức logic trên. Khoảng cách các cổng song song bị hạn chế do điện dung ký sinh, hiện tượng cảm ứng và bị suy giảm công suất. Khoảng cách này giới hạn trong khoảng 2m. Nếu cần ghép nối ở khoảng cách xa hơn cần các bộ đệm,các phương pháp làm giảm điện dung ký sinh, hiện tượng cảm ứng (chẳng hạn kẹp mass giữa các đường tín hiệu). Nếu muốn có khoảng cách xa hơn nữa, nên chọn giải pháp khác. 13 1 14 Hình 1: Giao diện cổng song song trên máy tính PC Trong các máy tính thế hệ cũ, cổng song song có tới 36 chân nhưng ngày nay để giảm đi chi phí, người ta đã chuẩn hóa thành 25 chân, trong số 25 chân này chỉ có 18 chân là có ý nghĩa thực thụ, số chân còn lại đều nối mass Ký hiệu và ý nghĩa của các chân cắm trên cổng song song như sau: 25 chân 36 chân Ký hiệu Vào/ra(I/O) Mô tả 1 1 /STROBE Ra Tín hiệu thông baó có môt byte sẵn sàng được in 2-9 2-9 D0-D7 Ra Các đường dữ liệu từ D0-D7 10 10 /ACK Vào Tín hiệu xác nhận đã nhận được 1byte của máy in đối với máy tính 11 11 BUSY Vào Tín hiệu bận của máy in 12 12 PE Vào Tín hiệu báo hết giấy của máy in 13 13 SLCT Vào Tín hiệu báo sẵn sàng của máy in 14 14 /AF Ra Tín hiệu yêu cầu nạp một dòng mới của máy in đối với máy in 15 32 /EROR Vào Tín hiệu thông báo lỗi của máy in với máy tính 16 31 INIT(RẾT) Ra Tín hiệu khởi động của máy tính với máy in 17 36 SLCTIN Ra Tín hiệu lựa chọn máy in của máy tính 18-25 19-30, 33 GND Tín hiệu nối mas 16 Tín hiệu nối mas Các đường tín hiệu này được chia làm 3 nhóm: Các đường tín hiệu xuất ra từ máy tính và điều khiển máy in được gọi là các đường điều khiển Các đường đưa thông báo ngược trở lại từ máy in về máy tính được gọi là các đường trạng thái. Các địa chỉ của song song trên máy PC Cổng song song (LPT) Địa chỉ thanh ghi dữ liệu Địa chỉ thanh ghi trạng thái Địa chỉ thanh ghi điều khiển LPT1 LPT2 LPT3 LPT4 3BCh 378h 278h 2BCh 3BCh 379h 279h 2BDH 3BEh 37Ah 27Ah 2Beh Hinh 2: Sơ đồ chân cổng song song Thanh ghi dữ liệu D7 D6 D5 D4 D3 D2 D1 D0 Bit dữ liệu D0 (chân 2) Bit dữ liệu D1 (Chân 3) Bit dữ liệu D2 (Chân 4) Bit dữ liệu D3 (Chân5 ) Bit dữ liệu D4 (Chân 6) Bit dữ liệu D5 (Chân 7) Bit dữ liệu D6 (Chân 8) Bit dữ liệu D7 (Chân 9) Thanh ghi điều khiển D7 D6 D5 D4 D3 D2 D1 D0 D0: STROR (Chân 15) D1: AF (Chân 14) D2: INIT (Chân 16) D3: SLCIN (Chân 17) D4: IRQ-Enable Thanh ghi trạng thái D7 D6 D5 D4 D3 D2 D1 D0 D7: ETROR(Chân 1) D6: SLCT(Chân 13) D5: PE (Chân 12) D4: ACK(Chân 10) D3: BUSY(Chân 11) Vi mạch chốt 74LS573 Hình 3: Vi mạch chốt II: Yêu cầu của đề tài: 1. Thiết kế hệ thống mô phỏng điều khiển, giám sát sử dụng cổng song song. Yêu cầu: Mạch điện tử được thiết kế trên máy tính bằng phần mềm chuyên dụng. Hệ thống mô phỏng được việc điều khiển/giám sát cho 5 thiết bị tượng trưng bởi 5 Rơ le 12 VDC; hệ thống có giao diện điều khiển/giám sát trên máy tính, cụ thể như sau: + Cần bật/tắt 1 thiết bị nào đó, người điều khiển có thể ra lệnh từ bàn phím hoặc click chuột lên các nút nhấn có trên giao diện điều khiển/giám sát. Thông tin về thời điểm bật/tắt (gồm giây, phút, giờ, ngày , tháng, năm) của thiết bị tương ứng được lưu dưới dạng file vào ổ đĩa cứng khi cần thiết (dùng 1 tổ hợp phím hoặc 1 nút nhấn trên giao diện thực hiện thao tác lưu khi người sử dụng tác động). + Thông tin về tình trạng (chạy/dừng) của 05 thiết bị (mô phỏng bằng việc đóng/cắt của 5 rơ le) được đọc về máy tính và phản ánh trên giao diện. Chức năng này giúp người sử dụng có thể giám sát được trong trường hợp thiết bị được điều khiển bật/tắt nhưng không chạy/dừng (thiết bị hỏng). PHẦN III I: Sơ đồ thiết kế phần cứng: Hinh 4: Sơ đò thiết kế phần cứng của đồ án II: Phần mềm Phần mềm điều khiển được viết trên phần mềm visual basic Private Declare Sub Out32 Lib "inpout32.dll" (ByVal portaddress As Integer, ByVal value As Integer) Private Declare Function Inp32 Lib "inpout32.dll" (ByVal portaddress As Integer) As Integer Dim tb1, tb2, tb3, tb4, tb5, kt, dk, check As Integer Dim loi1, loi2, loi3, loi4, loi5 As Integer Dim thongbao1, thongbao2, thongbao3, thongbao4, thongbao5 As String Private Sub Command1_Click() Timer1.Interval = 1000 Timer1.Enabled = True check = 1 End Sub Private Sub Command2_Click() If check = 1 Then tb1 = tb1 + 1 If tb1 = 2 Then tb1 = 0 dk = dk And &HFE If tb1 = 1 Then dk = dk Or &H1 Out32 &H378, dk End If End Sub Private Sub Command3_Click() If check = 1 Then tb2 = tb2 + 1 If tb2 = 2 Then tb2 = 0 dk = dk And &HFD If tb2 = 1 Then dk = dk Or &H2 Out32 &H378, dk End If End Sub Private Sub Command4_Click() Timer1.Enabled = False check = 0 End End Sub Private Sub Command5_Click() If check = 1 Then tb3 = tb3 + 1 If tb3 = 2 Then tb3 = 0 dk = dk And &HFA If tb3 = 1 Then dk = dk Or &H4 Out32 &H378, dk End If End Sub Private Sub Command6_Click() If check = 1 Then tb4 = tb4 + 1 If tb4 = 2 Then tb4 = 0 dk = dk And &HF7 If tb4 = 1 Then dk = dk Or &H8 Out32 &H378, dk End If End Sub Private Sub Command7_Click() If check = 1 Then tb5 = tb5 + 1 If tb5 = 2 Then tb5 = 0 dk = dk And &HEF If tb5 = 1 Then dk = dk Or &H10 Out32 &H378, dk End If End Sub Private Sub Command8_Click() If Dir("C:\Dieukhienrole.txt") "Da luu file " Then Open "C:\Dieukhienrole.txt" For Append As #1 Else Open "C:\Dieukhienrole.txt" For Output As #1 End If Print #1, "Thoi gian:"; Format(Now, "dd-mm-yyyy hh:nn:ss : TB1: ") & thongbao1; ", TB2: " & thongbao2; ", TB3: " & thongbao3; ", TB4: " & thongbao4; ", TB5: " & thongbao5 Close #1 End Sub Private Sub Form_Load() Timer1.Enabled = False tb1 = tb2 = tb3 = tb4 = tb5 = 0 dk = &H0 check = 0 loi1 = loi2 = loi3 = loi4 = loi5 = 0 End Sub Private Sub Timer1_Timer() Label2.Caption = "Thêi gian: " & Format(Now, "hh:nn:ss ddddd") kt = Inp32(&H379) '--------------------------------------------- If ((kt And &H10) = &H10 And tb1 = 1) Then loi1 = 0 Shape1.FillColor = vbGreen Text1.Text = "TB1 ®ang ho¹t ®éng" thongbao1 = "Bat" ElseIf ((kt And &H10) = &H0 And tb1 = 1) Then Text1.Text = "TB1 gÆp sù cè""" Shape1.FillColor = vbRed loi1 = 1 thongbao1 = "Loi" ElseIf ((kt And &H10) = &H10 And tb1 = 0) Then Text1.Text = "Lçi hÖ thèng §K" Shape1.FillColor = vbYellow loi1 = 1 thongbao1 = "Loi HT" ElseIf ((kt And &H10) = &H0 And tb1 = 0) Then loi1 = 0 Text1.Text = "§K TB1" Shape1.FillColor = vbBlue thongbao1 = "Tat" End If '----------------------------------------------- If ((kt And &H20) = &H20 And tb2 = 1) Then loi2 = 0 Shape2.FillColor = vbGreen Text2.Text = "TB2 ®ang ho¹t ®éng" thongbao2 = "Bat" ElseIf ((kt And &H20) = &H0 And tb2 = 1) Then Text2.Text = "TB2 gÆp sù cè""" Shape2.FillColor = vbRed loi2 = 1 thongbao2 = "Loi" ElseIf ((kt And &H20) = &H20 And tb2 = 0) Then Text2.Text = "Lçi hÖ thèng §K" Shape2.FillColor = vbYellow loi2 = 1 thongbao2 = "Loi HT" ElseIf ((kt And &H20) = &H0 And tb2 = 0) Then loi2 = 0 Text2.Text = "§K TB2" Shape2.FillColor = vbBlue thongbao2 = "Tat" End If '----------------------------------------------- If ((kt And &H40) = &H40 And tb3 = 1) Then loi3 = 0 Shape3.FillColor = vbGreen Text3.Text = "TB3 ®ang ho¹t ®éng" thongbao3 = "Bat" ElseIf ((kt And &H40) = &H0 And tb3 = 1) Then Text3.Text = "TB3 gÆp sù cè""" Shape3.FillColor = vbRed loi3 = 1 thongbao3 = "Loi" ElseIf ((kt And &H40) = &H40 And tb3 = 0) Then Text3.Text = "Lçi hÖ thèng §K" Shape3.FillColor = vbYellow loi3 = 1 thongbao3 = "Loi HT" ElseIf ((kt And &H40) = &H0 And tb3 = 0) Then loi3 = 0 Text3.Text = "§K TB3" Shape3.FillColor = vbBlue thongbao3 = "Tat" End If '-------------------------------------------------- If ((kt And &H80) = &H0 And tb4 = 1) Then loi4 = 0 Shape4.FillColor = vbGreen Text4.Text = "TB4 ®ang ho¹t ®éng" thongbao4 = "Bat" ElseIf ((kt And &H80) = &H80 And tb4 = 1) Then Text4.Text = "TB4 gÆp sù cè""" Shape4.FillColor = vbRed loi4 = 1 thongbao4 = "Loi" ElseIf ((kt And &H80) = &H0 And tb4 = 0) Then Text4.Text = "Lçi hÖ thèng §K" Shape4.FillColor = vbYellow loi4 = 1 thongbao4 = "Loi HT" ElseIf ((kt And &H80) = &H80 And tb4 = 0) Then loi4 = 0 Text4.Text = "§K TB4" Shape4.FillColor = vbBlue thongbao4 = "Tat" End If '-------------------------------------------------- If ((kt And &H8) = &H8 And tb5 = 1) Then loi5 = 0 Shape5.FillColor = vbGreen Text5.Text = "TB5 ®ang ho¹t ®éng" thongbao5 = "Bat" ElseIf ((kt And &H8) = &H0 And tb5 = 1) Then Text5.Text = "TB5 gÆp sù cè""" Shape5.FillColor = vbRed loi5 = 1 thongbao5 = "Loi" ElseIf ((kt And &H8) = &H8 And tb5 = 0) Then Text5.Text = "Lçi hÖ thèng §K" Shape5.FillColor = vbYellow loi5 = 1 thongbao5 = "Loi HT" ElseIf ((kt And &H8) = &H0 And tb5 = 0) Then loi5 = 0 Text5.Text = "§K TB5" Shape5.FillColor = vbBlue thongbao5 = "Tat" End If '------------------------------------------------------ If (loi1 = 0 And loi2 = 0 And loi3 = 0 And loi4 = 0 And loi5 = 0) Then Text6.Text = "HT b×nh th­êng" Shape6.FillColor = vbGreen ElseIf (loi1 = 1 Or loi2 = 1 Or loi3 = 1 Or loi4 = 1 Or loi5 = 1) Then Shape6.FillColor = vbRed Text6.Text = "HT cã sù cè" End If End Sub MỤC LỤC Phần I: Mở đầu Phần II: I:Cơ sở lý thuyết II: Yêu cầu đề tài Phần III: I: Sơ đồ thiết kế phần cứng II: Phần mềm