wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Trích xuất câu hỏi từ worksheet ngôn ngữ C (lớp 12)

Total questions: 136

Worksheet time: 1hrs 8mins

Name
Class
Date
1.

Ngôn ngữ lập trình C được phát triển vào thời gian nào?

a)

1972

b)

1960

c)

1995

d)

1985

2.

Ký hiệu nào thường được dùng để biểu thị điểm bắt đầu trong sơ đồ thuật giải?

a)

Hình oval

b)

Hình tròn

c)

Hình chữ nhật

d)

Hình thoi

3.

Trong sơ đồ thuật giải, biểu tượng hình chữ nhật thường dùng để biểu thị cho bước nào?

a)

Xử lý hoặc tính toán

b)

Điểm bắt đầu hoặc kết thúc

c)

Quyết định hoặc rẽ nhánh

d)

Lặp lại

4.

Trong lưu đồ thuật giải, hàm thường được biểu diễn bằng hình nào?

a)

Hình oval

b)

Hình thoi

c)

Hình chữ nhật có hai thanh bên

d)

Hình tam giác

5.

Một chương trình C cơ bản thường bắt đầu bằng hàm nào?

a)

void

b)

start()

c)

int

d)

main()

6.

Câu lệnh nào cần được đặt ở cuối mỗi dòng lệnh trong C để chương trình hiểu rằng đó là một lệnh kết thúc?

a)

Dấu phẩy ,

b)

Dấu chấm phẩy ;

c)

Dấu chấm .

d)

Dấu hai chấm :

7.

Trong C, thư viện chuẩn được khai báo bằng câu lệnh nào?

a)

#import

b)

#include

c)

#using

d)

#define

8.

Trong ngôn ngữ C, chú thích một dòng được bắt đầu bằng ký hiệu nào?

a)

//

b)

/*

c)

%

d)

#

9.

Phần chú thích trong mã nguồn có tác dụng gì?

a)

Làm thay đổi kết quả của chương trình

b)

Tăng kích thước của mã máy

c)

Giúp người đọc mã hiểu rõ hơn về mã lệnh

d)

Giúp chương trình chạy nhanh hơn

10.

Trong ngôn ngữ C, từ khóa nào dưới đây không phải là từ khóa hợp lệ?

a)

int

b)

main

c)

return

d)

boolean

11.

Dòng khai báo nào dưới đây là sai cú pháp?

a)

int 2value = 5;

b)

int value2 = 20;

c)

int VALUE = 15;

d)

int _value = 10;

12.

Câu khai báo nào dưới đây là đúng trong ngôn ngữ C?

a)

int 1stNumber = 10;

b)

int first Number = 10;

c)

int float = 10;

d)

int first_number = 10;

13.

Chú thích nhiều dòng trong C được đặt giữa các ký hiệu nào?

a)

<...>

b)

///...//

c)

{...}

d)

/*...*/

14.

Định danh trong C có thể bắt đầu bằng ký tự nào dưới đây?

a)

Bất kỳ ký tự đặc biệt nào

b)

Chữ cái hoặc số

c)

Ký tự chữ cái hoặc dấu gạch dưới

d)

Số hoặc dấu gạch dưới

15.

Trong ngôn ngữ C, từ khóa nào dưới đây dùng để khai báo hằng số?

a)

const

b)

char

c)

int

d)

static

16.

Trong các tên biến sau, tên nào không hợp lệ trong ngôn ngữ C?

a)

sum1

b)

float

c)

numberOfItems

d)

totalAmount

17.

Tổng cộng có bao nhiêu từ khóa trong ngôn ngữ C?

a)

32

b)

28

c)

34

d)

30

18.

Từ khóa trong ngôn ngữ C phải được viết bằng cách nào?

a)

Chữ hoa và chữ thường

b)

Không quan trọng

c)

Chữ thường

d)

Chữ hoa

19.

Khi biên dịch, trình biên dịch C sẽ xử lý thế nào nếu một định danh trùng với từ khóa của ngôn ngữ C?

a)

Tự động đổi tên định danh để tránh xung đột

b)

Báo lỗi và dừng quá trình biên dịch

c)

Tạo một biến mới và bỏ qua từ khóa

d)

Sử dụng từ khóa và định danh một cách thay thế

20.

Trong ngôn ngữ C, các biến có chữ hoa và chữ thường, chẳng hạn Variable và variable, sẽ được hiểu như thế nào?

a)

Được hợp nhất thành một biến duy nhất

b)

Là biến trùng tên nên sẽ báo lỗi biên dịch

c)

Là cùng một biến

d)

Là hai biến khác nhau vì C phân biệt chữ hoa chữ thường

21.

Trong ngôn ngữ C, từ khóa nào dưới đây không được phép kết hợp với bất kỳ từ khóa nào khác?

a)

return

b)

int

c)

volatile

d)

const

22.

Trong một chương trình C, nếu không khai báo #include , điều gì sẽ xảy ra khi gọi hàm printf()?

a)

Trình biên dịch sẽ báo lỗi không tìm thấy định nghĩa của printf()

b)

printf() vẫn hoạt động bình thường do nó là một hàm chuẩn

c)

Chương trình sẽ biên dịch nhưng printf() sẽ không hoạt động đúng cách

d)

Trình biên dịch sẽ tự động thêm thư viện

23.

Trong chương trình C, thứ tự nào dưới đây là chính xác cho cấu trúc của một tệp mã nguồn .c?

a)

Khai báo biến toàn cục, định nghĩa hàm main, khai báo thư viện

b)

Khai báo thư viện, khai báo biến toàn cục, định nghĩa hàm main

c)

Khai báo thư viện, định nghĩa hàm main, khai báo biến toàn cục

d)

Định nghĩa hàm main, khai báo thư viện, khai báo biến toàn cục

24.

Máy tính có thể sử dụng thuật toán để làm gì?

a)

Tìm kiếm trên internet

b)

Cả ba đều đúng

c)

Chạy ứng dụng

d)

Chơi nhạc

25.

Phần định nghĩa hàm chính trong chương trình C chứa phần nào?

a)

Phần tài liệu và phần liên kết

b)

Phần định nghĩa và phần khai báo toàn cục

c)

Phần khai báo và phần thực thi

d)

Phần định nghĩa hàm do người dùng định nghĩa

26.

Ký tự nào không thể được sử dụng trong định danh?

a)

Chữ cái

b)

Số

c)

Dấu chấm phẩy

d)

Dấu gạch dưới

27.

PIC 16F877A thuộc dòng vi điều khiển nào?

a)

PIC 18

b)

PIC 32

c)

PIC 16

d)

PIC 24

28.

Vi điều khiển PIC 16F877A có bao nhiêu chân I/O (input/ output)?

a)

25

b)

33

c)

40

d)

20

29.

Trong PIC 16F877A, bộ nhớ chương trình là bộ nhớ nào?

a)

EEPROM

b)

SRAM

c)

Flash

d)

DRAM

30.

Bộ nhớ EEPROM trên PIC 16F877A có tác dụng gì?

a)

Lưu trữ dữ liệu tạm thời khi mất nguồn

b)

Chứa mã chương trình chính

c)

Tăng tốc độ xử lý của vi điều khiển

d)

Cung cấp nguồn cho vi điều khiển

31.

Cổng nào sau đây được sử dụng để truyền đọc tín hiệu tương tự (analog) trong điều khiển PIC 16F877A?

a)

PORT A

b)

PORT B

c)

PORT C

d)

PORT D

32.

CCS là gì trong lĩnh vực lập trình vi điều khiển?

a)

Một loại vi điều khiển

b)

Một trình biên dịch và môi trường lập trình cho PIC

c)

Một thiết bị ngoại vi

d)

Một bộ định thời

33.

Phần mềm CCSC chủ yếu hỗ trợ lập trình cho dòng vi điều khiển nào?

a)

AWR

b)

ARM

c)

PIC

d)

8051

34.

Kiểu dữ liệu float trong C dùng để lưu trữ loại dữ liệu nào?

a)

Số nguyên

b)

Số thực

c)

Ký tự

d)

Chuỗi ký tự

35.

Kiểu dữ liệu char lưu trữ giá trị nào sau đây?

a)

Số nguyên lớn

b)

Số thực

c)

Ký tự đơn

d)

Chuỗi ký tự

36.

Int là từ khóa khai báo kiểu dữ liệu nào?

a)

Số nguyên

b)

Số thực

c)

Ký tự

d)

Số phức

37.

Để khai báo số thực trong C, bạn dùng từ khóa nào?

a)

Int

b)

Float

c)

Char

d)

Bool

38.

Biến là gì trong ngôn ngữ lập trình C?

a)

Giá trị không thay đổi

b)

Giá trị có thể thay đổi trong quá trình thực thi

c)

Một từ khóa

d)

Một kiểu dữ liệu

39.

Hằng số trong C được khai báo với từ khóa nào?

a)

Const

b)

Var

c)

Final

d)

Let

40.

Cách khai báo biến X có giá trị nguyên 10 là gì?

a)

Int x = 10;

b)

Float x = 10;

c)

Char x = 10;

d)

Double x = 10;

41.

Biến y kiểu số thực có thể khai báo như thế nào?

a)

Int y = 5.0;

b)

Float y = 5.0;

c)

Char y = 5.0;

d)

bool x = 5.0;

42.

Biến PI không thay đổi giá trị nên được khai báo như thế nào?

a)

Int PI = 3.14;

b)

Const float PI = 3.14;

c)

Char PI = 3.14;

d)

Var PI = 3.14;

43.

Toán tử + trong C là loại toán tử gì?

a)

Số học

b)

Logic

c)

Quan hệ

44.

Toán tử == trong C dùng để làm gì?

a)

So sánh bằng

b)

Phép cộng

c)

Phép gán

d)

Tăng giá trị

45.

Kết quả của phép toán 5 % 2 là bao nhiêu?

a)

1

b)

2

c)

0

d)

5

46.

Toán tử && là loại tử gì?

a)

Phép gán

b)

Logic

c)

Số học

d)

Quan hệ

47.

Phép toán x += 1 tương đương với lệnh nào?

a)

X = x + 1;

b)

X = x - 1;

c)

X = x * 1;

d)

X = x / 1;

48.

Toán tử ++ dùng để làm gì?

a)

Giảm giá trị của biến

b)

Tăng giá trị của biến

c)

So sánh giá trị của biến

d)

Xóa giá trị của biến

49.

Lệnh IF trong C dùng để làm gì?

a)

Chạy một đoạn mã khi điều kiện đúng

b)

Lặp lại mã

c)

Khai báo biến

d)

Kết thúc chương trình

50.

Lệnh for thường được dùng để làm gì?

a)

Lặp lại đoạn mã với số lần xác định

b)

Kiểm tra điều kiện

c)

Kết thúc chương trình

d)

Nhập dữ liệu

51.

Hàm printf dùng để làm gì?

a)

Nhập dữ liệu

b)

Xuất dữ liệu

c)

So sánh giá trị

d)

Gán giá trị

52.

Lệnh switch thường dùng với loại cảm biến nào?

a)

Chuỗi

b)

Số nguyên hoặc ký tự

c)

Số thực

d)

Mảng

53.

Một hàm trong C bắt đầu bằng từ khóa nào?

a)

Int

b)

Float

c)

Void

d)

Tất cả các đáp án trên đều có thể đúng

54.

Từ khóa return trong hàm dùng để làm gì?

a)

Kết thúc chương trình

b)

Trả về giá trị từ hàm

c)

Khởi tạo biến

d)

Lặp lại lệnh

55.

Một hàm không trả về giá trị nào sẽ được khai báo với kiểu gì?

a)

Int

b)

Float

c)

Void

d)

Char

56.

Trong C, hàm có thể có bao nhiêu tham số?

a)

0 hoặc nhiều hơn

b)

Luôn phải có 1 tham số

c)

Luôn phải có 2 tham số

d)

Không thể có tham số

57.

Câu lệnh void printHello() định nghĩa một hàm mà:

a)

Trả về một số nguyên

b)

Trả về một chuỗi

c)

Không trả về giá trị nào

d)

Trả về một số thực

58.

Khai báo mảng int arr[5]; sẽ tạo ra bao nhiêu phần tử?

a)

4

b)

5

c)

6

d)

Không xác định

59.

Chỉ mục đầu tiên của mảng trong C là bao nhiêu?

a)

-1

b)

0

c)

1

d)

2

60.

Để truy cập phần tử thứ 3 trong mảng arr, bạn dùng cú pháp nào?

a)

arr[2]

b)

arr[3]

c)

arr[1]

d)

arr[4]

61.

Mảng có thể chứa loại dữ liệu nào?

a)

Số nguyên

b)

Số thực

c)

Ký tự

d)

Tất cả các loại trên

62.

Khai báo char str[10]; là để tạo ra một mảng chứa:

a)

Số nguyên

b)

Số thực

c)

Ký tự

d)

Hàm

63.

Con trỏ trong C là gì?

a)

Biến lưu trữ giá trị trực tiếp

b)

Biến lưu trữ địa chỉ của biến khác

c)

Một hàm

d)

Một hàng

64.

Toán tử & trong C được dùng để:

a)

Tăng giá trị biến

b)

Lấy địa chỉ của biến

c)

Gán giá trị cho biến

d)

Khai báo biến

65.

Khi khai báo int *ptr;, ptr là:

a)

Một số nguyên

b)

Một con trỏ đến số nguyên

c)

Một mảng

d)

Một hàm

66.

Một mảng trong C có thể lưu trữ:

a)

Các giá trị cùng kiểu dữ liệu

b)

Các giá trị khác kiểu dữ liệu

c)

Giá trị bất kỳ không cần khai báo trước

d)

Các giá trị ngẫu nhiên

67.

Hàm scanf trong C được dùng để:

a)

Nhập dữ liệu từ người dùng

b)

Xuất dữ liệu ra màn hình

c)

So sánh giá trị

d)

Thực hiện phép toán

68.

Để khai báo một chuỗi trong C, bạn dùng kiểu dữ liệu nào?

a)

Int

b)

Float

c)

Char[]

d)

Double

69.

Phép toán số học nào trả về phần dư của phép chia trong C?

a)

+

b)

-

c)

%

d)

/

70.

Phép toán tăng giá trị một biến lên 1 đơn vị là gì?

a)

x+1

b)

x++

c)

++x

d)

Cả B và C

71.

Hàm nào được sử dụng để in dữ liệu ra màn hình?

a)

scanf()

b)

printf()

c)

getch()

d)

putchar()

72.

Trong C, ký hiệu nào biểu thị địa chỉ của biến?

a)

*

b)

&

c)

%

d)

@

73.

Hàm nào được sử dụng để nhận đầu vào từ bàn phím trong C?

a)

printf()

b)

scanf()

c)

input()

d)

read()

74.

Lệnh nào được sử dụng để dừng vòng lặp trong C?

a)

Continue

b)

Break

c)

Return

d)

Stop

75.

Từ khóa nào được dùng để kết thúc hàm trong C và trả giá trị?

a)

Return

b)

End

c)

Break

d)

Stop

76.

Ký tự kết thúc chuỗi trong ngôn ngữ C là gì?

a)

'\0'

b)

'\n'

c)

'\t'

d)

':'

77.

Câu lệnh for nào trong C là đúng?

a)

for(int i = 0; i < 10; i++)

b)

for(i = 0, i < 10, i++)

c)

for i = 0; i < 10; i++

d)

for i in range(10)

78.

Một vòng lặp while trong C sẽ chạy cho đến khi nào?

a)

Điều kiện kiểm tra là false

b)

Điều kiện kiểm tra là true

c)

số vòng lặp đạt đến một giới hạn nhất định

d)

tất cả các trường hợp

79.

Phép gán nào là đúng trong C?

a)

5 = x;

b)

X = 5;

c)

X == 5;

d)

X => 5;

80.

Kiểu dữ liệu double trong C thường dùng để lưu:

a)

Số nguyên nhỏ

b)

Số nguyên lớn

c)

Số thực có độ chính xác cao

d)

Ký tự

81.

Trong C, a[0] biểu thị điều gì?

a)

Phần tử đầu tiên của mảng a

b)

Kích thước của mảng a

c)

Phần tử cuối cùng của mảng a

d)

Địa chỉ của mảng a

82.

Toán tử || trong C được gọi là gì?

a)

Toán tử AND

b)

Toán tử OR

c)

Toán tử NOT

d)

Toán tử XOR

83.

Một biến cục bộ (local variable) trong C chỉ có hiệu lực ở đâu?

a)

Trong toàn bộ chương trình

b)

Trong tệp chứa nó

c)

Trong hàm hoặc khối lệnh chứa nó

d)

Tất cả các trường hợp trên

84.

Hàm printf("%d", x); dùng để làm gì?

a)

In ký tự x ra màn hình

b)

In giá trị số nguyên của x ra màn hình

c)

In số thực x ra màn hình

d)

In địa chỉ của x ra màn hình

85.

Trong mảng int arr[5] = {1, 2, 3, 4, 5}; giá trị của arr[2] là gì?

a)

2

b)

3

c)

4

d)

5

86.

Câu lệnh nào trong C luôn thực hiện thân lặp ít nhất một lần?

a)

while

b)

do while

c)

for

d)

switch

87.

Biến toàn cục có đặc điểm gì?

a)

Có thể truy cập từ bất kỳ hàm nào trong chương trình

b)

Chỉ tồn tại trong khối khai báo

c)

Chỉ có hiệu lực trong tệp tin chứa nó

d)

Không được sử dụng ngoài hàm chính

88.

Câu lệnh break thường được sử dụng trong đâu?

a)

Vòng lặp

b)

Câu lệnh switch

c)

Cả A và B

d)

Không được sử dụng

89.

Đâu là cách khai báo đúng để định nghĩa một hằng số trong C?

a)

const int x = 5;

b)

define x = 5;

c)

constant x = 5;

d)

static int x = 5;

90.

Lệnh nào được dùng để xuất tín hiệu mức cao lên chân I/O của vi điều khiển?

a)

output_high(pin_x)

b)

output_low(pin_x)

c)

input(pin_x)

d)

set_tris_x(value)

e)

output_toggle(pin_x)

91.

Lệnh nào đúng để tạo độ trễ 500ms trong chương trình?

a)

delay_500ms()

b)

delay_ms(500)

c)

set_tris_a(500)

d)

output_toggle(pin_x)

92.

Lệnh set_tris_x(value) dùng để làm gì?

a)

Xuất tín hiệu ra chân x

b)

Định nghĩa cổng x là đầu vào hoặc đầu ra

c)

Tạo trễ 500ms

d)

Xóa dữ liệu trên cổng x

93.

Lệnh nào có thể dùng để đảo trạng thái của một chân I/O?

a)

output_toggle(pin_x)

b)

output_high(pin_x)

c)

output_low(pin_x)

d)

delay_ms(500)

94.

Một LED nối với RD0 và cathode nối GND. Lệnh nào đúng để tắt LED này?

a)

output_high(pin_d0)

b)

output_low(pin_d0)

c)

input(pin_d0)

d)

delay_ms(500)

95.

Lệnh nào dùng để thiết lập tất cả các chân của Port B là đầu ra?

a)

set_tris_b(0x00)

b)

set_tris_b(0xFF)

c)

output_low(pin_b0)

d)

input(pin_b0)

96.

Để LED nhấp nháy với chu kỳ 1 giây, cần thời gian bao nhiêu cho mỗi trạng thái bật hoặc tắt?

a)

1ms

b)

500ms

c)

100ms

d)

1000ms

97.

Một dãy LED gồm 8 LED nối với Port D kiểu cathode chung. Lệnh nào bật tất cả các LED?

a)

output_d(0xFF)

b)

output_d(0x00)

c)

output_low(pin_d)

d)

output_high(pin_d)

98.

Lệnh delay_us(10) tạo độ trễ bao lâu?

a)

10 giây

b)

10 mili giây

c)

10 micro giây

d)

10 nano giây

99.

LED đơn D1 nhấp nháy được điều khiển bởi lựa chọn lệnh nào?

a)

output_toggle(pin_d1) kết hợp delay_ms(500)

b)

output_high(pin_d1)

c)

output_low(pin_d1)

d)

delay_us(500)

100.

Lệnh nào được sử dụng để xuất giá trị 8 bit lên một Port?

a)

set_tris_d(value)

b)

output_d(value)

c)

output_high(pin_d)

d)

input(pin_d)

101.

Để tạo một project mới trong CCS C Compiler, bạn sử dụng tùy chọn nào trong menu?

a)

File → New → Source File

b)

File → New → Project Wizard

c)

File → Open → Project

d)

File → Save As

102.

Lệnh nào được dùng để xuất giá trị mã HEX lên Port C để điều khiển LED 7 thanh?

a)

set_tris_c(value)

b)

output_c(value)

c)

output_high(pin_c)

d)

input(pin_c)

103.

Lệnh set_tris_c(0x00) có tác dụng gì?

a)

Thiết lập Port C làm đầu vào

b)

Thiết lập Port C làm đầu ra

c)

Xuất giá trị mã HEX ra Port C

d)

Tạo độ trễ trên Port C

104.

Để LED 7 thanh hiển thị số 5, lệnh xuất giá trị nào trên Port C là đúng?

a)

output_c(0xA4)

b)

output_c(0x6D)

c)

output_c(0xB0)

d)

output_c(0x92)

105.

Lệnh nào có thể dùng để xuất giá trị 0x3F lên LED 7 thanh?

a)

output_c(0x3F)

b)

output_high(pin_c)

c)

output_low(pin_c)

d)

input(pin_c)

106.

Để hiển thị các số từ 0 đến 9 trên LED 7 thanh, bạn cần thực hiện gì?

a)

Sử dụng vòng lặp và xuất đầy đủ mã HEX tương ứng

b)

Xuất giá trị cố định mã HEX

c)

Dùng set_tris_c() để chuyển đổi mã HEX

d)

Không cần xuất mã HEX, LED tự hiển thị

107.

Trong CCS C, lệnh nào thiết lập tần số hoạt động cho vi điều khiển?

a)

#use delay(crystal=20M)

b)

set_tris_c(0x00)

c)

output_c(0xFF)

d)

delay_ms(1000)

108.

Để LED 7 thanh hiển thị số 9, lệnh xuất mã HEX nào ra Port C là đúng?

a)

output_c(0x6F)

b)

output_c(0xF8)

c)

output_c(0x90)

d)

output_c(0xA4)

109.

Mã HEX nào dùng trong output_c() để hiển thị số 1 trên LED 7 thanh?

a)

0x06

b)

0x3F

c)

0xB0

d)

0x99

110.

Với LED 7 thanh anode chung, mã HEX nào hiển thị số 0?

a)

0x3F

b)

0xC0

c)

0x6D

d)

0x90

111.

Với LED 7 thanh cathode chung, mã HEX nào hiển thị số 8?

a)

0x3F

b)

0xFF

c)

0x7F

d)

0xC0

112.

Mã HEX 0xB0 dùng để hiển thị số 3 trên LED 7 thanh thuộc kiểu nào?

a)

Anode chung

b)

Cathode chung

c)

Cả hai

d)

Không thuộc kiểu nào

113.

Với LED 7 thanh cathode chung, mã HEX 0x5B sẽ hiển thị số nào?

a)

Số 1

b)

Số 2

c)

Số 4

d)

Số 3

114.

Lệnh nào dùng để đọc trạng thái của một nút ấn kết nối với vi điều khiển?

a)

input(pin_x)

b)

output_high(pin_x)

c)

output_low(pin_x)

d)

set_tris_x(value)

115.

Trong mạch pull-up, trạng thái của nút ấn khi chưa được nhấn là gì?

a)

0 (mức thấp)

b)

1 (mức cao)

c)

Không xác định

d)

Luôn ở trạng thái ngắt

116.

Một nút ấn kết nối RA0 với mạch pull-down. Khi nút được nhấn, trạng thái đọc sẽ là gì?

a)

0 (mức thấp)

b)

1 (mức cao)

c)

Không xác định

d)

Không có tín hiệu

117.

Hiện tượng nào thường xảy ra khi nhấn nút và ảnh hưởng đến tín hiệu nhận được?

a)

Tản nhiệt

b)

Rung tiếp điểm (debounce)

c)

Nhiễu điện từ

d)

Tự cảm

118.

Giải pháp phần mềm thường dùng để xử lý rung tiếp điểm của nút nhấn là gì?

a)

Thêm tụ điện song song với nút nhấn

b)

Sử dụng lệnh delay_ms() để chờ ổn định tín hiệu

c)

Kết nối thêm diode

d)

Sử dụng mạch Schmitt Trigger

119.

Nếu if(input(pin_a0)) và chân RA0 đang ở mức cao, điều gì xảy ra?

a)

Khối lệnh trong if được thực thi

b)

Khối lệnh trong if bị bỏ qua

c)

Gây lỗi biên dịch

d)

Kết thúc chương trình

120.

Lệnh set_tris_a(0x01) thiết lập gì cho chân RA0 (nút nhấn)?

a)

RA0 làm đầu ra

b)

RA0 làm đầu vào

c)

Kích hoạt ngắt ngoại vi trên RA0

d)

Ngắt kết nối RA0

121.

Với mạch pull-up, khi nút nhấn được nhả ra, trạng thái đọc của chân kết nối là gì?

a)

0 (mức thấp)

b)

1 (mức cao)

c)

Không xác định

d)

Mức trung gian

122.

Đoạn mã if(input(pin_a1)) { output_high(pin_c0); } thực hiện nhiệm vụ gì?

a)

Bật LED nối RC0 khi nút trên RA1 được nhấn

b)

Tắt LED nối RC0 khi nút trên RA1 được nhấn

c)

Tắt nút nhấn trên chân RA1

d)

Gây lỗi biên dịch

123.

Nếu nút nhấn không hoạt động ổn định, nguyên nhân có thể là gì?

a)

Kết nối chân sai

b)

Thiếu xử lý rung tiếp điểm

c)

Sử dụng sai lệnh đọc tín hiệu

d)

Cả ba nguyên nhân trên

124.

Lệnh nào thiết lập chế độ PWM cho CCP1 trong CCS C?

a)

setup_ccp1(CCP_PWM)

b)

setup_timer2()

c)

set_pwm1_duty(value)

d)

output_high(pin_x)

125.

Lệnh setup_timer2(T2_DIV_BY_16, 249, 1) trong CCS C có tác dụng gì?

a)

Thiết lập tần số cho tín hiệu PWM

b)

Kích hoạt PWM

c)

Tạo độ trễ trong chương trình

d)

Thiết lập tốc độ cho động cơ

126.

Để thay đổi độ rộng xung của tín hiệu PWM, dùng lệnh nào?

a)

set_pwm1_duty(value)

b)

setup_ccp1(CCP_PWM)

c)

output_high(pin_x)

d)

setup_timer2()

127.

setup_ccp1(CCP_PWM) cần được đặt ở đâu trong chương trình?

a)

Trong hàm main() trước khi gọi set_pwm1_duty()

b)

Ở bất kỳ vị trí nào

c)

Sau khi gọi set_pwm1_duty()

d)

Không cần dùng lệnh này

128.

Khi dùng PWM, vì sao cần thiết lập Timer2?

a)

Timer2 xác định tần số của tín hiệu PWM

b)

Timer2 xác định Duty Cycle của PWM

c)

Timer2 không liên quan đến PWM

d)

Timer2 chỉ cần cho các tác dụng khác

129.

Nếu gọi set_pwm1_duty(0), điều gì sẽ xảy ra với tín hiệu PWM?

a)

tín hiệu PWM luôn Ở mức thấp

b)

tín hiệu PWM luôn Ở mức cao

c)

PWM Ngừng hoàn toàn

d)

không thay đổi tín hiệu

130.

Trong CCS C, lệnh nào thiết lập CCP2 để tạo PWM?

a)

setup_ccp2(CCP_PWM)

b)

setup_ccp1(CCP_PWM)

c)

set_pwm2_duty(value)

d)

setup_timer2()

131.

Điều chỉnh tần số PWM mà không ảnh hưởng Duty Cycle thì làm thế nào?

a)

Thay đổi tham số trong setup_timer2()

b)

Thay đổi tham số trong set_pwm1_duty(value)

c)

Dùng setup_ccp1(CCP_PWM)

d)

Không thể điều chỉnh

132.

Lệnh nào trong CCS C thường dùng để xuất dữ liệu điều khiển động cơ bước qua các chân I/O?

a)

output_c(value)

b)

set_pwm1_duty(value)

c)

setup_ccp1(CCP_PWM)

d)

input(pin_x)

133.

Trong đoạn mã điều khiển động cơ, mục đích của delay_ms(10) là gì?

output_c(0x01);

delay_ms(10);

output_c(0x02);

delay_ms(10);

output_c(0x04);

delay_ms(10);

output_c(0x08);

delay_ms(10);

a)

Tạo thời gian dừng giữa các bước để kiểm soát tốc độ quay

b)

Tắt động cơ sau mỗi bước

c)

Giảm công suất động cơ

d)

Không có tác dụng

134.

Để quay động cơ bước theo chế độ Half-Step, cần xuất chuỗi giá trị nào?

a)

0x01, 0x03, 0x02, 0x06, 0x04, 0x0C, 0x08, 0x09

b)

0x01, 0x02, 0x04, 0x08

c)

0x01, 0x04, 0x08, 0x02

d)

0x08, 0x04, 0x02, 0x01

135.

Để động cơ bước quay liên tục theo chiều thuận, cần sử dụng cấu trúc nào?

a)

Vòng lặp vô hạn xuất các bước tuần tự

b)

Vòng lặp với số bước cố định

c)

Chỉ xuất tín hiệu 1 lần cho tất cả các bước

d)

Không cần vòng lặp

136.

Để tăng tốc độ quay của động cơ bước, bạn cần thực hiện gì?

a)

Giảm thời gian trễ giữa các bước

b)

Tăng thời gian trễ giữa các bước

c)

Xuất thêm các tín hiệu không cần thiết

d)

Xuất tất cả tín hiệu cùng lúc