Giao tiêp giữa Vi đieău khieơn với các IC chôt 74HC573 đeơ mở

Một phần của tài liệu Thiết kế và thi công mô hình điều khiển thiết bị qua mạng điện thoại (Trang 42 - 44)

5. Giáo vieđn hướng dăn : Th.S TÁ COĐNG ĐỨC

3.5.3.Giao tiêp giữa Vi đieău khieơn với các IC chôt 74HC573 đeơ mở

roơng port

Múc tieđu thiêt kê

Viêt chương trình đĩc lieđn túc dữ lieơu ở Port B xuât ra port A và đĩc dữ lieơu ở Port D xuât ra port C.

Kêt nôi phaăn cứng

IC chôt dữ lieơu 74HC573 được đieău khieơn thođng qua 2 đường OE và LE. Với cách kêt nôi như tređn, sử dúng port 0 làm các đường xuât nhaơp dữ lieơu chung cho 4 IC chôt và sử dúng các bit ở port 2 đeơ đieău khieơn hốt đoơng cụa IC chôt, ta đã mở roơng ra 2 port xuât (Port A và Port C) và 2 port nhaơp (Port B và Port C). Đieău khieơn chôt dữ lieơu ở port A, port C được đieău khieơn bởi đường LE0 và LE2 được kêt nôi tái bit P2.7, P2.5 cụa vi đieău khieơn. Đieău khieơn đĩc dữ lieơu ở port B và port D được thực hieơn tređn 2 đường OE1 và OE3. Đường đieău khieơn OE0_2 được đaịt xuông mức logic [0] bởi phaăn meăm đeơ cho phép xuât dữ lieơu ở port A và port B.

Khi chađn OE cụa IC chôt ở mức khođng tích cực (mức [1]) thì các ngõ ra ở tráng thái toơng trở cao, do đó khođng làm ạnh hưởng đên tín hieơu tređn Bus dùng chung.

Các đieơn trở kéo leđn beđn ngoài được caăn đên do port 0 khođng có đieơn trở kéo leđn beđn trong khi nó làm chức naíng xuât nhaơp thođng thường.

Viêt chương trình

Chương trình được thực hieơn qua các bước sau

1. Đưa dữ lieơu caăn thiêt đaịt ban đaău ra port A, port B 2. Đĩc dữ lieơu ở port B.

3. Xuât dữ lieơu đĩc được ra port A. 4. Đĩc dữ lieơu ở port D.

5. Xuât dữ lieơu đĩc được ra port C. 6. Quay veă bước 2.

Chương trình thực hieơn yeđu caău tređn được viêt như sau:

LE0 Bit P2.7 ;Khai báo các từ gợi nhớ.

OE1 Bit P2.6 ;sử dúng trong ch. trình.

LE2 Bit P2.5

OE3 Bit P2.4

OE0_2 Bit P2.3

Org 000h

Mov P0,#0FFh ;Đưa dữ lieơu 0FFh leđn Bus

Clr LE0

Clr LE2

Clr OE0_2 ;Xuât ra Port A và Port C

Setb LE0

Clr LE0 ;Chôt dữ lieơu ở Port A

Setb LE2

Clr LE2 ;Chôt dữ lieơu ở Port C

Lcall OutPortA ;xuât ra Port A

Lcall InPortD ;Đĩc dữ lieơu tái Port D

Lcall OutPortC ;xuât ra Port C

Sjmp Loop ;Quay veă thực hieơn tiêp. (adsbygoogle = window.adsbygoogle || []).push({});

;====================================================== ;OutPortA : Xuât dữ lieơu 8 bit trong thanh ghi A ra port A.

;====================================================== OutPortA: Mov P0,A ;Đưa dữ lieơu leđn bus

Setb LE0 ;Cho dữ lieơu xuât ra Port A

Clr LE0 ;Chôt lái.

RET

;====================================================== ;OutPortC : Xuât dữ lieơu 8 bit trong thanh ghi A ra port C.

;====================================================== OutPortC: Mov P0,A ;Đưa dữ lieơu leđn bus

Setb LE2 ;Cho dữ lieơu xuât ra Port C

Clr LE2

RET

;====================================================== ;InPortB: Đĩc dữ lieơu 8 bit từ port B vào thanh ghi A.

;====================================================== InPortB: Mov P0,#0FFh ;Chuaơn bị đĩc dữ lieơu.

Clr OE1 ;Cho dữ lieơu ở PortB leđn bus

Mov A,P0 ;Đĩc dữ lieơu vào.

Setb OE1 ;Cách ly Port B khỏi bus.

RET

;====================================================== ;InPortD: Đĩc dữ lieơu 8 bit từ port D vào thanh ghi A.

;====================================================== InPortD: Mov P0,#0FFh ;Chuaơn bị đĩc dữ lieơu.

Clr OE3 ;Cho dữ lieơu ở Port D leđn bus

Mov A,P0 ;Đĩc dữ lieơu vào.

Setb OE3 ;Cách ly Port D khỏi bus.

RET

END

Một phần của tài liệu Thiết kế và thi công mô hình điều khiển thiết bị qua mạng điện thoại (Trang 42 - 44)