Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 27 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
27
Dung lượng
723 KB
Nội dung
BỘ CÔNG THƯƠNG TRƯỜNG ĐH CÔNG NGHIỆP HÀ NỘI
BỘ CÔNG THƯƠNG
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA : ĐIỆN TỬ
o0o
BÀI TẬP LỚN
MÔN: VIXỬLÝVÀCẤUTRÚCMÁY TÍNH
• Giáo viên hướng dẫn:
Hằng
• Nhóm sv thực hiện:
Đới Sỹ Phúc
Phạm Đức Tự
Nguyễn Thị Thắm
CĐ ĐIỆN TỬ 2 – K12 VIXỬLÝVÀCẤUTRÚCMÁYTÍNH 1
BỘ CÔNG THƯƠNG TRƯỜNG ĐH CÔNG NGHIỆP HÀ NỘI
LỜI NÓI ĐẦU
Trước đây, từ khi con người đã tìm ra được công nghệ lập trình vixử lý, tiểu
biểu là hang Intel đã chế tạo thành công chip vixửlý mang tên 8086 vào năm 1987, đã
mở đầu cho họ vixửlý x86, nó có thể quản lý đươc 1MB bộ nhớ, với tốc đô xửlý lên
tới 2,5 triệu lệnh trên một giây. Để rồi cho tới bây giờ, hang loạt các thế hệ vixửlý ra
đời vơi công nghệ cao hơn, tốc độ xửlý cao hơn, xửlý đồng thới được nhiều lệnh hơn
và đặc biệt có thể xửlý dữ liệu lên tới 64 bit.
Với sự phát triển đó, hang loạt các sản phẩm ứng dụng ra đời, với những các
công việc mà chúng làm được rất đa dạng, từ các ứng dụng trong nên công nghiệp hiện
đại, cho tới các ứng dụng trong nền nông nghiệp và tới cả đời sống của mỗi con người.
nó đã giúp con người giải quyết được rất nhiều khó khăn mà con người không thể làm
được.
Để hiểu rõ hơn về vai trò của kĩ thuật vixử lý, nhóm chúng em xin trình bày một
vài ví dụ đơn giản mà học Vixửlý 8086 có thể làm được. trong quá trình trình bày có gì
sai sót mong các thầy cô bỏ qua và đóng góp những ý kiến để chúng em rút kinh
nghiệm và làm tốt các bài báo cáo sau này.
.Chúng em xin chân thành cảm ơn!
Nhóm sv thực hiện:
• Đới Sỹ Phúc MSV: 1231050164
• Phạm Đức Tự MSV: 1231050110
• Nguyễn Thị Thắm MSV:
1231050178
CĐ ĐIỆN TỬ 2 – K12 VIXỬLÝVÀCẤUTRÚCMÁYTÍNH 2
BỘ CÔNG THƯƠNG TRƯỜNG ĐH CÔNG NGHIỆP HÀ NỘI
Nhận xét và đóng góp ý kiến của giáo viên:
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
Chúng em xin chân thành cảm ơn!
CĐ ĐIỆN TỬ 2 – K12 VIXỬLÝVÀCẤUTRÚCMÁYTÍNH 3
BỘ CÔNG THƯƠNG TRƯỜNG ĐH CÔNG NGHIỆP HÀ NỘI
PHỤ LỤC:
BỘ CÔNG THƯƠNG 1
LỜI NÓI ĐẦU 2
PHỤ LỤC: 4
A. NỘI DUNG 5
B. CƠ SỞ LÝ THUYẾT 6
I. CẤU TẠO VÀTẬP LỆNH CỦA 8086 6
1.Sơ đồ khối của 8086 6
a.Khối thực hiện lệnh (EU) 6
b.Khối giao tiếp bus (BIU) 8
2.Sơ đồ chân của 8086 8
3.Các hàm ngắt vàtập lệnh của 8086 9
a.Các hàm ngắt 21h của 8086 9
b.Tập lệnh của 8086 10
II. CẤU TẠO VÀ CHỨC NĂNG IC 8255A 13
1.Sơ đồ chân và chức năng của mỗi chân 13
2.chế độ hoạt động 15
III.CẤU TẠO IC GIẢI MÃ 74273 16
IV.CẤU TẠO CỦA IC GIẢI MÃ 74LS138 17
C. PHẦN VÍ DỤ 19
1.Ví dụ 1 19
Sơ đồ thuật toán 19
Code chương trình 20
2.Ví dụ 2 22
3. Ví dụ 3 23
a.Ghép nối 8086 với 8255 và các thiết bị ngoại vi 23
b.Chức năng các chân 24
c.Sơ đồ thuật toán 25
d.Code chương trình 25
D. KẾT LUẬN 27
CĐ ĐIỆN TỬ 2 – K12 VIXỬLÝVÀCẤUTRÚCMÁYTÍNH 4
BỘ CÔNG THƯƠNG TRƯỜNG ĐH CÔNG NGHIỆP HÀ NỘI
A. NỘI DUNG
1. Viết chương trình thực hiện phép toán cộng dưới đây và hiển thị kết quả dưới
dạng số nhị phân và dạng hexa.
BX=0+ 1 +5+….+255
2. Xây dựng mạch giải mã địa chỉ cho bộ nhớ gồm các vi mạch nhớ được bố trí như
sau:
ROM(16K x 8 bit) E0000H (Địa chỉ đầu của ROM)
Khoảng trống 32 Kb
ROM(32K x 8 bit)
Khoảng trống 32 Kb
RAM(16K x 8 bit)
3. Thiết kế mạch ghép nối giữa bộ vixửlý 8086 và 8255 với các địa chỉ của cổng
PA, PB, PC, thanh ghi điều khiển lần lượt là 6,4,2,0. Ghép 1 đèn LED-GREEN
và 1 đèn LED-RED với cổng PB, một nút bấm (Button) với cổng PA. Viết
chương trình điều khiển để bấm Button thì LED-RED sáng thời gian 1s, không
bấm thì LED-GREEN sáng nhấp nháy.
CĐ ĐIỆN TỬ 2 – K12 VIXỬLÝVÀCẤUTRÚCMÁYTÍNH 5
BỘ CÔNG THƯƠNG TRƯỜNG ĐH CÔNG NGHIỆP HÀ NỘI
B. CƠ SỞ LÝ THUYẾT
I. CẤU TẠO VÀTẬP LỆNH CỦA 8086
1. Sơ đồ khối của 8086
- Bên trong bộ vixửlý 8086 bao gồm 2 khối chính:
+ Khối thực hiện lệnh (EU- Execution Unit) là nơi giả mã và thi hành các lệnh
+ giao tiếp bus (BIU- Bus Interface Unit) có nhiệm vụ đẩm bảo việc trao đổi
thong tin giữa 8086 với các linh kiện bên ngoài
- Sau đây chúng ta sẽ tìm hiều cấu tạo bên trong của từng khối.
a. Khối thực hiện lệnh (EU)
Khối thực hiện lệnh (EU- Execution Unit) là nơi giả mã và thi hành các
lệnh. EU bao gồm:
- Bộ xửlý số học và logic(ALU - Arithmatic Logiccal Unit) là nơi thưc hiện các lệnh
số học và lệnh logic.
- Các thanh ghi đa năng: Có chứa 4 thanh ghi đa năng 16 bit, mỗi thanh ghi có
thể chứa bất kì các loại dữ liệu, tuy nhiên một số công việc, các thanh ghi này
lại có chức năng đặc biệt của riêng nó mà các thanh ghi khác không thực hiện
được.
+ Thanh ghi AX: đây là thanh ghi chứa, kết quả của các thao tác thường được
chứa ở đây. Nếu kết quả là 8 bit thì thanh ghi AL sẽ được sử dụng
+ Thanh ghi BX: đây là thanh ghi cơ sở, thương được chứa địa chỉ cơ sở của
một bảng khi sử dụng lệnh XLAT.
CĐ ĐIỆN TỬ 2 – K12 VIXỬLÝVÀCẤUTRÚCMÁYTÍNH 6
BỘ CÔNG THƯƠNG TRƯỜNG ĐH CÔNG NGHIỆP HÀ NỘI
+ Thanh ghi CX: đây là thanh ghi đếm, nó thường được chứa số lần lặp lại
trong trường hợp dùng lênh LÔP, còn CL thì thường được chứa số lần
quay hay dịch bít của các thanh ghi.
+ Thanh ghi DX: đây là thanh ghi dữ liệu, nó thường được sử dụng cùng với
thanh ghi AX để thực hiện các phép nhân hay chia của các số 16 bit. DX
còn được sử dụng để chứa địa chỉ các cổng trong các lệnh vào/ra dữ liệu
trực tiếp.
- Thanh ghi cờ F là một đoạn ghi đặc biệt gọi là đoạn ghi cờ hay đoạn ghi trạng thái.
Mỗi bit của đoạn ghi này được dùng để phản ánh một trạng thái nhất định của kết
quả phép toán do ALU thực hiện hoặc một trạng thái hoạt động của CPU. Đoạn ghi
cờ có 16 bit nhưng chỉ dùng hết 9 bit làm bit cờ.
Các bit cờ chia thành hai loại:
* Các cờ trạng thái: có 6 cờ trạng thái là C, P, A, Z, S và O. Các cờ trạng thái
này được thiết lập bằng 1 hoặc xóa bằng 0 sau hầu hết các lệnh toán học và logic.
+ C (Carry): cờ nhớ;
+ P (Parity): cờ chẵn lẻ;
+ A (Auxiliary): cờ nhớ phụ;
+ Z (Zero): cờ rỗng,
+ S (Sign): cờ dấu;
+ O (Overflow): cờ tràn,
* Các cờ điều khiển: có 3 cờ T, I, D. Các cờ này được thiết lập bằng 1 hoặc xóa
bằng 0 thông qua các lệnh để điều khiển chế độ làm việc của bộ vixử lý.
+ T (Trap): cờ bẫy,
+ I (Interrupt): cờ ngắt;
+ D (Direction): cờ hướng
- Có 3 đoạn ghi con trỏ (IP, BP, SP) và 2 đoạn ghi chỉ số (SI, DI). Các đoạn ghi này
ngầm định được sử dụng làm các đoạn ghi lệch cho các đoạn tương ứng:
+ IP (Instruction Pointer), BP (Base Pointer ), SP (Stack Ponter), SI (Source
Index): DI (Destinaton Index).
CĐ ĐIỆN TỬ 2 – K12 VIXỬLÝVÀCẤUTRÚCMÁYTÍNH 7
BỘ CÔNG THƯƠNG TRƯỜNG ĐH CÔNG NGHIỆP HÀ NỘI
Bảng tóm tắt sự kết hợp ngầm định giữa đoạn ghi đoạn và đoạn ghi lệch:
Đoạn ghi đoạn Đoạn ghi lệch Địa chỉ
CS IP Địa chỉ lệnh sắp thực hiện
DS BX, DI, SI Địa chỉ trong đoạn dữ liệu
SS SP hoặc BP Địa chỉ trong đoạn ngăn xếp
ES DI Địa chỉ chuỗi đích
- Khối điều khiển (CU- Control unit). Có nhiệm vụ tạo ra các tín hiệu điều khiển các
bộ phận bên trong và bên ngoài CPU.
b. Khối giao tiếp bus (BIU)
Khối giao tiếp bus (BIU- Bus Interface Unit) có nhiệm vụ đẩm bảo việc trao đổi
thông tin giữa 8086 với các linh kiện bên ngoài. BIU gồm :
- Một bộ cộng để tạo địa chỉ vật lý 20 bit từ các thanh ghi 16 bit.
- Bốn thanh ghi đoạn 16 bit gồm CS, DS, SS và ES để giúp 8086 truy cập tới các
đoạn trên bộ nhớ.
+ Thanh ghi đoạn mã CS (Code Segment),.
+ Thanh ghi đoạn dữ liệu DS (Data Segment).
+ Thanh ghi đoạn dữ liệu phụ ES (Extra Segment).
+ Thanh ghi đoạn ngăn xếp SS (Stack Segment). .
- Mạch logic điều khiển có nhiệm vụ đảm bảo giao tiếp giữa 8086 với thiết bị bên
ngoài.
- Hàng đợi lệnh có độ dài 6 byte là nơi chứa các mã lệnh đọc được nằm sẵn để chờ
EU xử lý.
2. Sơ đồ chân của 8086
CĐ ĐIỆN TỬ 2 – K12 VIXỬLÝVÀCẤUTRÚCMÁYTÍNH 8
BỘ CÔNG THƯƠNG TRƯỜNG ĐH CÔNG NGHIỆP HÀ NỘI
Vi xửlý 8086 được thiết kế để hoạt động một trong hai chế độ, tùy
thuộc vào mức điện áp đặt ở chân số 33 (chân MN/MX):
- Chế độ tối thiểu (chế độ MIN, ảnh bên trái) đươc thiết lập nếu điện
áp ở chân số 33 ở mức 5V. là chế độ tong hệ thống chỉ có 8086 và các
vi mạch nhớ , các vi mạch ghép nối vào ra.
- Chế độ tối đa (chế độ MAX, ảnh bên phải) được thiết lập nếu
điện áp ở chân số 33 ở mức 0V, là chế độ áp dụng cho hệ thống đa
xử lý, đồng xửlý (8086 và bộ đồng xửlý toán học 8087).
Vi xửlý 8086 có 20 đường địa chỉ từ A0 đến A19 tong đó 16
đường dây địa chỉ thấp từ A0 đến A15 được ghép kênh dữ liệu từ
D0 đến D15 trên các chân
từ AD0 đến AD15 ; còn 4 đường dây địa chỉ cao nhất từ A16 đến
A19 được
ghép kênh với tín hiệu trạng thái từ S3 đến S6 trên các chân A16/S3
đến A19/S6.
3. Các hàm ngắt vàtập lệnh của 8086
a. Các hàm ngắt 21h của 8086
- Hàm 1: là hàm chờ đọc vào 1 ký tự từ thiết bị vào ra chuẩn(bàn
phím). Kết quả được lưu vào trong AL.
cú pháp : MOV AH,1
INT 21H
CĐ ĐIỆN TỬ 2 – K12 VIXỬLÝVÀCẤUTRÚCMÁYTÍNH 9
BỘ CÔNG THƯƠNG TRƯỜNG ĐH CÔNG NGHIỆP HÀ NỘI
- Hàm 2 : là hàm hiển thị nội dung thanh ghi DL lên màn hình
hoặc thi hành các chức năng điều khiển.
Cú pháp : MOV AH,2
MOV DL,’A’
Int 21H
- Hàm 4CH : là hàm kết thúc chương trình hiện tại và trả điều
khiển về cho chương trình gọi nó.
Cú pháp : MOV AH,4CH
INT 21H
- Hàm 9 : Là hàm hiển thị ra màn hình một chuỗi kí tự
Cú pháp : MOV AX,@DATA
MOV DS,AX ;khoi tao thanh ghi
doan du lieu DS
MOV AH,9
LEA DX,’chuoi ki tu’
INT 21H
b. Tập lệnh của 8086
- Lệnh INT : dùng để gọi các hàm của DOS và BIOS ;
Cú pháp : int 21h
- Lệnh MOV: chuyển dữ liệu từ toán hạng nguồn vào toán hạng đích
MOV dich, nguon
- Lệnh OUT: xuất dữ liệu từ đoạn chứa ra cổng
OUT cong,đoạn_chua
- Lệnh IN: đọc dữ liệu từ cổng vào đoạn ghi.
IN đoạnghi, cong
- Lệnh XCHG: toán hạng đích và nguồn được đổi lẫn cho nhau
XHCG đich, nguồn
- Lệnh XLAT: XLAT nhan_nguồn
- Lệnh ADD, SUB: ADD dich,nguon - cong nguon vao dich
- Lệnh ADC: cờ nhớ được cộng vào toán hạng đích và nguồn
ADC dich,nguon
- Lệnh DIV: thực hiện phép chia không dấu, toán hạng nguồn có
thể là một ô nhớ hay đoạn ghi. Nếu toán hạng nguồn là 8 bit thì
thương số nằm trong AL, số dư nằm trong AH; nếu toán hạng
CĐ ĐIỆN TỬ 2 – K12 VIXỬLÝVÀCẤUTRÚCMÁYTÍNH 10
[...]... K12 VIXỬLÝVÀCẤUTRÚCMÁYTÍNH 26 BỘ CÔNG THƯƠNG TRƯỜNG ĐH CÔNG NGHIỆP HÀ NỘI D KẾT LUẬN Tóm lại, bộ vi xửlý 8086 ra đời đã tạo ra một bước ngoặt quan trọng trong nền khoa học kĩ thuật của nhân loại, cho đến bâu giờ, hầu hết các sản phẩm và ứng dụng đều sử dụng bộ vi xửlý để điều khiển, đặc biệt với sự cải tiến vượt bậc của các họ vi xửlý đời mới đã mang lại những thành tựu quý giá đã đóng góp vào... nhau CĐ ĐIỆN TỬ 2 – K12 VIXỬLÝVÀCẤUTRÚCMÁYTÍNH 15 BỘ CÔNG THƯƠNG TRƯỜNG ĐH CÔNG NGHIỆP HÀ NỘI + Cổng A, B, C có thể vào hoặc ra tùy vào đoạn ghi điều khiển - Chế độ 1: chế độ này được gọi là chế độ vào/ra đột cửa hay ddooid thoại với các bit của cổng C Các cổng A, B, C được chia thành 2 nhóm: + Nhóm A gồm cổng A để trao đổi dữ liệu và cổng C cao để đồi thoại với Vi XửLý và thiếu bị ngoài + Nhóm... 8086 Tùy theo đề bài yêu cầu mà các đầu ra này được sử dụng với mục đích khác nhau, các chân này được nối với mạch giải mã địa chỉ đưa vào chân CS của 8255 và dành ra 2 bit để mã hóa cho các cổng của 8255, 2 chân này được nối vào chân A1, A0 của 8255 IV CẤU TẠO CỦA IC GIẢI MÃ 74LS138 sơ đồ cấu tạo bên trong và chức năng các chân của IC 74LS138 CĐ ĐIỆN TỬ 2 – K12 VIXỬLÝVÀCẤUTRÚCMÁYTÍNH 17 BỘ CÔNG... để giải mã cho từng vi mạch nhớ chúng ta sẽ chọn 3 bít A14, A15 và A16 đê đưa vào IC giải mã 74HC138 để chọn vi mạch hoạt động riêng các bít A19, A18, A17 được dùng để chọn bộ nhớ ngoài làm vi c - Các bít A16, A15, A14 tương ứng với giá trị: CĐ ĐIỆN TỬ 2 – K12 VIXỬLÝVÀCẤUTRÚCMÁYTÍNH 22 BỘ CÔNG THƯƠNG - - TRƯỜNG ĐH CÔNG NGHIỆP HÀ NỘI + 000: sẽ chọn ROM1 để chứa dữ liệu + 001 và 010: sẽ bỏ qua do... khỏi ngăn xếp và đưa vào toán hạng đích POP dich; - Lệnh POPF: chuyển nội dung của 2 byte từ đinh ngăn xếp vào đoạn ghi cờ, sau đó tăng con trỏ ngăn xếp lên 2 CĐ ĐIỆN TỬ 2 – K12 VIXỬLÝVÀCẤUTRÚCMÁYTÍNH 12 BỘ CÔNG THƯƠNG TRƯỜNG ĐH CÔNG NGHIỆP HÀ NỘI POPF; Chú ý: quá trình cất dữ liệu và lấy ra từ ngăn xếp thực hiện theo nguyên tắc: Vào sau ra trước – nghĩa là thanh ghi nào đươc cất vào ngăn xếp... ghép với bit thấp nhất PB0 • Mạch giải mã địa chỉ cho 8255A: để chọn các bít để đưa vào mạch giải mã địa chỉ cho 8255 , và dựa vào yêu cầu đề bài với địa chỉ công PA, PB, PC và thanh ghi điều khiển lần lượt là 6h, 4h, 2h, 0h Chúng ta sẽ tìm hiểu giải địa chỉ được mã hóa như sau: CĐ ĐIỆN TỬ 2 – K12 VIXỬLÝVÀCẤUTRÚCMÁYTÍNH 24 BỘ CÔNG THƯƠNG Cổng A15 A14 A13 A12 TRƯỜNG ĐH CÔNG NGHIỆP HÀ NỘI A11 A10... khi đưa vào chân clk của IC 74LS273, ta phải cho qua cổng NOT để đảo tín hiệu • Chân M/IO: báo cho mạch điện bên ngoài biết bộ nhớ hoặc thiết bị vào ra được nối với bus Múc 0 báo cho các mạch ngoài biết thiết bị vào ra đang được sử dụng vì vậy, chân này được nối với mạch giải mã địa chỉ • Chân RD và WR: điều khiển vi c đọc dữ liệu từ thiết bị ngoại vi vào VIXửLÝ hay la lấy dữ liệu từ bộ vixửlý ra... nghệ Được sự dẫn dắt và dạy bảo nhiệt tình của cô Hằng đã đưa chúng em tiến xa hơn trong tư duy và nhận thức, giúp chúng em khai thác được tốt hơn nền kiến thức của nhân loại để lại chúng em xin chân thành cảm ơn cô Hăng nói riêng cũng như các thầy cô trong khoa và nhà trường đã tạo cho chúng em một môi trường rèn luyện và học tập thật tốt CĐ ĐIỆN TỬ 2 – K12 VIXỬLÝVÀCẤUTRÚCMÁYTÍNH 27 ... Lệnh HLT (HaLT): đưa bộ vi xửlý vào trạng thai dừng để chờ ngắt ngoài Dạng lệnh: HLT - Lệnh LOCK: khóa bus trong môi trường có nhiều bộ vixửlý - Lệnh NOP: không thực hiện một thao tác nào - Lệnh STI: IF được thiết lập 1 - Lệnh WAIT: Bộ vixửlý ở trạng thái chờ cho đến khi ngắt ngoài - Lệnh PUSH: cất dữ liệu vào ngăn xếp, giảm SP đi 2 PUSH nguon; - Lệnh PUSHF: chuyển đoạn ghi cờ vào ngăn xếp PUSHF;... Volt + Chân 10 nối với Mass + Chân 1 là chân Clear (MR) + Chân 11 là chân xung đồng hồ (CP) CĐ ĐIỆN TỬ 2 – K12 VIXỬLÝVÀCẤUTRÚCMÁYTÍNH 16 BỘ CÔNG THƯƠNG TRƯỜNG ĐH CÔNG NGHIỆP HÀ NỘI + Các chân 3, 4, 7, 8, 13, 14, 17, 18 là chân tín hiệu vào nối với các dây tín hiệu đa hợp của ViXửLý + Các chân 2, 5, 6, 9, 12, 15, 16, 19 là các chân tín hiệu địa chỉ được tách ra Do nó được tích hợp bởi 8 con . ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA : ĐIỆN TỬ
o0o
BÀI TẬP LỚN
MÔN: VI XỬ LÝ VÀ CẤU TRÚC MÁY TÍNH
• Giáo vi n hướng dẫn:
Hằng
• Nhóm sv thực hiện:
Đới Sỹ. để chờ
EU xử lý.
2. Sơ đồ chân của 8086
CĐ ĐIỆN TỬ 2 – K12 VI XỬ LÝ VÀ CẤU TRÚC MÁY TÍNH 8
BỘ CÔNG THƯƠNG TRƯỜNG ĐH CÔNG NGHIỆP HÀ NỘI
Vi xử lý 8086 được