[Cánh diều] Trắc nghiệm Công nghệ Điện - điện tử 12 bài 25: Bo mạch lập trình vi điều khiển
1. Khi làm việc với chân GPIO dưới dạng OUTPUT, giá trị HIGH (hoặc 1) thường có nghĩa là gì?
A. Chân đó đang ở mức điện áp thấp (gần 0V).
B. Chân đó đang ở mức điện áp cao (gần với điện áp nguồn).
C. Chân đó đang ở trạng thái trở kháng cao, không dẫn điện.
D. Chân đó đang nhận tín hiệu từ bên ngoài.
2. Bộ nhớ EEPROM (Electrically Erasable Programmable Read-Only Memory) trên vi điều khiển thường được dùng để lưu trữ:
A. Chương trình chính của vi điều khiển.
B. Dữ liệu cấu hình, cài đặt hoặc các giá trị nhỏ cần lưu trữ lâu dài.
C. Dữ liệu tạm thời trong quá trình xử lý.
D. Hệ điều hành thời gian thực.
3. Loại bộ nhớ nào thường được sử dụng để lưu trữ chương trình của vi điều khiển một cách vĩnh viễn, ngay cả khi mất điện?
A. RAM.
B. EEPROM.
C. Flash Memory (Bộ nhớ Flash).
D. Cache Memory.
4. Trong ngôn ngữ lập trình C cho vi điều khiển, câu lệnh nào sau đây thường được sử dụng để khai báo một biến có kiểu dữ liệu số nguyên không dấu với 8 bit?
A. int myVariable;
B. float myVariable;
C. unsigned char myVariable;
D. char myVariable;
5. Trong ngôn ngữ C cho vi điều khiển, câu lệnh nào sau đây được dùng để xuất một giá trị ra chân GPIO đang ở chế độ OUTPUT?
A. int value = digitalRead(pin);
B. digitalWrite(pin, HIGH);
C. delay(1000);
D. analogRead(pin);
6. Nếu bạn muốn điều khiển một động cơ DC bằng cách thay đổi tốc độ quay của nó thông qua vi điều khiển, phương pháp nào là phù hợp nhất?
A. Sử dụng chân GPIO để cấp nguồn trực tiếp cho động cơ.
B. Sử dụng kỹ thuật điều chế độ rộng xung (PWM - Pulse Width Modulation).
C. Sử dụng chân GPIO để đọc trạng thái của động cơ.
D. Dùng nút Reset để điều khiển tốc độ.
7. Trong kiến trúc vi điều khiển, vai trò chính của bộ nhớ chương trình (Program Memory) là gì?
A. Lưu trữ dữ liệu tạm thời trong quá trình xử lý.
B. Chứa mã lệnh (instructions) mà vi điều khiển sẽ thực thi.
C. Lưu trữ các giá trị cấu hình ban đầu của hệ thống.
D. Quản lý các thiết bị ngoại vi kết nối với vi điều khiển.
8. Chức năng của bộ chuyển đổi Analog-to-Digital Converter (ADC) trên vi điều khiển 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ự (analog) thành tín hiệu số (digital) để vi điều khiển xử lý.
C. Tăng cường độ dòng điện cho các thiết bị ngoại vi.
D. Quản lý tần số xung nhịp của vi điều khiển.
9. Tại sao một số bo mạch lập trình vi điều khiển lại có thêm các bộ điều chỉnh điện áp (voltage regulator)?
A. Để tăng điện áp đầu vào.
B. Để cung cấp một mức điện áp ổn định và phù hợp cho vi điều khiển và các linh kiện khác.
C. Để giảm tiêu thụ điện năng.
D. Để kết nối với các thiết bị không dây.
10. Đâu là thành phần cơ bản nhất cấu tạo nên một bo mạch lập trình vi điều khiển?
A. Màn hình LCD và bàn phím.
B. Nguồn điện và bộ giải mã tín hiệu.
C. Vi điều khiển (Microcontroller Unit - MCU) và các linh kiện hỗ trợ.
D. Cảm biến nhiệt độ và bộ truyền động.
11. Khái niệm polling (quét) trong lập trình vi điều khiển liên quan đến việc:
A. Dừng chương trình để chờ một sự kiện xảy ra.
B. Kiểm tra trạng thái của một thiết bị hoặc chân I/O một cách liên tục.
C. Xuất tín hiệu PWM ra các chân.
D. Nạp chương trình từ bộ nhớ Flash.
12. Điều gì xảy ra nếu tần số xung nhịp của vi điều khiển quá cao so với khả năng xử lý của nó?
A. Vi điều khiển sẽ xử lý các lệnh nhanh hơn và hiệu quả hơn.
B. Vi điều khiển có thể hoạt động không ổn định, gây ra lỗi chương trình hoặc hư hỏng.
C. Điện năng tiêu thụ sẽ giảm đi đáng kể.
D. Các chân GPIO sẽ tự động chuyển sang chế độ OUTPUT.
13. Trong môi trường phát triển tích hợp (IDE) cho vi điều khiển, trình biên dịch (compiler) có vai trò gì?
A. Biên dịch mã máy thành ngôn ngữ lập trình bậc cao.
B. Biên dịch mã nguồn viết bằng ngôn ngữ bậc cao (như C/C++) thành mã máy mà vi điều khiển có thể hiểu.
C. Quản lý việc nạp chương trình xuống vi điều khiển.
D. Gỡ lỗi (debug) trực tiếp trên phần cứng.
14. Ý nghĩa của việc sử dụng các chân GPIO (General Purpose Input/Output) trên vi điều khiển là gì?
A. Chỉ để kết nối với màn hình hiển thị.
B. Để giao tiếp với các thiết bị ngoại vi, đọc tín hiệu vào hoặc xuất tín hiệu ra.
C. Chỉ dùng để cung cấp nguồn điện cho các linh kiện.
D. Dùng để kết nối mạng internet.
15. Để nạp chương trình từ máy tính xuống vi điều khiển, chúng ta thường sử dụng loại cổng kết nối nào phổ biến?
A. Cổng HDMI.
B. Cổng USB.
C. Cổng VGA.
D. Cổng Ethernet.
16. Khi một chân GPIO được cấu hình ở chế độ INPUT, nó có chức năng chính là gì?
A. Xuất ra một mức điện áp cố định.
B. Nhận tín hiệu từ các thiết bị ngoại vi.
C. Cung cấp nguồn điện cho các linh kiện khác.
D. Tạo ra tín hiệu xung nhịp.
17. Chức năng của bộ phận Reset trên bo mạch lập trình vi điều khiển là gì?
A. Thay đổi tốc độ xử lý của vi điều khiển.
B. Đưa vi điều khiển về trạng thái hoạt động ban đầu.
C. Truyền dữ liệu từ máy tính vào vi điều khiển.
D. Kiểm tra kết nối của các cảm biến.
18. Bo mạch Arduino Uno sử dụng loại vi điều khiển nào làm trung tâm?
A. ESP32.
B. Raspberry Pi.
C. ATmega328P.
D. STM32.
19. Trong lập trình vi điều khiển, khái niệm vòng lặp vô hạn (infinite loop) thường được biểu diễn bằng cấu trúc nào?
A. for (int i = 0; i < 10; i++) { ... }
B. while (true) { ... } hoặc for (;;) { ... }
C. if (condition) { ... }
D. do { ... } while (false);
20. Tại sao việc lựa chọn tần số xung nhịp phù hợp cho vi điều khiển lại quan trọng?
A. Tần số xung nhịp chỉ ảnh hưởng đến màu sắc của đèn LED báo trạng thái.
B. Tần số xung nhịp quyết định tốc độ xử lý và thời gian thực hiện các lệnh của vi điều khiển.
C. Tần số xung nhịp chỉ liên quan đến việc tiêu thụ điện năng.
D. Tần số xung nhịp không ảnh hưởng đến hoạt động của vi điều khiển.
21. Chức năng của bộ nhớ RAM (Random Access Memory) trên vi điều khiển là gì?
A. Lưu trữ chương trình vĩnh viễn.
B. Lưu trữ dữ liệu tạm thời trong quá trình thực thi chương trình.
C. Chứa các thông số cấu hình phần cứng.
D. Lưu trữ hệ điều hành.
22. Khi lập trình cho vi điều khiển, thuật ngữ firmware thường đề cập đến:
A. Phần cứng của bo mạch.
B. Các trình điều khiển (drivers) trên máy tính.
C. Phần mềm được nạp trực tiếp vào bộ nhớ của vi điều khiển.
D. Các dây kết nối và chân cắm trên bo mạch.
23. Tại sao các bo mạch lập trình vi điều khiển thường có thêm bộ tạo dao động (oscillator/crystal)?
A. Để tăng cường độ sáng của đèn LED báo trạng thái.
B. Để cung cấp tín hiệu xung nhịp ổn định cho vi điều khiển hoạt động.
C. Để ổn định điện áp nguồn cung cấp cho bo mạch.
D. Để kết nối với mạng Wi-Fi.
24. Trong ngôn ngữ lập trình C, làm thế nào để kiểm tra xem một chân GPIO có đang ở mức LOW hay không (giả sử chân đó được cấu hình là INPUT)?
A. if (digitalRead(pinNumber) == 1)
B. if (digitalRead(pinNumber) == 0)
C. if (digitalWrite(pinNumber, HIGH))
D. if (analogRead(pinNumber) > 500)
25. Khái niệm interrupt (ngắt) trong lập trình vi điều khiển dùng để làm gì?
A. Dừng hoàn toàn hoạt động của vi điều khiển.
B. Cho phép vi điều khiển tạm dừng tác vụ hiện tại để xử lý một sự kiện ưu tiên hơn.
C. Tăng cường độ sáng của đèn báo trạng thái.
D. Thay đổi địa chỉ bộ nhớ chương trình.