Đ Án Ghép N i Máy Tính Khoa Đi n T ệ ồ ố ử

PH N IẦ

L I M Đ U Ờ Ở Ầ

ắ ứ

ọ ế ế ng và đi u khi n trong công nghi p. Máy tính đ ộ ề

ả ề đó thi ể ừ ể ự

ả ầ

ố ấ ể ố c các nhà s n ả ủ ể

ề ắ ụ ụ ụ ụ ượ ứ ố ề ượ ư ng có th ghép vói bus c a máy tính nh : ườ ổ

ố ở ộ ứ ề ầ

i môn ệ ử ớ ư

chúng ề ư ờ

ọ ể ủ ứ ề ề

ọ ế ế ề ế ể ạ ầ ơ

môn h c nghiên c u các c ng, các khe c m m r ng ở ộ Ghép n i máy tính là ổ ố t k các kh i ghép n i ph c v m c đích cho đo c a máy tính đ t ố ủ c ng d ng r ng rãi l ệ ườ 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 đ ấ ả xu t đ tr ng nhi u vô s các đ 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 ổ em nói chung cũng nh sinh viên các khoa khác co liên quoan t ạ 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Ầ

ệ ổ

ở ằ ượ ế ế ầ

ặ ở ầ ắ ồ

ố ế ề ữ ệ ổ

ọ ổ

ườ ẫ ồ

ng d li u, 4 d ữ ệ ẫ ng d n đi u khi n và ề ớ ổ ẫ ườ

ề ậ ả ố

ệ ớ

I : C S LÝ THUY T Ơ Ở 1: Gi i thi u c ng LPT ớ t k đ u tiên b i công ty Centronic nh m m c ụ C ng song song đ c thi ổ c tiêu chu n hóa và có đích ghép n i máy vi tính v i máy in. Sau này đ ẩ ượ ớ 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 n tr ng thái. Các đ 5 đ ng thích v i m c ng d n này đ u t ườ ạ ề ươ 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 ệ ồ ố ử

ổ ế ệ

ị ả ứ ấ ả

ả ố ở ế ầ ả

ng pháp làm gi m đi n dung ký sinh, hi n t ệ ả ứ

i h n trong ớ ạ kho ng cách xa h n c n các b đ m,các ơ ầ ộ ệ ạ ng c m ng (ch ng h n ẳ ệ ượ ơ ữ ng tín hi u). N u mu n có kho ng cách xa h n n a, ố ả ườ ệ ế ả

ệ 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 ượ kho ng 2m. N u c n ghép n i ả ph ươ k p mass gi a các đ ẹ 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 ế ệ nay đ gi m đi chi phí, ng ườ chân này ch có 18 chân là có ý nghĩa th c th , s chân còn l i 36 chân nh ng ngày ớ i ta đã chu n hóa thành 25 chân, trong s 25 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ả

/STROBE Ra 1 1

D0-D7 Ra 2-9 2-9 ữ

/ACK Vào 10 10

BUSY Vào 11 11

PE Vào 12 12

SLCT Vào 13 13

/AF Ra 14 14

/EROR Vào 15 32

Ra 16 31 INIT(R T)Ế

SLCTIN Ra 17 36

Tín hi u thông ệ baó có môt byte s n sàng đ ượ c ẵ in Các đ ng d ườ D0-D7 li u t ệ ừ Tín hi u xác ệ ậ nh n đã nh n ậ c 1byte c a đ ủ ượ máy in đ i v i ớ ố máy tính Tín hi u b n ậ ệ c a máy in ủ Tín hi u báo ệ h t gi y c a ủ ấ ế máy in Tín hi u báo ệ s n sàng c a ủ ẵ máy in 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 Tín hi u thông ệ báo l i c a máy ỗ ủ in v i máy tính ớ ở Tín hi u kh i ệ đ ng c a máy ủ ộ tính v i máy in ớ ự Tín hi u l a ệ ch n máy in ọ c a máy tính ủ

GVHD: Ph m Văn Chi n ế ạ

Đ Án Ghép N i Máy Tính Khoa Đi n T ệ ồ ố ử

18-25 19-30, 33 GND

16

ố Tín hi u n i ệ mas Tín hi u n i ố ệ mas

c g i là ấ c chia làm 3 nhóm: máy tính và đi u khi n máy in đ ề ừ ể ượ ọ

c tr l i t c g i là ượ ở ạ ừ máy in v máy tính đ ề ượ ọ

Các đ Các đ các đ Các đ các đ ườ ườ ườ ườ ườ ng tín hi u này đ ượ ệ ng tín hi u xu t ra t ệ ng đi u khi n ề ể ng đ a thông báo ng ư ng tr ng thái. ạ

ị ỉ ủ

ỉ ỉ

S O D O C H A N C O N G S O N G S O N G

3

2

1

0

2

1

0

9

8

7

6

5

4

5

4

3

1

2

1

2

1

2

1

2

9 2

8 2

7 1

6 1

5 1

4 1

3 1

2 1

1

Các đ a ch c a song song trên máy PC C ng song song ổ (LPT) LPT1 LPT2 LPT3 LPT4 Đ a ch thanh ghi ỉ ị d li u ữ ệ 3BCh 378h 278h 2BCh Đ a ch thanh ghi ị tr ng thái ạ 3BCh 379h 279h 2BDH Đ a ch thanh ghi ị đi u khi n ể ề 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) ữ ệ ữ ệ ữ ệ ữ ệ ữ ệ

GVHD: Ph m Văn Chi n ế ạ

Đ Án Ghép N i Máy Tính Khoa Đi n T ệ ồ ố ử

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

U 1

2 3 4 5 6 7 8 9

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

Q 0 Q 1 Q 2 Q 3 Q 4 Q 5 Q 6 Q 7

1 1 1

L E O E

7 4 H C 5 7 3

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: ầ ủ ề

GVHD: Ph m Văn Chi n ế ạ

Đ Án Ghép N i Máy Tính Khoa Đi n T ệ ồ ố ử

t k h th ng mô ph ng đi u khi n, giám sát s d ng c ng song ế ế ệ ố ử ụ ỏ ổ ề ể

1. Thi 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.ụ

ượ ỏ ệ ề ế ị t b

- H th ng mô ph ng đ ơ ư ở ệ

c vi c đi u khi n/giám sát cho 5 thi ệ ố ề ng tr ng b i 5 R le 12 VDC; h th ng có giao di n đi u t ượ khi n/giám sát trên máy tính, c th nh sau: ể ể ệ ố ụ ể ư

t 1 thi bàn ừ ể ể

ầ ậ ắ ặ t b nào đó, ng ế ị ộ ệ

t (g m giây, phút, gi ể ậ ắ ồ ờ ,

c l u d

ế ặ

i s d ng tác đ ng). + C n b t/t i đi u khi n có th ra l nh t ệ ườ ề ề 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 ề ờ ể ngày , tháng, năm) c a thi ng ng đ i d ng file vào t b t ượ ư ướ ạ ế ị ươ ứ ủ h p phím ho c 1 nút nh n trên giao đĩa c ng khi c n thi t (dùng 1 t ấ ổ ợ ầ ổ di n th c hi n thao tác l u khi ng ộ ườ ử ụ ư ệ ứ ự ệ

ủ ạ ừ ỏ

ạ ơ ả

i s d ng có th giám sát đ ượ ể

ệ ệ ườ t b (mô ph ng b ng ằ ế ị c đ c v máy tính và ph n ánh trên giao c trong ạ ừ t nh ng không ch y/d ng ứ ng h p thi ợ t b đ ế ị ượ ể ậ ắ ư

+ Thông tin v tình tr ng (ch y/d ng) c a 05 thi ề vi c đóng/c t c a 5 r le) đ ắ ủ ượ ọ ề di n. Ch c năng này giúp ng ườ ử ụ tr c đi u khi n b t/t ề (thi t ế b h ng). ị ỏ

PH N III Ầ

GVHD: Ph m Văn Chi n ế ạ

Đ Án Ghép N i Máy Tính Khoa Đi n T ệ ồ ố ử

D 3

2

R B 1 5 2

J 1

O N A P 5 V

+

-

2 1

4

1

1

3

D

V I N

V O U T

N

G

C 3 1 0 4

C O N 2

C 4

2

7 8 H T 2

3

2 2 0 0 U F

U 3

C 1

0 . 4 7 U F

5

1

U 8

5

1

3

3

7 4 L S 5 7 3 1 9

2

2

1 9

4

2

4

2

R 1

1 8

3

3

1 8

R O L E

1 7

4

Q 1 C 1 8 1 5

4

1 7

7

U 4

4

1 6

5

R

Q 2 C 2 3 8 3

L

5

1 6

S

5

1

5

5

1

7

1 5

6

3

6

1 5

3

3

P 1

1 4

7

7

1 4

4

2

4

2

R 2

1 3

8

8

1 3

R O L E

1 2

9

Q 3 C 1 8 1 5

9

1 2

U 5

R

Q 4 C 2 3 8 3

5

1

5

1

3

3

4

2

4

2

R 3

U 9

7 4 L S 5 7 3

R O L E

Q 5 C 1 8 1 5

9

1 2

1 2

9

U 6

R

Q 6 C 2 3 8 3

8

1 3

5

1

1 3

8

5

1

7

1 4

3

1 4

7

3

6

1 5

4

2

3

1 5

6

4

2

7

R 4

5

S

5

1 6

L

R O L E

4

1 6

5

Q 7 C 1 8 1 5

7

4

1 7

1 1 4 2 1 5 3 1 6 4 1 7 5 1 8 6 1 9 7 2 0 8 2 1 9 2 2 1 0 2 3 1 1 2 4 1 2 2 5 1 3

1 7

4

U 7

R

Q 8 C 2 3 8 3

3

1 8

5

1

1 8

3

5

1

C O N N E C T O R D B 2 5

2

1 9

3

1 9

2

3

4

2

4

2

R 5

R O L E

Q 9 C 1 8 1 5

R

Q 1 0 C 2 3 8 3

I: S đ thi ơ ồ ế ế ầ ứ : t k ph n c ng

Hinh 4: S đò thi t k ph n c ng c a đ án ơ ế ế ầ ứ ủ ồ

c vi II: Ph n m m ề ầ Ph n m m đi u khi n đ ề ề ầ ể ượ ế 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

GVHD: Ph m Văn Chi n ế ạ

Đ Án Ghép N i Máy Tính Khoa Đi n T ệ ồ ố ử

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

GVHD: Ph m Văn Chi n ế ạ

Đ Án Ghép N i Máy Tính Khoa Đi n T ệ ồ ố ử

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

GVHD: Ph m Văn Chi n ế ạ

Đ Án Ghép N i Máy Tính Khoa Đi n T ệ ố ồ ử

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"

GVHD: Ph m Văn Chi n ế ạ

Đ Án Ghép N i Máy Tính Khoa Đi n T ệ ồ ố ử

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

GVHD: Ph m Văn Chi n ế ạ

Đ Án Ghép N i Máy Tính Khoa Đi n T ệ ố ồ ử

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"

GVHD: Ph m Văn Chi n ế ạ

Đ Án Ghép N i Máy Tính Khoa Đi n T ệ ồ ố ử

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

ầ ầ

t k ph n c ng ầ ầ ứ

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 ế ế II: Ph n m m ề ầ ơ ồ ầ

GVHD: Ph m Văn Chi n ế ạ