Trả lời:
Đáp án đúng: A
Trong 8051, Timer 1 có một bit điều khiển chạy/dừng được gọi là TR1 (Timer 1 Run). Khi bit này được set lên 1, Timer 1 bắt đầu đếm. Khi bit này được reset về 0, Timer 1 dừng đếm.
- TF1 (Timer 1 Flag) là cờ báo tràn của Timer 1. Nó được set lên 1 khi Timer 1 tràn.
- TL1 (Timer 1 Low) và TH1 (Timer 1 High) là các thanh ghi 8-bit chứa giá trị hiện tại của Timer 1.
Câu hỏi liên quan
Lời giải:
Đáp án đúng: B
Để Timer hoạt động ở chế độ đếm thời gian (tạo xung clock từ bộ dao động bên trong vi điều khiển), ta cần thiết lập bit C/T (Counter/Timer) = 0. Khi C/T = 1, Timer hoạt động ở chế độ đếm sự kiện (đếm xung từ bên ngoài). TR (Timer Run) là bit cho phép Timer hoạt động, TR = 1 để Timer chạy và TR = 0 để dừng Timer. Trong câu hỏi này, yêu cầu là "đếm số kiện" nên C/T phải được cấu hình để đếm sự kiện, tức là C/T = 1.
Lời giải:
Đáp án đúng: D
Chương trình sử dụng Timer 0 ở chế độ 2 (auto-reload). Giá trị nạp vào TH0 là 9CH (156 trong hệ thập phân).
Ở chế độ 2, Timer 0 sẽ đếm từ 156 đến 255, sau đó tự động nạp lại giá trị 156 vào TH0 và cờ TF0 được bật (TF0 = 1).
Số xung clock cần thiết để TF0 được bật là: 256 - 156 = 100 xung.
Với tần số clock của vi điều khiển 8051 là 12MHz, chu kỳ của một xung clock là 1/12MHz = 1/12 µs.
Vì vậy, thời gian để TF0 được bật là: 100 * (1/12) µs = 100/12 µs = 8.333 µs.
Lệnh `CPL P1.1` đảo trạng thái của chân P1.1. Lệnh này được thực hiện mỗi khi TF0 được bật.
Như vậy, chu kỳ của sóng vuông trên chân P1.1 là 2 * 8.333 µs ≈ 16.666 µs.
Tuy nhiên, cần xem xét lại đề bài vì không có đáp án nào gần với kết quả tính toán. Có thể có một số sai sót trong đề bài hoặc cách tính toán. Trong các đáp án được đưa ra, đáp án gần đúng nhất là B (78µs), nhưng cần lưu ý rằng đáp án này không chính xác hoàn toàn với phân tích trên.
Phân tích lại:
Nếu chu kỳ của sóng vuông là 78µs, thì thời gian mức cao hoặc mức thấp là 39µs.
Số xung clock tương ứng là 39µs * 12MHz = 468 xung. Điều này không phù hợp với cách Timer 0 hoạt động ở chế độ 2.
Do đó, không có đáp án nào chính xác trong các lựa chọn đã cho. Có thể có lỗi trong đề bài hoặc các thông số không đầy đủ.
Ở chế độ 2, Timer 0 sẽ đếm từ 156 đến 255, sau đó tự động nạp lại giá trị 156 vào TH0 và cờ TF0 được bật (TF0 = 1).
Số xung clock cần thiết để TF0 được bật là: 256 - 156 = 100 xung.
Với tần số clock của vi điều khiển 8051 là 12MHz, chu kỳ của một xung clock là 1/12MHz = 1/12 µs.
Vì vậy, thời gian để TF0 được bật là: 100 * (1/12) µs = 100/12 µs = 8.333 µs.
Lệnh `CPL P1.1` đảo trạng thái của chân P1.1. Lệnh này được thực hiện mỗi khi TF0 được bật.
Như vậy, chu kỳ của sóng vuông trên chân P1.1 là 2 * 8.333 µs ≈ 16.666 µs.
Tuy nhiên, cần xem xét lại đề bài vì không có đáp án nào gần với kết quả tính toán. Có thể có một số sai sót trong đề bài hoặc cách tính toán. Trong các đáp án được đưa ra, đáp án gần đúng nhất là B (78µs), nhưng cần lưu ý rằng đáp án này không chính xác hoàn toàn với phân tích trên.
Phân tích lại:
Nếu chu kỳ của sóng vuông là 78µs, thì thời gian mức cao hoặc mức thấp là 39µs.
Số xung clock tương ứng là 39µs * 12MHz = 468 xung. Điều này không phù hợp với cách Timer 0 hoạt động ở chế độ 2.
Do đó, không có đáp án nào chính xác trong các lựa chọn đã cho. Có thể có lỗi trong đề bài hoặc các thông số không đầy đủ.
Lời giải:
Đáp án đúng: C
Đoạn mã Assembler thực hiện các thao tác sau:
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`: Gán giá trị 35H (là một hằng số) vào thanh ghi A.
Vậy, giá trị cuối cùng của thanh ghi A là 35H.
Do đó, đáp án đúng là C.
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`: Gán giá trị 35H (là một hằng số) vào thanh ghi A.
Vậy, giá trị cuối cùng của thanh ghi A là 35H.
Do đó, đáp án đúng là C.
Lời giải:
Đáp án đúng: D
Đoạn mã Assembly thực hiện các thao tác sau:
1. `MOV 40H, #65`: Gán giá trị 65 (tương đương 41H) vào ô nhớ có địa chỉ 40H.
2. `MOV 41H, #19`: Gán giá trị 19 (tương đương 13H) vào ô nhớ có địa chỉ 41H.
3. `MOV R1, 40H`: Gán giá trị 40H (địa chỉ ô nhớ) vào thanh ghi R1. Lúc này R1 chứa địa chỉ 40H.
4. `MOV A, @R1`: Lệnh này di chuyển nội dung của ô nhớ có địa chỉ được chứa trong R1 vào thanh ghi A. Vì R1 đang chứa 40H, lệnh này sẽ di chuyển nội dung của ô nhớ 40H vào thanh ghi A. Ô nhớ 40H đang chứa giá trị 65.
Vậy sau khi thực hiện lệnh `MOV A, @R1`, thanh ghi A sẽ chứa giá trị 65 (tương đương 41H).
1. `MOV 40H, #65`: Gán giá trị 65 (tương đương 41H) vào ô nhớ có địa chỉ 40H.
2. `MOV 41H, #19`: Gán giá trị 19 (tương đương 13H) vào ô nhớ có địa chỉ 41H.
3. `MOV R1, 40H`: Gán giá trị 40H (địa chỉ ô nhớ) vào thanh ghi R1. Lúc này R1 chứa địa chỉ 40H.
4. `MOV A, @R1`: Lệnh này di chuyển nội dung của ô nhớ có địa chỉ được chứa trong R1 vào thanh ghi A. Vì R1 đang chứa 40H, lệnh này sẽ di chuyển nội dung của ô nhớ 40H vào thanh ghi A. Ô nhớ 40H đang chứa giá trị 65.
Vậy sau khi thực hiện lệnh `MOV A, @R1`, thanh ghi A sẽ chứa giá trị 65 (tương đương 41H).
Lời giải:
Đáp án đúng: C
Đoạn mã Assembler thực hiện các thao tác sau:
1. `MOV R0, #32`: Gán giá trị 32 (số thập phân) vào thanh ghi R0. R0 bây giờ chứa địa chỉ 32H.
2. `MOV 33H, #4A`: Gán giá trị 4A (số thập lục phân) vào ô nhớ có địa chỉ 33H.
3. `MOV @R0, #33H`: Gán giá trị 33H vào ô nhớ có địa chỉ được chứa trong thanh ghi R0. Vì R0 đang chứa 32, lệnh này sẽ gán giá trị 33H vào ô nhớ có địa chỉ 32H.
Vậy, sau khi đoạn mã thực thi, ô nhớ có địa chỉ 32H sẽ chứa giá trị 33H.
1. `MOV R0, #32`: Gán giá trị 32 (số thập phân) vào thanh ghi R0. R0 bây giờ chứa địa chỉ 32H.
2. `MOV 33H, #4A`: Gán giá trị 4A (số thập lục phân) vào ô nhớ có địa chỉ 33H.
3. `MOV @R0, #33H`: Gán giá trị 33H vào ô nhớ có địa chỉ được chứa trong thanh ghi R0. Vì R0 đang chứa 32, lệnh này sẽ gán giá trị 33H vào ô nhớ có địa chỉ 32H.
Vậy, sau khi đoạn mã thực thi, ô nhớ có địa chỉ 32H sẽ chứa giá trị 33H.
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Bộ Đồ Án Tốt Nghiệp Ngành Trí Tuệ Nhân Tạo Và Học Máy
89 tài liệu310 lượt tải

Bộ 120+ Đồ Án Tốt Nghiệp Ngành Hệ Thống Thông Tin
125 tài liệu441 lượt tải

Bộ Đồ Án Tốt Nghiệp Ngành Mạng Máy Tính Và Truyền Thông
104 tài liệu687 lượt tải

Bộ Luận Văn Tốt Nghiệp Ngành Kiểm Toán
103 tài liệu589 lượt tải

Bộ 370+ Luận Văn Tốt Nghiệp Ngành Kế Toán Doanh Nghiệp
377 tài liệu1030 lượt tải

Bộ Luận Văn Tốt Nghiệp Ngành Quản Trị Thương Hiệu
99 tài liệu1062 lượt tải
ĐĂ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.
77.000 đ/ tháng