Đồ án Vi mạch Trang
2
Chương 7: Giao tiếp ngoại vi
CPU giao tiếp với thế giới bên ngoài qua các thiết bò giao tiếp
ngoại vi. Trong thiết kế sử dụng 2 vi mạch 8255A nên có được 6
port giao tiếp. Các 8255A này hoạt động theo chế độ I/O. Vi xử lý
8085A có thể đònh số đòa chỉ I/O tối đa là 256 port, các đòa chỉ được
chọn cho các 8255A là:
Sử dụng vi mạch 74LS138 kết hợp với một số cổng OR để giải
mã đòa chỉ cho các vi mạch giao tiếp 8255A.
Đòa chỉ hoạt động của các vi mạch 8255A.
Dùng 74LS138 với các ngõ vào A, B và C là các đường đòa chỉ
A
4
, A
5
, và A
6
. Các đường đòa chỉ A
0
, A
1
vào trực tiếp các 8255A.
Như vậy, nếu không sử dụng các đường đòa chỉ A
2
, A
3
và A
7
thì các
đòa chỉ 14
20
H
Port A của 8255A-II
21
H
Port B của 8255A-II
22
H
Port C của 8255A-II
23
H
Port điều khiển của 8255A-II
Các đường đòa chỉ
A
7
A
6
A
5
A
4
A
3
A
2
A
1
A
0
HEXA
6
Y
5
Y
4
Y
3
Y
2
Đồ án Vi mạch Trang
3
Sơ đồ kết nối giải mã đòa chỉ cho giao tiếp ngoại vi
e. Jumper RAM/ROM:
Chân 27 là V
pp
đối với EPROM và là WR\ đối với RAM, ta có
thể thay đổi chức năng RAM/ROM bằng cách đặt một jumper nối
chân này lên V
cc
nếu là EPROM và nối với WR\ của CPU nếu là
RAM. Chân 1 là NC nếu là EPROM và là chân CS1 nếu là RAM,
vì thế chân này luôn được nối lên V
cc
.
Sơ đồ kết nối
6264/
2764
V
cc
V
RRC
JNC ROWFD ; co phim duoc an
INR B ; hang ke tiep
JMP LPROW
ROWFD:
PUSH B ; luu vi tri hang
MVI B, 00h
MVI A, 0FEh ; bat dau tu cot 0
LPCOL:
MOV D, A
Ñoà aùn Vi maïch Trang
5
STA (DRIVE)
LDA (KEYIN)
ANI 1Fh
CPI 1Fh
JNZ COLFD
MOV A, D
RLC
RNC ; du 8 cot
INR B
JMP LPCOL
COLFD: ; B = vi tri cot
POP AF ; lay lai vi tri hang
STC
CMC ; cy = 0
RAL
RAL
RAL ; hang = hang * 8
ADD B ; ma phim = hang*8 +cot
DEFB 08h ; 8
DEFB 09h ; 9
DEFB 0Ah ; A
DEFB 0Bh ; B
DEFB 0Ch ; C
DEFB 0Dh ; D
DEFB 0Eh ; E
DEFB 0Fh ; F
DEFB 10h ; G
DEFB 11h ; H
DEFB 12h ; I
DEFB 13h ; J
DEFB 14h ; K
DEFB 15h ; L
DEFB 16h ; M
DEFB 17h ; N
DEFB 18h ; O
DEFB 19h ; P
DEFB 1Ah ; Q
DEFB 1Bh ; R
DEFB 1Ch ; S
DEFB 1Dh ; T
DEFB 1Eh ; U
DEFB 1Fh ; V
DEFB 20h ; W
DEFB 21h ; X
DEFB 22h ; Y
DEFB 23h ; Z
; phim chuc nang
DEFB 80h ; ESC
LHLD (MNPTR) ; thi hanh chuong trinh
co dia chi
PCHL ; duoc MNPTR chi den
LP1:
POP H
POP AF
RLC
JNC PUT ; het 8 den, bat dau
lai tu den 0
INX H
JMP MUX ; den ke tiep
; GIAI MA SO HEX RA LED 7 DOAN
DISCOD:
Ñoà aùn Vi maïch Trang
8
PUSH B
PUSH D
PUSH H
MVI B, 04h
LXI H, HEXBUF ; vung dem hien thi
LP01:
MOV A, M
ANI 0F0h
RRC
RRC
RRC
RRC
MOV D, A
MOV A, M
ANI 0Fh
MOV M, A
RET
; BANG TRA MA LED 7 DOAN
DISTBL:
DEFB 3Fh ; 0
DEFB 06h ; 1
DEFB 5Bh ; 2
DEFB 4Fh ; 3
DEFB 66h ; 4
DEFB 6Dh ; 5
DEFB 7Dh ; 6
DEFB 07h ; 7
DEFB 7Fh ; 8
DEFB 6Fh ; 9
DEFB 77h ; A
DEFB 7Ch ; B
DEFB 39h ; C
DEFB 5Eh ; D
DEFB 79h ; E
DEFB 71h ; F
; CHUONG TRINH CONG A VAO HL
ADDAX:
PUSH B
MVI B, 00h
MOV C, A
DAD B
POP B
RET
; CHUONG TRINH DOC PHIM
RDKEY:
PUSH B
MVI B, 08h
LAB1:
CALL DLDIS1
DCR B
JNZ LAB1
POP B
POP AF
RET
DLDIS1:
MVI A, 0FEh
STA (DRIVE)
Ñoà aùn Vi maïch Trang
11
LDA (DISBUF)
STA (SEGDRV)
CALL DLPUT
MVI A, 00h
STA (SEGDRV)
MVI A, 0FDh
STA (DRIVE)
LDA (DISBUF + 1)
STA (SEGDRV)
CALL DLPUT
MVI A, 00h
STA (SEGDRV)
MVI A, 0FBh
STA (DRIVE)
LDA (DISBUF + 2)
STA (SEGDRV)
CALL DLPUT
MVI A, 00h
STA (SEGDRV)
MVI A, 7Fh
STA (DRIVE)
LDA (DISBUF + 7)
STA (SEGDRV)
CALL DLPUT
RET
; CAC NHAN SU DUNG
MNPTR EQU 5F20h
DISPTR EQU 5F30h ; con tro den vung
dem hien thi
DISBUF EQU 5F40h ; vung dem hien
thi
HEXBUF EQU 5F48h ; vung dem so HEXA
KEY EQU 5F70h ; chua ma phim
KEYFLG EQU 5F80h ; =1 neu co phim
nhan
KEYIN EQU 8000h
DRIVE EQU 8001h
SEGDRV EQU 8002h
SYSIO EQU 8003h