Giao tiếp máy tính với Kit vi xử lý 8086 - Pdf 32

ĐẠ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
Giáo viên hướng dẫn : Thầy NGUYỄN ĐÌNH PHÚ
Sinh viên thực hiện : PHẠM XUÂN HƯNG
Lớp : 95 KĐĐ
TP.HỒ CHÍ MINH
2 – 2000
ĐẠ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
PHẦN 1: GIỚI THIỆU CHUNG
CHƯƠNG DẨN NHẬP
CHƯƠNG CƠ SỞ LÝ LUẬN
CHƯƠNG I: CẤU TRÚC VI XỬ LÝ 8086
CHƯƠNG II: KHẢO SÁT TỔNG QUÁT TẬP LỆNH 8086
CHƯƠNG III: GIAO TIẾP VỚI MÁY TÍNH
PHẦN 2 : PHẦN CỨNG VÀ PHẦN MỀM CỦA Û MẠCH GIAO TIẾP
CHƯƠNG IV: GIỚI THIỆU KIT VXL 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

5. Giáo viên hướng dẫn : NGUYỄN ĐÌNH PHÚ
6. Ngày giao nhiệm vụ :
7. Ngày hoàn thành nhiệm vụ: 25/2/2000
Giáo viên hướng dẫn: Thông qua Bộ môn
Ngày tháng năm 1999
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪ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
MỤC LỤC
Phần 1: Phần giới thiệu
Chương dẫn nhập
Chương cơ sở lý luận
I. Xây dựng đề cương luận văn
II. Kế hoạch nghiên cứu
Chương I: Cấu trúc bên trong của VXL 8086
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

Đặc biệt trong các ngành công nghiệp hiện đại, máy tính điện tử không
những góp phần vào việc nâng cao năng suất lao động mà còn góp phần vào
việc bảo vệ sức khoẻ và an toàn lao động cho con người.
Đễ hoàn thành những công việc kể trên chúng ta cần phải kết nối các
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
Phaàn 1
GIÔÙI THIEÄU CHUNG
CHƯƠNG DẪN NHẬP
oOo
Cùng với sự phát triển của khoa học kỹ thuật thì ngành công nghiệp máy
tính cũng được phát triển rất mạnh mẽ và ngày càng được ứng dụng rộng rãi
trong mọi công việc như các công việc trong công nghiệp cũng như trong
thông tin liên lạc.
Để thực hiện được những công việc nhận dữ liệu từ các thiết bò khác để
xử lý hoặc gửi dữ liệu đi để điều khiển các thiết bò khác thì công việc giao

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 –
John Uffenbeck: tài liệu cung cấp những kỹ thuật kết nối vi xử lý
và những phần mềm ứng dụng.
- Kỹ thuật vi xử lý – Văn Thế Minh: tài liệu cung cấp kỹ thuật giao
tiếp với các thiết bò ngoại vi.
II. KẾ HOẠCH NGHIÊN CỨU:
1). Dàn ý nghiên cứu:
Phần I: Giới thiệu chung.
Phần II: Phần cứng và phần mềm cuả mạch giao tiếp.
Phần III : Tổng kết và đánh giá
2). Đối tượng nghiên cứu:
Vi xử lý là trung tâm điều khiển các đối tượng, điều khiển hệ thống
như máy tự động, dây chuyền sản xuất… Để hệ thống xử lý thi hành các
chức năng điều khiển như mong muốn, chúng ta phải lập trình bằng ngôn
ngữ tương ứng và trao đổi dữ liệu giữa các hệ vi xử lý. Vì thế đối tượng
nghiên cứu chính là thiết kế mạch giao tiếp để truyền dữ liệu đi xa.
CHƯƠNG I

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
Các cờ
AHALBHBL
CHCLDHDL
BPDISISP
CSESSSDSIP
Điều khiển bus và
tạo đòa chỉ
654321
Bus đòa chỉ Bus dữ liệu
Các thanh
ghi đoạn
Arithmetic logic
unit (ALU)
Bus dữ liệu nội
Các bus hệ
thống
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ớ.

IPFlagCon 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.
Trong các thao tác nhân hoặc chia một trong các số hạn tham gia phải
chứa trong AH hoặc AL, các thao tác vào ra cũng sử dụng thanh ghi AH
hoặc AL.
• Thanh ghi cơ sở BX (Base):
Thanh ghi BX được dùng cho tính toán đòa chỉ trong phương pháp đònh
đòa chỉ gián tiếp.
• Thanh ghi đếm CX (Count):
Việc thực hiện các chương trình lập được thực hiện dễ dàng nhờ thanh
ghi CX, trong đó CX đóng vai trò là bộ đếm vòng lập. Một thí dụ khác của
việc sử dụng thanh ghi CX đó là lệnh REP (Repeat) lệnh này điều khiển
một lớp các lệnh chuyên về các thao tác chuỗi. CL cũng được sử dụng là
một biến đếm trong các lệnh dòch hay quay các bit.

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.
D: direction flag.
O: overflow flag.
+ Cờ nhớ CF :
Cờ nhớ CF được thiết lập khi có số nhớ từ bit MSB. Trong phép cộng
hoặc số thiếu trong phép trừ (MSB trong các lệnh byte là bit 7 và trong các
lệnh word là bit 15) cờ CF cũng bò ảnh hưởng bởi các lệnh quay và dòch.
+ Cờ chẵn lẻ PF :
Sau các lệnh số học hoặc logic đối với các lệnh byte nếu số lượng số
‘1’ trong byte kết quả là chẵn thì cờ PF được thiết lập là ‘1’ ngược lại là ‘0’
nếu là lẻ, đối với các lệnh word chỉ xét các byte thấp.
+ Cờ nhớ phụ AF:
Cờ nhớ phụ được thiết lập nếu có nhớ (cộng) hoặc có thiếu (trừ) từ

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ớ.
a). Các thanh ghi đoạn:
Được dùng để lưu trử đòa chỉ của các lệnh và dữ liệu trong bộ nhớ, vi
xử lý dựa trên các giá trò này để truy cập bộ nhớ.
Bộ nhớ là tập hợp các byte ô nhớ, mỗi byte có một đòa chỉ xác đònh bắt
đầu từ 0. 8086 gán cho mỗi ô nhớ một đòa chỉ vật lý 20 bit. Như vậy, nó có
thể đònh đòa chỉ đến byte (tương đương 1MB) ô nhớ, các byte đầu tiên của
bộ nhớ có đòa chỉ như sau:
0000 0000 0000 0000 0000
0000 0000 0000 0000 0001
0000 0000 0000 0000 0010
0000 0000 0000 0000 0011
0000 0000 0000 0000 0100
Để đơn giản, các đòa chỉ trên thường được biểu diển bằng số thập lục

đầ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,
chỉ có các ô nhớ được đònh đòa chỉ bởi 4 thanh ghi đoạn mới có thể truy cập,
nghóa là chỉ có 4 đoạn bộ nhớ là tác động. Tuy nhiên nội dung của các thanh
ghi đoạn có thể thay đổi bởi chương trình để truy cập đến các đoạn khác
nhau.
d). Hàng đợi lệnh:
Như ta đã biết, để tăng tốc độ vi xử lý khối BIU tiếp nhận các lệnh
và đưa vào hàng đợi lệnh (Queue) trong khi đó khối EU đang thi hành lệnh.
Hàng đợi lệnh có thể nhận 6 byte mã lệnh, các lệnh của 8086 có độ dài từ 1
đến 6 byte, nếu lệnh chưa vào đầy đủ trong hàng đợi lệnh thì khối EU sẽ
chờ cho đến khi lệnh nạp hết vào hàng đợi lệnh.
II. CẤU TRÚC BÊN NGOÀI VÀ CHỨC NĂNG CỦA VXL 8086.
1). Sơ đồ chân của 8086:
8086 là vi xử lý 16 bit nó gồm 16 đường dữ liệu và 20 đường đòa chỉ,

19
20
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
GND
AD
14
AD
13
AD
12
AD

A
16
/S
3
A
17
/S
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
)

chu kỳ chấp nhận ngắt và vi mạch xử lý ngắt phải gởi đòa chỉ của ngắt lên
bus dữ liệu tương ứng với chu kỳ thứ hai.
• NMI (Non Maskable Interrupt):
Đây là ngắt không che được, tác động ở mức cao vi xử lý nhảy đến đòa
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

3
& S
4
cho biết thanh ghi đoạn đang được sử dụng,
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