Đáp án đúng: B
Vi điều khiển 8051/8031 có 2 timer (Timer 0 và Timer 1). Mỗi timer có thể hoạt động ở 4 chế độ (mode) khác nhau. Vậy đáp án đúng là B. 2, 4.
Câu hỏi liên quan
Khi sử dụng Timer để định thì (tạo trễ thời gian), ta cần cấu hình Timer ở chế độ Timer, tức là đếm xung clock nội bộ của vi điều khiển. Để làm điều này, ta cần thiết lập bit C/T (Counter/Timer) về 0 (C/T = 0). Bit TR (Timer Run) được set lên 1 (TR = 1) để cho phép timer bắt đầu đếm. Do đó, đáp án A và D đều cần thiết nhưng đáp án A liên quan trực tiếp đến việc chọn chế độ định thì.
* TMOD = #02H: Chọn Timer 0 ở chế độ 2 (8-bit tự động nạp lại).
* TH0 = # -100: Giá trị ban đầu của thanh ghi TH0 là -100 (tương đương 256 - 100 = 156). Timer 0 sẽ đếm từ 156 đến 255, sau đó tràn và nạp lại giá trị 156 từ TL0. Khi tràn, cờ TF0 được set.
* SETB TR0: Bắt đầu Timer 0.
* LOOP: Vòng lặp kiểm tra cờ TF0. Khi TF0 được set, vòng lặp kết thúc.
* CLR TF0: Xóa cờ TF0 để chuẩn bị cho lần đếm tiếp theo.
* CPL P1.1: Đảo trạng thái bit P1.1. Đây là thao tác tạo ra sóng vuông.
* SJMP LOOP: Quay lại vòng lặp.
Tính toán chu kỳ:
* Timer 0 ở chế độ 2, sử dụng bộ chia tần số mặc định là 12 (tần số dao động thạch anh chia cho 12).
* Giả sử tần số dao động là 12MHz, thì tần số của timer là 1MHz (12MHz / 12).
* Thời gian đếm một đơn vị là 1µs (1 / 1MHz).
* Timer đếm từ 156 đến 255, tức là đếm 256 - 156 = 100 đơn vị.
* Thời gian tràn là 100 * 1µs = 100µs.
* Vì bit P1.1 được đảo trạng thái mỗi khi Timer 0 tràn, nên chu kỳ của sóng vuông là 2 * 100µs = 200µs.
Vậy, chương trình tạo ra sóng vuông có chu kỳ 200µs trên chân P1.1.
1. `MOV 30H, #35H`: Gán giá trị 35H vào ô nhớ có địa chỉ 30H.
2. `MOV 35H, #4BH`: Gán giá trị 4BH vào ô nhớ có địa chỉ 35H.
3. `MOV A, 35H`: Lệnh này di chuyển nội dung của ô nhớ có địa chỉ 35H vào thanh ghi A. Vì ô nhớ 35H đang chứa giá trị 4BH, nên thanh ghi A sẽ nhận giá trị 4BH.
Vậy, kết quả cuối cùng của thanh ghi A là 4BH.
Bước 1: `MOV A, #4BH` - Gán giá trị 4BH vào thanh ghi A.
Bước 2: `ADD A, #30H` - Cộng giá trị 30H vào thanh ghi A.
Thực hiện phép cộng: 4BH + 30H = 7BH.
Vậy, kết quả cuối cùng của thanh ghi A là 7BH.
Đoạn mã Assembler thực hiện phép cộng hai số hệ thập lục phân.
Bước 1: MOV A, #32H: Gán giá trị 32H (tương đương 50 trong hệ thập phân) vào thanh ghi A.
Bước 2: ADD A, #23H: Cộng giá trị 23H (tương đương 35 trong hệ thập phân) vào giá trị hiện tại của thanh ghi A.
Vậy, A = 32H + 23H = 55H
Do đó, kết quả cuối cùng của thanh ghi A là 55H.
Cho đoạn mã Assembler sau:
ORG 0000H
MOV A, #32H
ADD A, #23
END.
Kết quả của thanh ghi A là:

Bộ Đồ Án Tốt Nghiệp Ngành Trí Tuệ Nhân Tạo Và Học Máy

Bộ 120+ Đồ Án Tốt Nghiệp Ngành Hệ Thống Thông Tin

Bộ Đồ Án Tốt Nghiệp Ngành Mạng Máy Tính Và Truyền Thông

Bộ Luận Văn Tốt Nghiệp Ngành Kiểm Toán

Bộ 370+ Luận Văn Tốt Nghiệp Ngành Kế Toán Doanh Nghiệp

Bộ Luận Văn Tốt Nghiệp Ngành Quản Trị Thương Hiệu
ĐĂNG KÝ GÓI THI VIP
- Truy cập hơn 100K đề thi thử và chính thức các năm
- 2M câu hỏi theo các mức độ: Nhận biết – Thông hiểu – Vận dụng
- Học nhanh với 10K Flashcard Tiếng Anh theo bộ sách và chủ đề
- Đầy đủ: Mầm non – Phổ thông (K12) – Đại học – Người đi làm
- Tải toàn bộ tài liệu trên TaiLieu.VN
- Loại bỏ quảng cáo để tăng khả năng tập trung ôn luyện
- Tặng 15 ngày khi đăng ký gói 3 tháng, 30 ngày với gói 6 tháng và 60 ngày với gói 12 tháng.