Tải bản đầy đủ (.doc) (13 trang)

lập trình cho máy tính hay và hấp dẫn

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (180.71 KB, 13 trang )

Đồ Án Ghép Nối Máy Tính Khoa Điện Tử
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.
GVHD: Phạm Văn Chiến


Đồ Án Ghép Nối Máy Tính Khoa Điện Tử
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
25 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
GVHD: Phạm Văn Chiến
Đồ Án Ghép Nối Máy Tính Khoa Điện Tử
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
GVHD: Phạm Văn Chiến
Đồ Án Ghép Nối Máy Tính Khoa Điện Tử
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

S O D O C H A N C O N G S O N G S O N G
1 3
2 5
1 2
2 4
1 1
2 3
1 0
2 2

9
2 1
8
2 0
7
1 9
6
1 8
5
1 7
4
1 6
3
1 5
2
1 4
1
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)
GVHD: Phạm Văn Chiến

Đồ Án Ghép Nối Máy Tính Khoa Điện Tử
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


U 1
7 4 H C 5 7 3
2
3
4
5
6
7
8
9
1 1
1

1 9
1 8
1 7
1 6
1 5
1 4
1 3
1 2
D 0
D 1
D 2
D 3
D 4
D 5
D 6
D 7
L E
O E
Q 0
Q 1
Q 2
Q 3
Q 4
Q 5
Q 6
Q 7
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.
GVHD: Phạm Văn Chiến
Đồ Án Ghép Nối Máy Tính Khoa Điện Tử
- 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:
GVHD: Phạm Văn Chiến
Đồ Án Ghép Nối Máy Tính Khoa Điện Tử
Q 6
C 2 3 8 3
-
+
D 3
R B 1 5 2
2
1

3
4
O N A P 5 V
7 8 H T 2
1 3
2
V I N V O U T
G N D
Q 5
C 1 8 1 5
R 3
R
C 1
2 2 0 0 U F
C 3
1 0 4
U 4
R O L E
1
2
3
4
5
1
2
3
4
5
7 4 L S 5 7 3
U 9

7 4 L S 5 7 3
2
3
4
5
6
7
8
91 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
2
3
4
5
6
7
8
91 2
1 3
1 4
1 5
1 6
1 7
1 8

1 9
U 7
R O L E
1
2
3
4
5
1
2
3
4
5
R 1
R
Q 4
C 2 3 8 3
Q 9
C 1 8 1 5
C 4
0 . 4 7 U F
U 6
R O L E
1
2
3
4
5
1
2

3
4
5
Q 8
C 2 3 8 3
U 3
R O L E
1
2
3
4
5
1
2
3
4
5
R 5
R
Q 3
C 1 8 1 5
7 4 L S 5 7 3
U 8
7 4 L S 5 7 3
2
3
4
5
6
7

8
9 1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
2
3
4
5
6
7
8
9 1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
R 2
R
R 4
R
Q 7
C 1 8 1 5

Q 2
C 2 3 8 3
P 1
C O N N E C T O R D B 2 5
1 3
2 5
1 2
2 4
1 1
2 3
1 0
2 2
9
2 1
8
2 0
7
1 9
6
1 8
5
1 7
4
1 6
3
1 5
2
1 4
1
U 5

R O L E
1
2
3
4
5
1
2
3
4
5
Q 1 0
C 2 3 8 3
J 1
C O N 2
1
2
Q 1
C 1 8 1 5
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
GVHD: Phạm Văn Chiến
Đồ Án Ghép Nối Máy Tính Khoa Điện Tử
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
GVHD: Phạm Văn Chiến
Đồ Án Ghép Nối Máy Tính Khoa Điện Tử
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")
GVHD: Phạm Văn Chiến
Đồ Án Ghép Nối Máy Tính Khoa Điện Tử
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

GVHD: Phạm Văn Chiến
Đồ Án Ghép Nối Máy Tính Khoa Điện Tử
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"
GVHD: Phạm Văn Chiến
Đồ Án Ghép Nối Máy Tính Khoa Điện Tử
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
GVHD: Phạm Văn Chiến
Đồ Án Ghép Nối Máy Tính Khoa Điện Tử
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
GVHD: Phạm Văn Chiến

×