Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 19

Câu 1 :Tìm giá trị của P0 sau khi thực hiện đoạn chương trình bên dưới:

MOV A, #01

MOV R0,#07

LOOP: RL A

DJNZ R0,LOOP

MOV P0,A

...

a. Tất cả các đáp án đều sai

b. P0=80h

c. P0=80

d. P0=8

Câu 2:Cho câu lệnh sau: "CLR C"

Select one:

a. Là câu lệnh sai, vì không tồn tại thanh ghi C

b. Tất cả các đáp án đều sai

c. là câu lệnh sai, vì B là thanh ghi 8 bit

d. Là câu lệnh đúng xóa cờ C

Câu 3:Để làm cho chân P3.2 xoá về mức thấp mà không làm ảnh hưởng đến các chân còn lại của P3,
với 3 câu lệnh:

1) CLR P3.2

2) ANL P3,#11111011B

3) MOV P3,#11111011B

Select one:

a. Câu 3) sai

b. Cả 3 câu đều sai

c. Câu 1) sai

Câu 4: Tìm giá trị của P0 sau khi thực hiện đoạn chương trình bên dưới:
MOV A, #128

MOV R0,#07

LOOP: RR A

DJNZ R0,LOOP

MOV P0,A

...

Select one:

a. P0=08

b. P0=01

c. P0=0

d. P0=128

Câu 5 Xác định thời gian duy trì trạng thái của chân P3.0 ở mức cao trong đoạn chương trình bên dưới

MOV R0, #100

LOOP: SETB P3.0

DJNZ R0,$ (100x2)x1us

CLR P3.0

Select one:

a. 200S

b. 200μS

c. 200mS

d. Tất cả các đáp án đều sai

Câu 6 Chỉ ra câu lệnh có kết quả thực hiện khác với các câu lệnh còn lại trong các câu lệnh sau:

1) Mov R2,#10h

2) MOV R2,#1010B

3) Mov R2,#0AH
4) MOV 02,#10

Select one:

a. Câu lệnh 1)

b. Câu lệnh 3)

c. Câu lệnh 2)

d. Câu lệnh 4)

Câu 7 Trong cấu trúc câu lệnh của hợp ngữ, trường chú thích (ghi chú)

Select one:

a. Dấu thăng "#"

b. Dấu chấm chấm phẩy ";"

c. Dấu chấm hai chấm ":"

d. Dấu chấm "."

Câu 8 Cho đoạn chương trình như bên dưới, xác định giá trị thanh ghi A sau khi VĐK thực hiện xong
đoạn chương trình bên dưới:

MOV R0,#100

MOV A,R0

INC A Tăng A lên 1 đơn vị

Select one:

a. Tất cả các đáp sán đều sai

b. A chứa giá trị 100

c. A chứa giá trị 99

d. A chứa giá trị 101

Câu 9:Cho đoạn chương trình như bên dưới, xác định giá trị thanh ghi R7 sau khi VĐK thực hiện xong
chương trình:

MOV A,#120

MOV R7,A

DEC R7 Giảm R7 đi 1 đơn vị


A. R7 chứa giá trị

Select one:

a. R7 chứa giá trị 120

b. R7 chứa giá trị 121

c. R7 chứa giá trị 119

Câu 10 Tìm số lần quay vể vòng lặp Loop khi thực hiện đọan chương trình như bên dưới,

...

DELAY: MOV R0, #100

Loop : DJNZ R0,Loop

...

Select one:

a. 100

b. 99

c. Tất cả các đáp án đều sai

d. 101

Câu 11 Xác định giá trị R0 sau khi thực hiện đoạn chương trình bên dưới:

MOV R3, #100

MOV R0,#00

LOOP: INC R0

DJNZ R3,LOOP

...

Select one:

a. R0=99
b. Tất cả các đáp án đều sai

c. R0=100

d. R0= 101

Câu 12Cho các câu lệnh sau:

1) MOV R1,R2 Các thanh ghi làm việc Rn không thể trao đổi dữ liệu trực tiếp cho nhau

2) MOV R0,#256 vượt quá giá trị thanh ghi

Select one:

a. Câu lệnh 1) sai

b. Câu lệnh 2) đúng

c. Cả 2 câu lệnh đúng

d. Cả 2 câu lệnh sai

Câu 13 Cho các câu lệnh sau:

1) MOV DPTR,10Ah

2) MOV A,#100h

Select one:

a. Cả hai câu lệnh trên đều sai

b. Cả hai câu lệnh đều đúng

c. Câu lệnh 1) sai

d. Câu lệnh 2) sai

Câu 14 Giải thích ý nghĩa câu lệnh:

JB P0_0,$
Select one:

a. Nhảy tại chỗ nếu chân P0.0 nhận giá trị 1 (cao)

b. R0 sẽ giảm xuống 01 đơn vị khi chân P0.0 nhận giá trị 0 (thấp)

c. R0 sẽ giảm xuống 01 đơn vị khi chân P0.0 nhận giá trị 0 (thấp)

d. Nhảy tại chỗ nếu chân P0.0 nhận giá trị 0 (thấp)

Câu 15 Sau khi biên dịch chương trình thành công, file có đuôi (phần mở rộng) nào sau đây được sử
dụng để nạp vào VĐK

Select one:

a. *.lis

b. *.hex

c. *.abs

d. *.obj

Câu 16 Cho đoạn chương trình như bên dưới, xác định giá trị thanh ghi chân P0.0 để chương trình
quay về nhãn loop:

...

loop: MOV A,#0

JNB P0.0,loop

...

Select one:

a. Luôn quay về

b. Khi P0.0 nhận mức thấp

c. Khi P0.0 nhận mức cao

d. Không xác định


Câu 17 Trong cấu trúc câu lệnh của hợp ngữ, trường nhãn (Label) được nhận diện thông qua dấu

Select one:

a. Dấu thắng "#"

b. Dấu chấm "."

c. Dấu chấm hai chấm ":"

d. Dấu chấm chấm phẩy ";"

Câu 18 Với câu lệnh "Batdau: mov R0, #00H"

Select one:

a. "Batdau:" là chú thích

b. "#00H" là toáng hạng đích Toán hạng nguồn

c. "mov" là từ gợi nhớ

d. "R0" là toán hạng nguồn Toán hạng đích

Câu 19 Xác định thời gian thực hiện đọan chương trình như bên dưới,

Tre: MOV R0, #100

Lap : DJNZ R0,lap

RET

Đáp án sai kết quả 203us

Sách trang 74

Select one:

a. 102μS

b.202μS

c. 100μS

d. 200μS

Câu 20 Để làm cho chân P0.4 lên mức cao mà không ảnh hưởng đến các chân còn lại của P0, với các
câu lệnh

1) SETB P0.3 không biết đề có viết nhầm P0.4 thành P0.3 không

2) ORL P0,#00001000B

Select one:
a. Cả hai câu lệnh sai

b. Câu lệnh 1) là sai

c. Câu lệnh 2) là sai

d. Cả hai câu lệnh đúng

Câu 21 Để làm cho (gán) các bit của thanh ghi P0 lên mức cao , chỉ ra câu lệnh đúng trong các câu lệnh
sau:

1. Mov P0,#FFh

2. ORL P0,#0FFh

Select one:

a. Câu lệnh 2) sai

b. Cả hai câu lệnh đều đúng

c. Cả hai câu lệnh đều sai

d. Câu lệnh 1) sai

Câu 22 Để làm cho các chân P3 có mức cao, thấp xen kẻ, cho các lệnh sau:

1) MOV P3, 10101010b

2) MOV P3, #10101010b

Select one:

a. Câu lệnh 1) đúng

b. Câu lệnh 2) đúng

c. Câu lệnh 1) và 2) đúng

d. Câu lệnh 1) và 2) sai

Câu 23 Trong chương trình hợp ngữ, để tạm bỏ câu lệnh đã có trong chương trình

Select one:

a. Sử dụng dấu chấm chấm phẩy ";" trước câu lệnh đó

b. Sử dụng dấu thắng "#" trước câu lệnh đó

c. Sử dụng dấu chấm "." trước câu lệnh đó

d. Sử dụng dấu hai chấm ":" trước câu lệnh đó

Câu 24 Để làm cho chân P2.0 về mức thấp, với các câu lệnh
1) CLR P2.0

2) CPL P2.0 đảo bit 255-?

Select one:

a. Câu lệnh 2) sai

b. Cả 2 câu lệnh đều sai

c. Cả 2 câu lệnh đều đúng

d. Câu lệnh 1) sai

Câu 25 Tìm thời gian P2.0 duy trì ở mức cao sau khi thực hiện đoạn chương trình bên dưới:

MAIN: CLR P2.0

MOV R0,#10

LOOP: DJNZ R0,LOOP

SETB P2.0

SJMP MAIN

Select one:

a. 21 μS

b. 1 μS

c. 20 μS

d. 2 μS

Câu 26 Cho đoạn chương trình như bên dưới, xác định giá trị thanh ghi R0 sau khi VĐK thực hiện xong
chương trình:

lap: MOV A,#0

JNB P0.0,lap

INC R0

….
Select one:

a.

R0 sẽ giảm xuống 01 đơn vị khi chân P0.0 nhận giá trị 0 (thấp)

b. R0 sẽ giảm xuống 01 đơn vị khi chân P0.0 nhận giá trị 1

c. R0 sẽ tăng lên 01 đơn vị khi chân P0.0 nhận giá trị 0 (thấp)

d.R0 sẽ tăng lên 01 đơn vị khi chân P0.0 nhận giá trị 1 (cao)

Câu 27 Cho câu lệnh sau: "MOV C,#10h"

Select one:

a. Là câu lệnh sai, vì C không thể nhận giá trị trực tiếp

b. Là câu lệnh đúng

c. Là câu lệnh sai, vì không tồn tại thanh ghi C

d. Tất cả các đáp án đều sai

Clear my choice

Câu 28 Tìm thời gian P2.0 duy trì ở mức thấp sau khi thực hiện đoạn chương trình bên dưới với mạch
sử dụng thạch anh có tần số 11,0892MHz:

MOV R0,#10

CLR P2.0

LOOP: DJNZ R0,LOOP

SETB P2.0

Select one:

a. Tất cả các đáp án đều sai

b. 21,7 μS

c. 20 μS
Câu 29 Cho câu lệnh sau: "CLR B"

Select one:

a. Là câu lệnh sai, vì không tồn tại thanh ghi B

b. Tất cả các đáp án đều sai

c. Là câu lệnh sai, vì B là thanh ghi 8 bit

d. Là câu lệnh đúng

Clear my choice

Câu 30 Câu lệnh sau: "MOV DPTR,#100h"

Select one:

a. Tất cả các đáp án đều sai

b. Là câu lệnh đúng, vì DPTR là thanh ghi 16 bit

c. Là câu lệnh sai, vì giá trị 100h vượt quá 8 bit

d. Là câu lệnh sai, vì DPTR không thể nhận giá trị trực tiếp

Câu 31 Xác định trạng thái chân P2.0 sau khi hoàn thực hiện đoạn chương trình sau:

void main()

……

while (1)

P2_0=0;

P2_0=1;

}
Select one:

a. Không xác định

b. Tất cả các đáp án đều sai

c. P2.0=0

d. P2.0=1

Câu 32 Với thiết kế sử dụng nút nhấn nối vào chân P0.0 của VĐK 8051

Select one:

a. Phải khai báo P0_0=0 để chân P0.0 là chân input

b. Tất cả các đáp án đều sai

c. Mặc định chân P0.0 là chân input

d. Phải khai báo P0_0=1 để chân P0.0 là chân input

Câu 33 Viết đoạn chương trình cho 8051 để điều khiển: khi chân P0.0 ở mức thấp thì duy trì chân P2.0
ở mức thấp

Select one:

a. while (P0_0==0)

P2.0=0;

P2.0=1;

b. if (P0_0==0)

P2.0=0;

P2.0=1;

c. while (P0_0==0)

P2.0=1;
}

P2.0=0;

d. if (P0_0==0)

P2.0=0;

P2.0=1;

Câu 34 Câu lệnh định nghĩa (thay thế) chân P1.0 là Led1

1) #define Led1 P1_0

2) #define P1_0 Led1

3) #define Led1 P1_0;

Select one:

a. Câu lệnh 1) là đúng

b. Câu lệnh 2) là đúng

c. Cả 3 câu lênh trên đều sai

d. Câu lệnh 3) là đúng

Câu 35 Cho lưu đồ như hình

Select one:

a. f (P0_0=0)

{ P1==0x55; xóa 1 dấu bằng

P2==P1;
}

else

{ P1=0xAA;

P2=P1;

b.

If (P0_0==0)

{ P1=0xAA; ngược

P2=P1;

else

{ P1=0x55;

P2=P1;

c. If (P0_0=0) thiếu 1 dấu bằng

{ P1=0x55;

P2=P1;

else

{ P1=0xAA;

P2=P1;

d. If (P0_0==0)

{ P1=0x55;

P2=P1;

else

{ P1=0xAA;

P2=P1; }
Câu 36 Khai báo tiền xử lý #include <REGX51.H>

Select one:

a. Được đặt ở phần đầu tiên của chương trình

b. Tất cả các đáp án đều sai

c. Được đặt ở bất kỳ nơi nào của chương trình

d. Được đặt ở phần cuối của chương trình

Câu 37 Với thiết kế sử dụng chân P0.0 của VĐK 8051 điều khiển trạng thái Led

Select one:

a. Mặc định các chân I/O của VĐK 8051 là output

b. Phải khai báo P0_0=1 để chân P0.0 là chân output

c. Phải khai báo P0_0=0 để chân P0.0 là chân output

d. Tất cả các đáp án đều sai

Clear my choice

Câu 38 Xác định trạng thái Led1 sau khi thực hiện chương trình sau

if (Button==0)

Led1=0;

Led1=1;

....

Select one:

a. Tất cả các đáp án đều sai

b. Nếu Button=1 thì Led1=1

c. Nếu Button=0 thì Led1=0

d. Nếu Button=0 hoặc Button=1 thì Led1=1

Clear my choice

Câu 39 Xác định số lần lặp của đoạn chương trình

while(1){
.....

Select one:

a. Lặp 1 lần

b. Tất cả các đáp án đều sai

c. Lặp mãi mãi

d. Không lặp lần nào

Clear my choice

Câu 40 Xác định trạng thái Led1 sau khi thực hiện chương trình sau

if (Button==0)

{Led1=0;}

else

Led1=1;

....

Select one:

a. Nếu Button=1 thì Led1=0 và ngược lại

b. Nếu Button=0 thì Led1=0 và ngược lại

c. tất cả các đáp án đều sai

d. Nếu Button=0 thì Led1=1 và ngược lại

Clear my choice

Câu 41 Để lặp lại đoạn chương trình với số lần (n=100) biết trước ta có thể sử dụng lệnh:

Select one:

a. while(100) {…}

b. for(, ,) {…}

c. for( i=0; i<100;i++) {…}


d. while(1) {…}

Câu 42 Kiểu sbit dùng để khai báo

Select one:

a. Kiểu dữ liệu bit, nhưng dùng để cho phép truy cập các thanh ghi có chức năng đặc biệt (SFR) có thể
định địa chỉ theo bit

b. Kiểu dữ liệu byte, nhưng dùng để cho phép truy cập các thanh ghi có chức năng đặc biệt (SFR) có thể
định địa chỉ theo bit RAM của vi điều khiển.

c. Các biến có giá trị 0 hoặc một hay các biến logic trên vùng RAM của vi điều khiển.

d. Tất cả các đáp án đều sai

Clear my choice

Câu 43 Để sử dụng khai báo tiền xử lý #include <REGX51.H>

Select one:

a. Sử dụng để khai báo biến

b. Tất cả các đáp án đều đúng

c. Báo cho trình biên dịch nhận nội dung của tệp (file) thư viện REGX51.H và chèn vào tệp chương trình
nguồn.

d. Cho phép tạo các macro thay thế đơn giản.

Câu 44 Đọan chương trình kiểm tra trạng thái chân P3.0 để thiết lập mức logic cho chân P3.1 , chọn
đoạn chương trình đã cho phù hợp

(1) (2) (3) (4)


if (P3^0=0) if (P3^0=0) if (P3^0==0) if (P3^0==0)
{ { { {
P3^1=0; P3^1==0; P3^1=0; P3^1==0;
…. …. …. ….
} } } }
…. …. …. ….
Select one:

a. (2)

b. (3)

c. (4)

d. (1)

Câu 45 Cho đoạn chương trình như bên dưới, xác định giá trị trên cổng P1 sau khi thực hiện

void main(void)

{ ....

if (P0_0==0)

P1=0x55;

else

P1=0xAA;

.....

Select one:

a. P1=55H khi P0.0 =0; P1=AAH khi P0.0 =1

b. P1=55H khi P0.0 =1; P1=AAH khi P0.0 =0

c. P1=55H khi P0.0 =0; P1=AAH khi P0.0 =0

d. P1=55H khi P0.0 =1; P1=AAH khi P0.0 =1

Câu 46 Kiểu bit dùng để khai báo các biến có giá trị 0 hoặc một hay các biến logic trên vùng RAM của vi
điều khiển.

Select one:

a. Dùng để khai báo các biến trong vùng RAM của vi điều khiển

b. Dùng để khai báo các biến có giá trị 0 hoặc 1 hay các biến logic trên vùng RAM của vi điều khiển.
c. Dùng để khai báo các biến có giá trị 0 hoặc 1 hay các biến logic trên vùng RAM chứa các thanh ghi
chức năng đặc biệt (SFR) của vi điều khiển.

d. Dùng để khai báo các biến có giá trị 0 hoặc 1 trong vùng ROM của vi điều khiển

You might also like