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

Giáo trình hướng dẫn tìm hiểu cách tạo các cổng giao tiếp trong các thiết bị ngoại vi phần 3 pps

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

LUÂÄN VĂN TỐT NGHIỆP

47

 Khi phím Go được gõ thì quá trình nhận dữ liệu của kit thực sự bắt đầu.
 Kit báo sẳn sàng chờ máy tính gửi dữ liệu xuống.
 Đọc strobe cho tới khi bằng 1, để biết dữ liệu đã được gởi ra bus dữ liệu.
 Xuất Busy=1, ACK=0.
 Đọc dữ liệu và cho ACK=1. Lúc này kit đã nhận được dữ liệu nhưng chưa
biết dữ liệu có chắc chắn đúng không. Sau đó bắt đầu kiểm tra.
 Đọc AF cho tới khi bằng 1, biết máy tính sẳn sàng nhận dữ liệu kiểm tra.
 Xuất nible cao của dữ liệu kiểm tra (bằng 4 bit cao của port B) và bit
Error=0 (bit PB3).
 Đọc AF cho tới khi bằng 0, để biết máy tính sẳn sàng nhận4 bit thấp của
dữ liệu kiểm tra.
 Xuất 4 bit thấp và Error bằng 1.
 Lúc này, máy tính đang nhận và so sánh dữ liệu đã gởi đi. Và kết quả so
sánh được báo cho kit ở thanh ghi dữ liệu, tức portA của 8255. Kit đọc
strobe cho tới khi strobe bằng [0] biết kết quả kiểm tra đã sẳn sàng.
 Đọc port A lấy kết quả kiểm tra.
 Nếu kết quả kiểm tra là đéng thì thực hiện khâu xử lý dữ liệu (lưu dữ liệu
vào nơi cần thiết) và quay lại nhận dữ liệu kế tiếp. Nếu kết quả là sai thì
bỏ qua khâu xử lý dữ liệu mà quay trở lại nhập lại dữ liệu cũ.
Quá trình xẩy ra cho đến khi khâu xử lý dữ liệu nhận ra đã nhập đến dữ liệu
cuối cùng thì kết thúc khâu xử lý sẽ thoát như lưu đồ sau đây:























Hình 19: Lưu đồ chương trình xử lý dữ liệu (trang1).

Start

(c) = 00h

Lấy dữ liệu vừa nhận được
làm byte cao của đòa chỉ bắt
đầu vùng nhớ đặt dữ liệu.
H

(B)

Lấy dữ liệu vừa nhận được

làm byte thấp của đòa chỉ bắt
đầu vùng nhớ đặt dữ liệu.
L

(B)

Lấy dữ liệu vừa nhận được
làm byte cao của đòa chỉ chấm
dứt vùng nhớ đặt dữ liệu.
D

(B)

(c) = 01h

(c) = 02h

1

A

Đ
Đ
Đ
S

S

S


.
LUÂÄN VĂN TỐT NGHIỆP

48




































Hình 19: Lưu đồ chương trình xử lý dữ liệu (trang 2).
tưởng: Nhập 2 đòa chỉ đầu và cuối vào 2 cặp thanh ghi HL và DE. Cặp thanh
ghi HL còn được coi là con trỏ đòa chỉ trỏ đến ô sẽ chứa dữ liệu. Chương trình
sẽ so sánh đòa chỉ mà con trỏ trỏ đến với đòa chỉ kết thúc. Nế chưa bằng thì lưu
dữ liệu. nếu bằng thì thoát chương trình.
Giải thích lưu đồ:
 Chương trình con bắt đầu ở start.
 Bốn bước so sánh đầu tiên để nhập đòa chỉ đầu, cuối vào 2 cặp thanh ghi.
 Nếu nội dung thanh ghi C lớn hơn 3 thì 2 cặp thanh ghi đã nhận đầy đủ các
đòa chỉ đầu cuối. Nên chương trình sẽ cất nội dung vủa nhận được vào ô
nhớ có đòa chỉ ghi trong cặp thanh ghi HL.
Return

Lấy dữ liệu vừa nhận được
làm byte thấp của đòa chỉ bắt
đầu vùng nhớ đặt dữ liệu.
E

(B)

(c) = 03h


A

1

Đ

S

Tăng biến đếm lên một
đơn vò.
Cất byte dữ liệu vừa nhận
được vào ô nhớ có đòa chỉ nằm
trong con trỏ đòa chỉ (HL)
M

(B)

Tăng gi
á trò con trỏ đòa chỉ lên
một đơn vò
HL

(HL) + 1

Đã trỏ đến đòa

chỉ cuối
(HL)=(DE)


Reutrn

End
.

S

Đ

Busy = 0

End.

.
LUÂÄN VĂN TỐT NGHIỆP

49

 Quay lại nhận dữ liệu kế tiếp.
 Nếu con trỏ đã trỏ đến đòa chỉ cuối, thì chương trình đã được nhận đầy đủ,
lúc này sẽ xuất ra từ “End,” để báo hoàn tất chương trình.
 Chấm dứt chương trình.
.
LUÂÄN VĂN TỐT NGHIỆP

50







Chương VII:

CHƯƠNG KẾT LUẬN





























.
LUÂÄN VĂN TỐT NGHIỆP

51


KẾT LUẬN

Qua 7 tuần ngắn ngủi, người thực hiện đề tài đã hoàn tất công trình.
Mục đích của đề tài là hoàn thành một chương trình, như một công cụ
học tập, có khả năng đọc một file dữ liệu đã được lưu trên máy tính và sau đó,
lọc những nội dung cần thiết cho bài thực tập vi xử lý, rồi truyền tải nội dung
đó vào bộ nhớ RAM ở kit thực tập 8085.
Đề tài đã nhằm vào những nội dung chính sau:
Thứ nhất: giới thiệu về kit thực tập sử dụng. Trong phần này, các linh
kiện quan trọng của kit được đề cập đền như CPU 8085, ngoại vi 8255, IC
hiển thò 8279.
Thứ hai: giới thiệu về kết nối Kit và máy tính: cổng kết nối, các thanh
ghi. Bên cạnh đó là những yêu cầu để vận dụng phương pháp truyền dữ liệu
trong đề tài.
Sau cùng là nội dung chủ yếu của đề tài: những dẫn luận để xây dựng
lưu đ62 chương trình truyền và nhận dữ liệu, phương pháp và thực hiện viết
chương trình.
Tóm lại, thành quả của công trình là chương trình truyền dữ liệu có
những ưu điểm về mặt yêu cầu cấu hình máy tính sử dụng, cách sử dụng đơn
giản, và quan trọng nhất là có khả năng phát triển về sau. Có thể để làm tài
liệu tham khảo cho sinh viên điện tử - tin học và những ai quan tâm đến dạng

đề tài này.
Tuy nhiên, đề tài còn có một số hạn chế: cần phải có máy tính để có thể
sử dụng chương trình; phải nhập chương trình vào máy tính trước tiên ở dạng
ngôn ngữ Assembly.
Về phía người thực hiện đề tài, trong thời gian ngắn ngủi với sự nổ lực
của bản thân và với bao tâm huyết đã đổ ra của người giáo viên trong sự giúp
đỡ tận tình, đã hoàn thành công trình nghiên cứu với kết quả khả quan. Đây
thật sự là một vinh dự, một niềm tự vui lớn cho sinh viên đối với môi trường sư
phạm, đối với thầy cô và cả đối với bản thân.













.
LUÂÄN VĂN TỐT NGHIỆP

52










PHẦN PHỤ ĐÍNH



























.
LUÂÄN VĂN TỐT NGHIỆP

53


A.Chương trình nhận dữ liệu ở Kit thực tập vi xử lý 8085.
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;Chuong trinh nhan du lieu tu may tinh goi xuong Thiet bi thuc tap
;vi xu li 8085.
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Org 2500h
MVI A,99h ;khoi tao 8255, Mode 0: PortA nhap du lieu, PortB
xuat
OUT RegCNT ;trang thai, PortC nhan lenh dieu khien.
MVI A,80h ;bao cho may tinh biet thiet bi dang ban.
OUT PortB
MVI C,00h ;reset bien dem dia chi.
CALL READY ;xuat chu "READY" ra hien thi tren 5 LED 7 doan.
WaitGO: CALL KEYBRD ;doi nhan phim.
CPI KeyGO ;chuong trinh chi thuc hien tiep khi nhan dung
JNZ WaitGO ;phim "GO".
CALL SENDING ;nhan dung phim "GO" se xuat hien "SENDING"
tren 8 LED.
MVI A,00h ;bao cho may tinh biet thiet bi da san sang tiep
;nhan
OUT PortB ;du lieu.
CkSTB1:IN PortC ;doc lenh dieu khien STROBE tai PortC.

ANI 01h
CPI 01h
JNZ CkSTB1 ;neu STROBE # 1 thi doi tiep.
MVI A,80h ;bao BUSY\ = 0, ACK = 0.
OUT PortB
IN PortA ;doc du lieu vao.
MOV B,A ;tam cat du lieu vao thanh ghi B.
MVI A,0C0h ;bao ACK = 1.
OUT PortB
ChkAF1: IN PortC ;doc lenh dieu khien AF.
ANI 02h
CPI 02h
JNZ ChkAF1 ;neu AF # 1 thi doi tiep.
MOV A,B ;hoan tra B lai cho A.
ANI 0F0h ;che nibble thap va reset bit ERROR = 0.
OUT PortB ;xuat nibble cao va bao ERROR = 0.
ChkAF0: IN PortC ;doc lenh dieu khien AF.
ANI 02h
CPI 00h
JNZ ChkAF0 ;neu AF # 0 thi doi tiep.
MOV A,B ;hoan tra B lai cho A.
RLC ;dich 4 bit thap thanh 4 bit cao tuong ung.
RLC
RLC
RLC
ANI 0F0h ;che nua byte thap thap.
ORI 08h ;set bit ERROR = 1.
OUT PortB ;xuat nibble thap va bao ERROR = 1.
ChkSTB0:IN PortC ;doc lenh dieu khien STROBE.
ANI 01h

CPI 00h
JNZ ChkSTB0 ;neu STROBE # 0 thi doi tiep.
IN PortA ;doc du lieu.
CPI 0FFh ;FFh la ma bao du lieu dung.
JZ NoChk
CALL PROCESS
NoChk: MVI A,40h ;bao BUSY\ = 1.
OUT PortB
JMP ChkSTB1 ;chuan bi nhan byte ke tiep.
.
LUAÂÄN VAÊN TOÁT NGHIEÄP

54

;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;Chuong trinh con hien thi "READY" tren nam LED 7 doan.
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
READY: PUSH PSW
MVI A,10h ;khoi tao 8279: hien thi 8 ki tu,loi vao phai,
STA CntI79 ;quet ban phim co lap ma, khoa ngoai 2 phim.
MVI A,3Eh ;lap trinh xung Clock = 100 KHz.
STA CntI79
MVI A,0C3h ;xoa hien thi va xoa FIFO.
STA CntI79
MVI A,01h ;tri hoan 0.1 ms > 160 us.
CALL DELAY
MVI A,90h ;bat dau ghi vao tai LED dau tien ben phai, co
STA CntI79 ;tang dia chi tu dong.
MVI A,31h ;cho hien thi "R".
STA DataI79

MVI A,79h ;cho hien thi "E".
STA DataI79
MVI A,77h ;cho hien thi "A".
STA DataI79
MVI A,5Eh ;cho hien thi "D".
STA DataI79
MVI A,6Eh ;cho hien thi "Y".
STA DataI79
POP PSW
RET
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;Chuong trinh con hien thi "SENDING" tren bay LED 7 doan.
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
SENDING:POP PSW
MVI A,10h ;khoi tao 8279: hien thi 8 ki tu,loi vao phai,
STA CntI79 ;quet ban phim co lap ma, khoa ngoai 2 phim.
MVI A,3Eh ;lap trinh xung Clock = 100 KHz.
STA CntI79
MVI A,0C3h ;xoa hien thi va xoa FIFO.
STA CntI79
MVI A,01h ;tri hoan 0.1 ms > 160 us.
CALL DELAY
MVI A,90h ;bat dau ghi vao tai LED dau tien ben phai, co
STA CntI79 ;tang dia chi tu dong.
MVI A,6Dh ;cho hien thi "S".
STA DataI79
MVI A,79h ;cho hien thi "E".
STA DataI79
MVI A,37h ;cho hien thi "N".
STA DataI79

MVI A,5Eh ;cho hien thi "D".
STA DataI79
MVI A,06h ;cho hien thi "I".
STA DataI79
MVI A,37h ;cho hien thi "N".
STA DataI79
MVI A,6Fh ;cho hien thi "G".
STA DataI79
POP PSW
RET
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;Chuong trinh con xu li du lieu: Chuong trinh nay se nhan dia chi bat
;dau va dia chi cham dut cua vung du lieu, cac ma may cua chuong trinh
;tren may tinh do xuong se duoc dat trong pham vi vung nay.
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
PROCESS:MOV A,C
;kiem tra xem co phai day la byte thu nhat
;khong ?
.
LUAÂÄN VAÊN TOÁT NGHIEÄP

55

CPI 00h
JNZ A1
MOV H,B ;neu dung thi cat byte thu nhat vao thanh ghi H.
INR C ;tang bien dem byte dia chi len 1 don vi.
RET
A1: MOV A,C ;kiem tra xem co phai day la byte thu hai khong ?
CPI 01h

JNZ A2
MOV L,B ;neu dung thi cat byte thu hai vao thanh ghi L.
INR C ;tang bien dem byte dia chi len 1 don vi.
RET
A2: MOV A,C ;kiem tra xem co phai day la byte thu ba khong ?
CPI 02h
JNZ A3
MOV D,B ;neu dung thi cat byte thu ba vao thanh ghi D.
INR C ;tang bien dem byte dia chi len 1 don vi.
RET
A3: MOV A,C ;kiem tra xem day co phai la byte thu tu khong ?
CPI 03h
JNZ A4
MOV E,B ;neu dung thi cat byte thu tu vao thanh ghi E.
INR C ;tang bien dem byte dia chi len 1 don vi.
RET
A4: MOV M,B ;ke tu byte thu nam tro di se duoc cat vao o nho co
INX H ;dia chi do cap thanh ghi HL quan li.
MOV A,D
CPI H
RNZ
MOV A,E
CMP L
RNZ ;thoat neu HL tro den dia chi cham dut nam trong DE.
CALL END ;cho hien thi "END." tren ba LED 7 doan.
MVI A,40h ;bao BUSY\ = 1.
OUT PortB
HLT
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;Chuong trinh con hien thi "END." tren ba LED 7 doan.

;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
END: PUSH PSW
MVI A,10h ;khoi tao 8279: hien thi 8 ki tu,loi vao phai,
STA CntI79 ;quet ban phim co lap ma, khoa ngoai 2 phim.
MVI A,3Eh ;lap trinh xung Clock = 100 KHz.
STA CntI79
MVI A,0C3h ;xoa hien thi va xoa FIFO.
STA CntI79
MVI A,01h ;tri hoan 0.1 ms > 160 us.
CALL DELAY
MVI A,90h ;bat dau ghi vao tai LED dau tien ben phai, co
STA CntI79 ;tang dia chi tu dong.
MVI A,79h ;cho hien thi "E".
STA DataI79
MVI A,54h ;cho hien thi "N".
STA DataI79
MVI A,0DEh ;cho hien thi "D.".
STA DataI79
POP PSW
RET
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;Hai chuong trinh con sau day da co san trong thiet bi thuc tap Vi xu
;li 8085
;nen nguoi thuc hien de tai nay thay khong can thiet phai viet lai va
;trinh bay
;ra. Do la 2 chuong trinh:
.
LUAÂÄN VAÊN TOÁT NGHIEÄP

56


;KeyKRB : Chuong trinh con quet ban phim. Ma cua phim an duoc cat
;trong thanh
; ghi A.
;DELAY : Chuong trinh con tri hoan theo thoi hang 0.1 ms. He so tri
;hoan duoc
; nap vao thanh ghi A.
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++
;#####################################################################
;Khai bao cac nhan duoc su dung.
;#####################################################################
RegCNT equ 03h
PortA equ 00h
PortB equ 01h
PortC equ 02h
CntI79 equ 0A001h
DataI79 equ 0A000h
KEYBRD equ 0216h
DELAY equ 0310h
KeyGO equ 17h
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
End
.

×