wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Ôn Tập Kỹ Thuật Vi Điều Khiển

Total questions: 95

Worksheet time: 32hrs 40mins

Name
Class
Date
1.

Nhiệm vụ chính của mạch điều kiện tín hiệu (signal conditioning)?

a)

Lưu trữ tín hiệu

b)

Khuếch đại và chuyển đổi tín hiệu

c)

Xử lý tín hiệu số

d)

Phân tích dữ liệu

2.

Hàm analogRead() trong Arduino trả về giá trị nào?

a)

Tín hiệu số từ 0 đến 255

b)

Tín hiệu số từ 0 đến 1023

c)

Điện áp thực tế từ 0V đến 5V

d)

Điện áp thực tế từ 0V đến 3.3V

3.

Công thức chuyển đổi giá trị đọc từ analogRead() thành điện áp thực tế là gì?

a)

V=

b)

V= Giá trị ADC x 5

4.

Số bit của kết quả chuyển đổi ADC trong ATmega328 là bao nhiêu?

a)

8-bit

b)

10-bit

c)

12-bit

d)

16-bit

5.

Bạn cần đo điện áp lớn hơn 5V bằng Arduino. Bạn sẽ làm gì?

a)

Sử dụng trực tiếp hàm analogRead()

b)

Khuếch đại tín hiệu điện áp

c)

Sử dụng mạch chia điện áp

d)

Thay đổi tham số analogReference()

6.

Hàm map() trong Arduino được dùng để làm gì?

a)

Đọc giá trị analog

b)

Chuyển đổi giá trị từ một khoảng này sang khoảng khác

c)

Gửi dữ liệu qua UART

d)

Đọc trạng thái chân số

7.

Khi sử dụng cảm biến nhiệt độ PT100, tín hiệu đầu ra cần được chuyển đổi như thế nào để phù hợp với ADC?

a)

Dùng mạch khuếch đại và chuyển đổi dòng thành điện áp

b)

Dùng mạch chia điện áp

c)

Dùng bộ chuyển đổi điện áp sang dòng

d)

Kết nối trực tiếp với ADC

8.

Timer được sử dụng để làm gì trong các ứng dụng đo lường?

a)

Đo khoảng cách

b)

Đếm số sự kiện xảy ra

c)

Tính toán thời gian trễ chính xác

d)

Điều chỉnh tốc độ động cơ

9.

Ứng dụng phổ biến của Counter là gì?

a)

Điều chỉnh tín hiệu PWM

b)

Đo tốc

10.

Đếm số sự kiện xảy ra

4 lines
11.

Tính toán thời gian trễ chính xác

4 lines
12.

Điều chỉnh tốc độ động cơ

4 lines
13.

Ứng dụng phổ biến của Counter là gì?

a)

Điều chỉnh tín hiệu PWM

b)

Đo tốc độ hoặc số lượng sự kiện

c)

Điều khiển động cơ bước

d)

Gửi dữ liệu qua UART

14.

PWM thường được sử dụng trong điều khiển gì?

a)

Tín hiệu số

b)

Tốc độ động cơ và độ sáng đèn LED

c)

Đếm xung

d)

Truyền thông nối tiếp

15.

Chế độ nào của Timer cho phép tạo ra tín hiệu PWM?

a)

Normal Mode

b)

CTC Mode

c)

Fast PWM Mode

d)

Phase Correct PWM Mode

16.

Trong các ứng dụng thực tế, Timer có thể được sử dụng để làm gì?

a)

Chuyển đổi tín hiệu analog sang số

b)

Tạo tín hiệu xung nhịp định kỳ

c)

Khuếch đại tín hiệu cảm biến

d)

Điều chỉnh giao tiếp SPI

17.

Tín hiệu PWM có thể điều chỉnh được yếu tố nào sau đây?

a)

Biên độ và tần số

b)

Chu kỳ và biên độ

c)

Chu kỳ và độ rộng xung

d)

Tần số và độ rộng xung

18.

Ứng dụng chính của Timer trong giao tiếp dữ liệu là gì?

a)

Điều chỉnh tần số PWM

b)

Tạo tốc độ baud cho UART

c)

Điều khiển động cơ bước

d)

Đếm tín hiệu từ cảm biến

19.

Timer có thể được sử dụng trong việc kiểm tra độ chính xác của thiết bị nào?

a)

Nhiệt kế

b)

Đồng hồ đo thời gian

c)

Cảm biến áp suất

d)

Cảm biến siêu âm

20.

Trong điều khiển động cơ, PWM giúp điều chỉnh gì?

a)

Tốc độ và hướng

b)

Biên độ và pha

c)

Chu kỳ và nhiệt độ

d)

Dòng điện và điện áp

21.

Counter thường được sử dụng trong ứng dụng nào sau đây?

a)

Gửi tín hiệu PWM

b)

Điều khiển tín hiệu digital

c)

Đếm số lượng xung từ cảm biến

d)

Tạo tốc độ baud cho UART

22.

Timer có thể được sử dụng để tạo ra tín hiệu gì trong giao tiếp UART?

a)

Tín hiệu Start và Stop

b)

Tín hiệu xung clock cố định

c)

Tín hiệu PWM để truyền dữ liệu

d)

Tín hiệu Reset

23.

Timer có thể được sử dụng để tạo ra tín hiệu gì trong giao tiếp UART?

a)

Tín hiệu Start và Stop

b)

Tín hiệu xung clock cố định

c)

Tín hiệu PWM để truyền dữ liệu

d)

Tín hiệu Reset

24.

Một ứng dụng phổ biến của PWM trong chiếu sáng là gì?

a)

Thay đổi màu sắc của đèn

b)

Điều chỉnh độ sáng đèn LED

c)

Tắt đèn khi không dùng

d)

Đổi tần số ánh sáng

25.

Timer được sử dụng trong lập lịch (scheduling) để làm gì?

a)

Đếm số lần thực thi

b)

Quản lý thời gian giữa các tác vụ

c)

Điều khiển tần số PWM

d)

Chuyển đổi tín hiệu analog

26.

Ứng dụng của Counter trong ngành công nghiệp sản xuất là gì?

a)

Đếm số sản phẩm trên dây chuyền

b)

Điều khiển nhiệt độ lò nung

c)

Chuyển đổi tín hiệu cảm biến áp suất

d)

Tạo tín hiệu điều khiển động cơ

27.

Khi sử dụng PWM để điều khiển quạt, yếu tố nào được điều chỉnh?

a)

Dòng điện qua quạt

b)

Tốc độ quay của quạt

c)

Hướng quay của quạt

d)

Tần số hoạt động của quạt

28.

PWM có thể được sử dụng để tạo ra tín hiệu nào trong âm thanh?

a)

Tín hiệu tần số thấp

b)

Tín hiệu âm thanh số

c)

Tín hiệu analog dao động cao

d)

Tín hiệu sóng vuông dao động

29.

Ứng dụng của Timer trong bảo vệ hệ thống là gì?

a)

Đếm số tín hiệu lỗi

b)

Đặt thời gian chờ (timeout)

c)

Điều khiển hoạt động cảm biến

d)

Tăng tốc độ truyền dữ liệu

30.

Một ứng dụng phổ biến của Timer trong hệ thống nhúng là gì?

a)

Tính toán phép toán số học

b)

Xử lý tín hiệu từ cảm biến

c)

Định thời gian và lịch trình hoạt động

d)

Gửi dữ liệu qua giao thức SPI

31.

Ngắt là gì?

a)

Một lệnh chờ trong chương trình

b)

Một tín hiệu dừng hoạt động của CPU

c)

Một cơ chế để CPU tạm dừng chương trình chính để xử lý sự kiện quan trọng

d)

Một lỗi trong chương trình

32.

Một cơ chế để CPU tạm dừng chương trình chính để xử lý sự kiện quan trọng?

a)

Một lỗi trong chương trình

b)

Một cơ chế để CPU tạm dừng chương trình chính để xử lý sự kiện quan trọng

33.

Ví dụ nào sau đây là ngắt bên ngoài?

a)

Timer Overflow

b)

Serial Communication

c)

Tín hiệu từ nút nhấn ngoài

d)

Bộ đếm hết xung

34.

Sự khác biệt chính giữa ngắt và polling là gì?

a)

Ngắt xử lý sự kiện ngay lập tức, polling kiểm tra theo chu kỳ

b)

Ngắt tiêu tốn CPU nhiều hơn polling

c)

Polling nhanh hơn ngắt trong xử lý tín hiệu

d)

Ngắt cần ít tài nguyên hơn polling

35.

Khi nào ISR (Interrupt Service Routine) được thực thi?

a)

Khi chương trình chính hoàn thành

b)

Khi một ngắt xảy ra

c)

Khi CPU không bận xử lý

d)

Khi chân I/O thay đổi trạng thái

36.

Lệnh nào được sử dụng để kết thúc ISR?

a)

RET

b)

RETI

c)

BREAK

d)

END

37.

Ngắt bên ngoài INT0 được kích hoạt bằng chân nào trên ATmega32?

a)

PB0

b)

PD2

c)

PC0

d)

PA3

38.

Bảng vector ngắt được dùng để làm gì?

a)

Lưu trạng thái CPU khi ngắt xảy ra

b)

Xác định địa chỉ bắt đầu của mỗi ISR

c)

Lưu các thông số của ngắt bên ngoài

d)

Cấu hình chế độ ngắt

39.

Chế độ nào sau đây có thể kích hoạt ngắt INT0?

a)

Chỉ mức thấp

b)

Mức thấp, cạnh lên, hoặc cạnh xuống

c)

Cạnh lên hoặc cạnh xuống

d)

Cạnh xuống hoặc mức thấp

40.

Bit nào trong thanh ghi GICR được dùng để kích hoạt ngắt INT1?

a)

INT1

b)

INTF1

c)

ISC11

d)

GICR1

41.

Ngắt INT2 chỉ hỗ trợ chế độ nào?

a)

Mức thấp

b)

Cạnh xuống

c)

Cạnh lên

d)

Cạnh xuống và cạnh lên

42.

Trong Arduino, hàm nào được sử dụng để đăng ký ngắt?

a)

enableInterrupt()

b)

registerInterrupt()

c)

attachInterrupt()

d)

setInterrupt()

43.

Tại sao polling không hiệu quả bằng ngắt?

a)

Polling tiêu tốn thời gian CPU hơn ngắt

b)

Ngắt nhanh hơn vì không cần kiểm tra liên

44.

Tại sao polling không hiệu quả bằng ngắt?

a)

Polling tiêu tốn thời gian CPU hơn ngắt

b)

Ngắt nhanh hơn vì không cần kiểm tra liên tục

c)

Polling không hoạt động khi CPU bận

d)

Polling không hỗ trợ các sự kiện phức tạp

45.

Bit ISC00 và ISC01 trong MCUCR kiểm soát điều gì?

a)

Chế độ ngắt INT0

b)

Chế độ ngắt INT1

c)

Tần số Timer

d)

Mức xung của tín hiệu PWM

46.

Lệnh nào được sử dụng để tạm thời vô hiệu hóa ngắt trong Arduino?

a)

disableInterrupt()

b)

cli()

c)

detachInterrupt()

d)

stopInterrupt()

47.

Trong ví dụ đo tốc độ cao (high-speed measurements), ngắt được sử dụng để làm gì?

a)

Đếm xung từ tín hiệu nhanh

b)

Điều khiển tín hiệu PWM

c)

Tạo trễ chính xác

d)

Gửi tín hiệu đến UART

48.

Tại sao cần sử dụng biến volatile trong ISR?

a)

Để tăng tốc độ xử lý ISR

b)

Để tránh tối ưu hóa của trình biên dịch

c)

Để làm cho biến có thể ghi được nhiều lần

d)

Để đảm bảo biến chỉ được sử dụng trong ISR

49.

Ngắt có thể được kích hoạt bởi các yếu tố nào?

a)

Chỉ tín hiệu mức thấp

b)

Cạnh lên, cạnh xuống, mức thấp, hoặc tín hiệu từ thiết bị ngoại vi

c)

Chỉ tín hiệu từ Timer

d)

Chỉ tín hiệu từ bộ đếm

50.

Khi ngắt xảy ra, CPU thực hiện bước nào đầu tiên?

a)

Dừng chương trình chính và lưu trạng thái

b)

Kích hoạt tín hiệu ngắt

c)

Thực thi lệnh RETI

d)

Tăng tốc độ xử lý

51.

Lệnh RETI có chức năng gì?

a)

Kích hoạt ngắt tiếp theo

b)

Kết thúc ISR và khôi phục trạng thái CPU

c)

Vô hiệu hóa tất cả ngắt

d)

Tăng giá trị Timer

52.

Trong lập trình Arduino, chế độ nào của attachInterrupt() kích hoạt ngắt khi chân chuyển từ HIGH sang LOW?

a)

RISING

b)

FALLING

c)

CHANGE

d)

LOW

53.

Trong lập trình Arduino, chế độ nào của attachInterrupt() kích hoạt ngắt khi chân chuyển từ HIGH sang LOW?

a)

RISING

b)

FALLING

c)

CHANGE

d)

LOW

54.

Cổng nào trên ATmega32 có thể được sử dụng làm đầu vào hoặc đầu ra?

a)

PORTA

b)

PORTB

c)

PORTC

d)

Tất cả các cổng trên

55.

Để cấu hình một cổng làm đầu ra, cần làm gì với thanh ghi DDRx?

a)

Ghi giá trị 0x00 vào DDRx

b)

Ghi giá trị 0xFF vào DDRx

c)

Kích hoạt bit kéo lên trong PORTx

d)

Vô hiệu hóa thanh ghi PINx

56.

Khi reset, trạng thái mặc định của các cổng I/O là gì?

a)

Đầu vào

b)

Đầu ra

c)

Đầu vào với điện trở kéo lên

d)

Trạng thái nổi

57.

Nếu muốn sử dụng điện trở kéo lên nội bộ, cần làm gì với thanh ghi PORTx?

a)

Ghi giá trị 0xFF vào PORTx

b)

Cấu hình DDRx là đầu ra

c)

Ghi giá trị 0x00 vào PORTx

d)

Kích hoạt bit tương ứng trong PORTx

58.

Điện trở kéo lên giúp giải quyết vấn đề gì?

a)

Giảm dòng điện qua chân I/O

b)

Ngăn trạng thái nổi trên đầu vào

c)

Tăng tốc độ chuyển đổi của tín hiệu

d)

Tăng độ chính xác của tín hiệu ADC

59.

Để đọc dữ liệu từ một cổng, trước tiên cần làm gì với thanh ghi DDRx?

a)

Ghi giá trị 0x00 vào DDRx

b)

Ghi giá trị 0xFF vào DDRx

c)

Kích hoạt bit tương ứng trong PORTx

d)

Cấu hình DDRx làm đầu ra

60.

Khi cấu hình cổng làm đầu vào, dữ liệu được đọc từ đâu?

a)

Thanh ghi DDRx

b)

Thanh ghi PORTx

c)

Thanh ghi PINx

d)

Không thể đọc dữ liệu

61.

Nếu DDRC = 0xFF và PORTC = 0x3B, giá trị xuất ra là gì?

a)

A. 0xFF

b)

B. 0x3B

c)

0x00

d)

Không xác định

62.

Trong ATmega32, mỗi cổng có bao nhiêu chân I/O?

a)

6

b)

8

c)

10

d)

12

63.

Để kích hoạt tất cả các LED được nối với PORTC, cần giá trị nào trong thanh ghi PORTC?

a)

0xFF

b)

0x00

c)

0x01

d)

0x80

64.

Nếu không cấu hình đúng DDRx, điều gì xảy ra khi ghi dữ liệu vào PORTx?

a)

Không có gì xảy ra

b)

Giá trị bị ghi sai

c)

Giá trị được ghi

65.

á trị nào trong thanh ghi PORTC?

a)

0xFF

b)

0x00

c)

0x01

d)

0x80

66.

Nếu không cấu hình đúng DDRx, điều gì xảy ra khi ghi dữ liệu vào PORTx?

a)

Không có gì xảy ra

b)

Giá trị bị ghi sai

c)

Giá trị được ghi nhưng không xuất ra

d)

PORTx chuyển sang trạng thái nổi

67.

Điện trở kéo lên nội bộ được kích hoạt bằng cách nào?

a)

Ghi 1 vào PORTx và cấu hình DDRx là đầu vào

b)

Ghi 0 vào PORTx và cấu hình DDRx là đầu ra

c)

Ghi 1 vào DDRx và PORTx

d)

Ghi 0 vào DDRx

68.

Khi sử dụng công tắc với điện trở kéo lên, trạng thái nào được đọc khi công tắc không được nhấn?

a)

HIGH

b)

LOW

c)

Trạng thái nổi

d)

Không xác định

69.

Nếu DDRB = 0x00 và dữ liệu tại chân PORTB là 0x75, giá trị nào sẽ được đọc từ PINB?

a)

0x00

b)

0x75

c)

Không xác định

d)

0xFF

70.

Cách tốt nhất để điều khiển nhiều LED trên một cổng là gì?

a)

Điều khiển từng chân bằng digitalWrite()

b)

Điều khiển toàn bộ cổng bằng cách ghi giá trị vào thanh ghi PORTx

c)

Dùng các điện trở nối tiếp từng LED

d)

Sử dụng các transistor điều khiển từng LED

71.

Khi PORTx = 0xFF, điều gì xảy ra với các chân đã được cấu hình làm đầu vào?

a)

Các chân ở trạng thái HIGH

b)

Các chân ở trạng thái LOW

c)

Các chân bật điện trở kéo lên

d)

Các chân không bị ảnh hưởng

72.

Một cổng có thể đồng thời có cả chân đầu vào và đầu ra không?

a)

b)

Không

73.

Khi cấu hình LED trên PORTC, điều gì cần được thực hiện đầu tiên?

a)

Ghi giá trị vào PORTC

b)

Cấu hình DDRC làm đầu ra

c)

Kích hoạt điện trở kéo lên

d)

Gắn LED vào chân PORTC

74.

Cấu hình DDRC làm đầu ra?

a)

Kích hoạt điện trở kéo lên

b)

Gắn LED vào chân PORTC

75.

Khi sử dụng thanh ghi DDRx, giá trị nào được ghi để cấu hình một cổng làm đầu vào?

a)

0x00

b)

0xFF

c)

0x01

d)

0x80

76.

Hàm loop() chạy bao nhiêu lần mỗi khi khởi động Arduino?

a)

Một lần

b)

Vô hạn lần

c)

Hai lần

d)

Không lần nào

77.

Có đúng về mặt cú pháp khi viết hàm loop() trước hàm setup() khi viết chương trình Arduino không?

a)

b)

Không

78.

Lệnh digitalRead() có thể nhận dạng được tín hiệu điện áp tương tự (analog) hay không?

a)

b)

Không

79.

Nút RESET trên kit Arduino UNO có chức năng?

a)

Tắt nguồn Arduino

b)

Đưa Arduino về trạng thái ban đầu và khởi động lại chương trình

c)

Xóa bộ nhớ của Arduino

d)

Ngắt chương trình hiện tại

80.

Lệnh analogRead() có thể dùng để thay thế cho lệnh digitalRead() không?

a)

b)

Không

81.

Hàm setup() chạy bao nhiêu lần mỗi khi khởi động Arduino?

a)

Một lần

b)

Hai lần

c)

Vô hạn lần

d)

Không lần nào

82.

Lệnh analogRead() có bao nhiêu tham số?

a)

Một tham số

b)

Hai tham số

c)

Không có tham số

d)

Tùy thuộc vào ứng dụng

83.

Độ phân giải khi đọc tín hiệu analog trên Arduino Uno là:

a)

8 bit

b)

10 bit

c)

12 bit

d)

16 bit

84.

Có bao nhiêu mức điện áp được cấp ra chân Arduino khi dùng lệnh digitalWrite()?

a)

1 mức

b)

2 mức

c)

10 mức

d)

256 mức

85.

Chương trình sau dùng để:

a)

Gửi ký tự có mã ASCII là 40 qua cổng Serial.

b)

Gửi số 40 dạng số nguyên qua cổng Serial.

c)

In chuỗi ký tự "40" ra màn hình Serial

86.

Gửi ký tự có mã ASCII là 40 qua cổng Serial.

a)

Gửi ký tự có mã ASCII là 40 qua cổng Serial.

b)

Gửi số 40 dạng số nguyên qua cổng Serial.

c)

In chuỗi ký tự "40" ra màn hình Serial Monitor.

d)

Lỗi cú pháp, chương trình không chạy được.

87.

Đơn vị của thời gian trễ trong chương trình là:

a)

ms

b)

s

c)

us

88.

Lệnh pulseln() có tối đa bao nhiêu thông số?

a)

1

b)

2

c)

3

89.

Lệnh digitalRead() có bao nhiêu tham số?

a)

1

b)

2

90.

Đầu ra của đoạn chương trình sau là:

a)

Palindrome

b)

Not a palindrome

91.

Có bao nhiêu mức điện áp được cấp ra chân Arduino khi dùng lệnh digitalWrite()?

a)

2 mức điện áp: HIGH(5V)

b)

1 mức điện áp: LOW(0V)

92.

Hai chế độ mà hàm pinMode() thiết lập cho một chân cụ thể là?

a)

INPUT

b)

OUTPUT

93.

Linh kiện nào được hỗ trợ bởi thư viện Wire.h?

a)

Màn hình LCD

b)

EEPROM

c)

Động cơ

d)

Cảm biến

e)

Module RTC

94.

Tín hiệu đầu ra của chương trình sau có chu kỳ là: int pin = 10; void setup() { Serial.begin(9600); pinMode(pin, OUTPUT); } void loop() { digitalWrite(pin, HIGH); delay(10); digitalWrite(pin, LOW); delay(10); }

a)

Tín hiệu HIGH kéo dài 10ms

b)

Tín hiệu LOW kéo dài 10ms

c)

Tổng thời gian của một chu kỳ là 20ms

95.

Lệnh analogRead() có thể được dùng cho các chân digital?

a)

b)

Không