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

Tài liệu Giao tiếp giữa KIT vi xử lý 8086 và máy tính Nguồn, chương 11 doc

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 (49.21 KB, 14 trang )

CHƯƠNG 11
PHẦN MỀM GIAO TIẾP
CHƯƠNG TRÌNH TRUYỀN, NHẬN DỮ LIỆU TRÊN KIT
VXL 8086.
1. GIẢI THUẬT
* Lưu đồ khởi tạo 8251A
00h thanh ghi điều khiển
Begi
n
03h AH
AH
-
1
AH = 0 ?
Delay
Nạp từ chế độ cào thanh ghi
chế độ
Delay
End
sai
Đúng

* Lưu đồ chương trình truyền dữ liệu.
BEGIN
KHỞI PHÁT: GHI
TỪ CHẾ ĐỘ
GHI LỆNH :
DTR, TxEN
ĐỌC TRẠNG THÁI:
DSR, TxRDy
Kiểm tra sẵn


sàng :DSR=
TxRDY=1
GHI SỐ
LIỆU
RA
GHI LỆNH PHÁT: RTS
END

* Lưu đồ chương trình nhận dữ liệu.
BEGIN
KHỞI PHÁT: GHI
TỪ CHẾ ĐỘ
GHI LỆNH :
DTR, RxEN,RTS
ĐỌC TRẠNG THÁI:
DSR, RxRDy
Kiểm tra sẵn
sàng :DSR=
RxRDY=1
ĐỌC SỐ LIỆU TỪ
THANH GHI ĐỆM
SỐ LIỆU
END

2. CHệễNG TRèNH.
a. 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
MOV CX, 6500h
MOV AL,03h
OUT 01h
Chửụng trỡnh truyen dửừ lieọu.
;chuong trinh truyen du lieu
org 70000h
mov dx 02h ;dia chi thanh ghi dieu khien
mov al,00h
out dx,al ;xoa thanh ghi dieu khien
call delay
out dx,al
call delay
out dx,al
call delay
mov al,40h ; goi 40h vao al, gia tri cua bit RI

out dx,al ;de xoa thanh ghi noi
call delay
mov al,0cdh ; ghi loi dieu khien che do vao
out dx,al ;thanh ghi dieu khien che do
call delay
mov cx,6500h ; dia chi dieu khien
mov al,03h ; ghi tu che do
DTR(D1=1),TxEN(D0=1)
out dx,al
call delay
x1: in al,dx
and al,81h ; kiem tra trang thai
cmp al,81h
jnz x1
mov dx,cx
mov al,m
mov bl,al ; nap byte dia chi tap vao bl
mov dx,00h
out dx,al ;gui byte dia chi thap
call delay
mov al,21h ; ghi tu lenh DTS(D5),TxEN(D0) de
truyen
mov dx,01h
out dx,21h
call delay
inc cx ;tang dia chi de lay byte ke tiep
mov al,03h
out dx,al
call delay
mov dx,01h

x2: in al,dx
and al,81h
cmp al,81h
jnz x2
mov dx,00h
in al,dx
mov dx,cx
mov al,m
mov bh,al ;nap dia chi cao vao bh
out dx,al ;truyen byte dia chi cao
call delay
mov al,21h
mov dx,01h
out dx,al ;ra lenh truyen
call delay
mov dx,01h
x3: in al,dx
and al,81h
cmp al,81h
jnz x3
mov dx,cx
mov al,m
mov dx ooh
out dx,al ;gui so byte can truyen
mov ah,al
x5: mov al,21h
out dx,al
call delay
mov dx,01h
x4: in al,dx

and al,81h
cmp al,81h
jnz x4
mov dx,bx ;tuyen du lieu can truyen
mov al,m
mov dx,00h
out dx,al
inc bx
dec ah
mov al,21h
mov dx,o1h
out dx,al
jnz x5
end
 Chöông trình nhaän döõ lieäu.
;chuong trinh con delay
delay: push cx
mov cx,03h
y0: loop y0
pop cx
ret
;chuong trinh nhan du lieu
org 70000h
mov dx 01h ;dia chi thanh ghi dieu khien
mov al,00h
out dx,al ;xoa thanh ghi dieu khien
call delay
out dx,al
call delay
out dx,al

call delay
mov al,40h ; goi 40h vao al, gia tri cua bit RI de xoa
thanh ghi noi
out dx,al
call delay
mov al,0cdh; ghi loi dieu khien che do vao thanh ghi dieu
khien
out dx,al
call delay
mov al,26h ; ghi tu che do
RTR(D1=1),RxEN(D0=1)
out dx,al
call delay
y1: in al,dx
and al,82h; kiem tra trang thai
cmp al,82h
jnz y1
mov dx,00h
in al,dx
mov bl,al; nap byte dia chi tap vao bl
mov dx,01h
y2: in al,dx
and al,82h
cmp al,82h
jnz y2
mov dx,00h
in al,dx
mov bh,al
mov dx,01h
y3: in al,dx

and al,82h
cmp al,82h
jnz y3
mov dx ooh
in dx,al ;nhan so byte truyen
mov ah,al
mov dx,01h ;nhan du lieu
y4: in al,dx
and al,82h
cmp al,82h
jnz y4
mov dx,00h
in al,dx
mov dx,bx
mov m,al
inc bx
jnz x4
end

×