You are on page 1of 71

NGÂN HÀNG CÂU HỎI TRẮC NGHIỆM MÔN VI ĐIỀU KHIỂN

Chương 1: Tổng quan về vi xử lý, vi điều khiển


1.1 Lý thuyết
1.1.1 Câu hỏi dễ
$ Chip vi điều khiển 8051 được sản xuất lần đầu tiên vào năm nào? Do nhà sản xuất nào chế tạo?
~ 1976 – Hãng Intel
~ 1976 – Hãng Motorola
~ 1980 – Hãng Intel
~ 1980 – Hãng Zilog

$ Vi xử lý đầu tiên được sản xuất vào năm nào?


~ 1971
~ 1976
~ 1980
~ 1981

$ Vi xử lý đầu tiên có tên là gì?


~ Intel 4004
~ Intel 8086
~ Intel 8088
~ 8051

$ Vi xử lý đầu tiên có bao nhiêu bit dữ liệu? bao nhiêu bit địa chỉ
~ 4 bit dữ liệu – 8 bit địa chỉ
~ 4 bit dữ liệu – 12 bit địa chỉ
~ 8 bit dữ liệu – 8 bit địa chỉ
~ 8 bit dữ liệu – 12 bit địa chỉ

$ Có mấy cách biểu diễn số âm?


~1
~2
~3
~4

$ Packed BCD là:


~ Kết hợp 2 số BCD thành 1 byte
~ Thay 4 bit cao thành 0H
~ Số BCD dài 1 byte
~ Thay 4 bit thấp thành 0H

$ Unpacked BCD là:


~ Kết hợp 2 số BCD thành 1 byte.
~ Thay 4 bit cao thành 0H.
~ Số BCD dài 1 byte.
~ Cả B và C
$ Mã bù 2 của một số nhị phân được tạo ra bằng cách
~ Đảo trạng thái tất cả các bit của số nhị phân
~ Cộng thêm 1 vào mã bù 1
~ Cộng thêm 2 vào mã bù 1
~ Lấy bù 1 trừ đi 1

$ Mã bù 1 của một số nhị phân được tạo ra bằng cách


~ Đảo trạng thái tất cả các bit của số nhị phân
~ Cộng thêm 1 vào mã bù 1
~ Cộng thêm 2 vào mã bù 1
~ Lấy bù 1 trừ đi 1

$ CPU có ở :
~ Vi xử lý.
~ Vi điều khiển.
~ Có cả ở vi xử lý và vi điều khiển.
~ Không có ở đâu.

$ Bộ vi điều khiển là gì?


~ Microcontroller - mạch tích hợp, trên một chip lập trình được, dùng điều khiển
hoạt động của hệ thống.
~ Microprocessor – Xây dựng từ vi mạch điện tử và máy tính số.
~ Thiết bị điện điện, điện tử bán dẫn
~ Là các cổng logic

$ Bus hệ thống trong vi xử lý bao gồm các thành phần sau:


~ Bus địa chỉ
~ Bus địa chỉ; bus dữ liệu
~ Bus địa chỉ; bus điều khiển
~ Bus địa chỉ; bus dữ liệu; bus điều khiển

1.1.2 Câu hỏi trung bình


$ Nhiệm vụ của CPU là:
~ Điều hành hoạt động của toàn hệ thống theo ý định của người sử dụng thông qua chương trình
điều khiển.
~ Thi hành chương trình theo vòng kín gọi là chu kỳ lệnh.
~ Giao tiếp với các thiết bị xuất nhập
~ Cả hai câu a và b đều đúng

$ ROM là loại bộ nhớ bán dẫn có đặc tính:


~ Cho phép đọc dữ liệu từ ROM, không cho phép ghi dữ liệu vào ROM, mất dữ liệu khi
mất nguồn điện.
~ Cho phép đọc dữ liệu từ ROM, không cho phép ghi dữ liệu vào ROM, không mất dữ liệu khi
mất nguồn điện.
~ Cho phép đọc dữ liệu từ ROM, cho phép ghi dữ liệu vào ROM, mất dữ liệu khi mất nguồn
điện.
~ Cho phép đọc dữ liệu từ ROM, cho phép ghi dữ liệu vào ROM, không mất dữ liệu khi mất
nguồn điện.

$ RAM là loại bộ nhớ bán dẫn có đặc tính:


~ Cho phép đọc dữ liệu từ RAM, cho phép ghi dữ liệu vào RAM, mất dữ liệu khi mất
nguồn điện.
~ Cho phép đọc dữ liệu từ RAM, cho phép ghi dữ liệu vào RAM, không mất dữ liệu khi mất
nguồn điện.
~ Cho phép đọc dữ liệu từ RAM, không cho phép ghi dữ liệu vào RAM, mất dữ liệu khi mất
nguồn điện.
~ Cho phép đọc dữ liệu từ RAM, không cho phép ghi dữ liệu vào RAM, không mất dữ liệu khi
mất nguồn điện.

$ Loại bộ nhớ ROM cho phép ta ghi dữ liệu vào và xóa dữ liệu đi bằng tia cực tím:
~ MROM
~ PROM
~ UV-EPROM
~ Flash ROM

$ Loại bộ nhớ ROM cho phép ta ghi dữ liệu vào và xóa dữ liệu bằng tín hiệu điện:
~ MROM
~ PROM
~ UV-EPROM
~ Flash ROM

$ Loại bộ nhớ có thể mất dữ liệu ngay khi vẫn còn nguồn điện còn cung cấp:
~ SRAM
~ DRAM
~ MROM
~ PROM

$ Bộ nhớ bán dẫn 8 bit có mã số 62512 cho biết dung lượng của bộ nhớ này:
~ 512 KB
~ 512 Kbit
~ 62512 KB
~ 62512 Kbit

$ Bộ nhớ bán dẫn 8 bit có mã số 62256 cho biết dung lượng của bộ nhớ này:
~ 62256 KB
~ 256 Kbit
~ 256 KB
~ 62256 Kbit
$ Bộ nhớ bán dẫn 8 bit có mã số 62128 cho biết dung lượng của bộ nhớ này:
~ 62128 Kbit
~ 62128 KB
~ 128 KB
~ 128 Kbit

$ Bộ nhớ bán dẫn 8 bit có mã số 6264 cho biết dung lượng của bộ nhớ này:
~ 64 Kbit
~ 6264Kbit
~ 64 KB
~ 6264 KB

$ Bộ nhớ bán dẫn 8 bit có mã số 6232 cho biết dung lượng của bộ nhớ này:
~ 6232 KB
~ 6232Kbit
~ 62 KB
~ 32 Kbit

$ Bộ nhớ bán dẫn 8 bit có mã số 27128 cho biết dung lượng của bộ nhớ này:
~ 16 KB
~ 16Kbit
~ 512 KB
~ 128 KB

$ Bộ nhớ bán dẫn 8 bit có mã số 27512 cho biết dung lượng của bộ nhớ này:
~ 64 KB
~ 27512Kbit
~ 512 KB
~ 27512 KB

$ Trong hệ thống bus của máy tính, loại bus nào là bus hai chiều:
~ Bus dữ liệu
~ Bus địa chỉ
~ Bus điều khiển
~ Cả a, b, và c đều đúng

$ Trong hệ thống bus của máy tính, bus địa chỉ có chiều di chuyển thông tin địa chỉ đi từ
~ Từ CPU đến bộ nhớ và thiết bị ngoại vi.
~ Từ bộ nhớ và thiết bị ngoại vi đến CPU.
~ Cả hai câu a và b đều đúng.
~ Cả hai câu a và b đều sai.

$ Trong hệ thống bus của máy tính, bus dữ liệu có chiều di chuyển thông tin đi
~ Từ CPU đến bộ nhớ và thiết bị ngoại vi.
~ Từ bộ nhớ và thiết bị ngoại vi đến CPU.
~ Cả hai câu a và b đều đúng.
~ Cả hai câu a và b đều sai.

$ Timer chỉ có ở:
~ Vi xử lý.
~ Vi điều khiển.
~ Có cả ở vi xử lý và vi điều khiển.
~ Không có ở đâu.

1.1.3 Câu hỏi khó


$ IEEE-754 format cho double-precision có tất cả bao nhiêu bit?
~ 32
~ 64
~ 63
~ 31

$ IEEE-754 format cho single-precision có tất cả bao nhiêu bit fraction?


~ 32
~ 22
~ 23
~8

$ IEEE-754 format cho double-precision có tất cả bao nhiêu bit fraction?


~ 52
~ 64
~ 51
~ 11

$ Vi xử lý nếu phân loại theo tập lệnh sẽ bao gồm:


~ CICS và RICS
~ CIRS và RIRS
~ CISC và RISC
~ CISC và RICS

$ IEEE-754 format cho single-precision có tất cả bao nhiêu bit?


~ 16
~ 64
~ 32
~ 24

$ Mã lệnh từ bộ nhớ chương trình bên ngoài, sau khi được CPU đọc vào sẽ được chứa tại bộ
phận nào trong CPU?
~ Thanh ghi PC
~ Thanh ghi IR
~ ALU
~ Instruction Decoder
$ Bộ phận nào trong CPU dùng để lưu giữ địa chỉ của lệnh kế tiếp trong bộ nhớ chương trình mà
CPU cần thực hiện?
~ Thanh ghi PC
~ Thanh ghi IR
~ ALU
~ Instruction Decoder

$ Các lệnh rẽ nhánh, di chuyển hay được sử dụng trong :


~ Vi xử lý.
~ Vi điều khiển.
~ Cả ở vi xử lý và vi điều khiển.
~ Không có ở đâu.

$ Hệ vi xử lý bao gồm :
~ CPU, bộ nhớ, I/O, BUS.
~ CPU, bộ nhớ, Timer, I/O, BUS.
~ CPU, Watch dog, bộ nhớ, Timer, I/O, BUS.
~ CPU, Watch dog, bộ nhớ, SPI, Timer, I/O, BUS.

1. 2 Bài tập
1.2.1 Bài tập dễ
$ Bảng mã ASCII tiêu chuẩn có:
~ 128 ký tự ứng với các mã số từ 0…127
~ Từ 128 đến 255
~ 128 ký tự ứng với các mã số từ 0…258
~ Từ 128 đến 256

$Vi xử lý Pentium có tần số xung clock và chiều dài từ dữ liệu là:


~ 12 MHz; 8 bit
~ 4 MHz; 8 bit
~ 66 MHz; 32 bit
~ 6 MHz; 32 bit

$ Chip vi điều khiển AVR được sản xuất vào năm nào?
~ 1976 – Hãng Intel
~ 1976 – Hãng Motorola
~ 1996 - Atmel
~ 1980 – Hãng Zilog

$ Mã BCD của số 18 hệ thập phân là:


~ 10010
~ 18
~ 10000101
~ 00011000

$ Mã Hexa của số 18 hệ thập phân là:


~ 10010
~ 12
~ 00011000
~ 10000001

$ Mã nhị phân của số 18 hệ thập phân là:


~ 10010
~ 12
~ 00011000
~ 10000001

$ Mã bù 1 của số 18 hệ thập phân là:


~ 10010
~ 01101
~ 00011000
~ 10000001

$ Mã bù 2 của số 18 hệ thập phân là:


~ 10010
~ 00011000
~ 1110
~ 10000001

$ Mã thập phân của số 8 trong bảng mã ASCII có gì trị là:


~ 38
~ 56
~ 1000
~ 08

$ Mã hexa của số 8 trong bảng mã ASCII có gì trị là:


~ 38h
~ 56h
~ 08h
~ 80h

$ Mã hexa của chữ B trong bảng mã ASCII có gì trị là:


~ 24h
~ 42h
~ 66h
~ 0Bh

$ Mã thập phân của chữ b trong bảng mã ASCII có gì trị là:


~ 62
~ 26
~ 98
~ 0bh
$ Mã thập phân của số 1 trong bảng mã ASCII có giá trị là:
~ 39
~ 50
~ 49
~ 41

$ Mã hexa của số 7 trong bảng mã ASCII có giá trị là:


~ 45
~ 37
~ 54
~ 44

1.2.2 Bài tập trung bình


$ Thực hiện phép trừ trong hệ hai: 15 – 13, kết quả là:
~ (0000 1111)2
~ (1111 0011)bu2
~ (1100 1111)2
~ (0000 0010)2

$ Mã BCD không gói của 59 là:


~ 0509 H
~ 0508 H
~ 0506H
~ 59 H

$ Mã BCD gói chuẩn của 59 là:


~ 0509 H
~ 0508 H
~ 0506H
~ 59 H

$ Đổi số 8.12510 sang hệ cơ số 2 được


~ 1000.001
~ 100.001
~ 1000.01
~ 10.0001

$ Đổi số 185 sang hệ cơ số 16 được


~ B7
~ B9
~ C9
~ A7

$ Hiệu 2 số hex 23Ah – AF h là:


~ 17Fh
~ 1B8h
~ 18Bh
~ 1B9h

$ Tổng 2 số nhị phân 10011 + 11001 là


~ 10010
~ 101100
~ 011010
~ 101010

1.2.3 Bài tập khó


$ Nếu dùng một thiết bị ngoại vi có dung lượng là 16 KB thì cần phải truy xuất bao nhiêu
đường địa chỉ:
~ A0.. A13
~ A0.. A11
~ A0.. A12
~ A0.. A10

$ Bộ nhớ bán dẫn 8 bit có mã số 6116 cho biết số chân địa chỉ của bộ nhớ này?
~ 12
~ 14
~ 13
~ 11

$ Bộ nhớ bán dẫn 8 bit có mã số 61256 cho biết số chân địa chỉ của bộ nhớ này?
~ 12
~ 14
~ 15
~ 16

$ Bộ nhớ bán dẫn 8 bit có mã số 2732 cho biết số chân địa chỉ của bộ nhớ này?
~ 12
~ 14
~ 15
~ 16

$ Một bộ vi xử lý có 20 đường địa chỉ. Cho biết số lượng vị trí nhớ mà bộ vi xử lý đó có khả
năng truy xuất:
~ 1024
~ 1024 K
~ 1024 M
~ 1024 G

$ Bộ nhớ bán dẫn 8 bit có 10 đường địa chỉ cho biết dung lượng của bộ nhớ là bao nhiêu?
~ 1 KB
~ 2 KB
~ 4 KB
~ 8 KB

$ Nếu dùng một thiết bị ngoại vi có dung lượng là 8 KB thì cần phải truy xuất bao nhiêu
đường địa chỉ:
~ A0.. A10
~ A0.. A11
~ A0.. A12
~ A0.. A13

Chương 2: Họ vi điều khiển 8051


Chương 3: Lập trình cho vi điều khiển 8051 (337 câu)
2.1 Lý thuyết
2.1.1 Câu hỏi dễ
Phần cứng của hệ vi điều khiển 8051
$ Ở chế độ vào ra (I/O port) 8051 có bao nhiêu Port:
~ 1 port
~ 2 port
~ 3 port
~ 4 port.

$ Port P0 của 8051 có địa chỉ:


~ 80H
~ 85H
~ 8AH
~ 90H

$ Port P1 của 8051 có địa chỉ:


~ 8BH
~ 90H
~ 98H
~ 80H

$ Port P2 của 8051 có địa chỉ:


~ 80H
~ 90H
~ A0H
~ B0H

$ Port P3 của 8051 có địa chỉ:


~ B8H
~ B0H
~ C0H
~ 90H

$ PSEN\ là tín hiệu điều khiển:


~ Cho phép truy xuất (đọc) bộ nhớ chương trình bên ngoài.
~ Cho phép truy xuất (sử dụng) bộ nhớ chương trình bên ngoài.
~ Cho phép chốt địa chỉ để thực hiện việc giải đa hợp.
~ Cho phép thiết lập lại trạng thái hoạt động của chip 8051

$ EA\ là tín hiệu điều khiển:


~ Cho phép truy xuất (đọc) bộ nhớ chương trình bên ngoài.
~ Cho phép truy xuất (sử dụng) bộ nhớ chương trình bên ngoài.
~ Cho phép chốt địa chỉ byte thấp khi truy xuất bộ nhớ ngoài
~ Cho phép thiết lập lại trạng thái hoạt động của chip 8051

$ ALE là tín hiệu điều khiển:


~ Cho phép truy xuất (đọc) bộ nhớ chương trình bên ngoài.
~ Cho phép truy xuất (sử dụng) bộ nhớ chương trình bên ngoài.
~ Cho phép chốt địa chỉ byte thấp khi truy xuất bộ nhớ ngoài
~ Cho phép thiết lập lại trạng thái hoạt động của chip 8051

$ RST là tín hiệu điều khiển:


~ Cho phép truy xuất (đọc) bộ nhớ chương trình bên ngoài.
~ Cho phép truy xuất (sử dụng) bộ nhớ chương trình bên ngoài.
~ Cho phép chốt địa chỉ byte thấp khi truy xuất bộ nhớ ngoài
~ Cho phép thiết lập lại trạng thái hoạt động của chip 8051

$ WR là tín hiệu điều khiển:


~ Cho phép đọc thông tin từ bộ nhớ dữ liệu ngoài.
~ Cho phép ghi thông tin vào bộ nhớ dữ liệu ngoài.
~ Cho phép đọc thông tin từ bộ nhớ chương trình ngoài.
~ Cho phép ghi thông tin vào bộ nhớ chương trình ngoài.

$ Chân RxD của 8051 có chức năng:


~ Nhận tín hiệu nối tiếp
~ Truyền tín hiệu nối tiếp
~ Cả a và b đều đúng
~ Cả a và b đều sai

$ Chân TxD của 8051 có chức năng:


~ Nhận tín hiệu nối tiếp
~ Truyền tín hiệu nối tiếp
~ Cả a và b đều đúng
~ Cả a và b đều sai

$ Cổng nào của 8051 là cổng xuất địa chỉ byte cao khi truy xuất bộ nhớ ngoài:
~ P2
~ P0
~ P1
~ P3
$ Cổng nào của 8051 là cổng xuất địa chỉ byte thấp khi truy xuất bộ nhớ ngoài:
~ P2
~ P0
~ P1
~ P3

$ 8051 loại DIP có số chân là:


~ 40
~ 44
~ 20
~ 24

$ 8051 loại PLCC có số chân là:


~ 40
~ 44
~ 20
~ 24

$ Chân nào nhận tín hiệu để đếm sự kiện trong chế độ counter:
~ P3.2
~ P3.1
~ P3.4
~ P1.4

$ Chân nào nhận tín hiệu để đếm sự kiện trong chế độ counter:
~ P3.2
~ P3.5
~ P3.1
~ P2.4

$ Chân nào nhận tín hiệu để đếm sự kiện trong chế độ counter:
~ P3.4
~ P3.5
~ Không có chân nào.
~ Cả A và B

$ Tần số ở chân ALE bằng bao nhiêu lần tần số thạch anh:
~ 1/12.
~ 1/6.
~ 1/64.
~ 1/32

$ Chân EA/Vpp được cấp điện áp 12 V khi:


~ Thực thi chương trình ở bộ nhớ ngoài.
~ Thực thi chương trình ở bộ nhớ trong.
~ Nạp dữ liệu vào ROM trong.
~ Thực thi chương trình ở bộ nhớ trong và ngoài.

$ Chân nào có chức năng khởi động cứng cho Timer0:


~ T0.
~ T1.
~ INT0.
~ RST.

$ Chân nào có chức năng khởi động cứng cho Timer1:


~ T0.
~ INT1.
~ T1.
~ RST.

$ Khi cấp xung clock TTL cho vi điều khiển thì cấp vào chân :
~ XTAL1.
~ XTAL2.
~ XTAL 1 và XTAL2.
~ ALE.

$ Cổng nào của 8051 phải mắc điện trở treo:


~ P0
~ P1
~ P3
~ P2

$ Tín hiệu ra ở chân PSEN\ ở mức thấp (PSEN\=0) khi


~ Truy xuất (đọc) bộ nhớ chương trình ngoài .
~ Thực hiện chương trình trong ROM nội
~ Chốt địa chỉ
~ Hoạt động bình thường

$ Để thực thi chương trình chứa trong bộ nhớ ngoài thì chân /EA cần:
~ Bỏ ngỏ
~ Nối lên +5V
~ Nối xuống GND
~ Cả a và b đều đúng

$ 8051 có bao nhiêu bộ nhớ RAM nội:


~ 64 byte
~ 128 byte
~ 256 byte
~ 4 KB
$ 8051 có bao nhiêu bộ nhớ ROM nội:
~ 2 KB
~ 4 KB
~ 8 KB
~ 64 KB

$ Khi thực thi chương trình chứa trong ROM nội thì chân /PSEN cần duy trì ở mức logic:
~ Logic 1
~ Logic 0
~ Cả a và b
~ Cả a và b đều sai

$ Khi thực thi chương trình chứa trong bộ nhớ ngoài thì chân /PSEN cần duy trì ở mức logic:
~ Logic 1
~ Logic 0
~ Cả a và b đều đúng
~ Cả a và b đều sai

$ Tín hiệu điều khiển ghi vào RAM ngoài được xuất ra từ chân
~ RXD
~ T1
~ WR\
~ RD\

$ Tín hiệu điều khiển đọc từ RAM ngoài được xuất ra từ chân
~ RXD
~ T1
~ WR\
~ RD\

$ Trong chip vi điều khiển 8051, các port chỉ có chức năng xuất nhập cơ bản là:
~ P0
~ P1
~ P2
~ P3

$ Khi chip 8051 sử dụng bộ nhớ bên ngoài hay các chức năng đặc biệt thì port nào đóng vai trò
là các tín hiệu điều khiển:
~ P0
~ P1
~ P2
~ P3

$ Chân PSEN của chip 8051 thường được nối với chân nào của bộ nhớ chương trình bên ngoài:
~ CS\
~ WR\
~ RD\
~ OE\

$ Các dãy thanh ghi (bank) của chip 8051 nằm trong:
~ Bộ nhớ chương trình bên trong.
~ Bộ nhớ chương trình bên ngoài.
~ Bộ nhớ dữ liệu bên trong.
~ Bộ nhớ dữ liệu bên ngoài.

$ Không gian bộ nhớ chương trình bên trong chip 8051 có dung lượng là:
~ 128 byte
~ 256 byte
~ 4 KB
~ 8 KB

$ Trong không gian bộ nhớ dữ liệu bên trong của chip 8051, các thanh ghi chức năng đặc biệt
(SFR) có địa chỉ:
~ 00H-1FH
~ 20H-2FH
~ 30H-7FH
~ 80H-FFH

$ Trong không gian bộ nhớ dữ liệu bên trong của chip 8051, vùng RAM định địa chỉ bit có địa
chỉ:
~ 00H-1FH
~ 20H-2FH
~ 30H-7FH
~ 80H-FFH

$ Trong không gian bộ nhớ dữ liệu bên trong của chip 8051, vùng RAM đa chức năng có địa chỉ:
~ 00H-1FH
~ 20H-2FH
~ 30H-7FH
~ 80H-FFH

$ Dung lượng bộ nhớ chương trình ngoài và bộ nhớ dữ liệu ngoài tối đa mà chip 8051 có khả
năng truy xuất là:
~ 32 KB
~ 64 KB
~ 128 KB
~ 256 KB

$ Bit P3.7 có địa chỉ và chức năng?


~ B7H, ngõ vào timer thứ 1
~ B7H, ngõ vào timer thứ 0
~ B7H, tín hiệu điều khiển đọc dữ liệu từ bộ nhớ ngoài
~ B7H, tín hiệu điều khiển ghi dữ liệu lên bộ nhớ ngoài

$ Các bank thanh ghi trong Ram bên trong 8051 có địa chỉ ?
~ 00H đến 1FH
~ 20H đến 2FH
~ 00H đến 2FH
~ 30H đến 7FH

$ Trong chip vi điều khiển 8051, các port xuất nhập đa chức năng là:
~ P1, P2, P3
~ P0, P1, P2
~ P0, P2, P3
~ P0, P1, P3

$ Để chọn dãy thanh ghi tích cực là bank 2 thì các bít RS0, RS1 phải có giá trị là bao nhiêu ?
~ RS1 = 0, RS0 = 1
~ RS1 = 0, RS0 = 0
~ RS1 = 1, RS0 = 0
~ RS1 = 1, RS0 = 1

$ Để chọn dãy thanh ghi tích cực là bank 1 thì các bít RS0, RS1 phải có giá trị là bao nhiêu ?
~ RS1 = 0, RS0 = 1
~ RS1 = 0, RS0 = 0
~ RS1 = 1, RS0 = 0
~ RS1 = 1, RS0 = 1

$ Để chọn dãy thanh ghi tích cực là bank 3 thì các bít RS0, RS1 phải có giá trị là bao nhiêu ?
~ RS1 = 0, RS0 = 1
~ RS1 = 0, RS0 = 0
~ RS1 = 1, RS0 = 0
~ RS1 = 1, RS0 = 1

$ Để chọn dãy thanh ghi tích cực là bank 0 thì các bít RS0, RS1 phải có giá trị là bao nhiêu ?
~ RS1 = 0, RS0 = 1
~ RS1 = 0, RS0 = 0
~ RS1 = 1, RS0 = 0
~ RS1 = 1, RS0 = 1

$ 8051 có khả năng truy cập được bộ nhớ ngoài có dung lượng:
~ 4KB.
~ 32KB.
~ 64KB.
~ 128KB.

$ 8051 có khả năng truy cập bộ nhớ ngoài có dải địa chỉ:
~ 0000H - 0FFFH
~ 0000H - 1FFFH
~ 0000H - FFFFH
~ 0000H - 7FFFH

$ Thanh ghi con trỏ ngăn xếp SP VĐK 8051 có địa chỉ và chức năng:
~ 81H; quản lý địa chỉ của bộ nhớ ngăn xếp
~ 80H; quản lý địa chỉ của bộ nhớ ngăn xếp
~ 81H; địa chỉ hóa từng bit, từng byte
~ 80H; truy xuất ngầm

$ Thanh ghi DPL(byte thấp) VĐK 8051 có địa chỉ là:


~ 80H
~ 82H
~ 83H
~ 81H

$ Thanh ghi TCON của VĐK 8051có chức năng?


~ Điều khiển timer/counter
~ Lựa chọn chế độ hoạt động cho timer/counter
~ Điều khiển công suất khi vi điều khiển làm việc.
~ Lưu địa chỉ 16 bit

$ Khi reset 8051 thì thanh ghi SP mang giá trị mặc định là:
~ 06h
~ 07h
~ 08h
~ 05h

$ Thanh ghi IE của VĐK 8051có chức năng?


~ Thanh ghi điều khiển cho phép/không cho phép ngắt.
~ Thanh ghi điều khiển ưu tiên ngắt.
~ Thanh ghi điều khiển truyền dữ liệu.
~ Thanh ghi quản lý địa chỉ ngăn xếp.

$ Thanh ghi IP của VĐK 8051có chức năng?


~ Thanh ghi điều khiển cho phép/không cho phép ngắt
~ Thanh ghi điều khiển ưu tiên ngắt
~ Thanh ghi điều khiển truyền dữ liệu
~ Thanh ghi quản lý địa chỉ ngăn xếp
$ Thanh ghi tổng A (Accumulator) của VĐK 8051có địa chỉ và chức năng?
~ E0H; Thanh ghi điều khiển cho phép/không cho phép ngắt.
~ E0H; Lưu trữ dữ liệu khi tính toán.
~ E0H; Thanh ghi điều khiển truyền dữ liệu.
~ E0H; Thanh ghi quản lý địa chỉ ngăn xếp.

$ Thanh ghi tổng B VĐK 8051có địa chỉ và chức năng ?


~ F0H; Thanh ghi điều khiển cho phép/không cho phép ngắt.
~ F0H; Lưu trữ dữ liệu khi tính toán.
~ E0H; Thanh ghi điều khiển truyền dữ liệu.
~ F0H; Được dùng cùng thanh ghi A thực hiện phép toán nhân chia.

$ Sau khi reset xong VĐK 8051 bắt đầu thực hiện chương trình tại địa chỉ nào?
~ 0000H
~ 0001H
~ 1000H
~ 0002H

$ Nếu không có giao tiếp với bộ nhớ chương trình bên ngoài thì chân PSEN:
~ Đọc các byte mã lệnh
~ Chân PSEN bỏ trống
~ Chân PSEN nối đến OE
~ Chân PSEN nối đến RD

Tóm tắt tập lệnh


$ Lệnh nhảy đến địa chỉ rel nếu nội dung thanh chứa (thanh ghi A) khác 0:
~ JNZ rel
~ JZ rel
~ JNC rel
~ JC rel

$ Lệnh nhảy đến địa chỉ rel nếu nội dung thanh chứa (thanh ghi A) bằng 0:
~ JNZ rel
~ JZ rel
~ JNC rel
~ JC rel

$ Lệnh nhảy đến địa chỉ rel nếu nội dung cờ nhớ bằng 0:
~ JNZ rel
~ JZ rel
~ JNC rel
~ JC rel

$ Lệnh nhảy đến địa chỉ rel nếu nội dung cờ nhớ khác 0:
~ JNZ rel
~ JZ rel
~ JNC rel
~ JC rel

$ Lệnh nào sau đây sử dụng kiểu định địa chỉ trực tiếp cho toán hạng nguồn:
~ MOV R0,#00H
~ MOV 00H,R0
~ MOV R0,00H
~ MOV 00H,@R0

$ Lệnh nào sau đây sử dụng kiểu định địa chỉ gián tiếp cho toán hạng nguồn:
~ MOV R0, #00H
~ MOV 00H, R0
~ MOV R0, 00H
~ MOV 00H, @R0

$ Lệnh nào sau đây sử dụng kiểu định địa chỉ thanh ghi cho toán hạng nguồn:
~ MOV R0,#00H
~ MOV 00H,R0
~ MOV R0,00H
~ MOV 00H,@R0

$ Lệnh nào sau đây sử dụng kiểu định địa chỉ tức thời cho toán hạng nguồn:
~ MOV R0,#00H
~ MOV 00H,R0
~ MOV R0,00H
~ MOV 00H,@R0

$ Lệnh nào sau đây sử dụng kiểu định địa chỉ tương đối:
~ SJMP rel
~ ACALL rel
~ LCALL rel
~ MOVC A,@A+DPTR

$ Lệnh nào sau đây sử dụng kiểu định địa chỉ tuyệt đối:
~ SJMP rel
~ ACALL rel
~ LCALL rel
~ MOVC A,@A+DPTR

$ Lệnh nào sau đây sử dụng kiểu định địa chỉ dài :
~ SJMP rel
~ ACALL rel
~ LCALL rel
~ MOVC A,@A+DPTR

$ Lệnh nào sau đây sử dụng kiểu định địa chỉ chỉ số:
~ MOVC A,@A+DPTR
~ ACALL rel
~ LCALL rel
~ SJMP rel

$Lệnh PUSH trong 8051 dùng để:


~ Truy suất bộ nhớ ngoài
~ Truy suất bộ nhớ trong
~ Truy suất ngăn xếp
~ Cả a và b đều đúng

$ Con trỏ dữ liệu DPTR trong 8051 dùng để:


~ Truy suất bộ nhớ ngoài
~ Truy suất bộ nhớ trong
~ Truy suất ngăn xếp
~ Cả a và b đều đúng

$ Lệnh nhân 2 số không dấu “MUL AB” trong 8051 cho kết quả
~ 8 bit với kết quả đặt trong thanh ghi A
~ 16 bit với kết quả đặt A= byte thấp, B= byte cao
~ 16 bit với kết quả đặt A= byte cao, B= byte thấp
~ 8 bit với kết quả đặt trong thanh ghi B

$ Lệnh chia 2 số không dấu “DIV AB” trong 8051 cho kết quả
~ 8 bit với kết quả đặt trong thanh ghi A
~ 8 bit với kết quả đặt A= số dư, B= thương số
~ 8 bit với kết quả đặt A= thương số, B= số dư
~ 8 bit với kết quả đặt trong thanh ghi B

$ Câu lệnh “PUSH 05” có ý nghĩa


~ Đẩy giá trị 5 vào ngăn xếp.
~ Đẩy nội dung trong thanh ghi R5 vào ngăn xếp
~ Đẩy giá trị tại địa chỉ 5 vào ngăn xếp.
~ Cả a và b đều đúng

$ Câu lệnh “POP 05” có ý nghĩa


~ Lấy nội dung từ ngăn xếp ra thanh ghi R5
~ Lấy thanh ghi R5 ra ngăn xếp
~ Lấy giá trị tại địa chỉ 5 vào ngăn xếp.
~ Đọc giá trị từ ngăn xếp ra byte có địa chỉ 5

$ Với tần số thạch anh 11,0592MHz lệnh Nop là lệnh trễ:


~ 1μs.
~ 1.085 μs.
~ 0,75 μs.
~ 2 μs

$ Lệnh “SETB IE.7” có tác dụng:


~ Cấm tất cả các ngắt
~ Cho phép ngắt ngoài 0
~ Cho phép tất cả mọi ngắt.
~ Cho phép ngắt ngoài 1
$ Lệnh nào trong số các lệnh sau đây là lệnh sai:
~ MOV A,#04H
~ MOV #0EFH,A
~ MOV A,#55
~ MOV A,#BF0H

$ Lệnh so sánh nội dung của ô nhớ 4EH với nội dung của thanh ghi A và nhảy đến địa chỉ rel nếu
nội dung của chúng không bằng nhau:
~ CJNE A, #4AH, rel
~ CJNE #4EH, A, rel
~ CJNE 4AH, A, rel
~ CJNE A,4EH, rel

$ Lệnh so sánh nội dung của thanh ghi R0 với một hằng số có giá trị 00H và nhảy đến địa chỉ rel nếu
nội dung của chúng không bằng nhau (ở chế độ mặc định):
~ CJNE 00H, R0, rel
~ CJNE 00H, #00H, rel
~ CJNE R0, 00H, rel
~ CJNE #00H, R0, rel

$ Lệnh MOV A, Rn của 8051 thực hiện việc:


~ Nội dung của thanh ghi A nhân với nội dung của thanh ghi B.
~ Chuyển nội dung của thanh ghi Rn vào thanh ghi A, nội dung thanh ghi Rn vẫn giữ nguyên
~ Chuyển nội dung của thanh ghi A vào thanh ghi Rn, nội dung thanh ghi A vẫn giữ nguyên.
~ Cả b và c đều đúng

$ Trong các lệnh nhân và chia 8051 sử dụng các thanh ghi nào?
~ Thanh ghi A và thanh ghi B
~ Thanh ghi A và thanh ghi R0
~ Thanh ghi B và R0
~ Thanh ghi R0 và R1

$ Lệnh “SETB C” của 8051 có nghĩa là?


~ Xóa bit C về 0
~ Đặt bit C =1
~ Bù bit carry
~ Đặt bit lên 1

$ Lệnh “SETB bit” của 8051 có nghĩa là?


~ Xóa bit C về 0
~ Đặt bit C =1
~ Bù bit carry
~ Đặt bit lên 1
$ Lệnh “CPL C” 8051 có nghĩa là?
~ Xóa bit C về 0
~ Đặt bit C =1
~ Đảo giá trị logic của cờ C.
~ Đặt bit lên 1

$ Lệnh ACALL LABEL của 8051 có ý nghĩa:


~ Nội dung của thanh ghi A nhân với nội dung của thanh ghi B
~ Khi lệnh này được thực hiện thì vi điều khiển sẽ tìm chương trình con có nhãn LABEL để
thực hiện.
~ Nhân nội dung của ô nhớ có địa chỉ LABEL với nội dung thanh ghi A.
~ Cả a, b và c đều sai

$ Khi thực hiện lệnh “LCALL addr16” của 8051, lệnh này chiếm bao nhiêu byte và thời gian
thực hiện?
~ 3 byte; 2 chu kỳ máy
~ 3 byte; 1 chu kỳ máy
~ 2 byte; 2 chu kỳ máy
~ 1 byte; 2 chu kỳ máy

Hoạt động của các Timer


$ Khi bộ định thời 0 trong chip 8051 đóng vai trò là bộ đếm sự kiện (counter) thì nó sẽ nhận
xung nhịp từ chân nào?
~ TXD
~ RXD
~ INT0
~ T0

$ Thanh ghi điều khiển hoạt động của bộ định thời trong chip 8051:
~ TIMER0
~ TMOD
~ TIMER1
~ TCON

$ Nguồn xung nhịp cho các Timer là xung vuông có tần số bằng… tần số dao động thạch anh:
~ 1/2
~ 1/12
~ 1/4
~ 1/6

$ Chế độ Timer tự động nạp lại là chế độ:


~0
~1
~2
~3
$ Chế độ Timer 16 bit là chế độ:
~0
~1
~2
~3

$ Khi chọn chế độ định thời cho timer là chế độ 1 cần thiết lập hai bit M1M0 có giá trị:
~ 00
~ 01
~ 10
~ 11

$ Khi chọn chế độ định thời cho timer là chế độ 0 cần thiết lập hai bit M1M0 có giá trị:
~ 00
~ 01
~ 10
~ 11

$ Khi chọn chế độ định thời cho timer là chế độ 3 cần thiết lập hai bit M1M0 có giá trị:
~ 00
~ 01
~ 10
~ 11

$ Khi chọn chế độ định thời cho timer là chế độ 2 cần thiết lập hai bit M1M0 có giá trị:
~ 00
~ 01
~ 10
~ 11

$ Khi muốn sử dụng Timer 0 ở mode 2 cần khởi động thanh ghi TMOD:
~ MOV TMOD, #02H
~ MOV TMOD, #12H
~ MOV TMOD, #20H
~ MOV TMOD, #10H

$ Khi muốn sử dụng Timer 1 ở mode 1 cần khởi động thanh ghi TMOD:
~ MOV TMOD, #10H
~ MOV TMOD, #02H
~ MOV TMOD, #20H
~ MOV TMOD, #01H

$ Khi sử dụng Timer/Counter để đếm sự kiện, cần thiết lập bit:


~ TR = 1
~ C/T = 1
~ TR = 0
~ C/T = 0

$ Khi sử dụng Timer/Counter để định thời, cần thiết lập bit:


~ TR = 0
~ C/T = 1
~ C/T = 0
~ TR = 1

$ Khi sử dụng Timer và điều khiển Timer hoạt động, cần thiết lập bit:
~ C/T = 0
~ C/T = 1
~ TR = 0
~ TR = 1

$ Khi sử dụng Timer và để điều khiển Timer dừng, cần thiết lập bit:
~ C/T = 0
~ C/T = 1
~ TR = 0
~ TR = 1

$ Khi bit GATE được xóa bằng 0 thì Timer sẽ hoạt động khi:
~ TRx=1
~ INTx\=1
~ TFx=1
~ Cả 3 đều sai

$ Khi bit GATE set lên 1 thì Timer sẽ hoạt động khi:
~ TRx=1
~ INTx\=1
~ TFx=1
~ Cả 3 đều sai

$ Trong chế độ Counter nguồn clock cung cấp cho bộ đếm timer của 8051 sẽ được lấy từ:
~ Bộ dao động bên trong 8051
~ Từ một chân bên ngoài của 8051
~ Từ nguồn cấp clock riêng của timer
~ Cả ba câu trên đều sai.

$ Để timer 1 của 8051 hoạt động trong chế độ 1 định thời cho phép chạy từ bên trong bằng
lệnh thì giá trị của TMOD phải là:
~ 0001 0000B
~ 0101 0000B
~ 1001 0000B
~ 0000 0001B
$ Cờ tràn trong bộ định thời 8051 được kiểm tra bởi:
~ Phần cứng
~ Phần mềm
~ Phần cứng và mềm
~ Tất cả đều đúng

$ Trong chế độ 0 bộ định thời 8051, thanh ghi định thời byte cao THx được nối với:
~ 5 bit thấp của thanh ghi TLx
~ 3 bit cao của thanh ghi TLx
~ 4 bit thấp của thanh ghi TLx
~ 2 bit thấp của thanh ghi TLx

$ Trong chế độ mode 1 bộ định thời 8051, cờ tràn trong thanh ghi điều khiển TCON được đọc và
ghi bằng:
~ Phần mềm
~ Phần cứng
~ Cả a và b đều đúng
~ Cả a và b đều sai

$ Bit TCON.7 có địa chỉ bit là?


~ 8FH
~ 8EH
~ 8DH
~ 8AH

$ Bit TCON.2 có địa chỉ bit là?


~ 8FH
~ 8EH
~ 8DH
~ 8AH

$ Timer 0 được khởi động bằng lệnh nào:


~ SETB TR0
~ SETB TR1
~ CLR TR1
~ SETB 9CH

$ Bit TRx trong thanh ghi TCON của 8051 dùng để:
~ Khởi động timer
~ Báo timer tràn
~ Báo timer đã đếm đủ giá trị mong muốn
~ Chuyển timer sang chế độ đếm sự kiện

$ Với câu lệnh: MOV TMOD #01H Cho biết bộ định thời nào và ở chế độ nào được dùng trong
câu lệnh trên
~ Chế độ 1 của bộ định thời Timer 1
~ Chế độ 1 của bộ định thời Timer 0
~ Chế độ 2 của bộ định thời Timer 0
~ Chế độ 2 của bộ định thời Timer 1

$ Với câu lệnh: MOV TMOD #20H . Cho biết bộ định thời nào và ở chế độ nào được dùng
trong câu lệnh trên
~ Chế độ 1 của bộ định thời Timer 1
~ Chế độ 1 của bộ định thời Timer 0
~ Chế độ 2 của bộ định thời Timer 1
~ Chế độ 2 của bộ định thời Timer 0

$ Với câu lệnh: MOV TMOD #12H Cho biết bộ định thời nào và ở chế độ nào được dùng trong
câu lệnh trên
~ Chế độ 1 của bộ định thời Timer 1
~ Chế độ 1 của bộ định thời Timer 0 và chế độ 1 của bộ định thời Timer 1
~ Chế độ 1 của bộ định thời Timer 1 và chế độ 2 của bộ định thời Timer 0
~ Chế độ 2 của bộ định thời Timer 1 và chế độ 1 của bộ định thời Timer 0

$ Với câu lệnh: MOV TMOD #23H Cho biết bộ định thời nào và ở chế độ nào được dùng trong
câu lệnh trên
~ Chế độ 1 của bộ định thời Timer 1
~ Chế độ 2 của bộ định thời Timer 1 và chế độ 3 của bộ định thời Timer 0
~ Chế độ 1 của bộ định thời Timer 0 và chế độ 1 của bộ định thời Timer 1
~ Chế độ 2 của bộ định thời Timer 1 và chế độ 1 của bộ định thời Timer 0

$ Có thể khởi động các bộ định thời của 8051 bằng.


~ Phần mềm
~ Phần cứng
~ Cả a và b đều đúng
~ Cả a và b đều sai

$ Có bao nhiêu chế độ định thời dùng được cho Timer 1 của 8051:
~2
~3
~4
~1

$ Có bao nhiêu chế độ định thời dùng được cho Timer 0 của 8051:
~2
~3
~4
~1

$ Chức năng nào dưới đây là của bộ Timer/Counter:


~ Định thời trong 1 khoảng thời gian.
~ Đếm sự kiện.
~ Cả a và b đều đúng
~ Cả a và b đều sai

$ Chức năng nào dưới đây là của bộ định thời:


~ Định thời trong 1 khoảng thời gian.
~ Tạo tốc độ baud cho truyền thông nối tiếp của chíp 8051.
~ Cả a và b đều đúng
~ Cả a và b đều sai

$ Để khởi tạo chế độ hoạt động của bộ định thời trong 8051 cần nạp giá trị vào thanh ghi:
~ TMOD
~ TCON
~ Cả a và b đều đúng
~ Cả a và b đều sai

$ Trong chế độ nào của bộ định thời thì giá trị của thanh ghi THx được tự động nạp vào TLx:
~ Chế độ 1
~ Chế độ 2
~ Chế độ 3
~ Chế độ 0

$ Bit nào trong thanh ghi TMOD quyết định chế độ khởi động của Timer:
~ TRx
~ GATE
~ C/T
~ TFx

$ Giá trị đếm tức thời lớn nhất của Timer có thể có:
~ 0FFH
~ 0FFFH
~ 0FFFFH
~ 7FFFH

Hoạt động của port nối tiếp


$ Truyền thông đa xử lý được kích hoạt bằng cách thiết lập bit:
~ SMOD
~ SM0
~ SM2
~ SM1

$ Cách nào sau đây tăng tốc độ baud truyền dữ liệu:


~ Sử dụng tần số thạch anh cao hơn
~ SMOD=1
~ SMOD =0
~ Cả a và b đều đúng
$ Chân nhận dữ liệu của port nối tiếp:
~ TXD
~ RXD
~ INT0
~ T0

$ Chân phát dữ liệu của port nối tiếp:


~ TXD
~ RXD
~ INT0
~ T0

$ Để tạo baud cho 8051 trong truyền thông với sai số nhỏ nhất thì nên dùng thạch anh nào dưới
đây:
~ 12MHz
~ 11.059 MHz
~ 11.058 MHz
~ 16MHz

$ Để 8051 truyền thông với chế độ 1, định khung truyền là 8bit dữ liệu, 1 bit Start và 1 bit Stop
thì cần nạp vào thanh ghi SCON giá trị nào sau đây:
~ 50H
~ 55H
~ 54H
~ 05H

$ Chuẩn kết nối truyền thông với máy tính PC của 8051 là chuẩn nào sau đây:
~ RS485
~ RS422
~ RS232
~ Tất cả

$ Thanh ghi SCON của 8051 có chức năng:


~ Điều khiển “thời gian/bộ đếm”
~ Điều khiển cổng nối tiếp
~ Điều khiển Mode “Timer/Counter”
~ Bộ đệm của port nối tiếp

$ Thanh ghi TCON của 8051 có chức năng:


~ Điều khiển “thời gian/bộ đếm”
~ Điều khiển cổng nối tiếp
~ Điều khiển Mode “Timer/Counter”
~ Bộ đệm của port nối tiếp

$ Thanh ghi PCON của 8051 có chức năng:


~ Điều khiển ngắt
~ Điều khiển cổng nối tiếp
~ Điều khiển nguồn
~ Bộ đệm của port nối tiếp

$ Thanh ghi TMOD của 8051 có địa chỉ:


~ 88H
~ 98H
~ 89H
~ 87H

$ Thanh ghi TCON của 8051 có địa chỉ:


~ 88h
~ 98h
~ 89h
~ 87

$ Thanh ghi SCON của 8051 có địa chỉ:


~ 88h
~ 98h
~ 89h
~ 87

$ Cổng nối tiếp có mấy chế độ hoạt động


~2
~3
~4
~1

$ Chip 8051 sử dụng thạch anh 6MHz truyền thông chế độ 0 có baudrate (tốc độ truyền) là:
~ 5.105
~ 106
~ 6.106
~ 105
$ Trong các chế độ truyền thông của 8051, các chế độ có tốc độ baud thay đổi là
~ Chế độ 0 và 1
~ Chế độ 1 và 2
~ Chế độ 2 và 3
~ Chế độ 1 và 3

$ Trong các chế độ truyền thông của 8051, những chế độ nào có khung truyền 10 bit:
~ Chế độ 0
~ Chế độ 1
~ Chế độ 2
~ Chế độ 3

$ Trong các chế độ truyền thông của 8051, những chế độ nào có khung truyền 11 bit:
~ Chế độ 0 và 1
~ Chế độ 1 và 2
~ Chế độ 2 và 3
~ Chế độ 3 và 1

$ Truyền thông đa xử lý hoạt động ở những chế độ nào của port nối tiếp:
~ Chế độ 0 và 1
~ chế độ 1 và 2
~ Chế độ 2 và 3
~ Chế độ 3 và 1

Hoạt động ngắt

$ Địa chỉ của vector ngắt Timer 0 là


~ 0BH
~ 03H
~ 23H
~ 1BH

$ Địa chỉ của vector ngắt port nối tiếp là


~ 0BH
~ 03H
~ 23H
~ 1BH

$ Địa chỉ của vector ngắt Timer 1 là


~ 0BH
~ 03H
~ 23H
~ 1BH

$ Các loại kích hoạt cho ngắt ngoài bao gồm:


~ Kích sườn xuống và kích mức cao
~ Kích sườn lên và kích mức cao
~ Kích sườn xuống và kích mức thấp
~ Kích sườn lên và kích mức cao

$ 8051 có mấy nguồn ngắt ngoài


~1
~2
~3
~5

$ Trong 8051 cờ ngắt truyền TI được bật lên khi:


~ Bít cuối cùng của khung dữ liệu được truyền đi
~ Phía thu nhận xong dữ liệu
~ Bít đầu tiên của khung dữ liệu được truyền đi
~ Phía thu bắt đầu nhận dữ liệu

$ Thứ tự nào sau đây đúng theo chuỗi vòng ngắt của 8051 (sắp xếp theo trình tự từ cao tới thấp)
~ Ngắt ngoài 0 →Ngắt ngoài 1→Ngắt Timer 0→Ngắt Timer 1 →Ngắt port nối
~ Ngắt ngoài 0 →Ngắt Timer 0→Ngắt ngoài 1→Ngắt Timer 1 →Ngắt port nối tiếp
~ Ngắt Timer 0→ Ngắt ngoài 0 →Ngắt ngoài 1→Ngắt Timer 1 →Ngắt port nối tiếp
~ Ngắt Timer 0→Ngắt Timer 1 → Ngắt ngoài 0 →Ngắt ngoài 1→Ngắt port nối tiếp

$ Trong 8051 khi một trình phục vụ ngắt được trỏ tới thì cờ gây ngắt nào sau đây không tự động
bị xóa về 0.
~ IE0 và IE1
~ TF0 và TF1
~ TF1 và TI
~ RI và TI

$ Địa chỉ của vector ngắt ngoài 0 là:


~ 00H
~ 03H
~ 05H
~ 13H

$ Bit SMOD là bit có thể tăng tốc độ Baud lên gấp bao nhiêu lần:
~ 2.
~ 3.
~ 4.
~5

$ 8051 có tất cả bao nhiêu nguồn gây ngắt:


~4
~5
~6
~3

$ Địa chỉ vectơ ngắt của ngắt ngoài 1 trong 8051 (dạng hex):
~ 1AH
~ 1BH
~ 13H
~ 03H

$ Khi ngắt bộ định thời xảy ra, cờ tràn được xóa bằng:
~ Phần mềm
~ Phần cứng
~ Cả a và b đều đúng
~ Cả a và b đều sai

$ Khi ngắt truyền thông xảy ra, cờ gây ngắt được xóa bằng:
~ Phần mềm
~ Phần cứng
~ Cả a và b đều đúng
~ Cả a và b đều sai

$ Khi ngắt ngoài xảy ra, cờ gây ngắt được xóa bằng:
~ Phần mềm
~ Phần cứng
~ Cả a và b đều đúng
~ Cả a và b đều sai

$ Trong ngắt truyền thông có mấy nguồn gây ra ngắt:


~1
~2
~3
~4

$ 8051 có mấy mức ưu tiên ngắt:


~2
~3
~4
~1

$ Khi bật nguồn 8051 các ngắt:


~ Đều được thiết lập
~ 1 số bị cấm
~ Đều bị cấm
~ Cả a, b và c đều sai

$ Hai ngắt phần cứng trong 8051 là INT0 và INT1 được kích hoạt dạng:
~ Ngắt theo mức
~ Ngắt theo sườn
~ Cả a và b đều đúng
~ Cả a và b đều sai

$ Cờ ngắt truyền TI trong 8051 được bật lên khi:


~ Bít đầu tiên của khung dữ liệu được truyền đi
~ Bít cuối cùng của khung dữ liệu được truyền đi
~ Phía thu bắt đầu nhận dữ liệu.
~ Cả a, b và c đều đúng

$ Cờ ngắt thu RI trong 8051 được bật lên khi:


~ Bít đầu tiên của khung dữ liệu được nhận về
~ Toàn bộ khung dữ liệu được nhận về
~ Phía phát bắt đầu truyền dữ liệu
~ Cả a, b và c đều đúng

$ Trong trường hợp không ưu tiên các ngắt INT0 và INT1 cùng được kích hoạt thì:
~ Sau khi ngắt INT0 đã được phục vụ xong thì ngắt INT1 mới được phục vụ
~ Sau khi ngắt INT1 đã được phục vụ xong thì ngắt INT0 mới được phục vụ
~ Cả 2 ngắt được phục vụ đồng thời.
~ Cả 2 ngắt đều không được phục vụ.
$ Trong trường hợp không ưu tiên các ngắt TIMER 0 và TIMER 1 cùng được kích hoạt thì:
~ Sau khi ngắt TIMER 1 đã được phục vụ xong thì ngắt TIMER 0 mới được phục vụ
~ Sau khi ngắt TIMER 0 đã được phục vụ xong thì TIMER 1 mới được phục vụ
~ Cả 2 ngắt được phục vụ đồng thời.
~ Cả 2 ngắt đều không được phục vụ.

$ 8051 có bao nhiêu nguồn gây ngắt mềm:


~5
~6
~4
~3

$ 8051 có bao nhiêu nguồn gây ngắt cứng:


~5
~6
~4
~3

$ Nếu không thiết lập mức ưu tiên ngắt nào được thực hiện sớm nhất trong các ngắt sau:
~ Ngắt Timer 0.
~ Ngắt ngoài 0.
~ Ngắt ngoài 1
~ Ngắt Timer 1

$ Các vector ngắt có dung lượng nhớ trong bộ nhớ chương trình (trừ ngắt reset):
~ 8 byte
~ 9 byte
~ 3 byte
~ 12 byte

$ Để thông báo cho trình dịch về dãy thanh ghi tích cực hiện tại, ta dùng chỉ dẫn
~ DW
~ USING
~ EQU
~ DB

$ Các chỉ dẫn nào sau đây không dùng để khởi động vùng nhớ
~ DSEG
~ DW
~ DB
~ DS

$ Để thiết lập một gốc mới cho chương trình ta sử dụng chỉ dẫn sau:
~ END
~ PUBLIC
~ DSEG
~ ORG

2.1.2 Câu hỏi trung bình


Phần cứng của hệ vi điều khiển 8051
$ Điểm khác biệt giữa cổng P0 với các cổng còn lại của 8051:
~ Là cổng vào và ra
~ Cực máng hở (open drain).
~ Cổng 3 trạng thái
~ Hở Colector (open colector).

$ 8051 được Reset bằng:


~ Phần mềm
~ Phần cứng
~ Cả A và B đều đúng
~ Cả A và B đều sai

$ Đối với chip 8051 thì vùng nhớ được dùng làm ngăn xếp (stack) được lưu giữ trong:
~ Bộ nhớ chương trình bên trong.
~ Bộ nhớ chương trình bên ngoài.
~ Bộ nhớ dữ liệu bên trong.
~ Bộ nhớ dữ liệu bên ngoài.

$ Vùng nhớ được dùng làm ngăn xếp có địa chỉ kết thúc là:
~ 7FH
~ FFH
~ 2FH
~ 08H

$ Nếu người lập trình không khởi động thanh ghi SP thì khi 8051 khởi động sẽ tự động nạp vào
thanh ghi SP một giá trị là bao nhiêu?
~ 80H
~ 08H
~ 07H
~ 30H

$ Thanh ghi DPTR là một thanh ghi có


~ 4 bit
~ 8 bit
~ 16 bit
~ 32 bit
$ Chức năng của thanh ghi PSW:
~ Dùng để lưu giữ thông tin về các trạng thái hoạt động của ALU
~ Giữ địa chỉ của lệnh kế tiếp sẽ thực hiện
~ Chứa dữ liệu
~ Dùng để đếm

$ Con trỏ ngăn xếp SP của 8051 có thể trỏ trong phạm vi địa chỉ từ:
~ 00H ÷ 80H
~ 00H ÷ FFH
~ 00H ÷ 7FH
~ 00H ÷ 2FH

$ Loại RAM nào sau đây mất điện không mất giữ liệu:
~ SRAM
~ DRAM
~ NV_RAM
~ Cả a,b và c đều đúng

$ Chíp nhớ có 2x.y bít nhớ vậy x là:


~ Số chân địa chỉ
~ Số chân dữ liệu
~ Số bít trong ô nhớ.
~ Cả a, b và c đều sai

$ Chíp nhớ có 2x.y ô nhớ vậy y là:


~Số chân địa chỉ
~ Số chân dữ liệu
~ Số ô nhớ của chip.
~ Cả a, b và c đều sai

$ Loại RAM nào sau đây có dung lượng lớn hơn:


~ SRAM
~ DRAM
~ NV_RAM
~ ROM

$ Loại RAM nào sau đây phải làm tươi trong khi sử dụng:
~ SRAM
~ DRAM
~ NV_RAM
~ Cả a, b và c đều đúng

$ Loại RAM nào sau đây có PIN bên trong:


~ SRAM
~ DRAM
~ NV_RAM
~ Cả a và b đều đúng

$ Các địa chỉ ngắt (vector ngắt) nằm trong:


~ Bộ nhớ chương trình.
~ Bộ nhớ dữ liệu.
~ Vùng nhớ đặc biệt.
~ Ngăn xếp

$ 8051 có khả năng truy cập được 210 bit trong các miền:
~ Vùng chương trình.
~ Vùng 128 byte RAM.
~ Vùng ROM và RAM.
~ Vùng 128 byte RAM và vùng SFR.

$ Ở chế độ mặc định R0 đến R7 thuộc bank thanh ghi nào:


~ Bank0.
~ Bank1.
~ Bank2.
~ Bank3.

$ Khi ghép nối bộ nhớ ngoài, IC chốt địa chỉ:


~ byte cao.
~ byte thấp.
~ Cả byte cao và byte thấp.
~ Không cần chốt địa chỉ.

$ Giá trị của con trỏ ngăn xếp (SP) thường được đặt bằng:
~ 1Fh.
~ 2Fh.
~ 0Fh.
~ 7Fh.

Tóm tắt tập lệnh


$ Phạm vi nhảy của lệnh SJMP là:
~ 256 byte
~ 1 KB
~ 2 KB
~ 4 KB

$ Để báo kết quả phép toán của phép toán số học (phép toán có dấu) có nằm trong khoảng từ
-127 đến +128 hay không thì chip 8051 sử dụng cờ nào?
~ CY
~ AC
~ OV
~ F0
$ Để báo số chữ số 1 trong thanh ghi A là số chẵn hay lẻ thì chip 8051 sử dụng cờ nào?
~ CY
~ AC
~ OV
~P

$ Lệnh nhảy nào trong số các lệnh sau đây có tầm nhảy đến phải ở trong cùng khối 2KB của bộ
nhớ chương trình
~ SJMP
~ AJMP
~ LJMP
~ RJMP

$ Lệnh nào trong số các lệnh sau đây là lệnh sai?


~ INC A
~ DEC A
~ INC DPTR
~ DEC DPTR

$ Lệnh giảm nội dung của thanh ghi R1 và nhảy đến địa chỉ rel nếu nội dung của thanh ghi R1 khác 0
(ở chế độ mặc định):
~ CJNE R1, #00H, rel
~ DJNZ rel, R1
~ CJNE R1, 00H, rel
~ DJNZ R1, rel

$ Khi CPU thực hiện phép tính số học có nhớ thì chip 8051 đặt cờ nào lên mức 1?
~ CY
~ AC
~ OV
~ F0

Hoạt động của các timer


$ Chế độ nào Timer 0 dùng cả hai cờ tràn TF0 và TF1:
~ Chế độ 1
~ Chế độ 2
~ Chế độ 3
~ Chế độ 0

$ Ở chế độ 1 của Timer 0 cờ tràn TF0 ở mức 1 khi nào:


~ Khi giá trị đếm tức thời đếm từ 0000h đến 0FFFFH
~ Khi giá trị đếm tức thời đếm từ 0FFh đến 00H
~ Khi giá trị đếm tức thời đếm từ 0FFFFH đến 0000H
~ Khi giá trị đếm tức thời đếm từ 0000H đến 0FFFFH
$ Ở chế độ 2 của Timer 1 cờ tràn TF1 ở mức 1 khi nào:
~ Khi giá trị đếm tức thời đếm từ 0000H đến 0FFFFH
~ Khi giá trị đếm tức thời đếm từ 0FFH đến 00H
~ Khi giá trị đếm tức thời đếm từ 0FFFFH đến 0000H
~ Khi giá trị đếm tức thời đếm từ 00H đến 0FFH

$ Ở chế độ 2 của Timer 0 cờ tràn TF0 ở mức 1 khi nào:


~ Khi giá trị đếm tức thời đếm từ 0000H đến FFFFH
~ Khi giá trị đếm tức thời đếm từ FFh đến 00H
~ Khi giá trị đếm tức thời đếm từ FFFFH đến 0000H
~ Khi giá trị đếm tức thời đếm từ 00H đến 0FFH

$ Khi tần số thạch anh là 12MHz tần số ngoài lớn nhất mà Counter có thể đếm được bằng:
~ 600KHz
~ 500KHz
~ 500MHz
~ 12MHz

$ Khi lập trình định thì với khoảng thời gian từ 256 tới 65536 µs (giả sử dùng thạch anh là
12MHz) nên dùng kỹ thuật :
~ Timer 16 bit
~ Timer 8 bit tự động nạp lại giá trị đầu
~ Điều chỉnh bằng phần mềm
~ Timer 16 bit kết hợp với các vòng lặp

$ Khi lập trình định thì với khoảng thời gian nhỏ hơn 256µs (giả sử dùng thạch anh là 12Mhz)
nên dùng kỹ thuật:
~ Điều chỉnh bằng phần mềm
~ Timer 16 bit kết hợp với các vòng lặp
~ Timer 16 bit
~ Timer 8 bit tự động nạp lại giá trị đầu

$ Khi lập trình định thì với khoảng thời gian lớn hơn 65536µs (giả sử dùng thạch anh là
12Mhz) nên dùng kỹ thuật:
~ Điều chỉnh bằng phần mềm
~ Timer 16 bit kết hợp với các vòng lặp
~ Timer 16 bit
~ Timer 8 bit tự động nạp lại giá trị đầu

Hoạt động của port nối tiếp


$ Nếu cổng nối tiếp 8051 ở chế độ UART 9 bit, khi nhận bit thứ 8 (tính từ bit 0) của dữ liệu
truyền tới sẽ được chứa trong:
~ Thanh ghi SBUF
~ Thanh ghi SCON
~ Trong thanh ghi B
~ Trong thanh ghi A
$ Trong chế độ 1 tốc độ truyền nhận của cổng nối tiếp 8051 phụ thuộc vào các yếu tố nào?
~ Tốc độ tràn của Timer 0 và bit SMOD
~ Tốc độ tràn của Timer 1 và bit SMOD
~ Tần số của bộ dao động nội.
~ Tần số của dao động cung cấp từ bên ngoài.

$ Trong chế độ thanh ghi dịch, cổng nối tiếp của 8051 sẽ truyền nhận dữ liệu theo kiểu:
~ Song công
~ Bán song công
~ Đơn công
~ Cả 03 câu trên đều sai.

$ Trong truyền thông đa xử lý, ngắt port nối tiếp sẽ được yêu cầu chỉ trong trường hợp bit:
~ RB8=1
~ TB8=1
~ RB8=0
~ TB8=0

Hoạt động ngắt


$ Nếu ngắt ngoài là tác động cạnh thì thời gian duy trì tối thiểu đối là:
~ Mức cao 2 chu kỳ máy và mức thấp 2 chu kỳ máy
~ Mức cao 2 chu kỳ máy và mức thấp 1 chu kỳ máy
~ Mức cao 1 chu kỳ máy và mức thấp 1 chu kỳ máy
~ Mức cao 1 chu kỳ máy và mức thấp 2 chu kỳ máy

2.1.3 Câu hỏi khó


Phần cứng của hệ vi điều khiển 8051
$ Vùng thanh ghi đặc biệt của 8051 có bao nhiêu thanh ghi (1 byte):
~ 22
~ 23
~ 24
~ 20

$ Để thiết lập lại trạng thái ban đầu cho hệ thống thì tín hiệu vào chân RST phải ở mức cao trong
thời gian tối thiểu là:
~ 1 chu kỳ máy
~ 2 chu kỳ máy
~ 3 chu kỳ máy
~ 4 chu kỳ máy

$ Khi Reset hệ thống thì các cổng của 8051 được cấu hình là:
~ Cổng vào
~ Cổng ra
~ Cả a và b đều đúng
~ Cả a và b đều sai
$ Nếu Reset lại 8051 lúc đang chạy thì nội dung của Ram trên chip sẽ:
~ Không bị ảnh hưởng
~ Mất hết
~ Trở về giá trị xác lập ban đầu
~ Cả a, b và c đều sai

$ Khi reset các chân của vi điều khiển ở mức logic:


~0
~1
~ Không xác định.
~ Có thể ở mức 0 hoặc 1

$ Cổng nào của 8051 cần phải có điện trở treo khi muốn là cổng vào/ra:
~ P2
~ P0
~ P1
~ P3

$ Khi ấn và giữ nút reset vi điều khiển thì chân reset ở mức logic nào:
~0
~1
~ Không xác định giá trị
~ Có thể ở 0 hoặc 1

$ Khi đốt hay nạp cho EPROM cần một điện áp khoảng 12,5 V hoặc cao hơn cung cấp vào chân:
~ Vpp
~ /PSEN
~ Vcc
~ Cả a và b

$ Loại ROM nào sau đây chỉ lập trình 1 lần:


~ EPROM
~ EEPROM
~ PROM
~ Cả a, b và c

$ Tổ chức bộ nhớ của ROM:


~ x4
~ x8
~ x16
~ cả a, b và c

Tóm tắt tập lệnh


Hoạt động của các Timer
Hoạt động của port nối tiếp
2.2 Bài tập
2.2.1 Bài tập dễ
$ Nếu tần số xung clock của mạch dao động trong chip là 12 MHZ thì tần số của tín hiệu tại chân
ALE là bao nhiêu:
~ 12 MHZ
~ 6 MHZ
~ 2 MHZ
~ 1 MHZ

$ Nếu thạch anh dao động gắn bên ngoài chip 8051 có tần số là 12MHz thì một chu kỳ máy dài
~ 0.5 µs
~ 1 µs
~ 2 µs
~ 4 µs

$ Nếu thanh ghi SP có giá trị là 4FH thì vùng nhớ của ngăn xếp (stack) có địa chỉ bắt đầu là:
~ 4FH
~ 4EH
~ 50H
~ 51H

$ Nếu thanh ghi SP có giá trị là 21H thì vùng nhớ của ngăn xếp (stack) có địa chỉ bắt đầu là:
~ 20H
~ 21H
~ 22H
~ 23H

$ Nếu thanh ghi SP có giá trị là 31H thì vùng nhớ của ngăn xếp (stack) có địa chỉ là:
~ 30H-7FH
~ 31H-FFH
~ 32H-7FH
~ 32H-FFH

$ Nếu thạch anh dao động gắn bên ngoài chip 8051 có tần số là 6MHz thì một chu kỳ máy dài:
~ 0.5 µs
~ 1 µs
~ 2 µs
~ 4 µs

2.2.2 Bài tập trung bình

$ Cho biết trạng thái các cờ sau khi chip 8051 thực hiện phép toán số học (73H + 59H)
~ AC = 0, OV = 0
~ AC = 0, OV = 1
~ AC = 1, OV = 0
~ AC = 1, OV = 1
$ Cho biết trạng thái các cờ sau khi chip 8051 thực hiện phép toán số học (D3H + 9AH)
~ CY = 1, AC = 0
~ CY = 0, AC = 1
~ CY = 0, AC = 0
~ CY = 1, AC = 1

$ Cho biết trạng thái các cờ sau khi chip 8051 thực hiện phép toán số học (A7H + D4H)
~ CY = 0, AC = 0
~ CY = 0, AC = 1
~ CY = 1, AC = 1
~ CY = 1, AC = 0

$ Cho biết trạng thái các cờ sau khi chip 8051 thực hiện phép toán số học (43H + 5FH)
~ AC = 0, OV = 0
~ AC = 0, OV = 1
~ AC = 1, OV = 0
~ AC = 1, OV = 1

$ Cho biết trạng thái các cờ sau khi chip 8051 thực hiện phép toán số học (25H + 87H)
~ AC = 0, P = 0
~ AC = 0, P = 1
~ AC = 1, P = 0
~ AC = 1, P = 1

$ Cho biết trạng thái các cờ sau khi chip 8051 thực hiện phép toán số học (14H + C3H)
~ OV = 0, CY = 0
~ OV = 0, CY = 1
~ OV = 1, CY = 0
~ OV = 1, CY = 1

$ Cho biết trạng thái các cờ sau khi chip 8051 thực hiện phép toán số học (2FH+DDH)
~ CY = 0, OV = 0
~ CY = 0, OV = 1
~ CY = 1, OV = 0
~ CY = 1, OV = 1

$ Cho biết trạng thái các cờ sau khi chip 8051 thực hiện phép toán số học (20H+47H)
~ AC = 0, P = 0
~ AC = 0, P = 1
~ AC = 1, P = 0
~ AC = 1, P = 1

$ Với thạch anh 11.059MHz thì 1 chu kỳ máy của 8051 có thời gian là:
~ 1µs
~ 1,085µs
~ 1,035µs
~ 1,6µs

$ Với 4KB bộ nhớ ROM, không gian nhớ của 8051 có địa chỉ từ:
~ 1000H ÷ 1FFFH
~ 0000H ÷ 0FFFH
~ 0000H ÷ 1FFFH
~ 0000H ÷ FFFFH

$ Với 8KB bộ nhớ ROM mở rộng, không gian nhớ của 8051 có địa chỉ từ:
~ 1000H ÷ 2FFFH
~ 0000H ÷ 1FFFH
~ 0000H ÷ 2000H
~ 0000H ÷ FFFFH

$ Dải địa chỉ của bộ nhớ dung lượng 8KB là:


~ 0000h - 0FFFH
~ 0000h - 1FFFH
~ 0000h – FFFFH
~ 0000H ÷ 2000H

$ Nếu thanh ghi A chứa giá trị 0x3Ch. Sau lệnh “ORL A, #11H” thì thanh ghi A chứa kết quả:
~ 0x3CH
~ 0x3BH
~ 0x3DH
~ 0x3AH

$ Nếu thanh ghi A chứa giá trị 0x11H. Sau lệnh “ORL A, #40H” thì thanh ghi A chứa kết quả:
~ 0x41H
~ 0x51H
~ 0x61H
~ 0x31H

$ Nếu thanh ghi A chứa giá trị 0x22H. Sau lệnh “ORL A, #30H” thì thanh ghi A chứa kết quả:
~ 0x32H
~ 0x42H
~ 0x52H
~ 0x62H

$ Nếu thanh ghi A chứa giá trị 0xFBH. Sau lệnh “ANL A, #3AH” thì thanh ghi A chứa kết quả:
~ 0x3AH
~ 0x3BH
~ 0x3CH
~ 0x3DH

$ Nếu thanh ghi A chứa giá trị 0x11H. Sau lệnh “ANL A, #40H” thì thanh ghi A chứa kết quả:
~ 0x10H
~ 0x00H
~ 0x01H
~ 0x02H

$ Nếu thanh ghi A chứa giá trị 0x77H. Sau lệnh “ANL A, #30H” thì thanh ghi A chứa kết quả:
~ 0x70H
~ 0x37H
~ 0x30H
~ 0x77H

$ Nếu thanh ghi A chứa giá trị 0x54H. Sau lệnh “XRL A, #78H” thì thanh ghi A chứa kết quả:
~ 0x3CH
~ 0x2CH
~ 0x1CH
~ 0x4CH

$ Nếu thanh ghi A chứa giá trị 0x6AH. Sau lệnh “XRL A, #40H” thì thanh ghi A chứa kết quả:
~ 0x2AH
~ 0x4BH
~ 0x3AH
~ 0x1AH

$ Nếu thanh ghi A chứa giá trị 0x77H. Sau lệnh “XRL A, #30H” thì thanh ghi A chứa kết quả:
~ 0x27H
~ 0x37H
~ 0x47H
~ 0x87H

$ Nếu thanh ghi A chứa giá trị 0x54H. Sau lệnh “RL A” thì thanh ghi A chứa kết quả:
~ 0x98H
~ 0xA8H
~ 0xB8H
~ 0xC8H

$ Nếu thanh ghi A chứa giá trị 0x6AH. Sau lệnh “RL A,” thì thanh ghi A chứa kết quả:
~ 0xD4H
~ 0x8AH
~ 0xB6H
~ 0xA6H

$ Nếu thanh ghi A chứa giá trị 0x97H. Sau lệnh “RL A” thì thanh ghi A chứa kết quả:
~ 0x2FH
~ 0xF7H
~ 0x1FH
~ 0x3FH
$ Nếu thanh ghi A chứa giá trị 0x39H. Sau lệnh “RR A” thì thanh ghi A chứa kết quả:
~ 0x72H
~ 0x9CH
~ 0x8AH
~ 0x6AH

$ Nếu thanh ghi A chứa giá trị 0x39H, CF = 0. Sau lệnh “RRC A” thì thanh ghi A chứa kết quả:
~ 0x72H
~ 0x1CH
~ 0x8AH
~ 0x2CH

2.2.3 Bài tập khó

$ Khi chân /EA = Vcc, 8051 kết nối với ROM ngoài 2864 dung lượng 8K byte, số đường truy
cập vào ROM cần bao nhiêu đường địa chỉ:
~ 13
~ 14
~ 16
~ 12

$ Với thạch anh 12MHz . Tính các giá trị nạp vào thanh ghi TH và TL của Timer 0 ở chế độ 16
bit để có thời gian trễ là 10ms.
~ TH là 0D8H TL là 0F0H
~ TH là 0B1H TL là 0DFH
~ TH là 5BH TL là 0EFH
~ TH là 52H TL là 0EFH

$ Với thạch anh 12MHz . Tính các giá trị nạp vào thanh ghi TH và TL của Timer 1 ở chế độ 16
bit để có thời gian trễ là 15ms.
~ TH là 0D8H TL là 0EFH
~ TH là 0C5H TL là 68H
~ TH là 5BH TL là 0A0H
~ TH là 0A5H TL là 68H

$ Với thạch anh 12MHz . Tính các giá trị nạp vào thanh ghi TH và TL của Timer 1 ở chế độ 16
bit để có thời gian trễ là 35ms.
~ TH là 0D8H TL là 0A0H
~ TH là 77H TL là 48H
~ TH là 5BH TL là 45H
~ TH là 4BH TL là 45H

$ Với thạch anh 12MHz. Tính các giá trị nạp vào thanh ghi TH và TL của Timer 1 ở chế độ 16
bit để có thời gian trễ là 50ms.
~ TH là 5CH TL là 0AFH
~ TH là 4BH TL là 0BFH
~ TH là 3CH TL là 0B0H
~ TH là 5BH TL là 0BFH

$ Nếu dùng Timer 1 để tạo ra 1 sóng vuông tần số 2KHz trên chân P2.5 thì cần thiết lập Timer 1
ở chế độ nào và giá trị cần nạp vào các thanh ghi TH, TL là bao nhiêu nếu dùng thạch anh
11,059MHz:
~ Chế độ 1 và giá trị nạp TH là 0AAH và TL là 5FH
~ Chế độ 1 và giá trị nạp TH là 0FFH và TL là 1AH
~ Chế độ 2 và giá trị nạp TH là 0FFH và TL là 2FH
~ Chế độ 2 và giá trị nạp TH là 0FFH và TL là 1AH

$ Nếu dùng Timer 0 để tạo ra 1 sóng vuông tần số 0.2KHz trên chân P2.3 thì cần thiết lập Timer
0 ở chế độ nào và giá trị cần nạp vào các thanh ghi TH, TL là bao nhiêu nếu dùng thạch anh
11.059MHz:
~ Chế độ 1 và giá trị nạp TH là 0AAH và TL là 5FH
~ Chế độ 1 và giá trị nạp TH là 0EEH và TL là 00H
~ Chế độ 2 và giá trị nạp TH là 0FFH và TL là 2FH
~ Chế độ 2 và giá trị nạp TH là 0EEH và TL là 00H

$ Nếu dùng Timer 1 để tạo ra 1 sóng vuông tần số 2KHz trên chân P2.5 thì cần thiết lập Timer 1
ở chế độ nào và giá trị cần nạp vào các thanh ghi TH, TL là bao nhiêu nếu dùng thạch anh
12MHz:
~ Chế độ 1 và giá trị nạp TH là AAH và TL là 5FH
~ Chế độ 1 và giá trị nạp TH là FFH và TL là 06H
~ Chế độ 2 và giá trị nạp TH là FFH và TL là 2FH
~ Chế độ 2 và giá trị nạp TH là FFH và TL là 06H

$ Nếu dùng Timer 0 để tạo ra 1 sóng vuông tần số 0.2KHz trên chân P2.3 thì cần thiết lập Timer
0 ở chế độ nào và giá trị cần nạp vào các thanh ghi TH, TL là bao nhiêu nếu dùng thạch anh
11.059MHz:
~ Chế độ 1 và giá trị nạp TH là 0AAH và TL là 5FH
~ Chế độ 2 và giá trị nạp TH là 0FFH và TL là 2FH
~ Chế độ 1 và giá trị nạp TH là 0ECH và TL là 78H
~ Chế độ 2 và giá trị nạp TH là 0ECH và TL là 78H

$ Nếu dùng Timer 0 để tạo ra 1 sóng vuông tần số 50Hz trên chân P2.5 thì giá trị cần nạp vào các
thanh ghi TH, TL là bao nhiêu nếu dùng thạch anh 11.059MHz:
~ TH là 0DCH và TL là 00H
~ TH là 0EEH và TL là 00H
~ TH là 0FFH và TL là 2FH
~ TH là 0DCH và TL là 2FH

$ Với thạch anh 12MHz. Tính các giá trị nạp vào thanh ghi TH của Timer 1 ở chế độ 8 bit để có
thời gian trễ là 50μs.
~ TH là 0D8H
~ TH là 0CEH
~ TH là 5BH
~ TH là 4BH

$ Với thạch anh 12MHz . Tính các giá trị nạp vào thanh ghi TH của Timer 0 ở chế độ 8 bit để có
thời gian trễ là 55μs.
~ TH là 0C9H
~ TH là 0CEH
~ TH là 5BH
~ TH là 0C8H

$ Với thạch anh 12MHz . Tính các giá trị nạp vào thanh ghi TH của Timer 1 ở chế độ 8 bit để có
thời gian trễ là 200μs.
~ TH là 38H
~ TH là 0FEH
~ TH là 0BCH
~ TH là 0ACH

$ Với thạch anh 12MHz . Tính các giá trị nạp vào thanh ghi TH của Timer 0 ở chế độ 8 bit để có
thời gian trễ là 150μs.
~ TH là 06AH
~ TH là 0CEH
~ TH là 5BH
~ TH là 4BH

$ Nếu dùng Timer 1 để tạo ra 1 sóng vuông tần số 500Hz trên chân P2.1 thì cần thiết lập Timer 1
ở chế độ nào và giá trị cần nạp vào các thanh ghi TH, TL là bao nhiêu nếu dùng thạch anh
12MHz:
~ Chế độ 1 và giá trị nạp TH là F8H và TL là 30H
~ Chế độ 1 và giá trị nạp TH là FAH và TL là 30H
~ Chế độ 2 và giá trị nạp TH là FFH và TL là 2FH
~ Chế độ 1 và giá trị nạp TH là FCH và TL là 18H

$ Nếu dùng Timer 1 để tạo ra 1 sóng vuông tần số 100Hz trên chân P1.2 thì cần thiết lập Timer 1
ở chế độ nào và giá trị cần nạp vào các thanh ghi TH, TL là bao nhiêu nếu dùng thạch anh
12MHz:
~ Chế độ 1 và giá trị nạp TH là ECH và TL là 78H
~ Chế độ 1 và giá trị nạp TH là EAH và TL là 30H
~ Chế độ 2 và giá trị nạp TH là FCH và TL là 78H
~ Chế độ 1 và giá trị nạp TH là ECH và TL là 18H

$ Cho đoạn chương trình con (trường hợp thạch anh 12 MHz):
DELAY:
PUSH 01H
MOV R1,#3
MOV TMOD,#01H
DEL:
MOV TH0,#HIGH(-5000)
MOV TL0,#LOW(-5000)
SETB TR0
JNB TF0,$
CLR TR0
CLR TF0
INC R1
CJNE R1,#7,DEL
POP 01H
RET
Thời gian tạo trễ khi thực hiện đoạn chương trình con trên?
~ 5 ms
~ 20 ms
~ 25 ms
~ 10 ms

$ Cho đoạn chương trình con (trường hợp thạch anh 12 MHz):
DELAY:
PUSH 01H
MOV R1,#4
MOV TMOD,#01H
DEL:
MOV TH0,#HIGH(-5000)
MOV TL0,#LOW(-5000)
SETB TR0
JNB TF0,$
CLR TR0
CLR TF0
INC R1
CJNE R1,#9,DEL
POP 01H
RET
Thời gian tạo trễ khi thực hiện đoạn chương trình con trên?
~ 5 ms
~ 20 ms
~ 25 ms
~ 12 ms

$ Khi lập trình định thì với khoảng thời gian lớn hơn 70 000µs (giả sử dùng thạch anh là 12Mhz)
ta nên dùng kỹ thuật:
~ Timer 16 bit kết hợp với các vòng lặp
~ Timer 8 bit tự động nạp lại giá trị đầu
~ Timer 16 bit
~ Điều chỉnh bằng phần mềm
$ Sử dụng Timer 1 ở chế độ 16 bit tạo thời gian trễ là 40ms, nếu tần số thạch anh là 12MHz thì
giá trị nạp vào TH và TL là:
~ TH là 63 và TL la C0
~ TH là 4B và TL la BF
~ TH là 3C và TL la B0
~ TH là 3C và TL la B0

$ Cho đoạn chương trình sau:


MOV R1,#32
LOOP: DEC R1
MOV A,R1
JNZ LOOP
END
Kết quả của thanh ghi R1 là:
~ 21H
~ 1H
~ 0H
~ 12H

$ Cho đoạn mã sau:


MOV A,#73H
MOV R1,#98H
MOV R2,#45H
ADD A,R1
ADDC A,R2
Kết quả của thanh ghi A là:
~ 50H
~ 51H
~ 40H
~ 41H

$ Cho đoạn chương trình sau:


MOV A,#91H
LOOP:MOV P1,A
ADD A,#2
CJNE A,#177,LOOP
Sau khi thực hiện đoạn chương trình trên thì P1 có giá trị:
~ 43H
~ AFH
~ 5BH
~ 46H

$ Cho đoạn chương trình sau:


ORG 00H
MAIN:MOV R1,#3
MOV A,R1
MOV DPTR,#DULIEU
MOVC A,@A+DPTR
DEC R1
MOV @R1,A
SJMP $
DULIEU:
DB 0AFH, 34H, 56H, 0B1H, 89H
DB 57H, 0C1H, 0A2H, 12H, 32H
END
Sau khi thực hiện đoạn chương trình trên thì R3 có giá trị:
~ 56H
~ 89H
~ 23H
~ 0B1H

$ Cho đoạn chương trình con:


DELAY:
MOV R1,#20
LOOP: MOV R0,#20
DJNZ R0,$
DJNZ R1,LOOP
RET
Thời gian tạo trễ khi thi hành đoạn chương trình con trên (trường hợp thạch anh 12MHz)
~ 0.4 ms
~ 0.8 ms
~ 1.2 ms
~ 0.2 ms

$ Cho đoạn chương trình con (trường hợp thạch anh 12 MHz):
DELAY:
PUSH 01H
MOV R1,#4
MOV TMOD,#01H
DEL:
MOV TH0,#HIGH(-5000)
MOV TL0,#LOW(-5000)
SETB TR0
JNB TF0,$
CLR TR0
CLR TF0
INC R1
CJNE R1,#9,DEL
POP 01H
RET
Thời gian tạo trễ khi thực hiện đoạn chương trình con trên?
~ 25 ms
~ 10 ms
~ 20 ms
~ 5 ms

$ Cho đoạn mã sau:


ORG 0000H
MOV A, #033H
MOV 30H, #4EH
ORL A, #30H
END
Kết quả của thanh ghi A là:
~ 7FH
~ 7EH
~ 8BH
~ 23H

$ Cho đoạn chương trình sau


ORG 00H
MOV A,#0A9H
MOV R0,#07H
LOOP:
SETB C
SUBB A,#13H
MOV @R0,A
DJNZ R0, LOOP
Sau khi thực hiện đoạn chương trình trên thì R6 có giá trị:
~ 81H
~ 95H
~ 82H
~ 80H

$ Cho đoạn chương trình sau:


ORG 00H
MAIN:
MOV R0,#3
MOV A,R0
MOV DPTR,#CSDL
MOVC A,@A+DPTR
DEC R0
MOV @R0,A
SJMP $
CSDL:
DB 0C0H,0F9H,0A4H,0B0H,99H
DB 92H,82H,0F7H,80H,90H
Sau khi thực hiện đoạn chương trình trên thì R2 có giá trị:
~ 0B1H
~ 0B0H
~ 99H
~ 0A4H

$ Cho đoạn chương trình con:


DELAY:
MOV R1,#30
LOOP: MOV R0,#20
DJNZ R0,$
DJNZ R1,LOOP
RET
Thời gian tạo trễ khi thi hành đoạn chương trình con trên (trường hợp thạch anh 12MHz)
~ 0.2 ms
~ 0.8 ms
~ 1.2 ms
~ 0.4 ms

$ Cho tần số thạch anh bằng 12MHz, muốn tạo trễ một khoảng thời gian là 500μs phải dùng
Timer ở chế độ nào:
~ 13 bit.
~ 8 bit.
~ 16 bit.
~ Chế độ khác.

$ Cho tần số thạch anh bằng 12MHz, muốn tạo trễ một khoảng thời gian là 200μs thì dùng Timer
ở chế độ nào:
~ 16 bit.
~ 8 bit.
~ Cả A và B.
~ Chế độ khác.

$ Cho tần số XTAL =11.0592 MHz, SMOD = 0 để truyền thông với tốc độ baud là 1200 thì giá
trị cần nạp cho TH1 (dạng hexa) là
~ E7
~ E8
~ F6
~ ED

$ Cho tần số XTAL =11.0592 MHz, SMOD = 0 để truyền thông với tốc độ baud là 2400 thì giá trị cần
nạp cho TH1 (dạng hexa) là
~ F4
~ F5
~ F6
~ FA
$ Cho tần số XTAL =11.0592 MHz, SMOD = 0 để truyền thông với tốc độ baud là 4800 thì giá trị cần
nạp cho TH1 (dạng hexa) là
~ F8
~ FB
~ FA
~ F9

$ Cho tần số XTAL =11.0592 MHz, SMOD = 0 để truyền thông với tốc độ baud là 9600 thì giá trị cần
nạp cho TH1 (dạng hexa) là
~ F4
~ FA
~ F6
~ FD

$ Cho tần số XTAL =11.0592 MHz, SMOD = 1 để truyền thông với tốc độ baud là 9600 thì giá trị cần
nạp cho TH1 (dạng hexa) là
~ F4
~ FA
~ F6
~ FD

$ Cho tần số XTAL =11.0592 MHz, SMOD = 1 để truyền thông với tốc độ baud là 4800 thì giá trị cần
nạp cho TH1 (dạng hexa) là
a. F4
b.FA
c.F6
d.FD

$ Cho tần số XTAL =11.0592 MHz, SMOD = 1 để truyền thông với tốc độ baud là 2400 thì giá trị cần
nạp cho TH1 (dạng hexa) là
~ F4
~ FA
~ E8
~ ED

$ Cho tần số XTAL =11.0592 MHz, SMOD = 1 để truyền thông với tốc độ baud là 19200 thì giá trị cần
nạp cho TH1 (dạng hexa) là
~ F4
~ FA
~ F6
~ FD

$ Cho tần số XTAL =11.0592 MHz, SMOD = 0, SCON=52H, TMOD=20H, TH1=FDH. Hãy cho biết
chế độ truyền thông và tốc độ
~ Chế độ 1 và baudrate=4800
~ Chế độ 3 và baudrate=4800
~ Chế độ 1 và baudrate=9600
~ Chế độ 2 và baudrate=9600

$ Cho tần số XTAL =11.0592 MHz, SMOD = 0, SCON=D2H, TMOD=20H, TH1=FDH. Hãy cho biết
chế độ truyền thông và tốc độ
~ Chế độ 1 và baudrate=4800
~ Chế độ 3 và baudrate=4800
~ Chế độ 1 và baudrate=9600
~ Chế độ 3và baudrate=9600

$ Cho tần số XTAL =11.0592 MHz, SMOD = 0, SCON=52H, TMOD=20H, TH1=FAH. Hãy cho biết
chế độ truyền thông và tốc độ
~ Chế độ 1 và baudrate=4800
~ Chế độ 3 và baudrate=4800
~ Chế độ 1 và baudrate=9600
~ Chế độ 3và baudrate=9600

$ Cho tần số XTAL =11.0592 MHz, SMOD = 0, SCON=D2H, TMOD=20H, TH1=FAH. Hãy cho biết
chế độ truyền thông và tốc độ
~ Chế độ 1 và baudrate=4800
~ Chế độ 3 và baudrate=4800
~ Chế độ 1 và baudrate=9600
~ Chế độ 3và baudrate=9600

$ Cho tần số XTAL =11.0592 MHz, SMOD = 0, SCON=52H, TMOD=20H, TH1=F4H. Hãy cho biết
chế độ truyền thông và tốc độ
~ Chế độ 1 và baudrate=2400
~ Chế độ 3 và baudrate=2400
~ Chế độ 1 và baudrate=4800
~ Chế độ 2và baudrate=2400

$ Cho tần số XTAL =11.0592 MHz, SMOD = 0, SCON=D2H, TMOD=20H, TH1=F4H. Hãy cho biết
chế độ truyền thông và tốc độ
~ Chế độ 1 và baudrate=2400
~ Chế độ 3 và baudrate=2400
~ Chế độ 1 và baudrate=4800
~ Chế độ 2và baudrate=2400

$ Cho tần số XTAL =11.0592 MHz, SMOD = 0, SCON=52H, TMOD=20H, TH1=E8H. Hãy cho biết
chế độ truyền thông và tốc độ
~ Chế độ 1 và baudrate=1200
~ Chế độ 3 và baudrate=2400
~ Chế độ 1 và baudrate=2400
~ Chế độ 3 và baudrate=1200
$ Cho tần số XTAL =11.0592 MHz, SMOD = 0, SCON=D2H, TMOD=20H, TH1=E8H. Hãy cho biết
chế độ truyền thông và tốc độ
~ Chế độ 2 và baudrate=1200
~ Chế độ 3 và baudrate=2400
~ Chế độ 1 và baudrate=2400
~ Chế độ 3 và baudrate=1200

$ Cho tần số XTAL =11.0592 MHz, SMOD = 1, SCON=52H, TMOD=20H, TH1=FDH. Hãy cho biết
chế độ truyền thông và tốc độ
~ Chế độ 1 và baudrate=9600
~ Chế độ 3 và baudrate=4800
~ Chế độ 1 và baudrate=19200
~ Chế độ 2 và baudrate=9600

$ Cho tần số XTAL =11.0592 MHz, SMOD = 1, SCON=D2H, TMOD=20H, TH1=FDH. Hãy cho biết
chế độ truyền thông và tốc độ
~ Chế độ 1 và baudrate=19200
~ Chế độ 3 và baudrate=9600
~ Chế độ 1 và baudrate=9600
~ Chế độ 3và baudrate=19200

$ Cho tần số XTAL =11.0592 MHz, SMOD = 1, SCON=52H, TMOD=20H, TH1=FAH. Hãy cho biết
chế độ truyền thông và tốc độ
~ Chế độ 1 và baudrate=4800
~ Chế độ 3 và baudrate=4800
~ Chế độ 1 và baudrate=9600
~ Chế độ 3và baudrate=9600

$ Cho tần số XTAL =11.0592 MHz, SMOD = 1, SCON=D2H, TMOD=20H, TH1=FAH Hãy cho biết
chế độ truyền thông và tốc độ
~ Chế độ 1 và baudrate=4800
~ Chế độ 3 và baudrate=4800
~ Chế độ 1 và baudrate=9600
~ Chế độ 3và baudrate=9600

$ Cho tần số XTAL =11.0592 MHz, SMOD = 1, SCON=52H, TMOD=20H, TH1=F4H. Hãy cho biết
chế độ truyền thông và tốc độ
~ Chế độ 1 và baudrate=2400
~ Chế độ 3 và baudrate=2400
~ Chế độ 1 và baudrate=4800
~ Chế độ 2và baudrate=2400

$ Cho tần số XTAL =11.0592 MHz, SMOD = 1, SCON=D2H, TMOD=20H, TH1=F4H. Hãy cho biết
chế độ truyền thông và tốc độ
~ Chế độ 1 và baudrate=2400
~ Chế độ 3 và baudrate=2400
~ Chế độ 3 và baudrate=4800
~ Chế độ 2và baudrate=4800

$ Cho tần số XTAL =11.0592 MHz, SMOD = 1, SCON=52H, TMOD=20H, TH1=E8H. Hãy cho biết
chế độ truyền thông và tốc độ
~ Chế độ 1và baudrate= 4800
~ Chế độ 3 và baudrate=2400
~ Chế độ 1 và baudrate=2400
~ Chế độ 3 và baudrate=4800

$ Cho tần số XTAL =11.0592 MHz, SMOD = 1, SCON=D2H, TMOD=20H, TH1=E8H. Hãy cho biết
chế độ truyền thông và tốc độ
~ Chế độ 2 và baudrate=1200
~ Chế độ 3 và baudrate=2400
~ Chế độ 1 và baudrate=2400
~ Chế độ 3 và baudrate=1200

$ Cho tần số XTAL =12 MHz, SMOD = 0, SCON=52H, TMOD=20H. Hãy cho biết giá trị cần nạp vào
TH1 để 8051 truyền thông với tốc độ baud là 1200
~ E8H
~ E6H
~ F6H
~ F8H

$ Cho tần số XTAL =12 MHz, SMOD = 0, SCON=52H, TMOD=20H. Hãy cho biết giá trị cần nạp vào
TH1 để 8051 truyền thông với tốc độ baud là 2400
~ F3H
~ E3H
~ F6H
~ E6H

$ Cho tần số XTAL =12 MHz, SMOD = 1, SCON=52H, TMOD=20H. Hãy cho biết giá trị cần nạp vào
TH1 để 8051 truyền thông với tốc độ baud là 1200
~ DCH
~ ECH
~ CCH
~ E6H

$ Cho tần số XTAL =12 MHz, SMOD = 1, SCON=52H, TMOD=20H. Hãy cho biết giá trị cần nạp vào
TH1 để 8051 truyền thông với tốc độ baud là 2400
~ DCH
~ ECH
~ CCH
~ E6H
$ Nếu tốc độ baud đường truyền dữ liệu trong 8051 là 4800 với SMOD =1 và tần số XTAL
=11.059 MHz thì giá trị cần nạp cho TH1 là:
~ FDH
~ F3H
~ F4H
~ F5H

$ Nếu tốc độ baud đường truyền dữ liệu trong 8051 là 19200 với SMOD =1 và tần số XTAL
=11.059 MHz thì giá trị cần nạp cho TH1 là:
~ FDH
~ FAH
~ F4H
~ F5H

$ Nếu tốc độ baud đường truyền dữ liệu trong 8051 là 4800 với SMOD =1 và tần số XTAL
=11.059 MHz thì giá trị cần nạp cho TH1 là:
~ FDH
~ F3H
~ F4H
~ FAH

$ Nếu tốc độ baud đường truyền dữ liệu trong 8051 là 9600 với SMOD =0 và tần số XTAL
=11.059 MHz thì giá trị cần nạp cho TH1 là:
~ 0FDH
~ 0F3H
~ 0F4H
~ 0E8H

$ Nếu tốc độ baud đường truyền dữ liệu trong 8051 là 1200 với SMOD =0 và tần số XTAL
=11.059 MHz thì giá trị cần nạp cho TH1 là:
~ FDH
~ FAH
~ F4H
~ 0E8H

$ Nếu tốc độ baud đường truyền dữ liệu trong 8051 là 2400 với SMOD =0 và tần số XTAL
=11.059 MHz thì giá trị cần nạp cho TH1 là:
~ FDH
~ F3H
~ F4H
~ 0E8H

$ Cho đoạn mã Assembler sau :


ORG 0000H
MOV A, #32H
ADD A, #40H
SWAP A
END
Kết quả của thanh ghi A là:
~ 72H
~ 27H
~ 43H
~ 34H

$ Cho đoạn mã Assembler sau :


ORG 0000H
MOV R0, #30H
MOV A, #7BH
MOV 30H, #4CH
XCHD A, @R0
END
Kết quả của thanh ghi A là:
~ 74H
~ 73H
~ 7BH
~ 7CH

$ Cho đoạn mã Assembler sau :


ORG 0000H
MOV R1, #2BH
CJNE R1, #2BH, NHAN
MOV A, #4BH
SJMP KETTHUC
NHAN :MOV A, #0B4H
KETTHUC: END
Kết quả của thanh ghi A là:
~ 4BH
~ B4H
~ 2BH
~ B2H

$ Cho đoạn mã Assembler sau :


ORG 0000H
MOV R1, #30H
CJNE R1, #2BH, NHAN
MOV A, #30H
SJMP KETTHUC
NHAN : MOV A,#40H
KETTHUC: END
Kết quả của thanh ghi A là:
~ 40H
~ 30H
~ 2BH
~ 04H

$ Cho đoạn mã Assembler sau :


ORG 0000H
MOV R1, #30H
CJNE R1, #30, NHAN
MOV A, #45H
SJMP KETTHUC
NHAN : MOV A, #54H
KETTHUC: END
Kết quả của thanh ghi A là:
~ 54H
~ 45H
~ 30H
~ 35H

$ Cho đoạn chương trình sau


MOV A , #10110011b
MOV R0, #11001011b
XRL A, R0
Kết quả thanh ghi A là:
~ 01111000b
~ 11111000b
~ 00111000b
~ 00111000b

$ Cho đoạn chương trình sau:


MOV A, #10110011b
CPL A
Kết quả:
~ 01001100b
~ 11001100b
~ 01001101b
~ 01111100b

$ Cho đoạn lệnh sau:


MOV A, #3EH
SWAP A
Kết quả:
~ A=E3H
~ A=H3E
~ A=3EH
~ A=E3E
$ Cho đoạn chương trình sau:
ORG 0
LJMP MAIN
ORG 000BH
T0ISR: CPL P1.0
RETI
ORG 0030H
MAIN: MOV TMOD,#02H
MOV TH0,#-50
SETB TR0
MOV IE,#82H
SJMP $
Kết quả:
~ Tạo xung vuông 2 KHz
~ Tạo xung vuông 1KHz
~Tạo xung vuông 3KHz
~ Tạo xung chữ nhật 5 KHz

$ Cho đoạn mã Assembler sau :


ORG 0000H
MOV R1,#8
MOV A,#3BH
LAP:RR A
DJNZ R1,LAP
END
Kết quả của thanh ghi A là:
~ 67H
~ D9H
~ 3BH
~ CEH

$ Cho đoạn mã Assembler sau :


ORG 0000H
MOV R1,#8
MOV A,#3BH
LAP: RL A
DJNZ R1, LAP
END
Kết quả của thanh ghi A là:
~ 3BH
~ D9H
~ 67H
~ CEH

$ Cho đoạn mã Assembler sau :


ORG 0000H
MOV A,#0F3H
ADD A, #3BH
JC NHAN
MOV R1, #35H
SJMP KETTHUC
NHAN :MOV R1, #45H
KETTHUC: END
Kết quả thanh ghi R1 là:
~ 35H
~ 45H
~ 3BH
~ FFH

$ Cho đoạn mã lệnh sau:


MOV A, #-128
MOV R1, #-2
ADD A, R1
Kết quả:
~ A= 7EH
~ A= 8EH
~ A= 9EH
~ A= 6EH

$ Cho đoạn mã lệnh sau:


MOV A, #-2
MOV R1, #-5
ADD A, R1
Kết quả:
~ A=F9H
~ A=F10H
~ A=F8H
~ A=F11H
Chương 5 +4: Các bài toán cơ bản ứng dụng vi điều khiển và các họ vi điều khiển hiện đại

$ Để màn hình LCD hiển thị chế độ 2 dòng, 8 bit, font chữ 5x7 thì cần nạp vào thanh ghi
Function Set giá trị (dạng hex):
~ 0x38
~ 0x28
~ 0x18
~ 0x80

$ Để màn hình LCD hiển thị chế độ 2 dòng, 4 bit, font chữ 5x7 thì cần nạp vào thanh ghi
Function Set giá trị (dạng hex):
~ 0x38
~ 0x28
~ 0x18
~ 0x80

$ Để màn hình LCD hiển thị chế độ 1 dòng, 8 bit, font chữ 5x7 thì cần nạp vào thanh ghi
Function Set giá trị (dạng hex):
~ 0x38
~ 0x30
~ 0x28
~ 0x80

$ Để màn hình LCD hiển thị chế độ 1 dòng, 4 bit, font chữ 5x7 thì cần nạp vào thanh ghi
Function Set giá trị (dạng hex):
~ 0x38
~ 0x28
~ 0x20
~ 0x30

$ Để màn hình LCD hiển thị chế độ dịch phải thì cần nạp vào thanh ghi Display/Cusor Shift giá
trị (dạng hex):
~ 0x18
~ 0x1B
~ 0x1C
~ 0x80

$ Để màn hình LCD hiển thị chế độ dịch trái thì cần nạp vào thanh ghi Display/Cusor Shift giá
trị (dạng hex):
~ 0x18
~ 0x1C
~ 0x1E
~ 0x38

$ Để gửi 1 byte lệnh command ra LCD thì giá trị đặt vào các chân điều khiển RS và R/W (dạng
hex):
~ RS =0 , R/W =0
~ RS =0 , R/W =1
~ RS =1 , R/W =1
~ RS =1 , R/W =0

$ Để gửi 1 byte dữ liệu data ra LCD thì giá trị đặt vào các chân điều khiển RS và R/W (dạng
hex):
~ RS =0 , R/W =0
~ RS =1 , R/W =0
~ RS =1 , R/W =1
~ RS =0 , R/W =1

$ Mã lệnh 80H của LCD có tác dụng


~ Ép con trỏ về đầu dòng thứ 2
~ Tắt con trỏ, tắt hiển thị
~ Ép con trỏ về đầu dòng thứ nhất
~ Xóa màn hình

$ Mã lệnh 38H của LCD có tác dụng


~ Ép con trỏ về đầu dòng thứ 2
~ Tắt con trỏ, tắt hiển thị
~ Ép con trỏ về đầu dòng thứ nhất
~ Hiển thị 2 dòng và cỡ chữ 5×7

$ Chân EOC của ADC 0808 có chức năng gì :


~ Báo chuyển đổi xong.
~ Cho phép chuyển đổi tương tự số.
~ Bắt đầu chuyển đổi
~ Tín hiệu đầu vào

$ Tổ chức phần cứng AVR được thiết kế theo kiến trúc:


~ Von-neuman
~ Havard
~ Von-neuman và Havard
~ CISC

$ PIC là gì?
~ Microprocessor
~ Computer
~ Programable intelligent Computer
~ Processor in the measurement and control

$ Tổ chức phần cứng PIC được thiết kế theo kiến trúc:


~ Von-neuman
~ Havard
~ Von-neuman và Havard
~ CISC

$ PIC PIC16F877A có tất cả bao nhiêu chân?


~ 25
~ 40
~ 50
~ 35

$ PIC PIC16F877A có bao nhiêu port?


~4
~5
~6
~3

$ PsoC là gì?
~ Programable Sytem on chip
~ Microcontroller
~ Programable intelligent Computer
~ Processor in the measurement and control

5.1.2 Câu hỏi trung bình

$ ADC 0809 8 bit cho phép người dùng chia tối đa bao nhiêu mức đầu ra
~ 128
~ 256
~ 512
~ 64

$ Chuẩn giao tiếp nối tiếp RS232C quy định mức logic 1 tương ứng với điện áp
~ 5V
~ -2V
~ 12V
~ -12V

$ Chuẩn giao tiếp nối tiếp RS232C quy định mức logic 0 tương ứng với điện áp
~ 2V
~ -5V
~ 12V
~ -12V

$ Vi mạch MAX232 sử dụng kết nối giữa bộ vi điều khiển 8051 với máy tính có chức năng
~ Đổi dữ liệu nối tiếp thành dữ liệu song song
~ Đồi dữ liệu song song thành dữ liệu nối tiếp.
~ Chuyển đổi mức logic của tín hiệu số truyền nhận giữa máy tính và 8051.
~ Cả ba câu trên đều sai.
$ Cách chống rung cho phím nhấn là:
~ Bằng phần mềm
~ Bằng phần cứng
~ Không có cách nào
~ Cả a và b

$ Chuẩn giao tiếp vật lý của PS/2 gồm


~ 3 chân
~ 4 chân
~ 5 chân
~ 6 chân

$ IC ULN 2003 có tác dụng :


~ Đệm dữ liệu
~ Tăng công suất
~ Giải mã địa chỉ
~ Giảm công suất

$ Nhược điểm trong chế độ điều khiển ON/OFF động cơ :


~ Tốc độ đông cơ chậm
~ Công suất nguồn lớn
~ Có quán tính, trôi lớn
~ Công suất nguồn nhỏ

$ Trong chế độ điều khiển độ rộng xung PWM, độ rộng xung nhỏ thì :
~ Tốc độ động cơ chậm
~ Tốc độ động cơ nhanh
~ Không thay đổi
~ Cả a, b và c đều sai

$ Trong chế độ điều khiển độ rộng xung PWM, độ rộng xung lớn thì :
~ Tốc độ động cơ chậm
~ Tốc độ động cơ nhanh
~ Không thay đổi
~ Cả a,b và c đều sai

$ Cấu trúc Harvard có:


~ Đường truyền (bus) cho bộ nhớ dữ liệu và đường truyền (bus) cho bộ nhớ chương trình được
tách riêng.
~ Đường truyền cho bộ nhớ dữ liệu và đường truyền cho bộ nhớ chương trình dùng chung.
~ Đường truyền (bus) địa chỉ cho bộ nhớ dữ liệu và đường truyền (bus) địa chỉ cho bộ nhớ
chương trình dùng chung.
~ Đường truyền (bus) dữ liệu cho bộ nhớ dữ liệu và đường truyền (bus) dữ liệu cho bộ nhớ
chương trình dùng chung.

5.1.3 Câu hỏi khó


$ Phương pháp nào sau đây không dùng trong điều khiển hiển thị Led 7 thanh
~ Quét.
~ Dịch dữ liệu và chốt.
~ Giải mã BCD/7 thanh.
~ Mã hóa.

$ Khi đang trong quá trình thực hiện một lệnh ở LCD thì cờ BF (Busy flag) sẽ có giá trị là
~0
~1
~ Chuyển từ 1 xuống 0
~ Chuyển từ 0 lên 1

$ LCD có mấy chế độ chuyền dữ liệu


~ 1 chế độ
~ 2 chế độ
~ 3 chế độ
~ 4 chế độ

$ Kết nối điều khiển hiển thị giữa vi điều khiển và module LCD có tối đa 80 ký tự cần tối thiểu
~ 6 chân
~ 7 chân
~ 11 chân
~ Cả A và B

$ Chức năng của vùng nhớ CGRAM trong LCD là:


~ Chứa dữ liệu cần hiển thị
~ Chứa bảng mã lệnh
~ Chứa mẫu ký tự do người dùng định nghĩa
~ cả a, b và c đều đúng

$ Chức năng của vùng nhớ DDRAM trong LCD là:


~ Chứa dữ liệu cần hiển thị
~ Chứa bảng mã lệnh
~ Chứa mẫu ký tự do người dùng định nghĩa
~ cả a, b và c đều đúng

$ Trong 2 loại dòng điện Source current (Isource) và Sink curent (Isink) đối với 8051thì giá trị của:
~ Isource > Isink
~ Isource < Isink
~ Isource = Isink
~ Isource < > Isink

5.2 Bài tập


5.2.1 Bài tập dễ
$ Có 20 phím nhấn xếp thành ma trận phím. Số pin tối thiểu kết nối giữa vi điều khiển và ma
trận phím đó là:
~ 20
~ 12
~ 10
~9

$ Có 24 phím nhấn xếp thành ma trận phím. Số pin tối thiểu kết nối giữa vi điều khiển và ma
trận phím đó là:
~ 20
~ 11
~ 10
~9

5.2.2 Bài tập trung bình


$ Giả sử có 1 LED 7 thanh kiểu Anot chung được nối trực tiếp vào cổng P1 của 8051 theo trình
tự các thanh abcdefgh nối P1.0 ÷ P1.7. Hãy cho biết để LED hiển thị giá trị 1 cần xuất gia cổng 1
giá trị nào dưới đây:
~ 24H
~ 30H
~ F9H
~ 40H

$ Giả sử có 1 LED 7 thanh kiểu Anot chung được nối trực tiếp vào cổng P1 của 8051 theo trình
tự các thanh abcdefg nối P1.0 ÷ P1.6. Hãy cho biết để LED hiển thị giá trị 4 cần xuất gia cổng 1
giá trị nào dưới đây:
~ 19H
~ 30H
~ 46H
~ 40H

$ Giả sử có 1 LED 7 thanh kiểu Anot chung được nối trực tiếp vào cổng P1 của 8051 theo trình
tự các thanh abcdefg nối P1.0 ÷ P1.6. Hãy cho biết để LED hiển thị giá trị 5 cần xuất ra cổng 1
giá trị nào dưới đây:
~ 88H
~ 12H
~ 10H
~ 46H

$ Giả sử có 1 LED 7 thanh kiểu Anot chung được nối trực tiếp vào cổng P1 của 8051 theo trình
tự các thanh abcdefg nối P1.0 ÷ P1.6. Hãy cho biết để LED hiển thị giá trị 7 cần xuất gia cổng 1
giá trị nào dưới đây:
~ 78H
~ 77H
~ 47H
~ 57H
$ Giả sử mắc 1 Led theo kiểu điều khiển Catot vào chân 8051, điện áp mất ở Led là Uak = 0.7V,
nguồn cấp Vcc = 5V. Nếu muốn dòng qua Led là ILed = 5mA thì điện trở mắc vào đầu Anot của
Led có giá trị:
~ R = 470 Ω
~ R = 560 Ω
~ R = 860 Ω
~ R = 1kΩ

$ Giả sử mắc 1 Led theo kiểu điều khiển Catot vào chân 8051, điện áp mất ở Led là Uak = 0. 6V,
nguồn cấp Vcc = 5V. Nếu muốn dòng qua Led là ILed = 10mA thì điện trở mắc vào đầu Anot của
Led có giá trị:
~ R = 470 Ω
~ R = 440 Ω
~ R = 430 Ω
~ R= 1kΩ

$ Giả sử mắc 1 Led theo kiểu điều khiển Catot vào chân 8051, điện áp mất ở Led là Uak = 0.6V,
nguồn cấp Vcc = 5V. Nếu muốn dòng qua Led là ILed = 11mA thì điện trở mắc vào đầu Anot của
Led có giá trị:
~ R = 400 Ω
~ R = 420 Ω
~ R = 440 Ω
~ R= 480Ω

$ Giả sử mắc 1 Led theo kiểu điều khiển Catot vào chân 8051, điện áp mất ở Led là Uak = 0.6V,
nguồn cấp Vcc = 5V. Nếu muốn dòng qua Led là ILed = 20mA thì điện trở mắc vào đầu Anot của
Led có giá trị:
~ R = 180 Ω
~ R = 200 Ω
~ R = 220 Ω
~ R = 250 Ω

5.2.3 Bài tập khó


$ Giả sử đặt giải điện áp 0 ÷ 5 VDC đầu vào kênh 0 của ADC 0809. Nếu điện áp đầu vào ở mức
2 V thì giá trị đầu ra 8 bit của ADC (dạng hex) là :
~ 0x66
~ 0x5A
~ 0x6E
~ 0x60
$

$ Giả sử đặt giải điện áp 0 ÷ 5 VDC đầu vào kênh 0 của ADC 0809. Nếu điện áp đầu vào ở mức
3 V thì giá trị đầu ra 8 bit của ADC (dạng hex) là :
~ 0x8F
~ 0x99
~ 0x9F
~ 0x90

$ Giả sử đặt giải điện áp 0 ÷ 5 VDC đầu vào kênh 0 của ADC 0809. Nếu điện áp đầu vào ở mức
4 V thì giá trị đầu ra 8 bit của ADC (dạng hex) là :
~ 0xCA
~ 0xCB
~ 0xCC
~ 0xC0

$ Giả sử đặt giải điện áp 0 ÷ 5 VDC đầu vào kênh 0 của ADC 0809. Nếu điện áp đầu vào ở mức
1 V thì giá trị đầu ra 8 bit của ADC (dạng hex) là :
~ 0x32
~ 0x33
~ 0x34
~ 0x30

$ Giả sử đặt giải điện áp 0 ÷ 5 VDC đầu vào kênh 0 của ADC 0809. Độ phân giải của ADC
(dạng decimal) là :
~ 0.0195V
~ 0.0185V
~ 0.0175V
~ 0.0189V

$ Cho ADC 0804 có Vref/2= 2V và điện áp Vin=Vin(+) – Vin(-) = 1.5V thì giá trị đầu ra của
ADC là:
~ 50H
~ 60H
~ 4CH
~ 40H

$ Cho ADC 0804 có Vref/2= 1.5V và điện áp Vin=Vin(+) – Vin(-) = 1.5V thì giá trị đầu ra của
ADC là:
~ 50H
~ 60H
~ 4CH
~ 80H

$ Cho ADC 0804 có Vref/2= 1 V và điện áp Vin=Vin(+) – Vin(-) = 1V thì giá trị đầu ra của ADC
là:
~ 40H
~ 60H
~ 4CH
~ 80H
$ Cho ADC 0804 có Vref/2= 1 V và điện áp Vin=Vin(+) – Vin(-) = 0.5V thì giá trị đầu ra của
ADC là:
~ 40H
~ 60H
~ 4CH
~ 80H

$ Cho ADC 0809 có Vref(+) – Vref(-) = 5V - 0V và điện áp Vin = 2V thì giá trị đầu ra của ADC
là:
~ 40H
~ 66H
~ 4CH
~ 80H

$ Cho ADC 0809 có Vref(+) – Vref(-) = 5V - 0V và điện áp Vin = 1V thì giá trị đầu ra của ADC
là:
~ 40H
~ 66H
~ 33H
~ 80H

You might also like