Tài liệu Luận văn "Giao tiếp máy tính với KIT VXL 8086" - Pdf 95

ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
ĐẠI HỌC SƯ PHẠM KỸ THUẬT
KHOA ĐIỆN – ĐIỆN TỬ LUẬN VĂN TỐT NGHIỆP
Đề tài
:
GIAO TIẾP MÁY TÍNH VỚI KIT
VI XỬ LÝ 8086

CHƯƠNG V: GIAO TIẾP NỐI TIẾP DÙNG VI MẠCH 8251A
CHƯƠNG VI: CHƯƠNG TRÌNH GIAO TIẾP ( CHƯƠNG TRÌNH
TRUYỀN, NHẬN DỮ LIỆU)
HƯỚNG PHÁT TRIỂN ĐỀ TÀI
KẾT LUẬN ĐÁNH GIÁ
PHỤ LỤC
TÀI LIỆU THAM KHẢO Giáo viên hướng dẫn:
NGUYỄN ĐÌNH PHÚ
Sinh viên thực hiện:
PHẠM XUÂN HƯNG
BỘ GIÁO DỤC& ĐÀO TẠO CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH ĐỘC LẬP – TỰ DO – HẠNH PHÚC
ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HỒ CHÍ MINH _____________
KHOA ĐIỆN
BỘ MÔN ĐIỆN – ĐIỆN TỬ
NHIỆM VỤ LUẬN VĂN TỐT NGHIỆP
[z\

Họ và tên sinh viên : PHẠM XUÂN HƯNG
Lớp : 95KĐĐ
Ngành : Kỹ thuật Điện – Điện tử
1. Tên đề tài: GIAO TIẾP MÁY TÍNH VỚI KIT VI XỬ LÝ 8086
2. Các số liệu ban đầu:
………………………………………………………………………………………………………………………………………………

……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………

……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………












I. Cấu tạo bên trong
1. khối thực hiện
2. khối phối phối ghép bus
3. sơ đồ khối bên trong
II. Cấu trúc bên trong và chức năng của VXL 8086
1. sơ đồ chân của VXL 8086
2. chức năng các chân
III. Các phương pháp đònh đòa chỉ của 8086
Chương II: Khảo sát tổng quát tập lệnh của VXL 8086
I. cách mã hóa lệnh
II. khảo sát tổng quát tập lệnh
Chương III: Giao tiếp với máy tính
I. Giao tiếp song song
1. Giao tiếp qua cổng máy in
2. Giao tiếp qua Slot card
II. Giao tiếp nối tiếp qua cổng COM
1. Vài nét cơ bản về cổng nối tiếp
2. Sự trao đổi của các đường dẫn tín hiệu
Phần 2
: Phần cứng của mạch giao tiếp
Chương IV: Giới thiệu kit VXL 8086
I. Các linh kiện bán dẫn liên quan
1. vi mạch MAX 232
2. IC đệm 74LS244
3. Mạch tạo xung nhòp 8284
4. Tổng quát về bộ nhớ
II. Giới thiệu kit VXL 8086.
Chương V: Giao tiếp nối tiếp dùng 8251A.
I. truyền thông tin nối tiếp
II. Vi mạch USART 8251A

máy vi tính với nhau, hoặc kết nối chúng với các thiết bò ngoại vi nhận dữ
liệu để xử lý hay gửi dữ liệu đi cho các thiết bò khác xử lý. Để thực hiện
được công việc này thì điều đầu tiên chúng ta phải làm đó là chúng ta phải
kết nối phần cứng cho phù hợp và viết các chương trình truyền dữ liệu.

Trước yêu cầu đó sinh viên thực hiện đề tài quyết đònh thực hiện đề tài
“Giao tiếp máy tính với kit VXL 8086” nhằm mục đích tìm hiểu, học hỏi
thêm và ứng dụng các kiến thức đã học ra thực tế.

Sinh viên thực hiện xin chân thành cảm ơn thầy Nguyễn Đình Phú cùng
các thầy cô trong khoa đã tận tình hướng dẫn em hoàn thành tốt đề tài này.

Vì thời gian và kiến thức có hạn nên tập luận văn này chắc chắn không
tránh khỏi sai sót, rất mong những ý kiến đóng góp của qúy thầy cô và các
bạn.

TP.Hồ Chí Minh, ngày 25 tháng 2 năm 2000
Sinh viên thực hiện
Phạm Xuân Hưng
1). Xác đònh nhiệm vụ nghiên cứu:

Việc chọn đề tài xuất phát từ hai lý do:
- Khách quan: hiện nay các nền công nghiệp có nhu cầu hiện đại hóa
các thiết bò theo xu hướng cải tiến hóa các thiết bò bằng cơ khí sang
thiết bò điều khiển tự động ứng dụng kỹ thuật điện tử.
- Chủ quan: do nhu cầu học tập, nghiên cứu, rèn luyện kỹ năng thực
hành, ứng dụng vốn kiến thức khoa học kỹ thuật tiên tiến trực tiếp
vào lónh vực sản xuất.
Nhiệm vụ nghiên cứu nhằm đạt được các mục đích chủ yếu:
+ Mục đích trước mắt: thỏa mãn về cơ bản các yêu cầu đề ra theo
phương châm “Học đi đôi với hành“.
+ Mục đích sau cùng: Tích lũy kinh nghiệm, rèn luyện và nâng cao
năng lực, tạo bản lónh để sẵn sàng tham gia lao động sản xuất, hòa nhập vào
bước tiến của thế hệ.
2). Phân tích tài liệu liên hệ
:
Trong thời gian nghiên cứu đề tài, sinh viên thực hiện đã thống nhất
tham khảo một số tài liệu có liên quan trong khoảng thời gian cho phép.
- Phương pháp luận nghiên cứu khoa học: tìm hiểu về cấu trúc hình
thức của một đề tài nghiên cứu khoa học và phương pháp tư duy để
giải quyết vấn đề.
- Kỹ thuật Vi xử lý - Trần Văn Trọng: Tài liệu cung cấp về cấu trúc
của vi xử lý 8086.
- Sơ đồ chân linh kiện bán dẫn - Dương Minh Trí: cung cấp sơ đồ
chân và bảng trạng thái họat động của các IC và các linh kiện bán
dẫn.
- Cấu trúc máy tính - Lê Anh Việt: Tài liệu cung cấp kiến thức cơ
bản về cấu trúc máy tính, tổ chức CPU, hợp ngữ và cách lập trình.
- The 8086/8088 - Family Design Programming and Interfacing –

- Khối thực hiện EU (Execution Unit)
- Khối giap tiếp bus (Bus Interface Unit)
1 .Khối thực hiện EU
Ở hình 1.1 ta thấy trong khối EU ta thấy có một khối điều khiền
(Control Unit, CU) chính tại bền trong khối điều khiển này có mạch giải mã
lệnh. Mã lệnh đọc vào từ bộ nhớ đưa đến đầu của bộ giải mã, các thông tin
thu được từ đầu ra củc nó sẽ được đưa đến mạch tạo xung điều khiển, kết
quả là thu được các dãy xung khác nhau (tùy theo mã lệnh) để điều khiển
hoạt động của các bộ phận bên trong và bên ngoài CPU. Trong khối EU còn
có khối số học và logic (Arithmetic and Logic Unit ALU) dùng để thực hiện
các thao tác khác nhau với các toán hạng cuả lệnh. Tóm lại khi CPU hoạt
động EU sẽ cung cấp thông tin về điạ chỉ cho BIU để khối này đọc lệnh và
dữ liệu, còn bản thân nó thì giải mã lệnh và thực hiện lệnh

2. Khối phối ghép bus (Bus Interface Unit BIU)
Khối BIU có nhiệm vụ đưa ra điạ chỉ, đọc mã lệnh từ bộ nhớ. Nói
cách khác BIU chiu trách nhiệm đưa điạ chỉ ra bus và trao đổi dữ liệu với
bus.
Trong BIU còn có bộ nhớ đệm lệnh với dung lượng 4 byte dùng để
đưa các mã lệnh đọc được nằm sẵn sàng chờ EU xử lý (trong tài liệu cuả
Intel bộ lệnh này còn được gọi là hàng đợi lệnh. Đây là một cấu trúc mới
được đưa vào bộ VXL 8086/8088 cho việc Intel đưa chế độ xử lý xen kẽ liên
tục dùng mã lệnh vào ứng dụng vào trong các bộ VXL thế hệ mới.
3. Sơ đồ khối bền trongvà chức năng các khối cuả VXL 8086:
Hàng
đợi
lệnh

Excution Unit
(EU)
Bus Interface Unit
(BIU)
Σ
Hình 1.1: Sơ đồ khối 8086
Bộ vi xử lý thực hiện các lệnh theo các bước sau:
- Lấy lệnh từ bộ nhớ.
- Đọc toán hạng (nếu lệnh yêu cầu).
- Thực hiện lệnh.
- Ghi kết quả. 3.1). Khối thực hiện
:
Nhiệm vụ của khối thực hiện lệnh là thực hiện các lệnh của chương
trình. Nó gồm có khối số học – logic (ALU) cho phép thực hiện các phép
tính số học (+ , - , * , /) và các phép logic (AND, OR, NOT…). Trong khối
thực hiện còn có một số ô nhớ gọi là thanh ghi dùng để chứa dữ liệu cho các
phép tính. Mỗi thanh ghi giống như một ô nhớ ngoại trừ chúng được đặt tên
thay vì dùng số để chỉ đòa chỉ. EU (Execution Unit) có các thanh ghi công
dụng chung chia thành hai nhóm: nhóm thanh ghi dữ liệu và nhóm thanh ghi
chỉ số.
♦ Các thanh ghi dữ liệu (Data Register): ♦ Các thanh ghi chỉ số và con trỏ (Index & Pointer Register):

Chỉ số nguồn (Source Index)
Chỉ số đích (Destnation Index)
CS
DS
SS
ES
Đoạn mã (Code Segment)
Đoạn dữ liệu (Data Segment)
Đoạn Stack (Stack Segment)
Đoạn thêm (Extra Segment)
IP
Flag
Con trỏ lệnh (Intruction Pointer)
Cờ
♦ Các thanh ghi dữ liệu:
Có bốn thanh ghi dữ liệu ký hiệu lần lượt là: AX, BX, CX, DX, được
người lập trình sử dụng cho các thao tác với dữ liệu. Mặc dù vi xử lý có thể
thao tác với dữ liệu trong bộ nhớ, nhưng một lệnh như vậy sẽ được thực hiện
nhanh hơn trong thanh ghi (cần ít chu kỳ đồng hồ hơn). Đó cũng là nguyên
nhân tại sao các bộ vi xử lý hiện đại có xu hướng nhiều thanh ghi.
Các byte cao và byte thấp trong thanh ghi được truy cập độc lập: Byte
cao của thanh ghi AX được gọi là AH và byte thấp được gọi là AL. Tương tự
như vậy cho các byte cao và byte thấp của các thanh ghi BX, CX, DX lần
lượt là BH & BL, CH & CL, DH & DL. Nhờ điều này mà ta có nhiều thanh
ghi hơn khi làm việc với các số liệu có kích thước byte dài. Trong đa số lệnh
các thanh ghi dữ liệu được chọn tùy ý nhưng các thanh ghi này lại có chức
năng riêng cố đònh trong một số ít lệnh.
• Thanh ghi tích lũy AX (Accumulator):
Là thanh ghi được sử dụng nhiều nhất trong các lệnh số học – logic và
truyền dữ liệu bởi vì việc sử dụng thanh ghi này tạo ra mã máy ngắn nhất.

đònh bởi thanh ghi đoạn dữ liệu DS (Data Segment), có thể truy cập dễ dàng
các ô nhớ liên tiếp bằng cách tăng SI.
• Thanh ghi chỉ số đích DI (Destination Index):
Thanh ghi DI có chức năng tương tự như thanh ghi SI và được dùng kết
hợp với thanh ghi đoạn thêm ES (Extra Segment). Cả hai DI và SI thích hợp
trong các thao tác sao chép, di chuyển hoặc so sánh các khối dữ liệu có
dung lượng đến 64kB.
• Thanh ghi con trỏ lệnh IP (Intruction Pointer):
8086 không thực hiện lệnh trực tiếp trong bộ nhớ mà lệnh được lấy ở
hàng đợi lệnh có cấu tạo giống như một thanh ghi dòch (FIFO: First In First
Out: vào trước ra trước) chứa các mã lệnh cung cấp bởi khối BIU. Thanh ghi
IP chỉ đến lệnh tiếp theo chưa được nhập vào hàng đợi lệnh và được dùng
kết hợp với thanh ghi CS. Thanh ghi IP được cập nhật mỗi khi có một lệnh
được thực hiện xong, khác với các thanh ghi khác, IP không bò tác động trực
tiếp bởi các lệnh.
• Thanh ghi cờ (Flag Register):
Thanh ghi cờ của 8086 có độ dài 16bit (2byte) byte thấp chứa các bit
trạng thái giống như trong 8085 phản ánh trạng thái của vi xử lý, byte cao
chứa 1 bit trạng thái đó là bit 11 và 3 bit điều khiển dùng để điều khiển hoạt
động của vi xử lý. Sau đây là cấu tạo của thanh ghi cờ trong 8086:
15 8 7 0
O D I T S Z A P C
Thanh ghi cờ của 8086
C: carry flag.
P: parity flag.
A: auxiliary flag.
Z: zero flag.
S: sign flag.
T: trap flag.
I: interrupt enable flag.

các ngắt bên ngoài không còn tác dụng nửa (bò che). Thực ra vẫn còn một
ngắt cứng không che được NMI (Non Maskable Interrupt).
Trước khi vi xử lý trao quyền điều khiển cho một phục ngắt nó xóa cả
IF và TF, như vậy phục ngắt đó sẽ không bò ngắt. Tất nhiên một phục vụ
ngắt có thể đổi cờ để cho phép ngắt khi nó đang thi hành.
+ Cờ tràn OF:
Cờ tràn là ‘1’ khi có hiện tượng tràn và ngược lại nó bằng ‘0’. Hiện
tượng tràn cho thấy một sự thật là phạm vi biểu diễn các số trong máy tính
là có giới hạn.
Phạm vi biểu diển các số có dấu trong một word từ –32768 đến
+32767 và trong một byte từ –126 đến +127.
Đối với các số không dấu từ 0 đến 65535 cho một word và từ 0 đến 255
cho một byte. Nếu kết quả của một phép tính vượt ra ngoài phạm vi này thì
hiện tượng tràn sẽ xảy ra và kết quả nhận được bò cắt bớt sẽ không phải là
kết quả đúng.
+ Cờ điều khiển DF:
Là một trong ba cờ điều khiển dùng điều khiển các thao tác của vi xử
lý công dụng của DF là dòch hướng cho các thao tác chuỗi, các thao tác này
được thực hiện bởi hai thanh ghi chỉ số SI & DI, nội dung của hai thanh ghi
này sẽ tự động tăng lên khi DF = 0 và giảm xuống khi DF =1.
3.2). Khối giao tiếp (BIU)
:
Khối giao tiếp làm đơn giản việc liên lạc giữa EU và bộ nhớ hoặc các
vi mạch vào ra. Nó có nhiệm vụ gởi các đòa chỉ, số liệu và tín hiệu điều
khiển vào các bus, BUI & EU liên hệ với nhau bằng các bus nội bộ, khi EU
đang thi hành một lệnh, BIU nạp 6 byte mã lệnh tiếp theo vào và đặt chúng
vào hàng đợi lệnh, mục đích của việc này là làm tăng tốc độ của vi xử lý.
Nếu EU cần liên lạc với bộ nhớ hay thiết bò ngoại vi, BIU sẽ treo các lệnh
nhận trước và thực hiện thực hiện các thao tác cần thiết. BIU cấu tạo gồm
các thanh ghi đoạn và con trỏ lệnh dùng để chứa đòa chỉ các ô nhớ.

Một ô nhớ có thể được xác đònh bằng đòa chỉ đoạn:đòa chỉ tương đối
trong đoạn (segment:offset) và được gọi là đòa chỉ logic.
Thí dụ: ô nhớ A4FB: 4872 có đòa chỉ đoạn là A4FB và đòa chỉ offset là
4872. Để tìm đòa chỉ vật lý của ô nhớ trước tiên ta dòch đòa chỉ đoạn về bên
trái 4 bit và sau đó cộng với đòa chỉ offset, như vậy đòa chỉ vật lý của ô nhớ
A4FB:4872 được tính như sau: A4FB0
4872
A9822
b). Sắp xếp đoạn:
Trong bộ nhớ đoạn 0 bắt đầu từ đòa chỉ 0000:0000 = 00000 và kết thúc
ở 0000:FFFF = 0FFFF, đoạn 1 bắt đầu từ đòa chỉ 0001:0000 = 00010 và kết
thúc ở đòa chỉ 0001:FFFF = 1000F. Như vậy, có rất nhiều sự chồng nhau
giữa các đoạn. Các đoạn bắt đầu từ các đòa chỉ cách nhau 16byte và đòa chỉ
đầu của mỗi đoạn luôn kết thúc bằng các số 0. 16byte được gọi là một khúc
(Paragraph), các đòa chỉ chia hết cho 16 ( các đòa chỉ kết thúc bằng 0) là các
biên giới khúc (Paragraph Boundary)
c). Các đoạn của chương trình:
Mỗi đoạn chương trình ngôn ngữ máy bao gồm các lệnh và dữ liệu,
còn một vùng đặc biệt trong RAM gọi là ngăn xếp (stack). Mã lệnh, dữ liệu
và ngăn xếp của chương trình được nạp vào các đoạn bộ nhớ khác nhau đó
là đoạn mã (code segment), đoạn dữ liệu (data segment), đoạn ngăn xếp
(stack segment).
Để theo dõi các đoạn khác nhau của chương trình 8086 được cung cấp
4 thanh ghi đoạn để chứa các đòa chỉ đoạn, các thanh ghi CS, DS, SS lần
lược chứa các đòa chỉ đoạn mã, đoạn dữ liệu, và đoạn ngăn xếp. Nếu chương
trình muốn truy cập đến một dữ liệu thứ hai nó có thể sử dụng thanh ghi
đoạn thêm ES (extra segment).
Một chương trình không phải bao giờ cũng cần chiếm hết một đoạn
64KB, do đặc điểm chồng nhau giữa các đoạn cho phép các đoạn của một
chương trình nhỏ hơn 64KB có thể đặt gần lại với nhau. Tại một thời điểm,


-
1
2
3
4
5
6
7
8
9
10
11
12
13


AD
13

AD
12

AD
11

AD
10

AD
9

AD
8

AD
7

AD
6

AD
5

AD
4


A
18
/S
5

A
17
/S
6

BHE/S
7

MN/MX
RD
HOLD (RQ/GT
0
)
HLDA (RQ/GT
1
)
WR (LOCK)
M/IO (S
2
)
DT/R (S
1
)
DEN (S

chỉ ngắt số 2 trong bảng vector ngắt và không tạo ra chu kỳ chấp nhận ngắt.
• Reset (input):
Ngõ vào mức cao đặt vi xử lý về trạng thái ban đầu sau ít nhất 4 chu kỳ
đồng hồ. Thanh ghi CS được đặt giá trò FFFF và thanh ghi IP được đặt giá trò
0000. Như vậy chỉ thò được thực hiện đầu tiên chứa ở ô nhớ FFFF0 quá trình
chuyển tiếp từ mức cao xuống mức thấp được đồng bộ bởi chu kỳ đồng bộ từ
vi mạch tạo xung đồng hồ 8284.
• Ready (input):
Tín hiệu báo đã hoàn tất thao tác truyền dữ liệu của bộ nhớ hoặc thiết
bò vào – ra, tác động ở mức cao, vi xử lý sẽ đợi nếu tín hiệu này ở mức thấp.
• AD
0
… AD
15
- Address/Data bus (input/output):
Giống như trong 8085, các đường đòa chỉ - dữ liệu này làm việc theo
nguyên tắc đa lộ thời gian, là đòa chỉ trong chu kỳ T
1
và là dữ liệu trong chu
kỳ T
2
, T
3
, T
w
, T
4
, tác động ở mức cao, có cấu tạo ba trạng thái và ở trạng
thái tổng trở cao trong lúc vi xử lý ‘Interrupt acknowlegde’ và ‘Hold
acknowledge’.

thông tin này cần thiết cho Co-processor xác đònh vò trí của toán hạng. Có
cấu tạo ba trạng thái và trạng thái tổng trở cao khi vi xử lý ‘Hold
acknowledge’.


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status