23
BÀI TẬP MÔN HỌC KTHUT VI XLÝ VÀ ỨNG DNG GV: Nguyễn Thanh Tùng – Bộ môn Công nghệ Điện tử Page 1 1. Yêu cầu thc hin - Bài tập môn học Kthut vi xlý và ứng dng đượ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ự hc, tnghiên cứu. Hthố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 vic thc, tnghiên cứu của người hc. - Bài tập được giao cho sinh viên ở cui mi bui học bài tập gn lin vi ni dung dy học trong giáo án và nội dung môn học. - Bài tập có các dạng: + Các chủ đề (dành cho sinh viên tự hc, tnghiên cứu, cng c, tng kết kiến thc, tho lun, học nhóm, thực hành…) + Câu hỏi lý thuyết. + Bài tập vn dng. + Bài tập thực hành, vận dng. + Bài tập nâng cao (nếu có). - Hình thức báo cáo: + Giáo viên: Đầu mi bui học, giáo viên sẽ tiến hành kiểm tra bài tập vnhà. + Sinh viên: Sau mỗi bui hc phải có nhiệm vlàm bài tập giáo viên giao trên lớp để báo cáo kết quđầu mi bui học sau. Các chủ đề bài tập theo nhóm được báo cáo trong các buổi tho lun. Các bài tập ln được giao đầu chương trình học và báo cáo (sản phm thc tế, kết quthc hin) bui cui khi kết thúc 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 hp với quá trình điểm danh trên lớp). 2. Ni dung

BÀI TẬP MÔN HỌC KỸ THUẬT VI XỬ LÝ VÀ ỨNG DỤNG · PDF file- Bài tập môn học Kỹ thuật vi xử lý và ứng dụng được in ... trình điểm danh trên

Embed Size (px)

Citation preview

Page 1: BÀI TẬP MÔN HỌC KỸ THUẬT VI XỬ LÝ VÀ ỨNG DỤNG · PDF file- Bài tập môn học Kỹ thuật vi xử lý và ứng dụng được in ... trình điểm danh trên

BÀI TẬP MÔN HỌC KỸ THUẬT VI XỬ LÝ VÀ ỨNG DỤNG

GV: Nguyễn Thanh Tùng – Bộ môn Công nghệ Điện tử Page 1

1. 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.

- Bài tập có các dạng:

+ Các chủ đề (dành cho sinh viên tự học, tự nghiên cứu, củng cố, tổng kết kiến thức,

thảo luận, học nhóm, thực hành…)

+ Câu hỏi lý thuyết.

+ Bài tập vận dụng.

+ Bài tập thực hành, vận dụng.

+ Bài tập nâng cao (nếu có).

- Hình thức báo cáo:

+ Giáo viên: Đầu mỗi buổi học, giáo viên sẽ tiến hành kiểm tra bài tập về nhà.

+ Sinh viên: Sau mỗi buổi học phải có nhiệm vụ làm bài tập giáo viên giao trên lớp

để báo cáo kết quả ở đầu mỗi buổi học sau. Các chủ đề bài tập theo nhóm được báo

cáo trong các buổi thảo luận. Các bài tập lớn được giao ở đầu chương trình học và

báo cáo (sản phẩm thực tế, kết quả thực hiện) ở buổi cuối khi kết thúc 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

Page 2: BÀI TẬP MÔN HỌC KỸ THUẬT VI XỬ LÝ VÀ ỨNG DỤNG · PDF file- Bài tập môn học Kỹ thuật vi xử lý và ứng dụng được in ... trình điểm danh trên

BÀI TẬP MÔN HỌC KỸ THUẬT VI XỬ LÝ VÀ ỨNG DỤNG

GV: Nguyễn Thanh Tùng – Bộ môn Công nghệ Điện tử Page 2

Chươ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?

Page 3: BÀI TẬP MÔN HỌC KỸ THUẬT VI XỬ LÝ VÀ ỨNG DỤNG · PDF file- Bài tập môn học Kỹ thuật vi xử lý và ứng dụng được in ... trình điểm danh trên

BÀI TẬP MÔN HỌC KỸ THUẬT VI XỬ LÝ VÀ ỨNG DỤNG

GV: Nguyễn Thanh Tùng – Bộ môn Công nghệ Điện tử Page 3

1.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 ?

150888 270191 301262 060888

119550 700190 111000 266112

2. Chuyển các số nhị phân sau sang hệ thập phân và hệ thập lục phân ? Và cho

biết số bù 1 và bù 2 của chúng ? Cho biết số bù 1 và bù 2 của chúng ?

1111 1111 1111 1010 1010 1010 1100 1001 1010 1011 1110 1000

1011 1110 1111 1111 0001 0110 1000 0001 0101 1100 1110 0101

3. Chuyển các số thập lục phân sau sang hệ nhị phân và hệ thập phân ? Cho biết

số bù 1 và bù 2 của chúng ?

1508H 2711H 1988H 1991H

FAFBH FAFCH FA0FH DEB2H

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 ?

Page 4: BÀI TẬP MÔN HỌC KỸ THUẬT VI XỬ LÝ VÀ ỨNG DỤNG · PDF file- Bài tập môn học Kỹ thuật vi xử lý và ứng dụng được in ... trình điểm danh trên

BÀI TẬP MÔN HỌC KỸ THUẬT VI XỬ LÝ VÀ ỨNG DỤNG

GV: Nguyễn Thanh Tùng – Bộ môn Công nghệ Điện tử Page 4

Chươ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.

- Tổ chức BIU và EU.

- Sự khác nhau giữa 8086 và 8088.

- Lập trình ứng dụng đơn giản với các thanh ghi của 8086/8088 sử dụng ngôn

ngữ Asembly.

- Các chế độ địa chỉ của 8086/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í

dụ minh họa?

3. 8088/8086 có các thanh ghi nào? Chức năng của chúng? Lấy ví dụ bằng 1

đoạn chương trình đơn giản viết bằng ngôn ngữ ASM?

4. Các thanh ghi đoạn của vi xử lý? Địa chỉ logic là gì? Địa chỉ vật lý là gì ?

Cách xác định địa chỉ vật lý từ địa chỉ logic? Địa chỉ của thanh ghi đoạn? Địa

chỉ của thanh ghi lệch? Lấy ví dụ?

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ụ?

Page 5: BÀI TẬP MÔN HỌC KỸ THUẬT VI XỬ LÝ VÀ ỨNG DỤNG · PDF file- Bài tập môn học Kỹ thuật vi xử lý và ứng dụng được in ... trình điểm danh trên

BÀI TẬP MÔN HỌC KỸ THUẬT VI XỬ LÝ VÀ ỨNG DỤNG

GV: Nguyễn Thanh Tùng – Bộ môn Công nghệ Điện tử Page 5

2.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à:

F1F2H 1234H 1508H 711AH

3686H 6414H 4143H 1307H

4. Vẫn câu hỏi trên nhưng trong trường hợp các địa chỉ đã là cho là địa chỉ của

thanh ghi lệch?

5. Cho biết kết quả khi thực hiện các lệnh: NOT, OR, NOR, XOR, AND,

NAND cho 1100 0101 1111 1010?

6. Viết chương trình bằng ngôn ngữ ASM nạp dữ liệu vào các thanh ghi đa

năng và thực hiện các phép toán cộng, trừ, nhân, chia, di chuyển dữ liệu,

NOT, OR, NOR, XOR, AND, NAND các bit?

Page 6: BÀI TẬP MÔN HỌC KỸ THUẬT VI XỬ LÝ VÀ ỨNG DỤNG · PDF file- Bài tập môn học Kỹ thuật vi xử lý và ứng dụng được in ... trình điểm danh trên

BÀI TẬP MÔN HỌC KỸ THUẬT VI XỬ LÝ VÀ ỨNG DỤNG

GV: Nguyễn Thanh Tùng – Bộ môn Công nghệ Điện tử Page 6

Chươ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?

Page 7: BÀI TẬP MÔN HỌC KỸ THUẬT VI XỬ LÝ VÀ ỨNG DỤNG · PDF file- Bài tập môn học Kỹ thuật vi xử lý và ứng dụng được in ... trình điểm danh trên

BÀI TẬP MÔN HỌC KỸ THUẬT VI XỬ LÝ VÀ ỨNG DỤNG

GV: Nguyễn Thanh Tùng – Bộ môn Công nghệ Điện tử Page 7

13. 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:

5 MHz 10 Hz 15 KHz 20 Ghz

8 Mhz 88 Hz 368 Khz 135 Ghz

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:

Page 8: BÀI TẬP MÔN HỌC KỸ THUẬT VI XỬ LÝ VÀ ỨNG DỤNG · PDF file- Bài tập môn học Kỹ thuật vi xử lý và ứng dụng được in ... trình điểm danh trên

BÀI TẬP MÔN HỌC KỸ THUẬT VI XỬ LÝ VÀ ỨNG DỤNG

GV: Nguyễn Thanh Tùng – Bộ môn Công nghệ Điện tử Page 8

5. 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?

Page 9: BÀI TẬP MÔN HỌC KỸ THUẬT VI XỬ LÝ VÀ ỨNG DỤNG · PDF file- Bài tập môn học Kỹ thuật vi xử lý và ứng dụng được in ... trình điểm danh trên

BÀI TẬP MÔN HỌC KỸ THUẬT VI XỬ LÝ VÀ ỨNG DỤNG

GV: Nguyễn Thanh Tùng – Bộ môn Công nghệ Điện tử Page 9

Chươ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

nó trong các chế độ hoạt động?

- Trình bày hoạt động của 8086/8088 với 8259A?

4.3. Bài tập ứng dụng

1. 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ủ (đơn lẻ), trong có

đệm bus, chế độ ưu tiên cố định và với EOI thường, IR kích theo mức, tín

hiệu IR7 được gán với số hiệu ngắt là 57h?

Page 10: BÀI TẬP MÔN HỌC KỸ THUẬT VI XỬ LÝ VÀ ỨNG DỤNG · PDF file- Bài tập môn học Kỹ thuật vi xử lý và ứng dụng được in ... trình điểm danh trên

BÀI TẬP MÔN HỌC KỸ THUẬT VI XỬ LÝ VÀ ỨNG DỤNG

GV: Nguyễn Thanh Tùng – Bộ môn Công nghệ Điện tử Page 10

Gợ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

Page 11: BÀI TẬP MÔN HỌC KỸ THUẬT VI XỬ LÝ VÀ ỨNG DỤNG · PDF file- Bài tập môn học Kỹ thuật vi xử lý và ứng dụng được in ... trình điểm danh trên

BÀI TẬP MÔN HỌC KỸ THUẬT VI XỬ LÝ VÀ ỨNG DỤNG

GV: Nguyễn Thanh Tùng – Bộ môn Công nghệ Điện tử Page 11

Cấ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

Page 12: BÀI TẬP MÔN HỌC KỸ THUẬT VI XỬ LÝ VÀ ỨNG DỤNG · PDF file- Bài tập môn học Kỹ thuật vi xử lý và ứng dụng được in ... trình điểm danh trên

BÀI TẬP MÔN HỌC KỸ THUẬT VI XỬ LÝ VÀ ỨNG DỤNG

GV: Nguyễn Thanh Tùng – Bộ môn Công nghệ Điện tử Page 12

4. 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

Page 13: BÀI TẬP MÔN HỌC KỸ THUẬT VI XỬ LÝ VÀ ỨNG DỤNG · PDF file- Bài tập môn học Kỹ thuật vi xử lý và ứng dụng được in ... trình điểm danh trên

BÀI TẬP MÔN HỌC KỸ THUẬT VI XỬ LÝ VÀ ỨNG DỤNG

GV: Nguyễn Thanh Tùng – Bộ môn Công nghệ Điện tử Page 13

Cấ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?

Page 14: BÀI TẬP MÔN HỌC KỸ THUẬT VI XỬ LÝ VÀ ỨNG DỤNG · PDF file- Bài tập môn học Kỹ thuật vi xử lý và ứng dụng được in ... trình điểm danh trên

BÀI TẬP MÔN HỌC KỸ THUẬT VI XỬ LÝ VÀ ỨNG DỤNG

GV: Nguyễn Thanh Tùng – Bộ môn Công nghệ Điện tử Page 14

Chươ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ụ?

Page 15: BÀI TẬP MÔN HỌC KỸ THUẬT VI XỬ LÝ VÀ ỨNG DỤNG · PDF file- Bài tập môn học Kỹ thuật vi xử lý và ứng dụng được in ... trình điểm danh trên

BÀI TẬP MÔN HỌC KỸ THUẬT VI XỬ LÝ VÀ ỨNG DỤNG

GV: Nguyễn Thanh Tùng – Bộ môn Công nghệ Điện tử Page 15

5.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à:

11,0592MHz 16 MHz 32 MHz 12Mhz

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?

Page 16: BÀI TẬP MÔN HỌC KỸ THUẬT VI XỬ LÝ VÀ ỨNG DỤNG · PDF file- Bài tập môn học Kỹ thuật vi xử lý và ứng dụng được in ... trình điểm danh trên

BÀI TẬP MÔN HỌC KỸ THUẬT VI XỬ LÝ VÀ ỨNG DỤNG

GV: Nguyễn Thanh Tùng – Bộ môn Công nghệ Điện tử Page 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?

17. Câu hỏi tương tự câu 15 nhưng khi sử dụng Counter?

Page 17: BÀI TẬP MÔN HỌC KỸ THUẬT VI XỬ LÝ VÀ ỨNG DỤNG · PDF file- Bài tập môn học Kỹ thuật vi xử lý và ứng dụng được in ... trình điểm danh trên

BÀI TẬP MÔN HỌC KỸ THUẬT VI XỬ LÝ VÀ ỨNG DỤNG

GV: Nguyễn Thanh Tùng – Bộ môn Công nghệ Điện tử Page 17

18. 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:

A = 08h

MOV DPTR,#88H

MOVC A,@A+DPTR

MOV A,#15H ;

RR A

MOV A,#19H ;

RL A

RL A

RL A

23. Con trỏ ngăn xếp của 8051 sẽ có giá trị là bao nhiêu sau khi thực hiện

chương trình sau?

MOV R6,#15H

MOV R1,#08H

MOV R4,#88H

PUSH 6

PUSH 1

PUSH 4

24. Xác định nội dung ngăn nhớ 11H trong RAM của 8051 sau khi thực hiện

đoạn chương trình sau?

SETB PSW.4

Page 18: BÀI TẬP MÔN HỌC KỸ THUẬT VI XỬ LÝ VÀ ỨNG DỤNG · PDF file- Bài tập môn học Kỹ thuật vi xử lý và ứng dụng được in ... trình điểm danh trên

BÀI TẬP MÔN HỌC KỸ THUẬT VI XỬ LÝ VÀ ỨNG DỤNG

GV: Nguyễn Thanh Tùng – Bộ môn Công nghệ Điện tử Page 18

MOV 0,#15H

MOV 1,#08H

MOV 2,#19H

MOV 7,#88H

MOV 5,#91H

25. Viết chương trình xác định xem R1 có chứa giá trị 8 không? Nếu bằng 8 thì

nạp vào R1 giá trị 15H?

26. Viết chương trình để xóa ACC và sau đó cộng 8 vào ACC 15 lần?

27. Viết chương trình nạp thanh ghi ACC với giá trị 15H và lấy bù ACC 88 lần ?

28. Viết đoạn chương trình tính tổng 15H và 88H ghi kết quả vào R1?

29. Viết đoạn chương trình tính tổng 15+88, kết quả đặt vào thanh ghi A?

30. Tính tổng 15H, 08H và 88H. Ghi byte thấp của tổng vào R0 và byte cao vào

R5?

31. Các cờ CY, PF, AC sẽ ảnh hưởng như thế nào sau khi thực hiện lệnh:

MOV A,#FAH

ADD A,#0FH

32. Viết đoạn chương trình để lưu thanh ghi tích lũy vào R5 của băng 2?

33. Viết đoạn chương trình kiểm tra bit P1.0 cho đến khi bit này lên cao sau đó

ghi giá trị 69H ra cổng P2?

34. Viết đoạn chương trình kiểm tra bit P1.0 cho đến khi bit này lên cao sau đó

ghi giá trị 96H ra cổng P2 và gửi một xung Cao Xuống Thấp tới P0.1?

35. Viết đoạn chương trình xác lập cổng P1 là cổng vào và liên tục đọc cổng P1

và xuất giá trị đọc được ra cổng P3?

36. Hãy tính độ trễ thời gian tính, bỏ qua thời gian thực hiện các lệnh trong vòng

lập?(Tần số thạch anh sử dụng là 16Mhz)

TMOD = 0x10 ;

TL1=0 ;

TH1=0 ;

TR1=1 ;

while ( !TF1) ;

TR1=0 ;

Page 19: BÀI TẬP MÔN HỌC KỸ THUẬT VI XỬ LÝ VÀ ỨNG DỤNG · PDF file- Bài tập môn học Kỹ thuật vi xử lý và ứng dụng được in ... trình điểm danh trên

BÀI TẬP MÔN HỌC KỸ THUẬT VI XỬ LÝ VÀ ỨNG DỤNG

GV: Nguyễn Thanh Tùng – Bộ môn Công nghệ Điện tử Page 19

TF1=0 ;

37. Hãy viết chương trình cho bộ đếm 0 ở chế độ 1 để đếm các xung và hiển thị

trạng thái của số đếm TL1 trên cổng P2?

38. Lập trình cho 8051 để nhận các byte dữ liệu nối tiếp và đặt chúng vào cổng

P1. Đặt tốc độ baud là 9600, 8 bit dữ liệu và 1 bit stop ?

39. Cho tần số thạch anh XTAL = 16Mhz, hãy tìm giá trị TH1 để đặt tốc độ baud

là 9600 và 4800 với SMOD=1 ?

40. Hãy tính tốc độ baud với TH1= -2 và XTAL=16Mhz ?

41. Hãy lập trình cho 8051 để nhận các byte dữ liệu nối tiếp và đặt chúng vào

cổng P2. Đặt tốc độc baud là 9600, 8 bit dữ liệu và một bit stop ?

42. Viết chương trình thực hiện truyền ra cổng nối tiếp liên tục một ký tự ‘K’ với

tốc độ baud 9600?

43. Trong đoạn chương trình 8051 sau lệnh MOV DPTR,#KB thì DPTR sẽ có

giá trị bằng bao nhiêu?

ORG 0

MOV DPTR, #TAB1

MOV A,#0FFH

MOV P1,A

TG:

MOV A,P1

MOVC A,@A+DPTR

MOV P2,

SJMP TG,

ORG 300H

KB: DB 80, 1, 4, 9, 16, 25, 36, 49, 64, 81

END

Page 20: BÀI TẬP MÔN HỌC KỸ THUẬT VI XỬ LÝ VÀ ỨNG DỤNG · PDF file- Bài tập môn học Kỹ thuật vi xử lý và ứng dụng được in ... trình điểm danh trên

BÀI TẬP MÔN HỌC KỸ THUẬT VI XỬ LÝ VÀ ỨNG DỤNG

GV: Nguyễn Thanh Tùng – Bộ môn Công nghệ Điện tử Page 20

Chương 6. LẬP TRÌNH ỨNG DỤNG VỚI VI ĐIỀU KHIỂN TIÊN TIẾN

6.1. Chủ đề:

- Các họ vi điều khiển: AVR, PIC, lõi xử lý ARM.

- Các phần mềm hỗ trợ: CCS và Proteus.

- Lập trình C cho PIC.

- Lập trình ADC, Timer/Counter UART, I2C, PARALLEL cho PIC 16F877A.

6.2. Câu hỏi lý thuyết:

1. Các đặc tính kỹ thuật của họ vi điều khiển AVR, phần mềm hỗ trợ soạn thảo,

gỡ lỗi, biên dịch và nạp chương trình cho nó?

2. Các đặc tính kỹ thuật của vi điều khiển PIC16f877a, phần mềm hỗ trợ soạn

thảo, gỡ lỗi, biên dịch và nạp chương trình cho nó?

3. Các cổng của PIC16F877A, đặc điểm các cổng và chức năng các chân?

4. Các thanh ghi của PIC16F77A? Chức năng của các thanh ghi

OPTION_REG, SFR, STATUS, INTCON?

5. Các ngăn xếp của PIC 16F877A?

6. Cách sử dụng công cụ hỗ trợ lập trình PIC CCS?

7. Cấu trúc một chương trình C cho PIC?

8. Cách cấu hình cho các cổng ? Các hàm lập trình vào ra cho PIC 16F877A?

Ví dụ?

9. Để thực hiện xong một lệnh, PIC cần mấy chu kỳ xung clock? Xác định thời

gian thực hiện một lệnh khi biết tần số xung thạch anh?

10. Cơ sở lý thuyết ADC cho PIC? Các độ phân giải của ADC? Các hàm lập

trình ADC cho PIC 16F877A? Ví dụ?

11. Các bộ điều chế PWM cho PIC16F877A? Lấy ví dụ?

12. Cơ sở lý thuyết truyền thông nối tiếp, I2C, SPI, PARALLEL cho PIC và Các

hàm lập trình truyền thông cho PIC 16F877A? Ví dụ?

13. Cơ sở lý thuyết Timer/Counter cho PIC? Các Timer/Counter của PIC

16F877A? Các hàm lập trình Timer/Counter cho PIC 16F877A? Ví dụ?

14. Các ngắt của PIC16F877A? Các ngắt được phát sinh khi nào? Các hàm lập

trình ngắt cho PIC 16F877A? Ví dụ?

Page 21: BÀI TẬP MÔN HỌC KỸ THUẬT VI XỬ LÝ VÀ ỨNG DỤNG · PDF file- Bài tập môn học Kỹ thuật vi xử lý và ứng dụng được in ... trình điểm danh trên

BÀI TẬP MÔN HỌC KỸ THUẬT VI XỬ LÝ VÀ ỨNG DỤNG

GV: Nguyễn Thanh Tùng – Bộ môn Công nghệ Điện tử Page 21

6.3. Bài tập ứng dụng:

1. Lập trình cấu hình cho các cổng của PIC16F877A là cổng ra và xuất giá trị

99H ra các cổng?

2. Lập trình cấu hình cho các cổng của PIC16F877A là cổng vào và nhập giá trị

66H vào các cổng?

3. Viết chương trình điều khiển nhấp nháy 8 LED tại PORTA của PIC

16F877A, thời gian trễ do người lập trình định trước?

4. Viết chương trình sử dụng ADC 8 bit, đọc và xuất ra dãy led ở PORT B và

hiển thị trên màn hình máy tính?

5. Viết chương trình giao tiếp giữa PIC16F877A với máy tính, sử dụng giao

tiếp nối tiếp RS232, có hiển thị qua LCD.

6. Viết chương trình thực hiện giao tiếp I2C giữa PIC 16F877A và IC DS1307

để cài đặt thời gian, đọc thời gian từ DS1307, hiển thị lên LCD, truyền qua

RS232?

7. Viết chương trình giao tiếp SPI song công giữa 2 PIC 16F877A?

8. Viết chương trình dịch LED trên PORTD, thời gian dịch là 1s. Chương

trình sử dụng Timer?

9. Viết chương trình nháy led theo nhiều 8 kiểu khác nhau, sử dụng 1 phím

bấm nối với chân ngắt ngoài RB0 để chọn kiểu nháy?

Page 22: BÀI TẬP MÔN HỌC KỸ THUẬT VI XỬ LÝ VÀ ỨNG DỤNG · PDF file- Bài tập môn học Kỹ thuật vi xử lý và ứng dụng được in ... trình điểm danh trên

BÀI TẬP MÔN HỌC KỸ THUẬT VI XỬ LÝ VÀ ỨNG DỤNG

GV: Nguyễn Thanh Tùng – Bộ môn Công nghệ Điện tử Page 22

BÀI TẬP THỰC HÀNH VẬN DỤNG

(Chú ý: Trong các bài tập, vi điều khiển được sử dụng là 8051 và PIC, tuy nhiên

sinh viên có thể lựa chọn các họ vi điều khiển như AVR, MSP, STM...)

1. Lập trình ứng dụng với Timer/Counter của vi điều khiển?

2. Lập trình truyền thông UART với vi điều khiển?

3. Lập trình truyền thông SPI với vi điều khiển?

4. Lập trình truyền thông PARALLEL với vi điều khiển?

5. Lập trình truyền thông I2C với vi điều khiển?

6. Lập trình ADC với vi điều khiển?

7. Lập trình cho vi điều khiển giao tiếp với cảm biến dòng điện và điện áp?

8. Lập trình cho vi điều khiển giao tiếp với cảm biến lưu lượng nước?

9. Lập trình cho vi điều khiển giao tiếp với cảm biến mưa?

10. Lập trình cho vi điều khiển giao tiếp với cảm biến tiệm cận?

11. Lập trình cho vi điều khiển giao tiếp với cảm biến màu sắc?

12. Lập trình cho vi điều khiển giao tiếp với cảm biến pulse?

13. Lập trình cho vi điều khiển giao tiếp với cảm biến siêu âm?

14. Lập trình cho vi điều khiển giao tiếp với cảm biến hồng ngoại?

15. Lập trình cho vi điều khiển giao tiếp với cảm biến vân tay?

16. Lập trình cho vi điều khiển giao tiếp với cảm biến ánh sáng?

17. Lập trình cho vi điều khiển giao tiếp với cảm biến chuyển động PIR?

18. Lập trình cho vi điều khiển giao tiếp với cảm biến gia tốc?

19. Lập trình cho vi điều khiển giao tiếp với cảm biến loadcell?

20. Lập trình cho vi điều khiển giao tiếp với cảm biến độ ẩm?

21. Lập trình cho vi điều khiển giao tiếp với cảm biến nhiệt độ?

22. Lập trình cho vi điều khiển giao tiếp với cảm biến khí?

23. Lập trình cho vi điều khiển giao tiếp với Led 7 thanh?

24. Lập trình cho vi điều khiển giao tiếp với Led matrix?

25. Lập trình cho vi điều khiển giao tiếp với Module thu phát RF?

26. Lập trình cho vi điều khiển giao tiếp với động cơ bước?

27. Lập trình cho vi điều khiển giao tiếp với động cơ servo?

Page 23: BÀI TẬP MÔN HỌC KỸ THUẬT VI XỬ LÝ VÀ ỨNG DỤNG · PDF file- Bài tập môn học Kỹ thuật vi xử lý và ứng dụng được in ... trình điểm danh trên

BÀI TẬP MÔN HỌC KỸ THUẬT VI XỬ LÝ VÀ ỨNG DỤNG

GV: Nguyễn Thanh Tùng – Bộ môn Công nghệ Điện tử Page 23

28. Lập trình cho vi điều khiển giao tiếp với một chiều?

29. Lập trình cho vi điều khiển giao tiếp với máy phát một chiều?

30. Lập trình cho vi điều khiển giao tiếp với IC thời gian thực?

31. Lập trình cho vi điều khiển giao tiếp với module wifi?

32. Lập trình cho vi điều khiển giao tiếp với module bluetooth?

33. Lập trình cho vi điều khiển giao tiếp với module camera?

34. Lập trình cho vi điều khiển giao tiếp với module nhận dạng giọng nói VR?

35. Lập trình cho vi điều khiển giao tiếp với module Joystick?

36. Lập trình cho vi điều khiển giao tiếp với ma trận bàn phím?

37. Lập trình cho vi điều khiển giao tiếp với module RFID?

38. Lập trình cho vi điều khiển giao tiếp với module GPS?

39. Lập trình cho vi điều khiển giao tiếp với module Sim?

40. Lập trình cho vi điều khiển giao tiếp truyền thông với máy tính?

41. Lập trình cho vi điều khiển giao tiếp với LCD?