Tải bản đầy đủ (.doc) (21 trang)

Giáo trình về VI XỬ LÝ ỨNG DỤNG

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (184.51 KB, 21 trang )

Ngân hàng câu hỏi môn Vi xử lý ứng dụng
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM
KHOA: CƠ KHÍ ĐỘNG LỰC
BỘ MÔN: ĐỘNG CƠ
Tên học phần: VI XỬ LÝ ỨNG DỤNG Mã học phần: 1130010 CKD, 0130360 nhiet
Số ĐVHT: 2
Trình độ đào tạo: Đại học
A - NGÂN HÀNG CÂU HỎI KIỂM TRA ĐÁNH GIÁ KIỂU TỰ LUẬN.
Chương 1, 2 , 3, 6: Tìm hiểu về Vi điều khiển và tập lệnh, thiết kế giao tiếp
1 Các nội dung kiến thức tối thiểu mà sinh viên phải nắm vững sau khi học xong chương này
1.1 - Liệt kê ngắn gọn các khái niệm, hay các thuật ngữ, hay các định nghĩa, hay tên các sơ đồ (hình
vẽ) nguyên lý, hay các sự kiện, hay hiện tượng, các chỉ tiêu, tiêu chí, . . . cơ bản của chương
- Khái niệm về RAM, ROM
- Các thanh ghi, bộ nhớ của VĐK
- Hoạt động xử lý của VĐK
- Cấu trúc chân port xuất nhập
- Tập lệnh Vi điều khiển.
1.2 - Liệt kê ngắn gọn các nguyên lý, hay các định lý, hay các công thức, hay các hình vẽ có liên
quan cần cho ứng dụng thực tế
- Nguyên lý điều khiển xuất nhập chân port
- Phương thức xử lý khi gọi 1 chương trình con
1.3 - Liệt kê ngắn gọn các dạng bài toán (hay vấn đề) các phương pháp, các qui trình, các bước giải
quyết bài toán (hay vấn đề), . . .
- Bài toán lập trình điều khiển
- Bài toán xử lý toán học
- Bài toán đọc chương trình có sẵn
2 Các mục tiêu kiểm tra đánh giá và dạng câu hỏi kiểm tra đánh giá gợi ý chương 1, 2, 3, 6
Stt Mục tiêu kiểm tra đánh giá Nội dung Dạng câu hỏi gợi ý
1 Mức độ Nhớ được các kiến
thức ở mục 1
- Cấu trúc VĐK


- Bản đồ RAM
2 Mức độ Hiểu được các kiến
thức đã học ở mục 1
- Hiểu hoạt động
xử lý của VĐK
- Hiểu tạp lệnh
VĐK
3 Khả năng vận dụng các kiến
thức đã học ở mục 1
Vận dụng để lập
trình điều khiển
Trang: 1
Biểu mẫu 3a
Ngân hàng câu hỏi môn Vi xử lý ứng dụng
Vận dụng để đọc
hiểu chương trình
4
3 Ngân hàng câu hỏi và đáp án chi tiết chương 1
Câu 1:
Điểm: 03 Thang điểm: 10 Thời gian: 15 phút
Nội dung câu hỏi:
Vi điều khiển AT89C51 được thiết kế điều khiển 1 LED 7 đoạn như sau:
- P3.0; P3.1; P3.2; P3.3; P3.4; P3.5; P3.6; P3.7 điều khiển lần lượt các đoạn p; g; f; e; d; c;
b; a
- Các đoạn LED sáng khi chân port tương ứng ở mức 0.
Hãy lập bảng mã cho LED 7 đoạn từ số 0 đến số 9 và viết chương trình điều khiển LED 7
đoạn sáng đếm lên trong mỗi giây từ 0 → 9 quay về đếm lại từ 0. (Cho biết: 1 chu kỳ máy = 1µs).
Đáp án Câu 1:
Điểm: 03 Thang điểm: 10 Thời gian: 15 phút
Nội dung đáp án:

- Lập được bảng mã LED 7 đoạn từ số 0 → 9 đúng với chân port đã cho (P3.0 đến P3.7) và
trạng thái sáng của LED là mức 0.
- Viết chương trình con delay 1 giây.
- Áp dụng chương trình con delay 1 giây và bảng mã để viết thành chương trình hoàn chỉnh.
Câu 2:
Điểm: 03 Thang điểm: 10 Thời gian: 15 phút
Nội dung câu hỏi:
Vi điều khiển AT89C51 được thiết kế điều khiển 1 LED 7 đoạn như sau:
- P2.0; P2.1; P2.2; P2.3; P2.4; P2.5; P2.6; P2.7 điều khiển lần lượt các đoạn a; b; c; d; e; f;
g; p.
- Các đoạn LED sáng khi chân port tương ứng ở mức 1.
Hãy lập bảng mã cho LED 7 đoạn từ số 0 đến số 9 và viết chương trình điều khiển LED 7
đoạn sáng đếm xuống trong mỗi giây từ 9 → 0 quay về đếm lại từ 9. (Cho biết: 1 chu kỳ máy =
1µs).
Đáp án Câu 2:
Điểm: 03 Thang điểm: 10 Thời gian: 15 phút
Nội dung đáp án:
- Lập được bảng mã LED 7 đoạn từ số 0 → 9 đúng với chân port đã cho (P2.0 đến P2.7) và
trạng thái sáng của LED là mức 1.
- Viết chương trình con delay 1 giây.
- Áp dụng chương trình con delay 1 giây và bảng mã để viết thành chương trình hoàn chỉnh.
Trang: 2
Ngân hàng câu hỏi môn Vi xử lý ứng dụng
Câu 3:
Điểm: 03 Thang điểm: 10 Thời gian: 15 phút
Nội dung câu hỏi:
Vi điều khiển AT89C51 được thiết kế điều khiển 8 LED như sau:
- P0.0; P0.1; P0.2; P0.3; P0.4; P0.5; P0.6; P0.7 điều khiển lần lượt các LED từ dưới lên
trên.
- Các LED sáng khi chân port tương ứng ở mức 0.

Hãy lập bảng mã cho 8 LED tương ứng với 8 trạng thái LED sẽ sáng dần từ dưới lên trên và
viết chương trình điều khiển 8 LED sáng dần từ dưới lên trên rồi tắt dần từ trên xuống dưới với
mỗi 0.4 giây thay đổi trạng thái LED 1 lần, sau 2 giây tiếp tục thực hiện lại như trên.
Đáp án Câu 3:
Điểm: 03 Thang điểm: 10 Thời gian: 15 phút
Nội dung đáp án:
- Lập được bảng mã cho 8 LED sáng dần từ dưới lên trên đúng với chân port đã cho (P0.0 đến
P0.7) và trạng thái sáng của LED là mức 0.
- Viết chương trình con delay 0.4 giây và 2 giây.
- Áp dụng chương trình con delay 0.4 giây & 2 giây và bảng mã để viết thành chương trình
hoàn chỉnh.
Câu 4:
Điểm: 03 Thang điểm: 10 Thời gian: 15 phút
Nội dung câu hỏi:
Vi điều khiển AT89C51 được thiết kế điều khiển 8 LED như sau:
- P1.0; P1.1; P1.2; P1.3; P1.4; P1.5; P1.6; P1.7 điều khiển lần lượt các LED từ trái qua
phải.
- Các đoạn LED sáng khi chân port tương ứng ở mức 1.
Hãy lập bảng mã cho 8 LED tương ứng với 8 trạng thái LED sẽ sáng dần từ trái qua phải và
viết chương trình điều khiển 8 LED sáng dần từ trái qua phải rồi tắt dần từ phải qua trái với mỗi
0.1 giây thay đổi trạng thái LED 1 lần, sau 1 giây tiếp tục thực hiện lại như trên.
Đáp án Câu 4:
Điểm: 03 Thang điểm: 10 Thời gian: 15 phút
Nội dung đáp án:
- Lập được bảng mã cho 8 LED sáng dần từ trái qua phải đúng với chân port đã cho (P1.0 đến
P1.7) và trạng thái sáng của LED là mức 1.
- Viết chương trình con delay 0.1 giây và 1 giây.
- Áp dụng chương trình con delay 0.1 giây & 1 giây và bảng mã để viết thành chương trình
hoàn chỉnh.
Trang: 3

Ngân hàng câu hỏi môn Vi xử lý ứng dụng
Câu 5:
Điểm: 03 Thang điểm: 10 Thời gian: 15 phút
Nội dung câu hỏi:
Vi điều khiển AT89C51 được thiết kế để điều khiển đèn giao thông ở một ngã tư như sau:
- Đường thứ nhất (ưu tiên):
P2.1 điều khiển đèn đỏ Đ1 (sáng 20 giây)
P2.2 điều khiển đèn vàng V1 (sáng 2 giây)
P2.3 điều khiển đèn xanh X1 (sáng 28 giây)
- Đường thứ hai (không ưu tiên):
P2.4 điều khiển đèn đỏ Đ2 (sáng 30 giây)
P2.5 điều khiển đèn vàng V2 (sáng 2 giây)
P2.6 điều khiển đèn xanh X2 (sáng 18 giây)
- Với các đèn sáng khi chân port tương ứng ở mức 0.
Hãy lập bảng trạng thái điều khiển và viết chương trình điều khiển đèn giao thông ở ngã tư
này.
Đáp án Câu 5:
Điểm: 03 Thang điểm: 10 Thời gian: 15 phút
Nội dung đáp án:
- Lập được bảng mã cho 6 đèn giao thông ở ngã tư đúng trạng thái và chân port đã cho (P2.1
đến P2.6) và trạng thái sáng của LED là mức 0.
- Viết chương trình con delay 2 giây, 18 giây, 20 giây, 30 giây hoặc chỉ viết chương trình con
delay 2 giây sau đó dùng vòng lập để có các chương trình delay còn lại.
- Áp dụng chương trình con delay và bảng mã để viết thành chương trình hoàn chỉnh.
Câu 6:
Điểm: 03 Thang điểm: 10 Thời gian: 15 phút
Nội dung câu hỏi:
Vi điều khiển AT89C51 được thiết kế để điều khiển một hệ thống lạnh như sau:
- Tín hiệu vào:
P1.1 nhận mức nhiệt độ phòng ở 20

0
C (mức 1 khi lớn hơn)
P1.2 nhận mức nhiệt độ phòng ở 25
0
C (mức 1 khi lớn hơn)
P1.3 nhận công tắc cho phép bật A/C (mức 1 khi cho phép)
- Tín hiệu ra:
P2.1 điều khiển một máy nén ga (mức 1 máy hoạt động)
P2.2 điều khiển một đèn báo nhiệt độ dưới 20
0
C (mức 1 đèn sáng)
P2.3 điều khiển một đèn báo nhiệt độ trên 25
0
C (mức 1 đèn sáng)
Hãy lập bảng trạng thái điều khiển và viết chương trình điều khiển hệ thống lạnh này trong
nhiệt độ giới hạn từ 20
0
C đến 25
0
C và tần số đóng ngắt của máy nén là thấp nhất.
Trang: 4
Ngân hàng câu hỏi môn Vi xử lý ứng dụng
Đáp án Câu 6:
Điểm: 03 Thang điểm: 10 Thời gian: 15 phút
Nội dung đáp án:
- Lập được bảng mã với 8 trạng thái khác nhau của 3 tín hiệu vào với từng trạng thái sẽ cho ra
3 tín hiệu ra đúng chân port đã cho và đúng trạng thái của các tín hiệu.
- Viết chương trình bằng cách so sánh trạng thái tín hiệu vào để điều khiển tín hiệu ra.
Câu 7:
Điểm: 03 Thang điểm: 10 Thời gian: 15 phút

Nội dung câu hỏi:
Vi điều khiển AT89C51 được thiết kế để điều khiển một hệ thống lò sấy như sau:
- Tín hiệu vào:
P1.5 nhận mức nhiệt độ lò sấy ở 60
0
C (mức 1 khi lớn hơn)
P1.6 nhận mức nhiệt độ lò sấy ở 70
0
C (mức 1 khi lớn hơn)
P1.7 nhận công tắc cho phép bật ON (mức 1 khi cho phép)
- Tín hiệu ra:
P2.3 điều khiển một máy nung (mức 0 máy hoạt động)
P2.4 điều khiển một đèn báo nhiệt độ dưới 60
0
C (mức 0 đèn sáng)
P2.5 điều khiển một đèn báo nhiệt độ trên 70
0
C (mức 0 đèn sáng)
Hãy lập bảng trạng thái điều khiển và viết chương trình điều khiển hệ thống lò sấy này
trong nhiệt độ giới hạn từ 60
0
C đến 70
0
C và tần số đóng ngắt của máy nung là thấp nhất.
Đáp án Câu 7:
Điểm: 03 Thang điểm: 10 Thời gian: 15 phút
Nội dung đáp án:
- Lập được bảng mã với 8 trạng thái khác nhau của 3 tín hiệu vào với từng trạng thái sẽ cho ra
3 tín hiệu ra đúng chân port đã cho và đúng trạng thái của các tín hiệu.
- Viết chương trình bằng cách so sánh trạng thái tín hiệu vào để điều khiển tín hiệu ra.

Câu 8:
Điểm: 03 Thang điểm: 10 Thời gian: 15 phút
Nội dung câu hỏi:
Vi điều khiển AT89C51 được thiết kế để điều khiển một máy bơm nước như sau:
- Tín hiệu vào:
P2.5 nhận mức giới hạn nước cạn (mức 0 khi lớn hơn)
P2.6 nhận mức giới hạn nước đầy (mức 0 khi lớn hơn)
P2.7 nhận công tắc cho phép bật ON (mức 0 khi cho phép)
- Tín hiệu ra:
P3.3 điều khiển một máy bơm (mức 1 máy hoạt động)
P3.4 điều khiển một đèn báo quá cạn (mức 1 đèn sáng)
P3.5 điều khiển một đèn báo quá đầy (mức 1 đèn sáng)
Hãy lập bảng trạng thái điều khiển và viết chương trình điều khiển máy bơm nước này sao
cho nước không quá cạn cũng không quá đầy và tần số đóng ngắt của máy bơm là thấp nhất.
Trang: 5
Ngân hàng câu hỏi môn Vi xử lý ứng dụng
Đáp án Câu 8:
Điểm: 03 Thang điểm: 10 Thời gian: 15 phút
Nội dung đáp án:
- Lập được bảng mã với 8 trạng thái khác nhau của 3 tín hiệu vào với từng trạng thái sẽ cho ra
3 tín hiệu ra đúng chân port đã cho và đúng trạng thái của các tín hiệu.
- Viết chương trình bằng cách so sánh trạng thái tín hiệu vào để điều khiển tín hiệu ra.
Câu 9:
Điểm: 03 Thang điểm: 10 Thời gian: 15 phút
Nội dung câu hỏi:
- Viết chương trình con cho Vi điều khiển để thực hiện phép tính sau:
55h

54h
_

53h

52h
=

51h

50h
- Ứng dụng chương trình con trên viết chương trình con cho Vi điều khiển để thực hiện phép
tính sau:
(
3Fh

3Eh
_
3Dh

3Ch
) + (
3Bh

3Ah
_
39h

38h
)
=
37h


36h

35h
Với các chữ số trong ô là các địa chỉ ô nhớ RAM và ô đứng trước biểu thị byte cao. Cho biết
các phép trừ đều cho kết quả dương.
Đáp án Câu 9:
Điểm: 03 Thang điểm: 10 Thời gian: 15 phút
Nội dung đáp án:
- Dùng lệnh trừ subb để trừ byte thấp không nhớ sau đó dùng lệnh subb trừ có nhớ với byte
cao.
- Chuyển các ô nhớ cần trừ vào các ô nhớ đã viết ở chương trình trên sau đó gọi chương trình
con đã viết để được kết quả các phép toán trong ngoặc. Lấy các kết quả trên cộng lại để được
kết quả cuối cùng.
Câu 10:
Điểm: 03 Thang điểm: 10 Thời gian: 15 phút
Nội dung câu hỏi:
- Viết chương trình con cho Vi điều khiển để thực hiện phép tính sau:
56h

55h
+
54h

53h
=

52h

51h


50h
Trang: 6
Ngân hàng câu hỏi môn Vi xử lý ứng dụng
- Ứng dụng chương trình con trên viết chương trình con cho Vi điều khiển để thực hiện phép
tính sau:
(
4Fh

4Eh
+
4Dh

4Ch
) + (
4Bh

4Ah
+
49h

48h
)
=
47h

46h

45h
Với các chữ số trong ô là các địa chỉ ô nhớ RAM và ô đứng trước biểu thị byte cao.
Đáp án Câu 10:

Điểm: 03 Thang điểm: 10 Thời gian: 15 phút
Nội dung đáp án:
- Dùng lệnh cộng add để cộng byte thấp không nhớ sau đó dùng lệnh addc cộng có nhớ với
byte cao, số nhớ sau kết quả này đưa vào byte cao nhất.
- Chuyển các ô nhớ cần cộng vào các ô nhớ đã viết ở chương trình trên sau đó gọi chương
trình con đã viết để được kết quả các phép toán trong ngoặc. Lấy các kết quả trên cộng lại để
được kết quả cuối cùng.
Câu 11:
Điểm: 03 Thang điểm: 10 Thời gian: 15 phút
Nội dung câu hỏi:
- Viết chương trình con cho Vi điều khiển để thực hiện phép tính sau:
55h

54h
*
53h
=

52h

51h

50h
- Ứng dụng chương trình con trên viết chương trình con cho Vi điều khiển để thực hiện phép
tính sau:
37h

36h
*
35h


34h
=

33h

32h

31h

30h
Với các chữ số trong ô là các địa chỉ ô nhớ RAM và ô đứng trước biểu thị byte cao.
Đáp án Câu 11:
Điểm: 03 Thang điểm: 10 Thời gian: 15 phút
Nội dung đáp án:
- Dùng các lệnh mov, mul, add, addc thực hiện chương trình nhân.
- Áp dụng chương trình con trên bằng cách di chuyển dữ liệu vào đúng địa chỉ và gọi chương
trình con.
Trang: 7
Ngân hàng câu hỏi môn Vi xử lý ứng dụng
Câu 12:
Điểm: 03 Thang điểm: 10 Thời gian: 15 phút
Nội dung câu hỏi:
- Viết chương trình con cho Vi điều khiển để thực hiện phép tính sau:
5Fh

5Eh
*
5Dh
=


5Ch

5Ah

59h
- Ứng dụng chương trình con trên viết chương trình con cho Vi điều khiển để thực hiện phép
tính sau:
(
4Fh

4Eh
*
4Dh

) + (
4Ch

4Bh
*
4Ah

)
=
49h

48h

47h


46h
Với các chữ số trong ô là các địa chỉ ô nhớ RAM và ô đứng trước biểu thị byte cao.
Đáp án Câu 12:
Điểm: 03 Thang điểm: 10 Thời gian: 15 phút
Nội dung đáp án:
- Dùng các lệnh mov, mul, add, addc thực hiện chương trình nhân.
- Áp dụng chương trình con trên bằng cách di chuyển dữ liệu vào đúng địa chỉ và gọi chương
trình con sau đó cộng lại để được kết quả cuối cùng.
Câu 13:
Điểm: 03 Thang điểm: 10 Thời gian: 15 phút
Nội dung câu hỏi:
- Viết chương trình con cho Vi điều khiển để thực hiện phép tính sau:
5Fh

5Eh
*
5Dh
=

5Ch

5Ah

59h
- Ứng dụng chương trình con trên viết chương trình con cho Vi điều khiển để thực hiện phép
tính sau:
(
4Fh

4Eh

*
4Dh

) _ (
4Ch

4Bh
*
4Ah

)
=
49h

48h

47h
Với các chữ số trong ô là các địa chỉ ô nhớ RAM và ô đứng trước biểu thị byte cao. Cho biết
các phép trừ đều cho kết quả dương.
Trang: 8
Ngân hàng câu hỏi môn Vi xử lý ứng dụng
Đáp án Câu 13:
Điểm: 03 Thang điểm: 10 Thời gian: 15 phút
Nội dung đáp án:
- Dùng các lệnh mov, mul, add, addc thực hiện chương trình nhân.
- Áp dụng chương trình con trên bằng cách di chuyển dữ liệu vào đúng địa chỉ và gọi chương
trình con sau đó trừ lại để được kết quả cuối cùng.
Câu 14:
Điểm: 03 Thang điểm: 10 Thời gian: 15 phút
Nội dung câu hỏi:

- Viết chương trình con cho Vi điều khiển để thực hiện phép tính sau:
55h

54h
_
53h

52h
=

51h

50h
- Ứng dụng chương trình con trên viết chương trình con cho Vi điều khiển để thực hiện phép
tính sau:
(
4Fh

*
4Eh

) _ (
4Dh

*
4Bh

) =

4Ch


4Ah
Với các chữ số trong ô là các địa chỉ ô nhớ RAM và ô đứng trước biểu thị byte cao. Cho biết
các phép trừ đều cho kết quả dương.
Đáp án Câu 14:
Điểm: 03 Thang điểm: 10 Thời gian: 15 phút
Nội dung đáp án:
- Dùng các lệnh di chuyển dữ liệu và lệnh trừ để thực hiện chương trình.
- Dùng lệnh nhân sau đó áp dụng chương trình con trên bằng cách di chuyển dữ liệu vào đúng
địa chỉ và gọi chương trình con để được kết quả cuối cùng.
Câu 15:
Điểm: 03 Thang điểm: 10 Thời gian: 15 phút
Nội dung câu hỏi:
- Viết chương trình con cho Vi điều khiển để thực hiện phép tính sau:
56h

55h
+
54h

53h
=

52h

51h

50h
- Ứng dụng chương trình con trên viết chương trình con cho Vi điều khiển để thực hiện phép
tính sau:

Trang: 9
Ngân hàng câu hỏi môn Vi xử lý ứng dụng
(
4Fh

*
4Eh

) + (
4Dh

*
4Bh

)
=

4Ch

4Ah

4Ah
Với các chữ số trong ô là các địa chỉ ô nhớ RAM và ô đứng trước biểu thị byte cao.
Đáp án Câu 15:
Điểm: 03 Thang điểm: 10 Thời gian: 15 phút
Nội dung đáp án:
- Dùng các lệnh di chuyển dữ liệu và lệnh cộng để thực hiện chương trình.
- Dùng lệnh nhân sau đó áp dụng chương trình con trên bằng cách di chuyển dữ liệu vào đúng
địa chỉ và gọi chương trình con để được kết quả cuối cùng.
Câu 16:

Điểm: 03 Thang điểm: 10 Thời gian: 15 phút
Nội dung câu hỏi:
- Viết chương trình con cho Vi điều khiển để thực hiện phép tính sau:
57h

56h
*
55h

54h
=

53h

52h

51h

50h
- Ứng dụng chương trình con trên viết chương trình con cho Vi điều khiển để thực hiện phép
tính sau:
(
4Fh

*
4Eh

) * (
4Dh


*
4Bh

)
=

4Ch

4Ah

49h

48h
Với các chữ số trong ô là các địa chỉ ô nhớ RAM và ô đứng trước biểu thị byte cao.
Đáp án Câu 16:
Điểm: 03 Thang điểm: 10 Thời gian: 15 phút
Nội dung đáp án:
- Dùng các lệnh mov, mul, add, addc thực hiện chương trình nhân.
- Dùng lệnh nhân sau đó áp dụng chương trình con trên bằng cách di chuyển dữ liệu vào đúng
địa chỉ và gọi chương trình con để được kết quả cuối cùng.
Câu 17:
Điểm: 02 Thang điểm: 10 Thời gian: 15 phút
Nội dung câu hỏi:
Cho đoạn chương trình:
Trang: 10
Ngân hàng câu hỏi môn Vi xử lý ứng dụng
a)
mov a,#30h
mov r0,a
mov @r0,#100

mov a,#70h
add a,30h
mov 31h,a
setb c
subb a,#10
ljmp $
Xác định các giá trị chứa trong các thanh ghi a, r0, 30h, 31h và cờ c.
b)
mov a,#125
mov 20h,a
add a,20h
mov 20h,a
jnb 07h,next
subb a,#200
ljmp $
next: subb a,#100
ljmp $
Xác định các giá trị chứa trong các thanh ghi a, 20h và cờ c.
Đáp án Câu 17:
Điểm: 02 Thang điểm: 10 Thời gian: 15 phút
Nội dung đáp án:
a)
(a) = c9h; (r0) = 30h; (30h) = 64h; (31h) = d4h; (c) = 0
b)
(a) = 32h; (20h) = fah; (c) = 0
Câu 18:
Điểm: 02 Thang điểm: 10 Thời gian: 15 phút
Nội dung câu hỏi:
Cho đoạn chương trình:
a)

mov a,#30h
mov r0,a
mov @r0,#80
mov a,#70h
setb c
subb a,30h
mov 31h,a
add a,#50h
ljmp $
Xác định các giá trị chứa trong các thanh ghi a, r0, 30h, 31h và cờ c
Trang: 11
Ngân hàng câu hỏi môn Vi xử lý ứng dụng
b)
mov a,#125
mov 21h,a
dec 21h
setb 09h
mov a,21h
add a,#150
mov 20h,a
jnb 02h,next
add a,#200
ljmp $
next: add a,#100
ljmp $
Xác định các giá trị chứa trong các thanh ghi a, 20h, 21h và cờ c.
Đáp án Câu 18:
Điểm: 02 Thang điểm: 10 Thời gian: 15 phút
Nội dung đáp án:
a)

(a) = 6fh; (r0) = 30h; (30h) = 50h; (31h) = 1fh; (c) = 0
b)
(a) = dch; (20h) = 14h; (21h) = 7eh; (c) = 0
Câu 19:
Điểm: 02 Thang điểm: 10 Thời gian: 15 phút
Nội dung câu hỏi:
Cho đoạn chương trình:
a)
mov a,#30h
mov r0,a
mov @r0,#120
mov a,#70h
inc r0
mov @r0,#30h
setb c
addc a,31h
ljmp $
Xác định các giá trị chứa trong các thanh ghi a, r0, 30h, 31h và cờ c
b)
mov a,#0ffh
mov r6,#5
mov r7,#15h
back: dec a
dec a
djnz r7,back
djnz r6,back
Trang: 12
Ngân hàng câu hỏi môn Vi xử lý ứng dụng
add a,#100
ljmp $

Xác định các giá trị chứa trong các thanh ghi a, r6, r7 và cờ c.
Đáp án Câu 19:
Điểm: 02 Thang điểm: 10 Thời gian: 15 phút
Nội dung đáp án:
a)
(a) = a1h; (r0) = 31h; (30h) = 78h; (31h) = 30h; (c) = 0
b)
(a) = 39h; (r6) = 0h; (r7) = 0h; (c) = 1
Câu 20:
Điểm: 02 Thang điểm: 10 Thời gian: 15 phút
Nội dung câu hỏi:
Cho đoạn chương trình:
a)
mov a,#30h
mov r0,a
mov @r0,#198
inc 30h
mov a,30h
mov b,#10
div ab
mov 31h,b
ljmp $
Xác định các giá trị chứa trong các thanh ghi a, r0, 30h, 31h và cờ c
b)
mov 30h,#10
mov r7,#0
mov a,#15
back: cjne a,30h,next
dec r7
ljmp $

next: inc r7
inc 30h
ljmp back
Xác định các giá trị chứa trong các thanh ghi a, r7, 30h.
Đáp án Câu 20:
Điểm: 02 Thang điểm: 10 Thời gian: 15 phút
Nội dung đáp án:
a)
(a) = 13h; (r0) = 30h; (30h) = c7h; (31h) = 09h; (c) = 0
b)
(a) = 0fh; (r7) = 04h; (30h) = 0fh
Trang: 13
Ngân hàng câu hỏi môn Vi xử lý ứng dụng
Câu 21:
Điểm: 02 Thang điểm: 10 Thời gian: 15 phút
Nội dung câu hỏi:
Cho đoạn chương trình:
a)
mov a,#30h
mov r1,a
mov @r1,#80h
dec 30h
mov a,30h
mov b,#10h
mul ab
mov 31h,b
ljmp $
Xác định các giá trị chứa trong các thanh ghi a, r1, 30h, 31h và cờ c
b)
mov a,#0ffh

mov r7,#20
back: add a,#3
mov 30h,a
inc 30h
djnz r7,back
inc r7
inc r7
ljmp $
Xác định các giá trị chứa trong các thanh ghi a, r7, 30h.
Đáp án Câu 21:
Điểm: 02 Thang điểm: 10 Thời gian: 15 phút
Nội dung đáp án:
a)
(a) = f0h; (r1) = 30h; (30h) = 7fh; (31h) = 07h; (c) = 0
b)
(a) = 3bh; (r7) = 02h; (30h) = 3ch
Câu 22:
Điểm: 02 Thang điểm: 10 Thời gian: 15 phút
Nội dung câu hỏi:
Cho đoạn chương trình:
a)
mov a,#30h
mov r1,a
mov @r1,#80h
inc r1
mov @r1,#20h
mov a,30h
Trang: 14
Ngân hàng câu hỏi môn Vi xử lý ứng dụng
inc 31h

add a,31h
clr c
subb a,#100
ljmp $
Xác định các giá trị chứa trong các thanh ghi a, r0, 30h, 31h và cờ c
b)
mov r7,#0ffh
mov a,#10
mov r6,#30
back: dec r6
inc a
dec r7
cjne a,06h,back
inc 06h
ljmp $
Xác định các giá trị chứa trong các thanh ghi a, r6, r7.
Đáp án Câu 22:
Điểm: 02 Thang điểm: 10 Thời gian: 15 phút
Nội dung đáp án:
a)
(a) = 3dh; (r1) = 31h; (30h) = 80h; (31h) = 21h; (c) = 0
b)
(a) = 14h; (r6) = 15h; (r7) = f5h
Câu 23:
Điểm: 02 Thang điểm: 10 Thời gian: 15 phút
Nội dung câu hỏi:
Cho đoạn chương trình:
a)
mov a,#30h
mov r1,a

mov @r1,#80h
inc r1
mov @r1,#200
mov a,30h
inc a
dec 31h
dec 31h
add a,31h
setb c
subb a,#10h
ljmp $
Xác định các giá trị chứa trong các thanh ghi a, r1, 30h, 31h và cờ c
Trang: 15
Ngân hàng câu hỏi môn Vi xử lý ứng dụng
b)
mov a,#0c7h
mov r6,#0
back: inc r6
dec a
mov b,10
div ab
mov r7,b
cjne r7,#0,back
ljmp $
Xác định các giá trị chứa trong các thanh ghi a, b, r6, r7.
Đáp án Câu 23:
Điểm: 02 Thang điểm: 10 Thời gian: 15 phút
Nội dung đáp án:
a)
(a) = 36h; (r1) = 31h; (30h) = 80h; (31h) = c6h; (c) = 0

b)
(a) = c6h; (b) = 00h; (r6) = 01h; (r7) = 00h
Trang: 16
Ngân hàng câu hỏi môn Vi xử lý ứng dụng
Chương 4, 5: Hoạt động định thời và hoạt động ngắt
1 Các nội dung kiến thức tối thiểu mà sinh viên phải nắm vững sau khi học xong chương này
1.1 - Liệt kê ngắn gọn các khái niệm, hay các thuật ngữ, hay các định nghĩa, hay tên các sơ đồ (hình
vẽ) nguyên lý, hay các sự kiện, hay hiện tượng, các chỉ tiêu, tiêu chí, . . . cơ bản của chương
- Bộ đếm nhị phân
- Các chế độ định thời
- Khái niệm ngắt timer, ngắt ngoài
1.2 - Liệt kê ngắn gọn các nguyên lý, hay các định lý, hay các công thức, hay các hình vẽ có liên
quan cần cho ứng dụng thực tế
- Phương cách xử lý khi có tràn timer
- Phương cách xử lý khi có ngắt xảy ra
1.3 - Liệt kê ngắn gọn các dạng bài toán (hay vấn đề) các phương pháp, các qui trình, các bước giải
quyết bài toán (hay vấn đề), . . .
- Bài toán sử dụng delay dùng timer
- Sử dụng ngắt timer và ngắt ngoài.
2 Các mục tiêu kiểm tra đánh giá và dạng câu hỏi kiểm tra đánh giá gợi ý chương 4, 5
Stt Mục tiêu kiểm tra đánh giá Nội dung Dạng câu hỏi gợi ý
1 Mức độ Nhớ được các kiến
thức ở mục 1
- Khởi tạo timer
- Khởi tạo ngắt
- Các địa chỉ
vector ngắt
2 Mức độ Hiểu được các kiến
thức đã học ở mục 1
Hiểu hoạt động

ngắt timer, ngắt
ngoài.
3 Khả năng vận dụng các kiến
thức đã học ở mục 1
Vận dụng hoạt
động đếm timer để
giải quyết bài toán
thực tế.
Vận dụng khả năng
đáp ứng kịp thời
của ngắt để giải
quyết bài toán thực
tế cần xử lý tức thì.
Bài toán tạo xung dùng timer
Bài toán nhận phím nhấn dùng ngắt
Bài toán về đếm sản phẩm
Bài toán đo tốc độ
4 Khả năng phân tích: sinh
viên có khả năng phân tích
các bài toán (vấn đề) phức
tạp thành các bài toán cơ bản
Phân tích bài toán
để lựa chọn các chế
độ đếm của timer
Phân tích bài toán
để lựa chọn dùng
ngắt nào
5
Trang: 17
Ngân hàng câu hỏi môn Vi xử lý ứng dụng

3 Ngân hàng câu hỏi và đáp án chi tiết chương 4,5
Câu 24:
Điểm: 02 Thang điểm: 10 Thời gian: 15 phút
Nội dung câu hỏi:
Viết chương trình cho Vi điều khiển tạo 1 xung mức cao tại chân P1.0 trong thời gian 90ms
sau mỗi lần nhấn phím. Phím nhấn được kết nối với P1.1 và mass. (viết chương trình delay dùng
timer 0)
Đáp án Câu 24:
Điểm: 02 Thang điểm: 10 Thời gian: 15 phút
Nội dung đáp án:
- Khởi tạo timer 0 ở chế độ đếm thời gian 16 bit.
- Dùng lệnh jb, jnb để kiểm tra phím nhấn.
- Setb P1.0 khi có phím và dùng timer để delay đúng 90ms.
- Dùng lệnh nhảy về kiểm tra lại phím.
Câu 25:
Điểm: 02 Thang điểm: 10 Thời gian: 15 phút
Nội dung câu hỏi:
Viết chương trình cho Vi điều khiển tạo xung như hình vẽ tại chân P2.7 (viết chương trình
delay dùng timer 1).
Đáp án Câu 25:
Điểm: 02 Thang điểm: 10 Thời gian: 15 phút
Nội dung đáp án:
- Khởi tạo timer 1 ở chế độ đếm thời gian 16 bit.
- Setb P2.7 trong thời gian 50ms và clr P2.7 trong thời gian 80m.
- Dùng lệnh nhảy về thực hiện lại.
Câu 26:
Điểm: 02 Thang điểm: 10 Thời gian: 15 phút
Nội dung câu hỏi:
Viết chương trình cho Vi điều khiển tạo xung như hình vẽ tại chân P3.0 (viết chương trình
delay dùng timer 0).

Trang: 18
50ms 80ms
65ms 90ms
Ngân hàng câu hỏi môn Vi xử lý ứng dụng
Đáp án Câu 26:
Điểm: 02 Thang điểm: 10 Thời gian: 15 phút
Nội dung đáp án:
- Khởi tạo timer 0 ở chế độ đếm thời gian 16 bit.
- Clr P3.0 trong thời gian 65ms và setb P3.0 trong thời gian 90m.
- Dùng lệnh nhảy về thực hiện lại.
Câu 27:
Điểm: 02 Thang điểm: 10 Thời gian: 15 phút
Nội dung câu hỏi:
Viết chương trình cho Vi điều khiển thực hiện cùng lúc các yêu cầu:
- Chớp tắt đèn LED ở P1.0 trong mỗi 1 giây thay đổi trạng thái LED 1 lần (LED sáng ở mức
1).
- Khi phím nhấn được nhấn thì đảo trạng thái chân P1.1 với phím nhấn được kết nối vào chân
P3.2 và mass (dùng ngắt ngoài trong chương trình này).
Đáp án Câu 27:
Điểm: 02 Thang điểm: 10 Thời gian: 15 phút
Nội dung đáp án:
- Khởi tạo ngắt ngoài 0 ở chế độ ngắt cạnh.
- Tại địa chỉ ngắt viết lệnh đảo bit P1.1.
- Trong chương trình chính viết lệnh đảo bit P1.0 sau thời gian 1 giây.
Câu 28:
Điểm: 02 Thang điểm: 10 Thời gian: 15 phút
Nội dung câu hỏi:
Viết chương trình cho Vi điều khiển dùng counter để đếm số sản phẩm đi qua băng chuyền
trong mỗi giây (với số sản phẩm đi qua mỗi giây không lớn hơn 255; cập nhật liên tục mỗi giây và
lưu vào ô nhớ 30h). Biết rằng 1 sản phẩm đi qua sẽ tạo ra 1 xung ở chân P3.5.

Đáp án Câu 28:
Điểm: 02 Thang điểm: 10 Thời gian: 15 phút
Nội dung đáp án:
- Khởi tạo timer 1 ở chế độ counter 16 bit hoặc 8 bit.
- Sau mỗi giây copy dữ liệu từ byte thấp bộ đếm vào ô nhớ 30h.
Câu 29:
Điểm: 02 Thang điểm: 10 Thời gian: 15 phút
Nội dung câu hỏi:
Trang: 19
Ngân hàng câu hỏi môn Vi xử lý ứng dụng
Viết chương trình cho Vi điều khiển dùng counter để đo tốc độ 1 motor (tốc độ tính bằng
vòng/giây; tốc độ không lớn hơn 255 vòng/giây). Tốc độ được cập nhật liên tục mỗi giây và lưu vào
ô nhớ 3Fh. Biết rằng 1 vòng quay của motor sẽ tạo 1 xung ở chân P3.4.
Đáp án Câu 29:
Điểm: 02 Thang điểm: 10 Thời gian: 15 phút
Nội dung đáp án:
- Khởi tạo timer 0 ở chế độ counter 16 bit hoặc 8 bit.
- Sau mỗi giây copy dữ liệu từ byte thấp bộ đếm vào ô nhớ 3fh.
Câu 30:
Điểm: 02 Thang điểm: 10 Thời gian: 15 phút
Nội dung câu hỏi:
Viết chương trình cho Vi điều khiển dùng timer và ngắt ngoài để đo thời gian 1 sản phẩm đi
qua băng chuyền (thời gian này không quá 255 µs; liên tục cập nhật thời gian này khi 1 sản phẩm đi
qua và lưu vào ô 3Eh). Biết rằng mỗi sản phẩm đi qua sẽ tạo ra 1 xung ở chân P3.2.
Đáp án Câu 30:
Điểm: 02 Thang điểm: 10 Thời gian: 15 phút
Nội dung đáp án:
- Khởi tạo timer 0 hoặc timer 1 ở chế độ đếm thời gian 8 bit hoặc16 bit.
- Khởi tạo ngắt ngoài 0 ở chế độ ngắt cạnh.
- Trong chương trình ngắt copy thời gian vào ô nhớ 3eh sau đó reset timer.

Trang: 20
Ngân hàng câu hỏi môn Vi xử lý ứng dụng
Lưu ý:
- Dạng tổ chức biên soạn ngân hàng theo bảng trên được biên soạn gợi ý chủ yếu cho các môn học
có tính lý thuyết, đối với một số môn học đặc thù khác người biên soạn có thể đề xuất dạng tổ chức
biên soạn ngân hàng ở mục 3 này sao cho đảm bảo quản lý câu hỏi và đáp án không bị lẫn lộn.
- Mức điểm thấp nhất trong đáp án thống nhất là 0,5 điểm.
B - HƯỚNG DẪN SỬ DỤNG NGÂN HÀNG CÂU HỎI
- Thời điểm áp dụng: từ khóa 2004, lớp nhiệt hoặc ôtô.
- Phạm vi các trình độ và loại hình đào tạo có thể áp dụng:
Trình độ đại học, chính qui hoặc tại chức.
- Cách thức tổ hợp các câu hỏi thành phần thành các đề thi.
Đề thi gồm 4 câu: 1 câu 3 điểm gồm các câu viết chương trình điều khiển, 1 câu 3 điểm gồm các
câu viết chương trình xử lý toán học, 1 câu 2 điểm gồm các câu viết chương trình dùng timer và
ngắt, 1 câu 2 điểm gồm các câu đọc chương trình.
Ngân hàng câu hỏi thi này đã được thông qua bộ môn và nhóm cán bộ giảng dạy học phần.
Tp.HCM, ngày . . . tháng . . . . năm . . . . . .
Người biên soạn
(Kí và ghi rõ họ tên, học hàm, học vị)
KS. Nguyễn Trọng Thức
Tổ trưởng bộ môn: . . . . . . . . . . . (Kí và ghi rõ họ tên, học hàm, học vị)
Cán bộ giảng dạy 1: . . . . . . . . . . . (Kí và ghi rõ họ tên, học hàm, học vị)
Cán bộ giảng dạy 2: . . . . . . . . . . . (Kí và ghi rõ họ tên, học hàm, học vị)
Cán bộ giảng dạy 2: . . . . . . . . . . . (Kí và ghi rõ họ tên, học hàm, học vị)
Trang: 21

×