Giải đề cương vi xử lý

23 1.3K 14
Giải đề cương vi xử lý

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI KHOA ĐIỆN – ĐIỆN TỬ ĐỀ CƯƠNG ÔN TẬP KỸ THUẬT VI XỬ LÝ HÀ NỘI Tháng năm 2016 Mục Lục A Lý thuyết Câu 1: Câu 2: Câu 3: Câu 4: Câu Câu 6: Câu Câu Câu B Bài tập phối ghép VXL 8088 với 8255A Câu1 Câu 2: 10 Câu 3: Một số tập khác tương tự tập 11 C Bài tập thiết kế phần cứng viết chương trình Phần MCS - 51 11 Câu 1: 11 Câu 2: 14 Câu 16 Câu 5: 19 Câu 6: 21 Page | ĐỀ CƯƠNG ÔN TẬP MÔN KỸ THUẬT VI XỬ LÝ A Lý thuyết Câu 1: Khái niệm hệ vi xử lý? trình phát triển, sơ đồ cấu trúc tổng quát Hệ Vi xử lý Cho ví dụ minh họa cách sử dụng vi xử lý sản phẩm thực tế Trả lời: - Một hệ vi xử lý mạch tích hợp chứa hàng ngàn,,thậm chí hàng triệu transistor (LSI,VLSI) kết nối với - -Các transistor làm việc để lưu trữ xử lý liệu cho phép hệ vi xử lý thực nhiều chức hữu ích - Chức cụ thể hệ vi xử lý xác định phần mềm lập trình - Hệ vi xử lý Intel, 4004,được giới thiệu vào năm 1971 - 4004 chứa 2300 transistor - Hệ vi xử lý pentium chứa 55 triệu transistor - Sơ đồ cấu trúc Address Addressing Unit (AU) Bus Interface Unit (BU) Data Prefect Queue Execution Unit (EU) ALU Register Instruction Control Unit (CU) Unit (IU) U - Hệ vi xử lý thường sử dụng máy vi tính (microcomputer) với vai trò CPU Ngoài ra, chúng có mặt nhiều thiết bị khác Câu 2: Cấu trúc bên VXL 8088? Giải thích chế Pipe-lining Thế địa logic, địa vật lý? Cho ví dụ minh họa Trả lời: - Cấu trúc bên VXL 8088 Page | - Cơ chế Pipelining VXL 8088 chế xử lý xen kẽ dòng lệnh Trong chế CPU chia thành khối phân chia công việc rõ rang, BIU đọc mã lệnh, EU giải mã lệnh thực lệnh Khi EU thực lệnh trước BIU tìm lấy lệnh sau vào CPU từ nhớ lưu trữ PQ Hai khối BIU EU có khả làm việc độc lập với hầu hết trường hợp có trùng lặp thời gian thực lệnh trước lấy lệnh sau coi thời gian lấy lệnh xấp xỉ EU việc thực lệnh lấy sẵn BIU Điều làm tăng tốc độ máy tính lên đáng kể Đối với VXL hệ sau chế ngày phát triển cách tăng số lượng bước thực chí thay đổi cấu trúc nhằm mục đích nâng cao tốc độ VXL - Bộ VXL thực lệnh theo bước sau: + Lấy lệnh từ nhớ + Đọc toán hạng (nếu lệnh yêu cầu) + Thực lệnh + Ghi kết Page | F1 D1 E1 F2 F1 D2 E2 F3 Không sử dụng pipelining D1 E1 F2 D2 E2 F3 D3 Có SD pipelining E- opcode Fetch: đọc lệnh D – Decoder: Giải mã lệnh E – Excution: Thực lệnh D3 E3 E3 Câu 3: Các chế độ địa Vi xử lý Intel 8086? Cho ví dụ minh hoạ Phân tích cấu trúc cách mã hóa lệnh cho vi xử lý Intel 8086 Hãy chế độ địa dùng lệnh sau mã hoá chúng dạng mã máy: Mov AX,[021Bh][BX] Mov [0110h],CL Mov [SI+0C12h], DL Mov AL, [0AC2h] Trả lời: - Các chế độ địa VXL Intel 8086 Họ VXL 8086 có chế độ địa + Chế độ địa ghi (register addressing mode) VD: MOV DS, BX: chuyển nội dung BX vào DS ADD DL, AL: cộng nội dung AL vào DL,cất vào DL + Chế độ địa tức (Immidiate addressing mode) VD: MOV [BX], 7: chuyển vào ô nhớ địa DS: BX MOV CL, 10: chuyển giá trị 10 vào CL + Chế độ địa trực tiếp (Direct addressing mode) VD: MOV BL, [1465H]: chuyển nội dung ô nhớ 1465H vào BL MOV [3460H], CX: chuyển nội dung CX vào ô nhớ liên tiếp DS: 3460H DS: 3461H + Chế độ địa gián tiếp qua ghi (register indirect addressing mode) VD: MOV AL, [BX]: chuyển nội dung ô nhớ có địa DS:BX vào AL Page | MOV [SI], BL: chuyển nội dung BL vào ô nhớ có địa DS : SI MOV [DI], CX: chuyển nội dung CX vào ô nhớ lien tiếp có địa chỉ: DS:DI DS:(DI+1) + Chế độ địa tương đối sở (base relative addressing mode) VD: MOV AX, [BX]+10 : chuyển nội dung ô nhớ lien tiếp có địa chỉ: DS:(BX+10) DS:(BX +11)vào AX MOV AX, 10[BX]: cho kết tương tự lệnh MOV AX, [BX+10] : cho kết tương tự lệnh ADD AL,Table[BX] : cộng AL với nội dung ô nhớ BX bảng : Table (Table nằm DS), kết đưa vào AL + Chế độ địa tương đối số (Indexed relative addressing mode) VD: MOV DX,[SI] +10 : chuyển nội dung ô nhớ liên tiếp có địa DS:[SI +10] DS:[SI+11] DX MOV CL, [DI]+7: chuyển nội dung ô nhớ DS :( DL +7) vào CL + Chế độ địa tương đối số sở (Base indexed relative addressing mode) VD: MOV CX, [DX][SI]+10 ;chuyển nội dung ô nhớ liên tiếp có địa chỉ: DS:(DX+SI+10) DS:(DX+SI+11)và CX MOV CX, [DX+SI+10] : cho kết tương tự lệnh MOV CL, [BP+DI+7] : chuyển nội dung ô nhớ SS :(BP+DI+7) vào CL Cấu trúc cách mã hóa lệnh cho VXL Intel 8086 + Bên VXL lệnh mã hóa sau : Ta xét lệnh MOV Dest.Souree ; D = đích, S= nguồn Dung để chuyển đổi liệu ghi ô nhớ ghi Câu 4: Trình bày cấu trúc khung chương trình ASSEMBLY PC cho vi xử lý x86 ? Cho ví dụ minh hoạ So sánh chương trình *.com *.exe Trả lời: Cấu trúc khung chương trình ASSEMBLY Khai báo sử dụng quy mô nhớ Cú pháp: MODEL Kiểu_kích_thước_bộ_nhớ Khai báo đoạn ngăn xếp Page | Cú pháp STACK Kích_thước (tính theo byte) Khai báo đoạn liệu Cú pháp DATA CR EQU 0Dh LF EQU 0Ah MSG DB “Hello” MASK EQU 11000101B Khai báo đoạn mã (chứa lệnh chương trình) Cú pháp: CODE Bên đoạn mã lệnh tổ chức thủ tục, cấu trúc: CODE MAIN PROC ;các lệnh chương trình MAIN ENDP ;các thủ tục khác, ctr con,… END MAIN + So sánh chương trình *.com *.exe Chương trình hợp ngữ dịch file*.ÊXE có đầy đủ đoạn Chương trình hợp ngữ viết dịch file *.COM chương trình ngắn gọn đơn giản nhiều so với chương trình hợp ngữ dịch file *.EXE, đoạn mã, đoạn liệu đoạn ngăn xếp gộp lại đoạn đoạn mã Câu Sơ đồ khối vi mạch nhớ, nhóm chân tín hiệu? Có phương pháp giải mã địa cho nhớ nào? Lấy ví dụ minh hoạ Page | Trả lời IC nhớ A0 Giải Mảng nhớ A1 Mã (ma trận nhớ- Địa Memory matric) An-2 An-1 Chỉ ̅̅̅̅ 𝑂𝐸 Điều Khiển ̅̅̅̅̅ 𝑊𝐸 Đệm liệu ̅𝐶𝑆 ̅̅̅ d0 d1 dm-1 - Các nhóm chân tín hiệu + Các dây địa giải mã địa (A0 – An-1) + Các dây liệu đếm liệu (d0 – dm-1) ̅̅̅̅, ̅̅̅̅ ̅̅̅̅̅ ) + Các đường điều khiển (𝐶𝑆 𝑂𝐸 , 𝑊𝐸 - Phương pháp giả mã địa cho nhớ + Phương pháp giải mã cho ROM SRAM + Phương pháp giải mã cho vi mạch cho DRAM cấu trúc IC DRAM VD: Bộ nhớ ROM 63256 dung lượng 32k*8bit giải mã địa theo phương pháp Giải mã cho ROM SRAM Câu 6: Trình bày phối ghép VXL với cổng đơn giản? Các lệnh vào bản? Cho ví dụ minh họa Trả lời: - Phối ghép VXL với cổng đơn giản + phối ghép VXL với BUS Page | 8086 8088 sử dụng phương pháp dồn kênh tín hiệu Do để tách tín hiệu địa chỉ, người ta dùng mạch chốt ngoài, thường ghi chốt (74LS373) Để nâng cao khả tải BUS, cách ly vi xử lý với BUS ta sử dụng đẹm BUS có đầu trạng thái Các VXL 8086 8088 sử dụng mạch dao động dùng IC dao động 8284 Cả 8086 8088 đề hoạt động chế độ MIN hay MAX +chế độ MIN MAX trang( 61+62) x86 Câu Tổ chức nhớ cho hệ 8088 chế độ MAX với yêu cầu sau:: - Bộ nhớ RAM có dung lượng 8Kx8 bit có địa đầu 00000h, sử dụng IC nhớ SRAM 2K×8 bit - Bộ nhớ ROM có dung lượng 64K×8 bit có địa kết thúc FFFFFh, sử dụng IC nhớ EEPROM 16K×8 bit Giải: Xem giáo trình trang 68, 69, 70 Câu Tổ chức nhớ cho hệ 8088 chế độ MIN với: - Bộ nhớ RAM có dung lượng 16Kx8 bit từ IC nhớ SRAM 4K×8 bit, cho nhớ RAM nằm vùng thấp không gian địa - Bộ nhớ ROM có dung lượng 8K×8 bit có địa nằm vùng cao Không gian địa chỉ, sử dụng IC nhớ EEPROM 2Kx8 bit Giải: xem trang 71, 72, 73 Câu Thế ngắt vi xử lý? Phân loại ngắt VXL Intel 8086 Cách thi hành lệnh INT nào? Cho ví dụ minh họa minh hoạ Giải: xem từ trang 141 ^ ^ Dài ngại chép Hề ! B Bài tập phối ghép VXL 8088 với 8255A Câu1 Vẽ cấu hình lập trình định nghĩa chế độ (mode 0) cho 8255A ghép nối với vi xử lý Intel 8088, làm nhiệm vụ đọc liệu có PB đưa PA, sau đọc liệu từ PCU đưa PCL Cho địa sở (PA) 60H Giải: I/O mode => D7 = Page | Mode => D6=D5=D2=0 Vào PB => D1 = Ra PA => D4 = Vào PCU => D3 = Ra PCL => D0 = CW: D7 D6 D5 D4 D3 D2 D1 D0 0 | 1 A * Baseadd = 60H A7 A6 A5 A4 A3 A2 A1 A0 Add 1 0 0 60H 1 0 0 61H 1 0 62H 1 0 1 63H Port PA PB PC CR Cấu hình:  Chương trình MOV AL, 8AH OUT 63H, AL; CW -> CR OUT 60H, AL; PA OUT IN AL, 61H; PB IN IN AL, 62H; PC IN Page | AND AL, 0FH MOV CL, ROL AL, CL OUT 63H, AL Câu 2: Vẽ sơ đồ sử dụng 8255A để vào liệu với vi xử lý Intel 8088 cho CS = 010011 Viết đoạn mã chương trình để set PC4 lên mức cao (High) Viết đoạn mã chương trình để phát 16 xung với T = 100ms, độ rộng 50% bit PC5 8255A Giả thiết có sẵn chương trình trễ 25ms DELAY Giải: Ta có: CS = 010011 => Base Add = 4CH A7 A6 A5 A4 A3 A2 A1 A0 Port Add 0 1 0 PA 4CH 0 1 PB 4DH 0 1 PC 4EH 0 1 1 CR 4FH  CW : D7 D6 D5 D4 D3 D2 D1 D0 0 0| 0 Cấu hình:  Chương trình: MOV AL, 09H Page | 10 OUT 4FH, AL OUT 4CH, AL OUT 4DH, AL OUT 4EH, AL AND AL, 0FH MOV CL, ROL AL, CL OUT 4FH, AL  PC5ON EQU 0BH; từ điều khiển để PC5 = (on): 00001011B PC5OFF EQU 0AH; từ điều khiển để PC5 = (off):00001010B Chương trình: Mov CX, 10H CLI LAP: Mov AL, PC5ON Out PC, AL Call DELAY Mov AL, PC5OFF Out PC, AL Call DELAY LOOP Lap STI Câu 3: Một số tập khác tương tự tập C Bài tập thiết kế phần cứng viết chương trình Phần MCS - 51 Câu 1: Thiết lập sơ đồ phần cứng viết chương trình điều khiển động chiều loại nhỏ, điều khiển trực tiếp thông qua phím bấm nối chân vi xử lý AT89C51 sau: - Bấm phím P3.7: Động quay thuận - Bấm phím P3.6: Động quay nghịch - Bấm phím P3.5: Động dừng Kết nối led đơn Xanh, Vàng, đỏ hiển thị chế độ hoạt động tương ứng Giải: Page | 11 a Sơ đồ phần cứng Hình1 Page | 12 Hình b Chương trình điều khiển org 0000h start: jb p3.7,start1 chay_thuan: mov p0,#00000011b acall delay mov p1,#11111011b acall delay start1: jb p3.6,start2 chay_nghich: Page | 13 mov p0,#00001100b acall delay mov p1,#11111101b acall delay start2: jb p3.5,start dung: mov p0,#00000101b acall delay mov p1,#11111110b acall delay sjmp start delay: mov r0,#0ffh loop: mov r1,#0ffh djnz r1,$ djnz r0,loop ret end Câu 2: Thiết lập sơ đồ phần cứng viết chương trình điều khiển động chiều loại nhỏ, điều khiển trực tiếp thông qua phím bấm nối chân vi xử lý AT89C51 sau: - Bấm phím P3.5: Động quay thuận - Bấm phím P3.6: Động quay nghịch - Bấm phím P3.7: Động dừng Page | 14 Kết nối led đơn Xanh, Vàng, đỏ hiển thị chế độ hoạt động tương ứng Giải: a Sơ đồ phần cứng b Chương trình #include org 0000h start: jb p3.5,start1 chay_thuan: mov p0,#00000011b acall delay mov p1,#11111011b acall delay start1: jb p3.6,start2 chay_nghich: mov p0,#00001100b acall delay mov p1,#11111101b acall delay start2: jb p3.7,start dung: mov p0,#00000101b acall delay mov p1,#11111110b acall delay sjmp start delay: mov r0,#0ffh loop: mov r1,#0ffh djnz r1,$ djnz r0,loop ret Page | 15 end Câu Thiết kế sơ đồ phần cứng ghép nối vi xử lý AT89C51 với LED Viết chương trình hiển thị số 1234 LED Giải: a Sơ đồ phần cứng b chương trình #include org 0000h mov dptr,#led7thanh main: mov a,#1 movc a,@a+dptr mov p0,a acall delay1ms mov a,#2 movc a,@a+dptr mov p2,a acall delay1ms Page | 16 mov a,#3 movc a,@a+dptr mov p3,a acall delay1ms mov a,#4 movc a,@a+dptr mov p1,a acall delay1ms led7thanh: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H delay1ms: mov r1,#100 loop: nop nop nop nop nop nop nop nop djnz r1,loop ret end Câu 4: Thiết lập sơ đồ phần cứng viết chương trình sử dụng vi xử lý AT89C51 tạo đồng hồ đếm thời gian, đếm lùi từ 99 00, hiển thị LED thanh, 1s/1 nhịp Giải: a Sơ đồ phần cứng Page | 17 b Chương trình #include org 0000h mov dptr,#led7thanh start: mov r4,#10 hangchuc: dec r4 mov a,r4 movc a,@a+dptr mov p0,a acall hangdonvi mov a,r4 cjne a,#0,hangchuc sjmp start hangdonvi: mov r5,#10 hangdonvi1: dec r5 mov a,r5 movc a,@a+dptr mov p2,a acall delay1s Page | 18 mov a,r5 cjne a,#0,hangdonvi1 ret led7thanh: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H delay1s: mov r1,#10 loop1: mov r2,#100 loop2: mov r3,#100 loop3: nop nop nop nop nop nop nop nop djnz r3,loop3 djnz r2,loop2 djnz r1,loop1 ret end Câu 5: Thiết lập sơ đồ phần cứng viết chương trình sử dụng vi xử lý AT89C51 tạo đồng hồ đếm thời gian, đếm tiến từ 00 đến 99, hiển thị LED thanh, 1s/1 nhịp Giải: a Sơ đồ phần cứng giống câu b Chương trình #include org 0000h mov dptr,#led7thanh start: Page | 19 mov r4,#0 hangchuc: inc r4 mov a,r4 dec a movc a,@a+dptr mov p0,a acall hangdonvi mov a,r4 cjne a,#10,hangchuc sjmp start hangdonvi: mov r5,#0 hangdonvi1: inc r5 mov a,r5 dec a movc a,@a+dptr mov p2,a acall delay1s mov a,r5 cjne a,#10,hangdonvi1 ret led7thanh: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H ; delay1s: mov r1,#10 loop1: mov r2,#100 loop2: mov r3,#100 loop3: nop Page | 20 nop nop nop nop nop nop nop djnz r3,loop3 djnz r2,loop2 djnz r1,loop1 ret end Câu 6: Thiết lập sơ đồ phần cứng ghép nối LED đơn với cổng P1 vi xử lý AT89C51 phím bấm nối chân P3.2 Viết chương trình quét trạng thái phím bấm, bấm phím sang LED, không bấm tắt LED Giải: a Sơ đồ phần cứng b Chương trình Page | 21 #include org 000h ljmp main org 03h ljmp ngat org 40h main: mov sp,#5fh setb ex0 setb ea main_loop: mov p1,#0ffh acall delay sjmp main_loop ngat: mov p1,#0 acall delay reti delay: mov r1,#250 dl1: mov r2,#1 djnz r2,$ djnz r1,dl1 ret end Page | 22 [...]... cứng và vi t chương trình sử dụng vi xử lý AT89C51 tạo một đồng hồ đếm thời gian, đếm lùi từ 99 về 00, hiển thị trên 2 LED 7 thanh, 1s/1 nhịp Giải: a Sơ đồ phần cứng Page | 17 b Chương trình #include org 0000h mov dptr,#led7thanh start: mov r4,#10 hangchuc: dec r4 mov a,r4 movc a,@a+dptr mov p0,a acall hangdonvi mov a,r4 cjne a,#0,hangchuc sjmp start hangdonvi: mov r5,#10 hangdonvi1: dec... phần cứng và vi t chương trình Phần MCS - 51 Câu 1: Thiết lập sơ đồ phần cứng và vi t chương trình điều khiển động cơ một chiều loại nhỏ, điều khiển trực tiếp thông qua các phím bấm nối chân vi xử lý AT89C51 như sau: - Bấm phím P3.7: Động cơ quay thuận - Bấm phím P3.6: Động cơ quay nghịch - Bấm phím P3.5: Động cơ dừng Kết nối 3 led đơn Xanh, Vàng, đỏ hiển thị chế độ hoạt động tương ứng Giải: Page |... CL, 4 ROL AL, CL OUT 63H, AL Câu 2: Vẽ sơ đồ sử dụng 8255A để vào ra dữ liệu với vi xử lý Intel 8088 khi cho CS = 010011 Vi t đoạn mã chương trình để set PC4 lên mức cao (High) Vi t đoạn mã chương trình để phát ra 16 xung với T = 100ms, độ rộng 50% ra bit PC5 của 8255A Giả thiết đã có sẵn chương trình trễ 25ms là DELAY Giải: Ta có: CS = 010011 => Base Add = 4CH A7 A6 A5 A4 A3 A2 A1 A0 Port Add 0 1 0... a,#0,hangdonvi1 ret led7thanh: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H delay1s: mov r1,#10 loop1: mov r2,#100 loop2: mov r3,#100 loop3: nop nop nop nop nop nop nop nop djnz r3,loop3 djnz r2,loop2 djnz r1,loop1 ret end Câu 5: Thiết lập sơ đồ phần cứng và vi t chương trình sử dụng vi xử lý AT89C51 tạo một đồng hồ đếm thời gian, đếm tiến từ 00 đến 99, hiển thị trên 2 LED 7 thanh, 1s/1 nhịp Giải: a... ret end Câu 2: Thiết lập sơ đồ phần cứng và vi t chương trình điều khiển động cơ một chiều loại nhỏ, điều khiển trực tiếp thông qua các phím bấm nối chân vi xử lý AT89C51 như sau: - Bấm phím P3.5: Động cơ quay thuận - Bấm phím P3.6: Động cơ quay nghịch - Bấm phím P3.7: Động cơ dừng Page | 14 Kết nối 3 led đơn Xanh, Vàng, đỏ hiển thị chế độ hoạt động tương ứng Giải: a Sơ đồ phần cứng như bài 1 b Chương... p1,#11111110b acall delay sjmp start delay: mov r0,#0ffh loop: mov r1,#0ffh djnz r1,$ djnz r0,loop ret Page | 15 end Câu 3 Thiết kế sơ đồ phần cứng và ghép nối vi xử lý AT89C51 với 4 LED 7 thanh Vi t chương trình hiển thị số 1234 trên 4 LED 7 thanh đó Giải: a Sơ đồ phần cứng b chương trình #include org 0000h mov dptr,#led7thanh main: mov a,#1 movc a,@a+dptr mov p0,a acall delay1ms mov a,#2 movc... nop nop djnz r3,loop3 djnz r2,loop2 djnz r1,loop1 ret end Câu 6: Thiết lập sơ đồ phần cứng ghép nối 8 LED đơn với cổng P1 của vi xử lý AT89C51 và 1 phím bấm nối chân P3.2 Vi t chương trình quét trạng thái của phím bấm, khi bấm phím thì sang 8 LED, khi không bấm thì tắt 8 LED trên Giải: a Sơ đồ phần cứng b Chương trình Page | 21 #include org 000h ljmp main org 03h ljmp ngat org 40h main: mov... 0000h mov dptr,#led7thanh start: Page | 19 mov r4,#0 hangchuc: inc r4 mov a,r4 dec a movc a,@a+dptr mov p0,a acall hangdonvi mov a,r4 cjne a,#10,hangchuc sjmp start hangdonvi: mov r5,#0 hangdonvi1: inc r5 mov a,r5 dec a movc a,@a+dptr mov p2,a acall delay1s mov a,r5 cjne a,#10,hangdonvi1 ret led7thanh: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H ; 0 1 2 3 4 5 6 7 8 9 delay1s: mov r1,#10 loop1: mov

Ngày đăng: 12/07/2016, 15:07

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan