wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Câu hỏi về lập trình 8051

Total questions: 28

Worksheet time: 14mins

Name
Class
Date
1.

Lệnh nào đúng để (giả thiết dấu chấm phẩy nếu có thì dùng để phân tách 2 lệnh trên cùng 1 dòng) kiểm tra xem cờ RI (Receive Interrupt) đã được đặt hay chưa.

a)

CJNE RI, #1, SKIP

b)

JNB RI, $

c)

SETB RI

d)

MOV A, RI

2.

Lệnh nào đúng để (giả thiết dấu chấm phẩy nếu có thì dùng để phân tách 2 lệnh trên cùng 1 dòng) xóa cờ TI sau khi truyền dữ liệu hoàn tất.

a)

SETB TI

b)

MOV TI, #00H

c)

JNB TI, CLEAR

d)

CLR TI

3.

Cách sử dụng bộ định thời 1 trong truyền thông nối tiếp

a)

MOV TMOD, #20H

b)

MOV TMOD, #01H

c)

SETB TI

d)

MOV SCON, #40H

4.

Lệnh nào đúng để (giả thiết dấu chấm phẩy nếu có thì dùng để phân tách 2 lệnh trên cùng 1 dòng) bật chế độ tăng gấp đôi tốc độ truyền thông nối tiếp trong chế độ 1 , 2 và 3

a)

SETB PCON.0

b)

ORL PCON, #80H

c)

CLR PCON.7

d)

MOV SCON, #80H

5.

Lệnh nào đúng để (giả thiết dấu chấm phẩy nếu có thì dùng để phân tách 2 lệnh trên cùng 1 dòng) đọc dữ liệu nhận được từ SBUF và lưu vào thanh ghi A.

a)

MOV A, TI

b)

MOV SBUF, A

c)

MOV A, SBUF

d)

CLR RI

6.

Lệnh nào đúng để (giả thiết dấu chấm phẩy nếu có thì dùng để phân tách 2 lệnh trên cùng 1 dòng) chờ đến khi dữ liệu được truyền xong trước khi tiếp tục.

a)

JNB TI, $

b)

CLR TI

c)

CJNE TI, #0, NEXT

d)

JB TI, NEXT

7.

Cách cấu hình chế độ 2 (truyền đồng bộ 9-bit) cho UART của 8051.

a)

MOV SCON, #90H

b)

MOV SCON, #40H

c)

MOV PCON, #80H

d)

MOV TMOD, #10H

8.

Lệnh nào đúng để (giả thiết dấu chấm phẩy nếu có thì dùng để phân tách 2 lệnh trên cùng 1 dòng) khởi động bộ định thời 1 để hỗ trợ UART.

a)

MOV TMOD, #01H

b)

SETB TR1

c)

MOV SCON, #50H

d)

CLR TI

9.

Ngắt ngoại vi INT0 trên 8051 được kích hoạt bởi yếu tố nào?

a)

Xung từ bộ định thời

b)

Tín hiệu bên ngoài đưa vào chân INT0

c)

Sự kiện tràn trong bộ định thời

d)

Dữ liệu được truyền qua UART

10.

Ngắt bộ định thời (Timer Interrupt) xảy ra khi nào?

a)

Bộ đếm của Timer tràn (overflow)

b)

Tín hiệu ngắt bên ngoài được kích hoạt

c)

Có dữ liệu được nhận qua UART

d)

Chương trình chính bị dừng

11.

Cờ nào trong thanh ghi TCON được thiết lập khi ngắt Timer 1 xảy ra?

a)

TR1

b)

IT1

c)

TF1

d)

IE

12.

Ngắt truyền thông nối tiếp trong 8051 được kích hoạt bởi sự kiện nào?

a)

Timer tràn

b)

Có dữ liệu mới được ghi vào thanh ghi SBUF

c)

Thanh ghi SCON bị ghi đè

d)

Khi cờ TI hoặc RI được thiết lập

13.

Vai trò của thanh ghi IE (Interrupt Enable) trong xử lý ngắt của 8051 là gì?

a)

Kích hoạt hoặc vô hiệu hóa các nguồn ngắt cụ thể

b)

Lưu địa chỉ của chương trình xử lý ngắt

c)

Xác định mức độ ưu tiên của ngắt

d)

Quản lý tốc độ truyền UART

14.

Lệnh nào đúng để (giả thiết dấu chấm phẩy nếu có thì dùng để phân tách 2 lệnh trên cùng 1 dòng) bật ngắt Timer 0.

a)

SETB EA; SETB ET0

b)

MOV IE, #01H

c)

SETB EA; SETB EX0

d)

MOV TCON, #10H

15.

Lệnh nào đúng để (giả thiết dấu chấm phẩy nếu có thì dùng để phân tách 2 lệnh trên cùng 1 dòng) kích hoạt ngắt ngoại vi INT1.

a)

SETB EA; SETB ET1

b)

MOV IE, #80H

c)

SETB EA; SETB EX1

d)

CLR IE

16.

Lệnh nào đúng để (giả thiết dấu chấm phẩy nếu có thì dùng để phân tách 2 lệnh trên cùng 1 dòng) đợi cờ TF0 được bật lên trong chương trình chính.

a)

JNB TF0, SKIP

b)

SETB TF0

c)

JB TF0, SKIP

d)

JNB TF0, $

17.

Lệnh nào đúng để (giả thiết dấu chấm phẩy nếu có thì dùng để phân tách 2 lệnh trên cùng 1 dòng) vô hiệu hóa toàn bộ ngắt trên 8051.

a)

CLR EX0

b)

CLR EA

c)

MOV IE, #80H

d)

CLR TF0

18.

Lệnh nào đúng để (giả thiết dấu chấm phẩy nếu có thì dùng để phân tách 2 lệnh trên cùng 1 dòng) kích hoạt ngắt truyền thông nối tiếp.

a)

SETB ES

b)

MOV IE, #90H

c)

SETB TI

d)

CLR RI

19.

Viết chương trình con để xử lý ngắt khi INT0 được kích hoạt.

a)

PUSH ACC; CLR EX0; RET

b)

MOV A, P1; ADD A, P2; RETI

c)

org 3h; MOV A, P3; RETI

d)

CJNE A, #00H, LABEL

20.

Lệnh nào đúng để (giả thiết dấu chấm phẩy nếu có thì dùng để phân tách 2 lệnh trên cùng 1 dòng) kiểm tra và xử lý ngắt Timer1 trong chương trình chính.

a)

JNB TIMER_HANDLER

b)

CLR TF1; MOV TL1, #00H

c)

JNB TF1, $

d)

JB TF1, TIMER_HANDLER; CLR TF1; RETI

21.

Lệnh nào đúng để (giả thiết dấu chấm phẩy nếu có thì dùng để phân tách 2 lệnh trên cùng 1 dòng) đọc dữ liệu từ UART khi ngắt truyền thông xảy ra.

a)

MOV A, SBUF; CLR RI

b)

MOV RI, SBUF

c)

MOV SBUF, A; CLR RI

d)

MOV SBUF, A

22.

Lệnh nào đúng để (giả thiết dấu chấm phẩy nếu có thì dùng để phân tách 2 lệnh trên cùng 1 dòng) thiết lập ưu tiên cao cho ngắt Timer 0.

a)

SETB PT1

b)

MOV IP, #01H

c)

SETB IP.1

d)

CLR PT1

23.

Lệnh nào đúng để (giả thiết dấu chấm phẩy nếu có thì dùng để phân tách 2 lệnh trên cùng 1 dòng) xóa cờ RI sau khi dữ liệu được nhận qua UART.

a)

SETB RI

b)

CLR RI

c)

MOV A, SBUF

d)

CLR TI

24.

Đoạn mã sau có lỗi gì?SETB EA    

SETB TF0    

MOV TH0, #FFH 

a)

TF0 không được sử dụng để kích hoạt ngắt

b)

TH0 không thể được đặt trước khi khởi động Timer

c)

EA cần được tắt trước khi cấu hình ngắt

d)

TF0 cần được xóa trước khi khởi động Timer

25.

Điều gì xảy ra nếu không xóa cờ TF1 sau khi ngắt Timer 1 được xử lý?

a)

Ngắt Timer 1 tự động tái kích hoạt

b)

Timer 1 ngừng hoạt động

c)

Cờ TF1 vẫn giữ nguyên, gây ra ngắt liên tục

d)

Không có vấn đề gì xảy ra

26.

Tại sao đoạn mã sau không nhận được dữ liệu truyền thông nối tiếp?

a)

SBUF không được kiểm tra trước khi đọc

b)

Cờ TI không liên quan đến dữ liệu nhận qua UART

c)

TI cần được xóa trước khi đọc SBUF

d)

$ không phải là nhãn hợp lệ

27.

Lỗi gì có thể xảy ra nếu ưu tiên ngắt không được thiết lập đúng cách?

a)

Chỉ một ngắt được xử lý, ngắt còn lại bị bỏ qua

b)

Hai ngắt cùng lúc có thể dẫn đến ngừng hoạt động

c)

Cả hai ngắt đều không được xử lý

d)

Các cờ ngắt không được thiết lập đúng

28.

Tại sao đoạn mã sau không thể xử lý ngắt INT0 chính xác?

a)

EX0 không được thiết lập đúng cách

b)

IE không kích hoạt ngắt toàn cục

c)

Lệnh RET cần được thay bằng RETI

d)

Cờ IT0 không được xóa