Tải bản đầy đủ (.pdf) (10 trang)

Giao tiếp giữa máy tính với KIT vi xử lý 8086 part7 docx

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 (198.56 KB, 10 trang )

2. Các thanh ghi

Ởû hình 6.4a và hình 6.4b mô tả bộ thanh ghi của 8251, gồm: thanh ghi
trạng thái và thanh ghi điều khiển.
Hai thanh ghi trên có cùng một đòa chỉ với A0 = 1 dùng để ghi (/WR)
và một đọc (/RD) trạng thái. Hai thanh ghi đệm số liệu ghi và đọc có cùng
một đòa chỉ (A0 = 0) và dùng để ghi và đọc số liệu cần truyền và nhận của
KGN. Các lệnh cho các thanh ghi trên như bảng sau:


/CE C/D /W
R
/RD LỆNH
0
0
0
0
1
1
1
0
0
x
0
1
0
1
x

1
0


1
0
x
Ghi vào thanh ghi điều khiển (chế độ, lệnh)
Đọc thanh ghi trạng thái.
Ghi số liệu vào thanh ghi đệm truyền.
Đọc số liệu từ thanh ghi đệm nhận.
Trở kháng cao (không dùng).
I. Cấu trúc phần mềm
- Thanh ghi điều khiển
- Thanh ghi trạng thái
Hai thanh ghi trên có cùng đòa chỉ với A
0
=1, một dùng để ghi (WR\)
lệnh điều khiển và một để đọc (RD\) trạng thái. Hai thanh ghi đệm số liệu
ghi và đọc cũng có một đòa chỉ A
0
=0) dùng để ghi và đọc số liệu cần truyền
và nhận của KGN.
Các lệnh cho các thanh ghi trên bảng sau:

a. Thanh ghi điều khiển:
- dùng để ghi:
+ lời điều khiển chế độ.
+ lời lệnh:




























Hình 5.4a

D7 D6 D5 D4 D3 D2 D1 D0

Tốc độ truyền

00 đồng bộ
01 không đồng bộ x1

10 không đồng bộ x
16
11 không đồng bộ x64

Độ dài ký tư
ï
00 5 bit
01 6bit
10 7bit
Điều khiển khung.

00 không giá trò
01 một bit dừng
10 1.5 bit dừng
11

2 bit dừng

Bit chẵn lẻ


X0 không kiểm tra
chẵ lẻ
01 kiểm tra lẻ
10 kiểm tra chẵn
b. Thanh ghi chế độ.































D7 D6 D5 D4
D3 D2
Cho phép phát
1= cho phép


Chế độ bất đồng bộ
1= tìm ký tự đồng bộ

Ngắt mềm
1= xoá các thanh ghi

Yêu cầu phát
1= đưa tín hiệu

Xoá cờ báo lỗi
1= xoá cờ

Gửi tín hiệu cắt
1= đưa TxD = 0

Cho phép thu

1= cho phép RxRDy

Số liệu đầu cuối
Sẵn sàng, DTR
\
=1

EH IR RTS ER SBRK RxEN
DTR TxEN
HÌNH 5.4B

c. thanh ghi trạng thái.


Dùng để đọc lời trạng thái:








































Chỉ modem
đã
Sẵn sàng để
Chỉ chữ
đồng bộ đã
được 8251
Chỉ thanh
ghi biến
đổi song
song nối
tiếp rỗng

Chỉ 8251 sẵn sàng
nhận
1 chữ hay lệnh để
Bít báo sai chẳn lẻ


Pe= 1khi có sai xoá

bằng ER của lệnh
Chỉ sẵn sang nhận số
liệu để truyền cho
VXL
Bit chỉ lỗi tràn


Khi VXL chưa đọc lời
trước, lời sau đã tới thì
OE =1 xoá bằng ER
Bit chỉ sai khung
(không đồng bộ)

khi số bit dừng bò sai
FE= 1 xoá bằng ER =1
Hình 5.4c

D7 D6 D5 D4 D3

D2

D1

D0

* Với lời điều khiển chế độ: hình 4.3a
- Chế độ đồng bộ: (trong, ngoài hai hay một ký tự đồng bộ SYNC) bởi
nội dung ghi vào D7, D6.
- Tốc độ truyền với giá trò:
+ D1D0=00: Dùng cho chế độ đồng bộ, tốc độ nơi thu bằng tốc độ nơi

phát, không có sự thay đổi tần số xung nhòp.
+ D1D0=01: dùng cho chế độ không đồng bộ, tốc độ giữa nơi thu và
nơi phát không đổi.
+ D1D0=01: tốc độ thu = tốc độ truyền X1, tức tốc độ thu=tốc độ
truyền
+D1D0=10 : tốc độ thu =16x tốc độ truyền
+ D1D0=11: tốc độ thu =64x tốc độ truyền
- Độ dài ký tự, tức độ dài một đơn vò tin SDU với các giá trò D3D2 = 00
(5bit), 01(6bit) 10(7bit) và 11(8bit).
- Kiển tra chẵn lẻ D5D4 =X0 (không kiểm tra), 01 (kiểm tra lẻ), 11
(kiểm tra chẵn).
- Điều khiển khung, xác đònh số bit dừng
Với D7D0 = 01 – một bít dừng
D7D6 = 10 – một bít rưỡi dừng
D7D6 = 11 – hai bit dừng
 Với lời lệnh (hình 43b) ta có thể ghi lệnh để:
- Điều khiển modem: DTR(D1=1), RTS(D%=1)
- Xoá mềm (bằng chương trình có IR (D6=1) để xoá về 0 các thanh ghi
nội
- Xóa cờ báo lỗi ER (D4=1)
- Ghi cho phép truyền TxEN (D0=1) cho phép nhận RxE(D2=1)
- Gửi tín hiệu cắt (các bit bằng 0-Break) để cắt dòng tín hiệu liên tục
đang truyền
- Tìm ký tự đồng bộ EH (D7=1) trong chế độ đồng bộ
 Thanh ghi trạng thái (hình 43c): dùng để đọc
- sẵn sàng truyền TxRDY (D0=1), sẵn sàng nhận RXRDY( D1=1)
- Thanh ghi đệm số liệu rỗng TxE (D2=1)
- Tuy chỉ có một đòa chỉ (CS\=0, A1=1) nhưng ta có thể ghi được 2 lời điều
khiển chế độ và lời lệnh ở 2 thanh ghi điều khiển khác nhau vì còn có
chung một flip flop nội điều khiển lần lượt vào hai thanh ghi trên.

III. ỨNG DỤNG 8251A ĐỂ TRUYỀN THÔNG TIN NỐI TIẾP

1. Truyền thông tin nối tiếp giữa 2 kit VXL:





















a. Khởi phát 8251A
Muốn 8251 hoạt động đúng chế độ (không đồng bộ), tốc độ (300, 600,
1200, 2400, 4800, 9600bps hoặc lớn hơn), số bit tin (5, 6, 7, 8) có kiểm tra
chẵn hoặc lẻ và xác đinh số bit dừng (1; 1,5; 2 bit) ta phải ghi lời điều khiển
chế độ vào thanh ghi điều khiển cuả 8251.
Ví dụ:

Một 8251 có điạ chỉ gốc CS\ với 0FFF0h, cần trao đổi thông tin 8 bit,
tốc độ x16 không có kiểm tra Parity chẵn lẻ, 2bit stop.
Lời điều khiển là: 1 1 0 0 1 1 1 0
 chương trình khởi phát:
MOV DX, 0FFF2h
MOV AL,00h
OUT DX,AL
MOV CX 2h
D0 : LOOP D0
OUT DX, AL
D1: MOV CX,2h

TxD


RxD


DTR\

8251
DSR\


RTS\


CTS\
TxD



RxD


DTR\

8251
DSR\


RTS\


CTS\









VXL2
LOOP D1
OUT DX, AL
MOV CX,2h
D2: LOOP D2
MOV AL, 40h
OUT DX, AL

MOV CX, 2h
D3: LOOP D3
MOV AL, 11001110B
OUT DX, AL
MOV CX, 2h
D4: LOOP D4
END
2. Truyền thông tin nối tiếp giữa kit VXL và máy tính











1














1 5



6 9

A 1 – A 11

D 0 –D 7

Reset

CLK

A 0

RD \

WR \




INTR

INTA \



CS \ GND

D 0 – D7
TxD
Rest
RxD
CLK
DTR
C/D\

RD \
DSR\
WR\

RTS \


TxD
CTS\
RxRDy

Giải

điạ
X

lýngắt
8251


VXL

O O O O O
O O O O

Cổng COM
Của máy
tính

1. CHÖÔNG TRÌNH
Chöông trình khôûi taïo 8251A
MOV DX, 0FFF2h
MOV AL,00h
OUT DX,AL
MOV CX, 2h
D0 : LOOP D0
OUT DX, AL
D1: MOV CX, 2h
LOOP D1
OUT DX, AL
MOV CX,2h
D2: LOOP D2
MOV AL, 40h
OUT DX, AL
MOV CX, 2h
D3: LOOP D3
MOV AL, 11001110B
OUT DX, AL
MOV CX, 2h
D4: LOOP D4

END
CHƯƠNG VI
PHẦN MỀM GIAO TIẾP

CHƯƠNG TRÌNH TRUYỀN, NHẬN DỮ LIỆU TRÊN KIT VXL 8086.
2. GIẢI THUẬT
* Lưu đồ khởi tạo 8251A

































00h thanh ghi điều khiển

Begin

03h AH

AH
-
1

AH = 0 ?

Delay

Nạp từ chế độ cào thanh ghi
chế độ

Delay

End


sai

Đúng

×