Chuyển sang số thập phân sau sang hệ nhị phân và hệ thập lục phân và cho biết mỗi số cần tối thiểu bao nhiêu bit nhị phân.. Hãy chuyển sang số nhị phân trong trường hợp các số thập phân
Trang 11 Yêu cầu thực hiện
- Bài tập môn học Kỹ thuật vi xử lý và ứng dụng được in thành tài liệu chính thống phát cho người học, đây là tài liệu quan trọng giúp người học trong quá trình tự học,
tự nghiên cứu Hệ thống bài tập giao cho người học còn giúp cho giảng viên kiểm soát và đánh giá được việc tự học, tự nghiên cứu của người học
- Bài tập được giao cho sinh viên ở cuối mỗi buổi học bài tập gắn liền với nội dung dạy – học trong giáo án và nội dung môn học
- Tiêu chí đánh giá: Đánh giá vào điểm chuyên cần của sinh viên (Kết hợp với quá trình điểm danh trên lớp)
2 Nội dung
Trang 2Chương 1 GIỚI THIỆU CHUNG
1.1 Chủ đề:
- Các hệ đếm: Thập phân, Nhị phân, Thập lục phân
- Các hệ thống mã hóa: Mã BCD, ASCII
- Các linh kiện điện tử số cơ bản: Cổng AND, OR, XOR, NOT, NAND, NOR
- Vi xử lý, hệ vi xử lý và sự ra đời và phát triển của bộ vi xử lý
- Cách chuyển đổi giữa các hệ đếm, cách mã hóa mã BCD, ASCII
- Cách xây dựng các mạch số từ các cổng logic cơ bản
1.2 Câu hỏi lý thuyết:
1 Định nghĩa, đặc điểm của các hệ đếm: Thập phân, Nhị phân, Thập lục phân
và các hệ thống mã hóa: Mã BCD, ASCII? Số bù 1, số bù 2?
2 Cách chuyển đổi giữa hệ đếm thập phân sang nhị phân? Nhị phân sang thập phân? Nhị phân sang thập lục phân? Thập lục phân sang nhị phân? Thập phân sang thập lục phân? Thập lục phân sang thập phân?
3 Thực hiện các phép cộng, trừ, nhân, chia giữa các số trong cùng 1 hệ đếm, lấy ví dụ? Cách thực hiện bằng tay và cách thực hiện trên máy tính?
4 Trình bày về lịch sử phát triển, đặc điểm của các bộ vi xử lý?
5 Cấu trúc của một hệ vi xử lý?
6 Bộ nhớ Cache là gì? Nó có công dụng gì?
7 Thế nào là vi xử lý 4 bit? 8 bit? 16 bit? 32 bit và 64 bit?
8 Các thuật ngữ CISC, RISC, Harvard, Von Neumann ý nghĩa là gì?
9 Có những kiểu truyền thông nào trong vi xử lý? Đặc điểm của nó?
10 Thế nào là hiện tượng tràn (overflow) của bộ đếm? Với bộ đếm 4, 8, 16, 32,
64 thì giá trị đếm tối đa là bao nhiêu?
Trang 31.3 Bài tập vận dụng
1 Chuyển sang số thập phân sau sang hệ nhị phân và hệ thập lục phân và cho biết mỗi số cần tối thiểu bao nhiêu bit nhị phân? Cho biết số bù 1 và bù 2 của chúng? Hãy chuyển sang số nhị phân trong trường hợp các số thập phân này mang dấu âm ?
4 Thực hiện các phép toán cộng, trừ, nhân, chia giữa các số đã cho trong 3 bài
1, 2, 3 với nhau ?
Trang 4Chương 2 VI XỬ LÝ INTEL 8088
2.1 Chủ đề:
- Cấu trúc bên trong và hoạt động của vi xử lý Intel 8088
- Sơ đồ chân và các tín hiệu của 8088
- Cấu trúc thanh ghi của 8088
2.2 Câu hỏi lý thuyết:
1 Các đặc tính kỹ thuật của 8086/8088? Chức năng các chân của 8086/8088?
2 Ý nghĩa của các câu lệnh MOV, ADD, SUB, SHL, SHR, DIV, INC, DEC, CMP, JNE, LOOP, INT, PUSH, POP, AND, OR, NOR, NOT, XOR? Lấy ví
5 Các thanh ghi đa năng? Chức năng của chúng?
6 Các thanh ghi con trở và chỉ số? Chức năng của chúng?
7 Thanh ghi cờ? ý nghĩa của từng bit cờ?
8 Cơ chế xử lý xen kẽ dòng mã lệnh là gì? Khi nào không được dùng?
9 Chức năng của các khối BIU và EU?
10 Các chế độ địa chỉ của 8086/8088? Lấy ví dụ?
Trang 52.3 Bài tập vận dụng
1 Xác định địa chỉ vật lý của ô nhớ khi biết địa chỉ logic CS:IP của nó như sau:
1234 : 5678 1508 : 2711 FAFB : FC0F 1357 : 2468 1221: 0408 1004 : 1988 EDCA : 3012 0550 : 5500
2 Xác định địa chỉ logic có thể có của địa chỉ vật lý: 64143H?
3 Một ô nhớ trong hệ vi xử lý 8086 có địa chỉ vật lý là FAFBDH khi CPU thực hiện nạp lệnh tại địa chỉ này thì CS = ? : IP = ? Nếu biết địa chỉ của thanh ghi đoạn là:
Trang 6Chương 3 TỔ CHỨC VÀO RA DỮ LIỆU
3.1 Chủ đề
- Hệ thống hỗ trợ BUS: Đệm BUS: Ghép nối giữa các IC 74LS244, 74LS245, 74LS373 với vi xử lý
- Biểu đồ thời gian của các lệnh đọc ghi
- Phối ghép vi xử lý với bộ nhớ: Giải mã địa chỉ bộ nhớ: Sử dụng các cổng logic cơ bản, Dùng IC 74LS138, Dùng PROM Cách ghép nối các bộ nhớ
- Thâm nhập bộ nhớ trực tiếp DMA
- Phối ghép vi xử lý với thiết bị ngoại vi
3.2 Câu hỏi lý thuyết:
1 Chức năng, bảng sự thật, nguyên tắc hoạt động, sơ đồ chân, sơ đồ kết nối của chúng với vi xử lý của các IC 74LS373, 74LS244, 74LS245, 74LS138?
2 Chức năng của các chân của vi xử lý: READY, INTR, INTA, NMI, ALE, DEN, DT/R, IO/M, RD, WR?
3 Vẽ biểu đồ thời gian của các lệnh đọc ghi? Quán trình làm việc của CPU trong các chu kì đồng hồ? Chu kì bus là gì? Cách xác định?
4 Vẽ mạch tạo từ 0 đến 7 chu kì đợi của vi xử lý?
5 Các bộ nhớ bán dẫn?
6 Cấu tạo, các tín hiệu chức năng, cách xác định dung lượng và từ nhớ của một
vi mạch nhớ?
7 Cách ghép nối các vi mạch nhớ với nhau? Lấy ví dụ?
8 Trình bày 3 phương pháp giải mã địa chỉ cho bộ nhớ: Sử dụng các cổng logic
cơ bản, Dùng IC 74LS138, Dùng PROM?
9 Trình bày về quá trình thâm nhập bộ nhớ trực tiếp DMA?
10 Các kiểu ghép nối vào ra? Đặc điểm của nó?
11 Vẽ sơ đồ ghép nối giữa 8086/8088 với bàn phím 16 số dạng tiếp điểm? Trình bày nguyên lý hoạt động của hệ thống?
12 Vẽ mạch hiển thị số sử dụng vi mạch 7447 và LED bảy đoạn với vi xử lý? Trình bày nguyên lý hoạt động của hệ thống?
Trang 713 Sơ đồ khối mạch ghép nối song song lập trình được 8255A? Chức năng các chân? Các chế độ làm việc và cách cấu hình cho 8255A? Lấy ví dụ?
14 Trình bày về cơ sở truyền thông nối tiếp trong vi xử lý?
15 Vẽ sơ đồ khối, chức năng các chân, các thanh ghi và cách cấu hình để lập trình cho mạch USART 8251A? lấy ví dụ?
16 Chức năng, cách cấu hình cho các chế độ làm việc của các vi mạch sau:
8284, 8288, 8253, 8259, 8237? Lấy ví dụ?
3.3 Bài tập vận dụng
1 Tần số 1000MHz đưa tới chân CLK của các bộ đếm của 8253 Muốn tạo ra một tín hiệu xung vuông có tần số bằng 2KHz thì ta phải nạp trước giá trị bao nhiêu vào bộ đếm?
2 Xác định chu kì BUS (chu kì đọc ghi) và chu kì đồng hồ của CPU khi CPU làm việc với xung nhịp:
3 Thiết kế bộ nhớ có dung lượng 2K x 8bit dùng các IC nhớ 2K x 4bit? Thiết
kế bộ nhớ có dung lượng 4K x 4bit dùng các IC nhớ 2K x 4bit? Thiết kế bộ nhớ 16K x 8bit dùng các IC nhớ 16K x 1 bit? Thiết kế bộ nhớ ROM 8Kx8 bit từ các IC 1Kx 8bit?
4 Xác định địa chỉ đầu và cuối của mỗi vùng dữ liệu sau:
Trang 85 Phân tích, xác định vùng địa chỉ của các đầu ra 74LS138, IC 2764, IC 2716, địa chỉ các cổng PA, PB, PC và thanh ghi từ điều khiển CWR của 8255A?
Trang 9Chương 4 NGẮT VÀ XỬ LÝ NGẮT TRONG HỆ VI XỬ LÝ
4.1 Chủ đề:
- Tầm quan trọng của ngắt
- Các loại ngắt trong vi xử lý
- Đáp ứng của CPU khi có yêu cầu ngắt
- Xử lý ưu tiên của CPU khi có ngắt
- Mạch điều khiển ưu tiên ngắt 8259A
4.2 Câu hỏi lý thuyết:
- Trình bày về tầm quan trọng và các loại ngắt trong vi xử lý?
- Các loại ngắt trong vi xử lý 8086/8088? Các kiểu ngắt mềm?
- Đáp ứng của CPU khi có yêu cầu ngắt?
- Bảng vectơ ngắt của 8086/8088 tại 1KB RAM đầu tiên?
- Xử lý của CPU khi có yêu cầu ngắt?
- Vẽ sơ đồ khối mạch điều khiển ưu tiên ngắt 8259A? Chức năng các chân và tín hiệu của 8559A?
- 8259A có khả năng quản lý được bao nhiêu ngắt ở chế độ đơn lẻ và khi nối tầng thêm từ 1 đến 8 mạch 8259A thợ?
- Nguyên tắc lập trình cho 8259A? Các thanh ghi từ điều khiển của nó?
- Cấu trúc các thanh ghi từ điều khiển khởi đầu ICW và cách cấu hình cho nó trong các chế độ hoạt động?
- Cấu trúc các thanh ghi từ điều khiển hoạt động OCW và cách cấu hình cho
Trang 10Gợi ý:
Thứ tự ghi và điều kiện để ghi các điều khiển ICW vào 8259A
Cấu hình cho thanh ghi từ điều khiển ICW1
Cấu hình cho thanh ghi từ điều khiển ICW2
Trang 11Cấu hình cho thanh ghi từ điều khiển ICW4
2 Câu hỏi tổng quát: Các địa chỉ cần gán cho thanh ghi các thanh ghi từ điều khiển ICW khi muốn lập trình cho 8259 làm việc với CPU 8088 ở chế độ chủ ( hoặc thợ - tớ) (đơn lẻ), trong có đệm ( hoặc không đệm) bus, chế độ ưu tiên cố định (hoặc không ưu tiên) và với EOI thường (hoặc EOI tự động) IR kích theo mức (hoặc kích theo sườn), tín hiệu IR0 (hoặc IR bất kì từ IR0 đến IR7) được gán với số hiệu ngắt là 80h? (hoặc gán giá trị bất kì từ 00h-F1h)
3 Các địa chỉ cần gán cho thanh ghi thanh ghi từ điều khiển ICW3 khi muốn lập trình cho 8259A chủ và 8 mạch 8259A thợ nối vào chân IR0 IR7 của mạch chủ?
Gợi ý: Cấu hình cho thanh ghi từ điều khiển ICW3
Trang 124 Câu hỏi tổng quát: Các địa chỉ cần gán cho thanh ghi thanh ghi từ điều khiển ICW3 khi muốn lập trình cho 8259A chủ và 8 (Hoặc từ 1 đến 8) mạch 8259A thợ nối vào chân IR0 IR7 (Hoặc 1 trong các chân IRi ) của mạch chủ?
5 Tìm địa chỉ gán vào các từ điều khiển hoạt động OCW của 8255A?
- Các ngắt IR0-IR7 bị che
- EOI thường, Mức ưu tiên ngắt thấp nhất là IR2
- Thiết lập chế độ mặt nạ đặc biệt, thăm dò yêu cầu ngắt, chọn thanh ghi IRR để đọc?
Gợi ý:
Cấu hình cho thanh ghi từ điều khiển OCW1
Cấu hình cho thanh ghi từ điều khiển OCW2
Trang 13Cấu hình cho thanh ghi từ điều khiển OCW3
6 Câu hỏi tổng quát: Tìm địa chỉ gán vào các từ điều khiển hoạt động OCW của 8255A?
- Các ngắt IR0IR7 (Hoặc bất kì IR nào) bị che (Hoặc không che)
- EOI thường (Hoặc EOI bất kì) , Mức ưu tiên ngắt thấp nhất là IR1 (Hoặc
1 trong những IR từ IR0 đến IR7)
- Thiết lập chế độ mặt nạ đặc biệt (Hoặc xóa mặt nạ đặc biệt), thăm dò yêu cầu ngắt (Hoặc không thăm dò), chọn thanh ghi IRR (Hoặc ISR) để đọc?
Trang 14Chương 5 LẬP TRÌNH ỨNG DỤNG VỚI HỌ VI ĐIỀU KHIỂN 8051
5.1 Chủ đề:
- Giới thiệu chung về họ vi điều khiển 8051
- Chương trình C cho vi điều khiển 8051
- Lập trình hợp ngữ cho 8051
- Lập trình I/O, Timer/Counter, Interrupt, truyền thông nối tiếp cho 8051
- Các phần mềm hỗ trợ soạn thảo, gỡ lỗi, biên dịch, mô phỏng và nạp chương trình cho vi điều khiển 8051
5.2 Câu hỏi lý thuyết
1 Đặc tính kỹ thuật của vi điều khiển 8051?
2 Sơ đồ khối và chức năng của vi điều khiển AT89C51?
3 Các thanh ghi của 8051 và chức năng của nó?
4 Cấu tạo và chức năng các chân của vi điều khiển AT89C51?
5 Cấu trúc một chương trình C, ASM cho vi điều khiển 8051? Lấy ví dụ?
6 Ý nghĩa các câu lệnh ASM sau: ORG DJNZ, ANL, MOVE, MOVC,
ACALL, POP, SETB, JNZ, JZ, CPL, ADD, INC, JNC
7 Các kiểu dữ liệu, các phép toán cơ bản của 8051?
8 Lập trình ứng dụng với 8051 điều khiển I/O, sử dụng các bộ định thời và bộ đếm? Lấy ví dụ?
9 Lập trình ứng dụng với 8051 điều khiển I/O, sử dụng các bộ định thời và bộ đếm? Cách tạo thời gian trễ với Timer? Ví dụ?
10 Cấu hình cho các thanh ghi của Timer/Counter trong các chế độ làm việc?
Lấy ví dụ?
11 Cơ sở về truyền thông nối tiếp trong 8051? Cấu hình và lập trình truyền
thông nối tiếp cho 8051 lấy ví dụ?
12 Các ngắt và trình phục vụ ngắt trong 8051? Phân biệt ngắt với hỏi vòng
(thăm dò – polling)? Cấu hình và lập trình ngắt cho 8051? Lấy ví dụ?
13 Khai báo một chương trình con với các ngắt: Ngắt được tạo bởi bộ định thời?
Ngắt ngoài? Ngắt truyền thông nối tiếp? Ví dụ?
Trang 155.3 Bài tập vận dụng: Trong các bài về lập trình đều sử dụng KeilC để soạn thảo,
gỡ lỗi, biên dịch và dùng Proteus để mô phỏng cho vi điều khiển 8051
1 Xác định tần số và chu kì đồng hồ của bộ định thời/bộ đếm nếu các tần số thạch anh mắc với 8051 là:
2 Ghép nối LED đơn với chân P1.0 của vi điều khiển, viết chương trình điều khiển LED nhấp nháy với các yêu cầu:
- Khai báo đầy đủ 4 phần trong 1 chương trình C?
- Khai báo 2 phần chính: Tiền xử lý, chương trình chính
- Tạo một khoảng thời gian trễ đặt trước?
3 Điều khiển LED đơn nối với 1 PORT (PORT 1) sáng theo hiệu ứng? Với 3 yêu cầu như bài 1
4 Đọc trạng thái phím bấm và hiện thị lên LED? Dùng 2 phương pháp: Ngắt và hỏi vòng:
- 1 nút bấm nối với 1 chân, 1 led nối với 1 chân của 8051
- 2 nút bấm, 1 nút ấn thì led sáng, 1 nút ấn thì led tắt
- 8 led nối với PORT 1, 3 nút ấn nối với 3 chân của 8051, 1 nút ấn thì led sáng từ trái sang phải, 1 nút ấn thì led sáng từ phải qua trái, 1 nút ấn thì tất cả led tắt?
5 Lập trình điều khiển hiện thị LED 7 thanh Anode chung theo các yêu cầu:
- 1 led 7 thanh nối với 1 PORT, điều khiển hiện thị các số đếm trong hệ 16?
- 2 led 7 thanh nối với 2 PORT hiện thị các số đếm tiến từ 00 đến 99?
- 2 led 7 thanh nối với 2 PORT hiện thị các số đếm lùi từ 99 về 00?
- 2 led 7 thanh nối với 2 PORT hiện thị các số đếm tiến từ 00 đến 99 và khi đến 99 thì đếm lùi về 00?
- 3 led 7 thanh nối với 3 PORT hiện thị các số đếm tiến từ 000 đến 999?
- 3 led 7 thanh nối với 3 PORT hiện thị các số đếm lùi từ 999 về 000?
- 3 led 7 thanh nối với 3 PORT hiện thị các số đếm tiến từ 000 đến 999 và khi đến 999 thì lùi về 000
- 4 led 7 thanh nối với 4 PORT hiện thị các số đếm tiến từ 0000 đến 9999?
Trang 16- 4 led 7 thanh nối với 4 PORT hiện thị các số đếm lùi từ 9999 về 0000?
- 4 led 7 thanh nối với 4 PORT hiện thị các số đếm tiến từ 000 đến 999 và khi đến 9999 thì lùi về 0000?
6 Cùng các câu hỏi trên nhưng LED 7 thanh được sử dụng là loại mắc Cathode chung?
7 Có 1 led 7 thanh (Anode chung hoặc Cathode chung) mắc vào 1 PORT, 2 phím bấm được nối vào 2 chân của 8051 yêu cầu: Dùng 2 phương pháp: Ngắt và hỏi vòng:
- Nếu ấn 1 phím bấm số hiện thị sẽ tăng
- Nếu ấn phím còn lại số hiện thị sẽ giảm
8 Ghép nối ma trận bàn phím 4x4 với vi điều khiển, lập trình cho 8051 hiện thị các số từ 1 đến 16 khi có 1 phím được tác động?
9 Thiết kế mạch đồng hồ hiện thị giờ, phút, giây với các phím bấm điều chỉnh các thông số về thời gian tương ứngx?
10 Lập trình hiện thị kí tự bất kì lên LED matrix 8x8?
11 Tạo ra một sóng vuông với độ đầy xung 50% (cùng tỷ lệ giữa phần cao và phần thấp) trên chân P1.5 Bộ định thời Timer0 (Hoặc Timer1) được dùng
để tạo độ trễ thời gian?
12 Viết chương trình sử dụng bộ đếm 1, đếm các xung ở chân P3.5 và hiển thị
số đếm được (trong thanh ghi TL1) lên cổng P2?
13 Hãy lập trình cho 8051 để nhận các byte dữ liệu nối tiếp tốc độ 9600 baud và bật các Led trên Port 2 tương ứng: Máy tính gửi xuống số 1: 1 Led sáng, số 2: 2 Led sáng, … , số 8: 8 Led sáng, nếu các ký tự khác thì tắt tất cả các Led?
14 Chương trình trễ 10s cho 8051 với tần số thạnh anh 24MHz sử dụng timer 0?
15 Cấu hình cho bộ định thời của 8051 khi nó làm việc với Timer0 ở :
- Bộ định thời 13 bit:8 bit, 5 bit đặt trước
- Bộ định thời 16 bit: không có đặt trước
- Bộ định thời 8 bit: tự nạp lại
- Chế độ bộ định thời chia tách
16 Câu hỏi tương tự câu 15 nhưng khi sử dụng Timer1?
Trang 1718 Lấy ví dụ với hiện thị led đơn, led 7 thanh, led matrix 8x8, lập trình ứng dụng với các ngắt ngoài (0 và 1), ngắt do bộ định thời (Timer0 và Timer1), ngắt truyền thông nối tiếp?
Các câu hỏi bên dưới sử dụng ngôn ngữ ASM
19 Viết đoạn chương trình gửi giá trị 88H đến cổng P1 sử dụng địa chỉ các
cổng?
20 Viết đoạn chương trình để sao giá trị 88H vào ngăn nhớ RAM tại địa chỉ từ
15H đến 20H
- Sử dụng chế độ định địa chỉ trực tiếp?
- Sử dụng chế độ định địa chỉ gián tiếp tiếp không dùng vòng lập?
- Sử dụng chế độ định địa chỉ gián tiếp tiếp dùng vòng lập?
21 Viết chương trình liên tục kiểm tra cổng P2 khi có giá trị khác với 15H Nếu
P2 = 15H thì không kiểm tra P1 nữa?
22 Xác định giá trị của thanh ghi A sau khi thực hiện các lệnh viết bằng ASM: