[Cánh diều] Trắc nghiệm Công nghệ Điện - điện tử 12 Ôn tập chủ đề 9 vi điều khiển
1. Khi sử dụng thanh ghi điều khiển của một module ngoại vi (ví dụ: Timer), việc thiết lập một bit cấu hình sang 1 thường có ý nghĩa gì?
A. Vô hiệu hóa chức năng đó.
B. Kích hoạt hoặc bật chức năng đó.
C. Đặt lại giá trị ban đầu của thanh ghi.
D. Chuyển đổi hướng của cổng I/O.
2. PWM (Pulse Width Modulation) là một kỹ thuật điều chế tín hiệu rất hữu ích trong điều khiển. Ứng dụng phổ biến nhất của PWM trong các hệ thống nhúng là gì?
A. Truyền dữ liệu qua cổng nối tiếp.
B. Điều khiển độ sáng của đèn LED hoặc tốc độ động cơ.
C. Đọc giá trị từ cảm biến nhiệt độ.
D. Tạo ra tín hiệu clock cho hệ thống.
3. Trong lập trình vi điều khiển, polling (quét) là một phương pháp để kiểm tra trạng thái của một thiết bị ngoại vi hoặc một sự kiện. Ưu điểm chính của phương pháp polling là gì?
A. Hiệu quả sử dụng năng lượng cao.
B. Đơn giản để cài đặt và không yêu cầu phần cứng phức tạp.
C. Luôn đảm bảo phản hồi tức thời với mọi sự kiện.
D. Giảm tải cho CPU bằng cách xử lý ngắt tự động.
4. Giả sử bạn đang viết mã cho vi điều khiển và cần thực hiện một hành động lặp đi lặp lại sau mỗi 10 mili giây. Module nào trong vi điều khiển thường được sử dụng để tạo ra khoảng thời gian chính xác này?
A. ADC Module.
B. UART Module.
C. Timer Module.
D. Comparator Module.
5. Trong kiến trúc vi điều khiển, bộ nhớ RAM (Random Access Memory) được sử dụng để:
A. Lưu trữ vĩnh viễn chương trình ứng dụng.
B. Lưu trữ dữ liệu tạm thời, biến số và ngăn xếp trong quá trình hoạt động.
C. Chứa các hằng số và dữ liệu không thay đổi.
D. Lưu trữ hệ điều hành thời gian thực (RTOS).
6. Trong kiến trúc vi điều khiển 8-bit phổ biến như dòng PIC16, đơn vị xử lý trung tâm (CPU) thực hiện các lệnh tuần tự. Đâu là hoạt động cơ bản nhất của CPU trong một chu kỳ lệnh?
A. Ghi dữ liệu vào RAM.
B. Đọc lệnh từ bộ nhớ chương trình và giải mã lệnh.
C. Gửi tín hiệu điều khiển đến các thiết bị ngoại vi.
D. Thực hiện phép tính số học phức tạp.
7. ADC (Analog-to-Digital Converter) là một khối chức năng quan trọng trong nhiều vi điều khiển. Chức năng chính của ADC là gì?
A. Chuyển đổi tín hiệu số thành tín hiệu tương tự.
B. Chuyển đổi tín hiệu tương tự thành tín hiệu số.
C. Tăng cường độ khuếch đại của tín hiệu số.
D. Lọc bỏ nhiễu trong tín hiệu tương tự.
8. Vi điều khiển dòng PIC thường có các thanh ghi cấu hình cho từng cổng I/O. Thanh ghi nào được sử dụng để bật/tắt bộ chuyển đổi Analog-to-Digital (ADC) và lựa chọn kênh ADC?
A. TRISA/TRISB (Direction Registers).
B. PORTA/PORTB (Data Registers).
C. ADCON0/ADCON1 (ADC Control Registers).
D. INTCON (Interrupt Control Register).
9. Khi lập trình cho vi điều khiển, việc sử dụng các thư viện (libraries) có vai trò gì?
A. Thay thế hoàn toàn phần cứng của vi điều khiển.
B. Cung cấp các hàm và thủ tục được định nghĩa sẵn để đơn giản hóa việc điều khiển các chức năng phần cứng.
C. Tăng dung lượng bộ nhớ chương trình một cách không cần thiết.
D. Chỉ cho phép lập trình bằng ngôn ngữ Assembly.
10. Khi cấu hình một chân I/O là đầu vào (Input), điều quan trọng là đảm bảo nó không bị lơ lửng (floating). Để tránh tình trạng này, người ta thường sử dụng cấu hình nào?
A. Kết nối với nguồn VCC (Pull-up).
B. Kết nối với GND (Pull-down).
C. Cả hai phương án Pull-up và Pull-down đều hiệu quả như nhau.
D. Để chân chân I/O không kết nối với bất kỳ thứ gì.
11. Một Timer/Counter trong vi điều khiển có thể được sử dụng cho nhiều mục đích. Mục đích phổ biến nhất của Timer là gì?
A. Tăng tốc độ giao tiếp nối tiếp.
B. Đo lường điện áp của tín hiệu đầu vào.
C. Tạo ra khoảng thời gian trễ chính xác hoặc đo thời gian.
D. Lưu trữ dữ liệu không bay hơi.
12. Vi điều khiển có thể được lập trình bằng nhiều phương pháp. Ngôn ngữ lập trình cấp cao nào sau đây thường được sử dụng phổ biến nhất cho lập trình vi điều khiển nhúng?
A. Python.
B. Java.
C. C/C++.
D. JavaScript.
13. Vi điều khiển có thể giao tiếp với bộ nhớ ngoài. Chuẩn giao tiếp I2C (Inter-Integrated Circuit) thường được sử dụng cho mục đích gì?
A. Kết nối với màn hình đồ họa độ phân giải cao.
B. Giao tiếp với các thiết bị ngoại vi có địa chỉ riêng như EEPROM, cảm biến.
C. Truyền dữ liệu tốc độ cao giữa hai vi xử lý.
D. Kết nối với mạng Ethernet.
14. UART (Universal Asynchronous Receiver/Transmitter) là một chuẩn giao tiếp nối tiếp phổ biến. Tốc độ Baud (Baud Rate) trong UART xác định điều gì?
A. Số lượng bit dữ liệu trong mỗi khung truyền.
B. Tốc độ truyền dữ liệu, tính bằng bit trên giây (bps).
C. Số bit dừng (Stop bit) trong mỗi khung truyền.
D. Khả năng phát hiện lỗi trong quá trình truyền.
15. Trong lập trình vi điều khiển, Watchdog Timer (WDT) là một cơ chế bảo vệ. Mục đích chính của WDT là gì?
A. Tăng tốc độ xử lý của chương trình.
B. Giúp vi điều khiển tự khởi động lại nếu chương trình bị treo.
C. Đo lường thời gian hoạt động của vi điều khiển.
D. Tạo ra tín hiệu ngắt định kỳ.
16. Vi điều khiển có các cổng I/O (Input/Output). Để sử dụng một chân vi điều khiển như một đầu ra (Output), chúng ta cần cấu hình thanh ghi nào của cổng đó?
A. Thanh ghi dữ liệu (Data Register).
B. Thanh ghi cấu hình hướng (Direction Register).
C. Thanh ghi trạng thái (Status Register).
D. Thanh ghi bộ đếm (Counter Register).
17. Khi một vi điều khiển thực hiện lệnh CALL để gọi một chương trình con (subroutine), điều gì sẽ xảy ra với con trỏ chương trình (Program Counter - PC)?
A. PC sẽ tăng lên một giá trị cố định để bỏ qua lệnh tiếp theo.
B. PC sẽ được lưu vào ngăn xếp (stack) và sau đó trỏ đến địa chỉ của chương trình con.
C. PC sẽ bị xóa để bắt đầu lại chương trình.
D. PC sẽ trỏ đến địa chỉ của lệnh ngay sau lệnh CALL.
18. Vi điều khiển 8-bit thường có kích thước thanh ghi là 8 bit. Điều này có nghĩa là gì đối với phạm vi giá trị mà nó có thể biểu diễn trực tiếp?
A. Có thể biểu diễn các số nguyên từ 0 đến 255 hoặc -128 đến 127.
B. Có thể biểu diễn các số nguyên từ 0 đến 65535.
C. Có thể biểu diễn các số thực có 8 chữ số thập phân.
D. Chỉ có thể biểu diễn các giá trị logic (0 hoặc 1).
19. Thanh ghi SP (Stack Pointer) trong vi điều khiển là gì và nó dùng để làm gì?
A. Lưu trữ địa chỉ của chương trình chính.
B. Trỏ đến vị trí hiện tại trên ngăn xếp (stack) để lưu/lấy dữ liệu.
C. Chứa giá trị của phép toán cuối cùng.
D. Lưu trữ địa chỉ của ngắt tiếp theo.
20. Vi điều khiển có thể quản lý nhiều ngắt cùng lúc. Khi hai hoặc nhiều ngắt xảy ra gần như đồng thời, hệ thống sẽ ưu tiên xử lý ngắt nào trước dựa trên khái niệm độ ưu tiên ngắt (Interrupt Priority)?
A. Ngắt xảy ra trước sẽ được xử lý trước.
B. Ngắt có độ ưu tiên cao hơn sẽ được xử lý trước.
C. Ngắt từ các thiết bị ngoại vi nhanh hơn sẽ được xử lý trước.
D. Vi điều khiển sẽ xử lý ngắt một cách ngẫu nhiên.
21. Trong các giao tiếp nối tiếp phổ biến của vi điều khiển, chuẩn SPI (Serial Peripheral Interface) hoạt động theo mô hình master-slave. Chế độ hoạt động nào của SPI cho phép thiết bị slave đọc dữ liệu từ master với độ trễ thấp nhất?
A. SPI Mode 0 (CPOL=0, CPHA=0).
B. SPI Mode 1 (CPOL=0, CPHA=1).
C. SPI Mode 2 (CPOL=1, CPHA=0).
D. SPI Mode 3 (CPOL=1, CPHA=1).
22. Khi lập trình vi điều khiển, khái niệm Interrupt (ngắt) được sử dụng để làm gì?
A. Tăng tốc độ xử lý của vi điều khiển.
B. Cho phép vi điều khiển tạm dừng chương trình chính để xử lý một sự kiện ưu tiên.
C. Giảm dung lượng bộ nhớ chương trình cần thiết.
D. Tự động sao lưu dữ liệu khi mất điện.
23. Thanh ghi trạng thái (Status Register/SR) trong vi điều khiển chứa các bit cờ (flag) biểu thị kết quả của các phép toán hoặc trạng thái hoạt động. Bit nào sau đây thường biểu thị kết quả của phép trừ hoặc cộng có nhớ/mượn?
A. Zero Flag (Z).
B. Carry Flag (C) hoặc Borrow Flag (B).
C. Overflow Flag (V).
D. Interrupt Enable Flag (IE).
24. Khi muốn gửi một byte dữ liệu đến một thiết bị ngoại vi qua giao tiếp song song, vi điều khiển sẽ thực hiện hành động nào?
A. Ghi byte dữ liệu vào thanh ghi dữ liệu của cổng I/O tương ứng.
B. Cấu hình chân I/O thành đầu ra và thiết lập bit ưu tiên.
C. Kích hoạt tín hiệu clock cho module giao tiếp.
D. Đọc trạng thái của thiết bị ngoại vi trước.
25. Bộ nhớ chương trình (Program Memory) trong vi điều khiển có vai trò lưu trữ gì?
A. Dữ liệu tạm thời của các biến đang sử dụng.
B. Các lệnh của chương trình ứng dụng.
C. Cấu hình các thanh ghi chức năng.
D. Dữ liệu đầu vào từ cảm biến.