wayground logo

Free Printable Worksheets

NEW

Font size

S
M
L
XL
Worksheets

Quiz về lệnh trong hợp ngữ 8051

Total questions: 69

Worksheet time: 35mins

Name
Class
Date
1.

Khi sử dụng lệnh RET, CPU sẽ thực hiện thao tác gì?

a)

Quay lại vị trí tiếp theo trong chương trình chính

b)

Tiếp tục thực hiện chương trình con

c)

Lặp lại chương trình con

d)

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

2.

Ý nghĩa của lệnh PUSH ACC trong hợp ngữ 8051 là gì?

a)

Lấy giá trị từ stack và lưu vào thanh ghi A

b)

Ghi giá trị tức thì vào thanh ghi A

c)

Lưu giá trị của thanh ghi A vào stack

d)

Tăng giá trị của thanh ghi A

3.

Khi thực hiện lệnh POP ACC, điều gì sẽ xảy ra?

a)

Giá trị của thanh ghi A bị xóa

b)

Giá trị trên đỉnh stack được lưu vào thanh ghi A

c)

Giá trị của thanh ghi A được lưu vào stack

d)

Giá trị của thanh ghi A bị đảo ngược

4.

Cấu trúc nào được sử dụng để tái sử dụng đoạn mã trong chương trình hợp ngữ 8051?

a)

Chương trình con

b)

Thanh ghi đa năng

c)

Bộ định thời

d)

Ngắt ngoài

5.

Điều gì xảy ra nếu lệnh JMP END_LOOP được thực thi trong chương trình hợp ngữ 8051?

a)

CPU tiếp tục thực hiện lệnh tiếp theo

b)

CPU quay lại đầu chương trình

c)

CPU dừng chương trình hiện tại

d)

CPU nhảy không điều kiện đến nhãn END_LOOP

6.

Chỉ thị DB trong hợp ngữ 8051 thường được sử dụng để làm gì?

a)

Khai báo biến

b)

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

c)

Khai báo dữ liệu hằng trong bộ nhớ

d)

Xóa giá trị trong thanh ghi

7.

Chức năng của cổng P0 trong 8051 là gì?

a)

Cổng I/O hai chiều và bus địa chỉ/bus dữ liệu

b)

Chỉ sử dụng làm cổng xuất dữ liệu

c)

Chỉ sử dụng làm cổng nhập dữ liệu

d)

Cổng điều khiển chế độ ngắt

8.

Cổng P1 trong 8051 thường được sử dụng với mục đích gì?

a)

Kết nối bộ nhớ ngoài

b)

Làm bus điều khiển

c)

Điều khiển ngắt ngoài

d)

Là cổng I/O độc lập

9.

Cổng P2 của vi xử lý 8051 thường được sử dụng làm bus địa chỉ cao khi nào?

a)

Khi kết nối với thiết bị ngắt ngoài

b)

Khi 8051 truy cập bộ nhớ ngoài

c)

Khi sử dụng định thời

d)

Khi lập trình công nối tiếp

10.

Tại sao cần sử dụng điện trở kéo lên (pull-up resistor) với cổng P0?

a)

Để giảm nhiễu tín hiệu

b)

Để tăng tốc độ xử lý tín hiệu

c)

Vì P0 không tích hợp sẵn điện trở kéo lên

d)

Để hỗ trợ truy cập bộ nhớ ROM

11.

Cổng P3 của 8051 có thể thực hiện chức năng gì ngoài vai trò cổng I/O?

a)

Điều khiển ngắt, truyền thông nối tiếp và điều khiển bộ đếm

b)

Truy cập bộ nhớ ROM ngoài

c)

Làm bus địa chỉ cao

d)

Điều khiển bộ nhớ RAM nội

12.

Lệnh nào đúng để đặt 8 bit của cổng P1 về 0?

a)

MOV P1, #0

b)

SETB P1

c)

MOVC P1, 0

d)

XRL P1,0

13.

Lệnh nào đúng để nhảy đến nhãn CHECK nếu bit P3.2 được thiết lập?

a)

CJNE P3.2, #1, CHECK

b)

SETB P3.2; SJMP CHECK

c)

MOV C, P3.2; JC CHECK

d)

JB P3.2, CHECK

14.

Lệnh nào dùng để gửi dữ liệu từ thanh ghi A sang cổng P2?

a)

MOV A, P2

b)

MOV P2, A

c)

ORL P2, A

d)

SETB P2

15.

Lệnh nào đúng để bật bit P1.5 và giữ nguyên các bit khác của cổng P1?

a)

MOV P1.5, #1

b)

ORL P1, #20H

c)

ANL P1, #DFH

d)

SETB P1.5

16.

Đáp án nào đúng khi thực hiện đoạn mã lệnh sau: MOV A, #0FFH; MOV P0, A?

a)

Có lỗi vì P0 không hỗ trợ giá trị 0FFH

b)

Không có lỗi nhưng cần sử dụng điện trở treo cho P0

c)

Có lỗi vì P0 không hỗ trợ xuất dữ liệu

d)

Có lỗi sai tên thanh ghi A

17.

Tại sao lệnh sau lại có lỗi khi thực thi? MOV A, P1; CPL P1

a)

Vì lệnh MOV A không hỗ trợ dữ liệu từ cổng P1

b)

Vì lệnh CPL không hỗ trợ toán hạng có kích thước 8 bit

c)

Vì toán hạng của lệnh MOV không đúng cú pháp

d)

Vì CPL không hỗ trợ địa chỉ trực tiếp P1

18.

Điều gì xảy ra nếu không đặt giá trị ban đầu cho P3 trước khi sử dụng và sau khi 8051 bị reset?

a)

Các thiết bị ngoại vi không hoạt động

b)

Chương trình bị treo

c)

Giá trị ngẫu nhiên, hoặc giá trị lưu từ lệnh trước có thể ảnh hưởng đến kết quả thực thi của lệnh hiện tại

d)

P3 tự động đặt về giá trị mặc định

19.

Lỗi gì có thể xảy ra khi xuất dữ liệu tới cổng P2 mà không kiểm tra kết nối bộ nhớ ngoài?

a)

Dữ liệu có thể bị ghi đè bởi bus địa chỉ

b)

Không có lỗi xảy ra

c)

P2 tự động xử lý dữ liệu

d)

P2 chỉ hỗ trợ đầu vào

20.

Nhận xét nào đúng về đoạn mã sau: SETB P0.7; MOV A, P0

a)

Giá trị P0.7 không được gán đúng cách

b)

Điện trở kéo lên cần được sử dụng cho P0

c)

Không thể đọc dữ liệu từ P0 sau khi thiết lập P0.7

d)

Cần gán giá trị cho A trước

21.

Khi đọc dữ liệu từ cổng P3, điều gì có thể xảy ra nếu không cấu hình chính xác?

a)

Giá trị luôn bằng 0

b)

Giá trị luôn bằng 1

c)

Một số bit có thể bị ảnh hưởng bởi chức năng đặc biệt của P3

d)

P3 tự động cấu hình

22.

Lệnh nào sau đây thực hiện đặt 4 bit cuối của P1 bằng 1

a)

ORL P1, #0FH

b)

ANL P1, #0FH

c)

ORL P1, #0F0H

d)

ANL P1, #0F0H

23.

Tại sao cần kiểm tra trạng thái cổng P0 trước khi gửi dữ liệu ra ngoài?

a)

Vì P0 có thể được sử dụng làm bus dữ liệu/bus địa chỉ

b)

Vì P0 không hỗ trợ đầu vào

c)

Vì P0 không hỗ trợ tín hiệu ngắt

d)

Vì P0 không có chức năng đặc biệt

24.

Nhận xét nào sau đây là đúng nhất nếu không cấu hình đúng bit EX0 hoặc EX1 trước khi sử dụng ngắt ngoài?

a)

Ngắt ngoài luôn được kích hoạt

b)

Ngắt ngoài không thể kích hoạt

c)

Giá trị P3.2 hoặc P3.3 luoon bằng 0

d)

Giá trị luoon bằng 1

25.

Đoạn mã sau có thể gặp vấn đề gì khi sử dụng P2 để đọc dữ liệu từ thiết bị ngoại vi?

MOV A, P2 

a)

P2 không hỗ trợ đầu vào từ thiết bị ngoại vi

b)

Cần cấu hình P2 trước khi đọc dữ liệu

c)

P2 có thể bị ảnh hưởng bởi bus địa chỉ cao khi kết nối bộ nhớ ngoài

d)

P2 chỉ hỗ trợ đầu ra

26.

Chức năng chính của bộ định thời (Timer) trong 8051 là gì?

a)

Tạo độ trễ và đo thời gian

b)

Lưu trữ dữ liệu tạm thời

c)

Điều khiển ngắt ngoài

d)

Truyền dữ liệu nối tiếp

27.

Bộ đếm (Counter) trong 8051 hoạt động dựa trên yếu tố nào?

a)

Tín hiệu từ bộ nhớ ngoài

b)

Các xung tín hiệu ngoài đưa vào chân T0 (P3.4) hoặc T1 (P3.5)

c)

Bộ đệm dữ liệu nội

d)

Lệnh do CPU xử lý

28.

Khi nào bộ định thời trong 8051 được đặt ở chế độ định thời (Timer Mode)?

a)

Khi nhận tín hiệu từ ngắt ngoài

b)

Khi tín hiệu đến từ cổng P3

c)

Khi được cấu hình ở chế độ chế độ đếm xung (Counter Mode)

d)

Khi nhận tín hiệu xung từ nguồn nội

29.

Chế độ 16-bit của bộ định thời 8051 cho phép làm gì?

a)

Đếm tới đa 256 xung

b)

Ghi và đọc giá trị từ bộ nhớ

c)

Đếm tới đa 65,536 xung

d)

Chuyển đổi tín hiệu số sang tương tự

30.

Thanh ghi nào trong 8051 lưu giá trị hiện tại của bộ định thời?

a)

TCON

b)

TH0 và TL0 hoặc TH1 và TL1

c)

TMOD

d)

PC

31.

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) đặt bộ định thời 0 ở chế độ 16-bit.

a)

MOV TMOD, #01H

b)

MOV TMOD, #02H

c)

SETB TCON.0

d)

MOV TMOD, #0H

32.

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.

a)

MOV TCON, #10H

b)

CLR TR1

c)

SETB TR1

d)

MOV TMOD, #11H

33.

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) dừng bộ định thời 0.

a)

MOV TCON, #00H

b)

CLR TCON.0

c)

MOV TR0, #00H

d)

CLR TR0

34.

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) tải giá trị 0FFH vào thanh ghi TL0.

a)

MOV A, TL0

b)

MOV TL0, #0FFH

c)

CLR TL0

d)

MOV TH0, #0FFH

35.

Cách sử dụng bộ đếm 0 để đếm xung từ chân T0.

a)

MOV TMOD, #05H

b)

SETB TR1

c)

MOV TCON, #01H

d)

MOV TL1, #00H

36.

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 Timer 0 tràn?

a)

JB TCON.1, $

b)

MOV A, TF0; CJNE A, #1, $

c)

JNB TF0, $

d)

JC TF0

37.

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ờ TF1 sau khi xảy ra tràn ở bộ định thời 1.

a)

MOV TCON, #00H

b)

MOV TCON.1, #0

c)

CLR TF0

d)

CLR TF1

38.

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) tải giá trị ban đầu vào bộ định thời 1 với TH1 = 0F và TL1 = FF.

a)

MOV TH1, #0FH; MOV TL1, #0FFH

b)

MOV TH0, #0FFH; MOV TL0, #0FFH

c)

MOV TMOD, #10H; MOV TL1, #FFH

d)

MOV TCON, #0FH; MOV TL1, #0FFH

39.

Lệnh nào đúng để kích hoạt bộ định thời 0 và cho phép nó hoạt động?

a)

MOV TMOD, #00H

b)

SETB TR0

c)

MOV TCON, #11H

d)

CLR TF0

40.

Lệnh nào đúng để chuyển bộ định thời 1 từ chế độ định thời sang chế độ đếm?

a)

MOV TMOD, #00H

b)

CLR TR1

c)

MOV TMOD, #50H

d)

MOV TCON, #10H

41.

Để làm việc với timer1 thì đoạn mã sau có vấn đề gì? MOV TMOD, #01H SETB TR1

a)

TMOD không thể gán giá trị trực tiếp

b)

Bộ định thời 1 không thể khởi động với TMOD = #01H

c)

TR1 không khởi động đúng bộ định thời 1

d)

Chưa gán giá trị cho TH1 và TL1 ở chế độ 13 bit

42.

Điều gì xảy ra nếu không xóa cờ TF0 sau khi xảy ra tràn?

a)

Bộ định thời tự động khởi động lại

b)

Cờ TF0 giữ nguyên, gây lỗi vòng lặp không mong muốn

c)

Bộ định thời ngừng hoạt động

d)

Không có lỗi xảy ra

43.

Tại sao đoạn mã sau không thể đếm chính xác các xung tại chân T1? MOV TMOD, #10H SETB TR0

a)

TMOD được cấu hình sai, chỉ kích hoạt bộ định thời 0

b)

TR0 không thể kích hoạt chân T1

c)

Giá trị TMOD không tương thích với xung ngoài

d)

Cờ TF1 không được khởi tạo

44.

Lỗi gì xảy ra nếu sử dụng đoạn mã sau để kiểm tra tràn TF1? JNB TCON.3, CONTINUE

a)

TCON.3 không đại diện cho TF1

b)

CONTINUE không được định nghĩa

c)

Lệnh không chính xác, gây lỗi kiểm tra cờ tràn

d)

TF1 tự động xóa trước khi kiểm tra

45.

Khi sử dụng lệnh CLR TR0 và MOV TCON, #10H, nguyên nhân nào sau đây khiến bộ đếm không hoạt động?

a)

Thiếu bật TR0

b)

TR0 không thể kích hoạt xung ngoài

c)

TCON không hỗ trợ chế độ đếm

d)

Cần cấu hình TMOD với chế độ đếm (#05H)

46.

Chế độ 1 của UART trong 8051 hoạt động như thế nào?

a)

Truyền thông đồng bộ với tốc độ cố định

b)

Truyền thông không đồng bộ với tốc độ có thể thay đổi

c)

Chuyển đổi dữ liệu từ song song sang nối tiếp

d)

Truyền thông nối tiếp qua hai kênh độc lập

47.

Vai trò của thanh ghi SBUF trong truyền thông nối tiếp của 8051 là gì?

a)

Lưu trữ dữ liệu được truyền hoặc nhận

b)

Quản lý tốc độ truyền dữ liệu

c)

Lưu địa chỉ của dữ liệu trong RAM

d)

Điều khiển tín hiệu ngắt ngoài

48.

Tại sao cờ TI (Transmit Interrupt) cần được kiểm tra khi truyền dữ liệu nối tiếp?

a)

Để xác định trạng thái bộ đếm/định thời

b)

Để xác minh dữ liệu đã được lưu vào SBUF

c)

Để kích hoạt truyền thông nối tiếp

d)

Để đảm bảo dữ liệu đã được truyền hoàn toàn

49.

Chế độ 2 của UART trong 8051 có ưu điểm gì?

a)

Cho phép truyền song song qua các cổng

b)

Hỗ trợ tốc độ truyền không đồng bộ cao hơn

c)

Cung cấp truyền thông đồng bộ 9 bit (Synchronous 9 bit) với tốc độ cố định (1/32 tần số clock)

d)

Cho phép sử dụng hai thanh ghi dữ liệu độc lập

50.

Thanh ghi nào được sử dụng để cấu hình chế độ truyền thông nối tiếp trong 8051?

a)

SCON

b)

TCON

c)

PCON

d)

TMOD

51.

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ấu hình UART của 8051 ở chế độ 1 (truyền không đồng bộ 8-bit).

a)

MOV SCON, #50H

b)

MOV SCON, #10H

c)

MOV PCON, #80H

d)

MOV TMOD, #20H

52.

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) gửi một ký tự từ thanh ghi A qua UART

a)

MOV A, SBUF

b)

MOV SBUF, TI

c)

MOV SBUF, A

d)

SETB TI

53.

Lệnh nào đú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

54.

Lệnh nào đú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

55.

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

a)

MOV TMOD, #20H

b)

MOV TMOD, #01H

c)

SETB TI

d)

MOV SCON, #40H

56.

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

57.

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

58.

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

59.

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

a)

MOV SCON, #90H

b)

ORL PCON, #80H

c)

CLR PCON.7

d)

MOV SBUF, A

60.

Lệnh nào đú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

61.

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

62.

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

63.

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

64.

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

65.

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

66.

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 IE, #10H

67.

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

68.

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, $

69.

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