Hai thanh ghi trên có cùng một địa chỉ với A0 = 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ó cùng một địa chỉ A0 = 0 và d
Trang 12 Các thanh ghi:
Ở hình 5.4a và hình 5.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, 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ó 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 /WR /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)
- Thanh ghi điều khiển
- Thanh ghi trạng thái
Trang 2a Thanh ghi điều khiển:
- dùng để ghi:
+ lời điều khiển chế độ
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
11 8 bit
Đ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ẳn lẻ
01 kiểm tra lẻ
10 kiểm tra chẵn
Trang 3b Lời lệnh:
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
Trang 4c thanh ghi trạng thái
Dùng để đọc lời trạng thái:
Chỉ modem
đã Sẵn sàng
để truyền số
liẹäu
Chỉ chữ
đồng bộ đã
được 8251
nhận
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 để truyền
Bit báo sai chẳn lẻ
Pe= 1 khi có sai xóa bằng ER của lệnh
Chỉ sẵn sàng 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 của lệnh
Bit chỉ sai khung (không đồng bộ)
D7 D6 D5 D4 D3 D2 D1 D0
DSR SYNDET FE OE PE TxEM RxRDy TxRDy
Trang 5* Vớùi lời điều khiển chế độ: hình 5.4a
- 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 =00 (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 D7D6 = 01 – một bit dừng
D7D6 = 10 – một bit rưỡi dừng D7D6 = 11 – hai bit dừng
Với lời lệnh (hình5.4b) ta có thể ghi lệnh để:
- Điều khiển modem: DTR(D1=1), RTS(D5=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 tin 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 5.4c): 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
Trang 6III Ứ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ộ), tgá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
TxD
RxD
DTR\
8251
DSR\
RTS\ CTS\
TxD
RxD
DTR\
8251
DSR\
RTS\
CTS\
VXL2 VXL1
HÌNH 5.5
Trang 7Lư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
HÌNH 5.5
Trang 8chương trình khởi phát:
D2: LOOP D2
D3: LOOP D3
D4: LOOP D4
END
Trang 92 Truyền thông tin nối tiếp giữa kit VXL và máy tính:
6 9
O O O O O
O O O O
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 mã điạ chỉ
Xử lý ngắt (8259A hai mức)
8251 VXL
Cổng COM của máy tính
HÌNH 5.6
Trang 10CHƯƠNG VI: GIAO TIẾP SONG SONG DÙNG
VI MẠCH 8255
I GIỚI THIỆU VỀ VI MẠCH 8255A:
Để vi xử lý giao tiếp với những thiết bị bên ngoài, người ta thường dùng
vi mạch giao tiếp 8255A, vi mạch này có khả năng giao tiếp rất rộng, vừa có thể xuất dữ liệu, vừa có thể nhận dữ liệu tùy theo người lập trình điều khiển bằng cách thay đổi t`ông số của thanh ghi điều khiển
II SƠ ĐỒ CHÂN, SƠ ĐỒ LOGIC, CHỨC NĂNG CÁC CHÂN CỦA VI MẠCH 8255A
Sơ đồ chân và sơ đồ logic của vi mạch 8255A được thể hiện qua hình vẽ:
Hình 6.1 : Sơ đồ chân và sơ đồ logic của vi mạch 8255A
Trong đó:
Chân 1 4, 37 40 (PA 0 – PA 7 ): là các đường xuất nhập có tên là cổng A Chân 18 25 (PB 0 – PB 7 ): là các đường nhập xuất có tên cổng B
Chân 10 13, 14 17 (PB 0 – PB 7 ): là các đường nhập xuất có tên cổng C
PA3
PA2
PA1
PA0
RD\
CS\
GND
A1
A0
PC7
PC6
PC5
PC4
PC0
PC1
PC2
PC3
PB0
PB1
PB2
PA4
PA5 PA6
PA7 WR\
RESET D0 D1 D2 D3 D4 D5 D6 D7 Vcc
PB7 PB6
PB5 PB4 PB3
1
40
PB0 – PB7
PC0 – PC7
RD\
WR\
RESET A0 A1 CS\
8255A
8255A