1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

vi xử lý hệ thống điều khiển dữ liệu dạng nối tiếp

11 479 1
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Hệ Thống Điều Khiển Thu Phát Dữ Liệu Dạng Nối Tiếp
Tác giả Phạm Quang Trí
Trường học Khoa Công Nghệ Điện Tử
Chuyên ngành Điện Tử Công Nghiệp
Thể loại Tài Liệu Hướng Dẫn Thí Nghiệm - Thực Hành
Định dạng
Số trang 11
Dung lượng 646,87 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

• Biết cách lập trình điều khiển việc xuất nhập dữ liệu thông qua port nối tiếp ở các chế độ khác nhau... Bài 2: Chương trình điều khiển ứng dụng mở rộng port nhập thực hiện liên tục việ

Trang 1

KHOA CÔNG NGHỆ ĐIỆN TỬ

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP TÀI LIỆU HƯỚNG DẪN

THÍ NGHIỆM - THỰC HÀNH

Trang 2

L HỆ THỐNG ĐIỀU KHIỂN THU PHÁT DỮ LIỆU DẠNG NỐI TIẾP

A MỤC ĐÍCH:

• Thực hành lập trình ứng dụng trên máy tính, biên dịch chương trình, nạp vào vi điều khiển và sử dụng mô hình thí nghiệm để kiểm chứng

• Điều khiển thiết bị ngoại vi bằng các port của vi điều khiển

• Ưùng dụng port nối tiếp của vi điều khiển để mở rộng port nhập và xuất

• Điều khiển việc thu phát nối tiếp

B YÊU CẦU:

• Nắm vững tập lệnh của vi điều khiển MCS-51

• Biết cách hoạt động của port nối tiếp ở các chế độ khác nhau

• Biết cách lập trình điều khiển việc xuất nhập dữ liệu thông qua port nối tiếp ở các chế độ khác nhau

Trang 3

L HỆ THỐNG ĐIỀU KHIỂN THU PHÁT DỮ LIỆU DẠNG NỐI TIẾP

Bài 1: Chương trình điều khiển (ứng dụng mở rộng port xuất) xuất liên tục các giá trị 00H, 01H, 03H, 07H,

0FH, 1FH, 3FH, 7FH và FFH ra 8 LED thơng qua port nối tiếp và sử dụng vi mạch 4094, mỗi lần xuất cách nhau 1s

1 Trình tự tiến hành thí nghiệm:

1.1 Kết nối thiết bị thí nghiệm

• Tắt nguồn cấp cho mơ hình thí nghiệm

• Dùng dây bus 8 nối J45 (PARALLEL OUT 2) ở khối thanh ghi dịch với J12 (BAR LED 2) ở khối dãy LED

• Dùng dây bus 1 nối J39 (SERIAL IN 1) ở khối thanh ghi dịch với J66 (PORT3 / FUNCTION) ở khối vi điều khiển (chú ý là ta chỉ nối bit 1 (IN) của J39 với bit 0 (RXD) của J66)

• Dùng dây bus 1 nối J39 (SERIAL IN 1) ở khối thanh ghi dịch với J66 (PORT3 / FUNCTION) ở khối vi điều khiển (chú ý là ta chỉ nối bit 2 (CLK) của J39 với bit 1 (TXD) của J66)

• Dùng dây bus 1 nối J39 (SERIAL IN 1) ở khối thanh ghi dịch với nguồn +5V ở khối nguồn (chú ý là ta chỉ nối bit 3 (STB) của J39 với nguồn +5V của khối nguồn)

• Dùng hai dây bus 3 nối J115 (POWER) ở khối thanh ghi dịch và J103 (POWER) ở khối LED dãy với nguồn +5V ở khối nguồn

1.2 Sơ đồ nguyên lý của hệ thống:

AD7

AD0

AD0 AD2 AD4 AD5

AD7 AD6 AD4 AD3 AD1

D0

D7 D6 D4 D2

XTAL2 18

XTAL1 19

ALE 30

EA 31

PSEN 29

RST 9

P0.0/AD0 39 P0.1/AD1 38 P0.2/AD2 37 P0.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.7/AD7 32

P1.0 1

P1.1 2

P1.2 3

P1.3 4

P1.4 5

P1.5 6

P1.6 7

P1.7 8

P3.0/RXD 10 P3.1/TXD 11 P3.2/INT0 12 P3.3/INT1 13 P3.4/T0 14

P3.7/RD 17 P3.6/WR 16 P3.5/T1 15 P2.7/A15 28

P2.0/A8 21 P2.1/A9 22 P2.2/A10 23 P2.3/A11 24 P2.4/A12 25 P2.5/A13 26 P2.6/A14 27 U1

AT89C51

C1 33p

C2 33p

X1

12MHz

C3

10uF

R1

10k

+5V

D1

R2 330 +5V

D2

R3 330 +5V

D3

R4 330 +5V

D4

R5 330 +5V

D5

R6 330 +5V

D6

R7 330 +5V

D7

R8 330 +5V

D8

R9 330 +5V

2 3 5 7 9

1 RP1

10K

MẠCH ĐIỀU KHIỂN THU/PHÁT DỮ LIỆU DẠNG NỐI TIẾP

D 2 CLK 3 STB 1 OE 15

Q0 4 Q1 5 Q2 6 Q3 7 Q4 14 Q5 13 Q6 12 Q7 11

QS 9

QS 10 U3

4094 +5V

(ỨNG DỤNG MỞ RỘNG PORT XUẤT)

Trang 4

L HỆ THỐNG ĐIỀU KHIỂN THU PHÁT DỮ LIỆU DẠNG NỐI TIẾP

Bài 1: Chương trình điều khiển (ứng dụng mở rộng port xuất) xuất liên tục các giá trị 00H, 01H, 03H, 07H,

0FH, 1FH, 3FH, 7FH và FFH ra 8 LED thơng qua port nối tiếp và sử dụng vi mạch 4094, mỗi lần xuất cách nhau 1s

AD7

AD0

AD0 AD1 AD3 AD4 AD6

AD7 AD5 AD4 AD2

D0

D7

D1 D2 D3 D4 D5 D6

XTAL2 18

XTAL1 19

ALE 30

EA 31

PSEN 29

RST 9

P0.0/AD0 39 P0.1/AD1 38 P0.2/AD2 37 P0.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.7/AD7 32

P1.0 1

P1.1 2

P1.2 3

P1.3 4

P1.4 5

P1.5 6

P1.6 7

P1.7 8

P3.0/RXD 10 P3.1/TXD 11 P3.2/INT0 12 P3.3/INT1 13 P3.4/T0 14

P3.7/RD 17 P3.6/WR 16 P3.5/T1 15 P2.7/A15 28

P2.0/A8 21 P2.1/A9 22 P2.2/A10 23 P2.3/A11 24 P2.4/A12 25 P2.5/A13 26 P2.6/A14 27 U1

AT89C51

C1 33p

C2 33p

X1

12MHz

C3

10uF

R1

10k

+5V

D1

R2 330 +5V

D2

R3 330 +5V

D3

R4 330 +5V

D4

R5 330 +5V

D5

R6 330 +5V

D6

R7 330 +5V

D7

R8 330 +5V

D8

R9 330 +5V

2 4 6 8

1 RP1

10K

SRG8 R C1/->

& 1D

2

4 5 6 10 8

11 12 9

13 U2

74164

+5V

MẠCH ĐIỀU KHIỂN THU/PHÁT DỮ LIỆU DẠNG NỐI TIẾP

(ỨNG DỤNG MỞ RỘNG PORT XUẤT)

1.3 Vẽ lưu đồ giải thuật và viết chương trình điều khiển

Trang 5

L HỆ THỐNG ĐIỀU KHIỂN THU PHÁT DỮ LIỆU DẠNG NỐI TIẾP

Bài 1: Chương trình điều khiển (ứng dụng mở rộng port xuất) xuất liên tục các giá trị 00H, 01H, 03H, 07H,

0FH, 1FH, 3FH, 7FH và FFH ra 8 LED thông qua port nối tiếp và sử dụng vi mạch 4094, mỗi lần xuất cách nhau 1s

;***************************************************

;CHUONG TRINH DIEU KHIEN THU PHAT DU LIEU DANG NOI TIEP (MO RONG PORT XUAT)

;***************************************************

;KET NOI: LED -> PARALLEL OUT

; RXD -> IN

; TXD -> CLK

;***************************************************

ORG 00H

MAIN:

MOV SCON ,#12H ;KHOI TAO SERIAL PORT (MODE0, REN = 1, TI = 1, RI = 0)

MOV DPTR,#DATABYTE ;NAP DIA CHI VUNG DU LIEU

MOV R0 ,#00H ;OFFSET VUNG DU LIEU

WAIT:

JNB TI ,WAIT ;KIEM TRA CO TI (KIEM TRA PHAT XONG)

CLR TI ;XOA CO TI

MOV A , R0 ;LAY OFFSET

MOV SBUF , A ;PHAT DU LIEU RA SERIAL PORT

INC R0 ;CHUYEN SANG DU LIEU KE TIEP

CJNE R0 ,#9,WAIT ;KIEM TRA DA PHAT XONG HET CAC DU LIEU TRONG VUNG DU LIEU

SJMP MAIN

;***************************************************

DELAY:

MOV R0 ,#100

MOV TMOD ,#01H

DEL:

MOV TH0 ,#HIGH(-10000)

MOV TL0 ,#LOW(-10000)

SETB TR0

JNB TF0 ,$

CLR TR0

CLR TF0

DJNZ R0 ,DEL

RET

DATABYTE:

DB 00H,01H,03H,07H,0FH,1FH,3FH,7FH,0FFH

END

1.4 Lưu chương trình và biên dịch chương trình

1.5 Kiểm tra lỗi và hiệu chỉnh lỗi nếu có

1.6 Gắn chip vi điều khiển thí nghiệm vào socket tương ứng trên khối nạp chip và bật nguồn cho khối nạp chip hoạt động

1.7 Nạp chương trình vào vi điều khiển

1.8 Sử dụng vi điều khiển vừa nạp gắn vào socket tương ứng trên khối vi điều khiển

1.9 Bật nguồn cho mô hình thí nghiệm Quan sát kết quả hoạt động, nếu kết quả hoạt động không đúng yêu cầu của đề bài thì phải quay lại kiểm tra việc kết nối mạch, hiệu chỉnh chương trình và làm lại các bước từ bước 3 đến bước 9

2 Bài tập:

(xem thêm trong phần hướng dẫn và phần bài tập của Bài 3)

Trang 6

L HỆ THỐNG ĐIỀU KHIỂN THU PHÁT DỮ LIỆU DẠNG NỐI TIẾP

Bài 2: Chương trình điều khiển (ứng dụng mở rộng port nhập) thực hiện liên tục việc nhập dữ liệu từ 8 cơng

tắc thơng qua port nối tiếp và sử dụng vi mạch 74165, dữ liệu nhập vào này sẽ được xuất ra 8 LED

1 Trình tự tiến hành thí nghiệm:

1.1 Kết nối thiết bị thí nghiệm

• Tắt nguồn cấp cho mơ hình thí nghiệm

• Dùng dây bus 8 nối J64 (PORT1) ở khối vi điều khiển với J11 (BAR LED 1) ở khối dãy LED

• Dùng dây bus 8 nối J41 (PARALLEL IN) ở khối thanh ghi dịch với J34 (SWITCH) ở khối cơng tắc

• Dùng dây bus 1 nối J43 (SERIAL OUT) ở khối thanh ghi dịch với J66 (PORT3 / FUNCTION) ở khối vi điều khiển (chú ý là ta chỉ nối bit 0 (CLK) của J43 với bit 1 (TXD) của J66)

• Dùng dây bus 1 nối J43 (SERIAL OUT) ở khối thanh ghi dịch với J66 (PORT3 / FUNCTION) ở khối vi điều khiển (chú ý là ta chỉ nối bit 1 (LD) của J43 với bit 2 (INT0\) của J66)

• Dùng dây bus 1 nối J43 (SERIAL OUT) ở khối thanh ghi dịch với J66 (PORT3 / FUNCTION) ở khối vi điều khiển (chú ý là ta chỉ nối bit 2 (OUT) của J43 với bit 0 (RXD) của J66)

• Dùng ba dây bus 3 nối J115 (POWER) ở khối thanh ghi dịch, J106 (POWER) ở khối cơng tắc và J103 (POWER) ở khối LED dãy với nguồn +5V ở khối nguồn

1.2 Sơ đồ nguyên lý của hệ thống:

AD7

AD0

AD0 AD2 AD4 AD6

AD7 AD5 AD3 AD1

SW0

SW7 SW5 SW3 SW1

SW7 SW5 SW3 SW1

D0

D2

D4

D6

XTAL2

18

XTAL1

19

ALE

30

EA

31

PSEN

29

RST

9

P1.0

1

P1.1

2

P1.2

3

P1.3

4

P1.4

5

P1.5

6

P1.6

7

P1.7

8

U1

AT89C51

C1

33p

C2

33p

X1

12MHz

C3

10uF

R1

10k

+5V

D0

R2

330 +5V

D1

R3

330 +5V

D2

R4

330 +5V

D3

R5

330 +5V

D4

R6

330 +5V

D5

R7

330 +5V

D6

R8

330 +5V

D7

R9

330 +5V

2 4 6 8

1

RP1

10K

SW7 SW6 SW5 SW4 SW3 SW2 SW1 SW0

MẠCH ĐIỀU KHIỂN THU/PHÁT DỮ LIỆU DẠNG NỐI TIẾP

(ỨNG DỤNG MỞ RỘNG PORT NHẬP)

SI 10 D0 11 D1 12 D2 13 D3 14 D4 3 D5 4 D6 5 D7 6

CLK 2

INH 15 SH/LD 1

U3

74165

2 4 6 8

1

RP3

10K +5V

Trang 7

L HỆ THỐNG ĐIỀU KHIỂN THU PHÁT DỮ LIỆU DẠNG NỐI TIẾP

Bài 2: Chương trình điều khiển (ứng dụng mở rộng port nhập) thực hiện liên tục việc nhập dữ liệu từ 8 công

tắc thông qua port nối tiếp và sử dụng vi mạch 74165, dữ liệu nhập vào này sẽ được xuất ra 8 LED 1.3 Vẽ lưu đồ giải thuật và viết chương trình điều khiển

;***************************************************

;CHUONG TRINH DIEU KHIEN THU PHAT DU LIEU DANG NOI TIEP (MO RONG PORT NHAP)

;***************************************************

;KET NOI: LED -> P1

; RXD -> OUT

; TXD -> CLK

; INT0 -> LD

; SW -> PARALLEL IN

;***************************************************

ORG 00H

MAIN:

MOV SCON ,#02H ;KHOI TAO SERIAL PORT (MODE0, REN = 0, TI = 1, RI = 0)

MP1:

CLR P3.2 ;INT = LD = 0

NOP ;NAP GIA TRI CHO VI MACH CHUYEN DOI (PARALLEL -> SERIAL)

SETB P3.2 ;INT = LD = 1

SETB REN ;REN = 1 - CHO PHEP THU DU LIEU

WAIT:

JNB RI ,WAIT ;KIEM TRA CO RI (KIEM TRA THU XONG)

CLR REN ;REN = 0 - KHONG CHO PHEP THU

CLR RI ;XOA CO RI

MOV A , SBUF ;DOC DU LIEU DA THU DUOC TU SERIAL PORT

MOV P1 , A ;XUAT RA LED

END

1.4 Thực hiện lần lượt các bước từ 1.3 đến 1.8 tương tự như bài trên

2 Bài tập:

(xem thêm trong phần hướng dẫn và phần bài tập của Bài 3)

Trang 8

L HỆ THỐNG ĐIỀU KHIỂN THU PHÁT DỮ LIỆU DẠNG NỐI TIẾP

Bài 3: Chương trình điều khiển (ứng dụng mở rộng thu phát nối tiếp) tạo một bảng dữ liệu gồm 9 bytes (00H,

01H, 03H, 07H, 0FH, 1FH, 3FH, 7FH, FFH) Thực hiện việc xuất từng byte của bảng này ra port nối tiếp (chân TXD) rồi thu vào port nối tiếp (chân RXD) và cất vào RAM nội cĩ địa chỉ bắt đầu là 40H Việc xuất dữ liệu được điều khiển bằng nút nhấn KEY0, mỗi lần xuất/nhập một byte Dữ liệu sau khi nhập vào được xuất ra 8 LED (cĩ sử dụng bộ đệm đảo) đồng thời với việc ghi vào RAM nội

1 Trình tự tiến hành thí nghiệm:

1.1 Kết nối thiết bị thí nghiệm

• Tắt nguồn cấp cho mơ hình thí nghiệm

• Dùng dây bus 8 nối J64 (PORT1) ở khối vi điều khiển với J11 (BAR LED 1) ở khối dãy LED

• Dùng dây bus 1 nối J66 (PORT3 / FUNCTION) ở khối vi điều khiển với J66 (PORT3 / FUNCTION) ở khối vi điều khiển (chú ý là ta chỉ nối bit 0 (RXD) của J66 với bit 1 (TXD) của J66)

• Dùng dây bus 1 nối J76 (MONENTARY SW) ở khối nút nhấn với J66 (PORT3 / FUNCTION) ở khối vi điều khiển (chú ý là ta chỉ nối bit 0 (KEY0) của J76 với bit 2 (INT0\) của J66)

• Dùng dây bus 1 nối J66 (PORT3 / FUNCTION) ở khối vi điều khiển với J66 (PORT3 / FUNCTION) ở khối vi điều khiển (chú ý là ta chỉ nối bit 1 (TXD) của J66 với bit 0 (RXD) của J66)

• Dùng hai dây bus 3 nối J114 (POWER) ở khối nút nhấn và J103 (POWER) ở khối LED dãy với nguồn +5V ở khối nguồn

1.2 Sơ đồ nguyên lý của hệ thống:

AD7

AD0

AD0 AD1 AD2 AD3 AD4 AD5 AD6

AD7 AD6 AD5 AD4 AD3 AD2 AD1

D0 D1 D2 D3 D4 D5 D6 D7

XTAL2 18

XTAL1 19

ALE 30 EA 31 PSEN 29

RST 9

P0.0/AD0 39 P0.1/AD1 38 P0.2/AD2 37 P0.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.7/AD7 32

P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8

P3.0/RXD 10 P3.1/TXD 11 P3.2/INT0 12 P3.3/INT1 13 P3.4/T0 14 P3.7/RD 17 P3.6/WR 16 P3.5/T1 15 P2.7/A15 28

P2.0/A8 21 P2.1/A9 22 P2.2/A10 23 P2.3/A11 24 P2.4/A12 25 P2.5/A13 26 P2.6/A14 27

U1

AT89C51

C1

33p

C2

33p

X1

12MHz

C3

10uF

R1

10k

+5V

D0

R2

330 +5V

D1

R3

330 +5V

D2

R4

330 +5V

D3

R5

330 +5V

D4

R6

330 +5V

D5

R7

330 +5V

D6

R8

330 +5V

D7

R9

330

+5V

2 3 4 5 6 7 8 9

1

RP1

10K

MẠCH ĐIỀU KHIỂN THU/PHÁT DỮ LIỆU DẠNG NỐI TIẾP

(ỨNG DỤNG MỞ RỘNG PORT NHẬP)

RUN

R10

10k +5V

Trang 9

L HỆ THỐNG ĐIỀU KHIỂN THU PHÁT DỮ LIỆU DẠNG NỐI TIẾP

Bài 3: Chương trình điều khiển (ứng dụng mở rộng thu phát nối tiếp) tạo một bảng dữ liệu gồm 9 bytes (00H,

01H, 03H, 07H, 0FH, 1FH, 3FH, 7FH, FFH) Thực hiện việc xuất từng byte của bảng này ra port nối tiếp (chân TXD) rồi thu vào port nối tiếp (chân RXD) và cất vào RAM nội có địa chỉ bắt đầu là 40H Việc xuất dữ liệu được điều khiển bằng nút nhấn KEY0, mỗi lần xuất/nhập một byte Dữ liệu sau khi nhập vào được xuất ra 8 LED (có sử dụng bộ đệm đảo) đồng thời với việc ghi vào RAM nội

1.3 Vẽ lưu đồ giải thuật và viết chương trình điều khiển

Trang 10

L HỆ THỐNG ĐIỀU KHIỂN THU PHÁT DỮ LIỆU DẠNG NỐI TIẾP

Bài 3: Chương trình điều khiển (ứng dụng mở rộng thu phát nối tiếp) tạo một bảng dữ liệu gồm 9 bytes (00H,

01H, 03H, 07H, 0FH, 1FH, 3FH, 7FH, FFH) Thực hiện việc xuất từng byte của bảng này ra port nối tiếp (chân TXD) rồi thu vào port nối tiếp (chân RXD) và cất vào RAM nội có địa chỉ bắt đầu là 40H Việc xuất dữ liệu được điều khiển bằng nút nhấn KEY0, mỗi lần xuất/nhập một byte Dữ liệu sau khi nhập vào được xuất ra 8 LED (có sử dụng bộ đệm đảo) đồng thời với việc ghi vào RAM nội

;***************************************************

;CHUONG TRINH DIEU KHIEN THU PHAT DU LIEU DANG NOI TIEP

;***************************************************

;KET NOI: LED -> P1

; RXD -> TXD

; KEY0 -> INT0 (ACT = 0)

;***************************************************

ORG 00H

MAIN:

MOV TMOD ,#20H ;TIMER 1: MODE 2 - TAO TOC DO BAUD SERIAL PORT

SETB TR1 ;TIMER HOAT DONG

MOV SCON ,#52H ;SERIAL: MODE 1, TI = 1, RI = 0, REN = 1

MP1:

MOV DPTR,#DATABYTE ;NAP DIA CHI VUNG DU LIEU

MP2:

MOV R0 ,#50 ;BIEN LAP - CHONG DOI PHIM

KEY_NHAN:

DJNZ R0 ,KEY_NHAN ;GIAM BIEN LAP - CHONG DOI (PHIM DA NHAN)

MOV R0 ,#50 ;BIEN LAP - CHONG DOI PHIM

KEY_NHA:

DJNZ R0 ,KEY_NHA ;GIAM BIEN LAP - CHONG DOI (PHIM DA NHAN)

;PHIM DA DUOC NHAN VA NHA HOAN TAT

MOV A ,#0 ;OFFSET CUA DU LIEU

MOV 40H, A ;NAP DU LIEU THU DUOC VAO O NHO 40H

MOV A , DPL ;KIEM TRA DA PHAT/THU XONG VUNG DU LIEU

CJNE A ,#LOW(DATABYTE+9),MP2

SJMP MP1 ;QUAY TRO LAI

;***************************************************

TRANS_DATA: ;CTC PHAT DU LIEU

JNB TI ,$ ;KIEM TRA PHAT XONG

CLR TI ;XOA TI DE CHUAN BI CHO LAN PHAT KE TIEP

MOV SBUF , A ;PHAT DU LIEU

RET

;***************************************************

RECEI_DATA: ;CTC THU DU LIEU

JNB RI ,$ ;KIEM TRA THU XONG

CLR RI ;XOA RI DE CHUAN BI CHO LAN THU KE TIEP

MOV A , SBUF ;THU DU LIEU

RET

;***************************************************

DATABYTE: ;VUNG DU LIEU

DB 00H,01H,03H,07H,0FH,1FH,3FH,7FH,0FFH

END

1.4 Thực hiện lần lượt các bước từ 1.3 đến 1.8 tương tự như bài trên

2 Bài tập:

• Bài 1: Hãy viết chương trình điều khiển việc truyền dữ liệu dạng nối tiếp giữa hai chip vi điều khiển với nhau (phương pháp nối dây cho từng vi điều khiển tương tự bài mẫu 3):

o Vi điều khiển 1: Viết chương trình tạo một bảng dữ liệu gồm 9 bytes (00H, 01H, 03H, 07H, 0FH, 1FH, 3FH, 7FH, FFH) Thực hiện việc xuất từng byte của bảng này ra port nối tiếp (TXD) để truyền sang cho vi điều khiển 2, việc xuất dữ liệu được điều khiển bằng nút nhấn KEY0, mỗi lần xuất một byte Đồng thời, vi điều khiển 1 liên tục kiểm tra và thu dữ liệu vào từ port nối tiếp (RXD) các dữ liệu do vi điều khiển 2 gửi sang và cất vào RAM nội có địa chỉ bắt đầu là 40H, dữ liệu sau khi nhập vào được xuất ra 8 LED đồng thời với việc ghi vào RAM nội

Trang 11

L HỆ THỐNG ĐIỀU KHIỂN THU PHÁT DỮ LIỆU DẠNG NỐI TIẾP

Bài 3: Chương trình điều khiển (ứng dụng mở rộng thu phát nối tiếp) tạo một bảng dữ liệu gồm 9 bytes (00H,

01H, 03H, 07H, 0FH, 1FH, 3FH, 7FH, FFH) Thực hiện việc xuất từng byte của bảng này ra port nối tiếp (chân TXD) rồi thu vào port nối tiếp (chân RXD) và cất vào RAM nội có địa chỉ bắt đầu là 40H Việc xuất dữ liệu được điều khiển bằng nút nhấn KEY0, mỗi lần xuất/nhập một byte Dữ liệu sau khi nhập vào được xuất ra 8 LED (có sử dụng bộ đệm đảo) đồng thời với việc ghi vào RAM nội

o Vi điều khiển 2: Viết chương trình tạo một bảng dữ liệu gồm 9 bytes (FFH, 7FH, 3FH, 1FH, 0FH, 07H, 03H, 01H, 00H) Thực hiện việc xuất từng byte của bảng này ra port nối tiếp (TXD) để truyền sang cho vi điều khiển 1, việc xuất dữ liệu được điều khiển bằng nút nhấn KEY1, mỗi lần xuất một byte Đồng thời, vi điều khiển 2 liên tục kiểm tra và thu dữ liệu vào từ port nối tiếp (RXD) các dữ liệu do vi điều khiển 2 gửi sang và cất vào RAM nội có địa chỉ bắt đầu là 40H, dữ liệu sau khi nhập vào được xuất ra 8 LED đồng thời với việc ghi vào RAM nội

• Bài 2: Sinh viên tự mình suy nghĩ và phát triển thêm chương trình

3 Hướng dẫn:

Phần mở rộng port xuất:

o Port thu phát nối tiếp của 8051 có thể sử dụng để mở rộng thành nhiều port xuất song song Để thực hiện điều này, sử dụng port nối tiếp ở chế độ thanh ghi dịch (Shift Register – Mode 0) và vi mạch chuyển đổi từ nối tiếp ra song song (Serial In – Parallel Out) như 74164, 4094, …

o Chế độ thanh ghi dịch: RXD là ngõ ra dữ liệu nối tiếp, TXD là ngõ ra xung clock

o Viết chương trình: xuất dữ liệu ra port nối tiếp ở chế độ thanh ghi dịch

Phần mở rộng port nhập:

o Port thu phát nối tiếp của 8051 có thể sử dụng để mở rộng thành nhiều port nhập song song Để thực hiện điều này, sử dụng port nối tiếp ở chế độ thanh ghi dịch (Shift Register – Mode 0) và vi mạch chuyển đổi song song từ ra nối tiếp (Serial Out – Parallel In) như 74165

o Chế độ thanh ghi dịch: RXD là ngõ ra dữ liệu nối tiếp, TXD là ngõ ra xung clock

o Viết chương trình:

 Cho LD\ = 0 để nhập dữ liệu từ các công tắc

 Cho LD\ = 1 để chuẩn bị thực hiện việc ghi dịch

 Nhập dữ liệu từ port nối tiếp ở chế độ thanh ghi dịch

 Xuất dữ liệu ra các LED

Phần thu phát nối tiếp:

o Nối chân RXD của vi điều khiển 1 với chân TXD của vi điều khiển 2

o Nối chân TXD của vi điều khiển 1 với chân RXD của vi điều khiển 2

Ngày đăng: 09/05/2014, 21:13

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm