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.
13 trang |
Chia sẻ: lvbuiluyen | Lượt xem: 2805 | Lượt tải: 3
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