wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Câu hỏi về Vi xử lý - Vi điều khiển

Total questions: 56

Worksheet time: 33mins

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

4 lines
10.

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

11.

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

12.

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

13.

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

14.

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

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) bật ngắt Timer 0.

a)

SETB EA; SETB ET0

b)

MOV IE, #01H

c)

SETB EA; SETB EX0

d)

MOV TCON, #10H

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) 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

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) đợ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, $

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) 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

19.

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

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) 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

21.

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

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) 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

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) đọ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

24.

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

25.

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

26.

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

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

27.

Đ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

28.

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

29.

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ệ

30.

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

31.

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

32.

Hỏi: Chương trình nào sau đây đúng để điều khiển các LED sáng lần lượt từ trái qua phải?

a)

org 0 start: mov A, #0x80 loop: mov P1, A call delay rr A jmp loop delay: mov R7, #5 DL: mov R6, #255 DL1: mov R5, #255 DL2: djnz R5, DL2 djnz R6, DL1 djnz R7, DL ret end

b)

org 0 start: mov A, #0x01 loop: mov P1, A call delay rr A jmp loop delay mov R7, #5 DL: mov R6, #255 DL1: mov R5, #255 DL2: djnz R5, DL2 djnz R6, DL1 djnz R7, DL ret end

c)

org 0 start: mov A, #0x01 loop: mov P1, A call delay rr A jz start delay: mov R7, #5 DL: mov R6, #255 DL1: mov R5, #255 DL2: djnz R5, DL2 djnz R6, DL1 djnz R7, DL ret end

d)

org 0 start: mov P1, #0x55 call delay mov P1, #0xAA call delay jmp start delay: mov R7, #5 DL: mov R6, #255 DL1: mov R5, #255 DL2: djnz R5, DL2 djnz R

33.

Mô tả kết nối: Cho 8 LED đơn với các chân cathode (cực âm) của tất cả các LED mắc nối tiếp với 1 điện trở 100 Ω và nối chung với GND. Các chân anode (cực dương) nối tới các chân P1.0 đến P1.7 của 8051. Vi điều khiển 8051 được cung cấp bộ dao động với tần số 12MHz. Hỏi: Chương trình nào sau đây đúng để điều khiển các LED sáng lần lượt từ phải qua trái?

a)

org 0 start: mov A, #0x80 loop: mov A,P1 call delay rl A jmp loop delay: mov R7, #5 DL: mov R6, #255 DL1: mov R5, #255 DL2: djnz R5, DL2 djnz R6, DL1 djnz R7, DL ret end

b)

org 0 start: mov A, #0x01 loop: mov P1, A call delay rl A jmp loop delay: mov R7, #5 DL: mov R6, #255 DL1: mov R5, #255 DL2: djnz R5, DL2 djnz R6, DL1 djnz R7, DL ret end

c)

org 0 start: mov A, #0x55 loop: mov P1, A call delay cpl A jmp loop delay: mov R7, #5 DL: mov R6, #255 DL1: mov R5, #255 DL2: djnz R5, DL2 djnz R6, DL1 djnz R7, DL ret end

d)

org 0 start: mov P1, #0xAA call delay mov P1, #0x55 call delay jmp start delay: mov R7, #5 DL: mov R6, #255 DL1: mov R5, #255 DL2: djnz R5, DL2 djnz R6, DL1 djnz R7, DL ret end

34.

Mô tả kết nối: Cho 8 LED đơn với các chân cathode (cực âm) của tất cả các LED mắc nối tiếp với 1 điện trở 100 Ω và nối chung với GND. Các chân anode (cực dương) nối tới các chân P1.0 đến P1.7 của 8051. Vi điều khiển 8051 được cung cấp bộ dao động với tần số 12MHz. Hỏi: Chương trình nào sau đây đúng để điều khiển các LED sáng xen kẽ (luân phiên sáng/tắt giữa LED 1, 3, 5, 7 và LED 2, 4, 6, 8)?

a)

org 0 start: mov A, #0x54 loop: mov P1, A call delay cpl A jmp loop delay: mov R7, #5 DL: mov R6, #255 DL1: mov R5, #255 DL2: djnz R5, DL2 djnz R6, DL1 djnz R7, DL ret end

b)

org 0 start: mov A, #0x55 loop: mov P1, A call delay cpl A jmp loop delay: mov R7, #5 DL: mov R6, #255 DL1: mov R5, #255 DL2: djnz R5, DL2 djnz R6, DL1 djnz R7, DL ret end

c)

org 0 start: mov A, #0x56 loop: mov P1, A call delay cpl A jmp loop delay: mov R7, #5 DL: mov R6, #255 DL1:

35.

Mô tả kết nối: Cho 8 LED đơn với các chân cathode (cực âm) của tất cả các LED mắc nối tiếp với 1 điện trở 100 Ω và nối chung với GND. Các chân anode (cực dương) nối tới các chân P1.0 đến P1.7 của 8051. Vi điều khiển 8051 được cung cấp bộ dao động với tần số 12MHz. Hỏi: Chương trình nào sau đây đúng để điều khiển các LED sáng lần lượt từ phải qua trái và sau đó ngược lại từ trái qua phải?

a)

org 0 mov A, #0x80 start: MOV R1,#8 loop1: mov P1, A call delay rl A DJNZ R1,LOOP1 MOV R1,#8 loop2: mov P1, A call delay rr A DJZN R1,LOOP2 JMP START delay: mov R7, #5 DL: mov R6, #255 DL1: mov R5, #255 DL2: djnz R5, DL2 djnz R6, DL1 djnz R7, DL ret end

b)

org 0 mov A, #0x01 start: MOV R1,#8 loop1: mov P1, A call delay rl A DJNZ R1,LOOP1 MOV R1,#8 loop2: mov P1, A call delay rr A DJZN R1,LOOP2 JMP START delay: mov R7, #5 DL: mov R6, #255 DL1: mov R5, #255 DL2: djnz R5, DL2 djnz R6, DL1 djnz R7, DL ret end

c)

org 0 mov A, #0x80 start: MOV R1,#8 loop1: mov P1, A call delay rr A DJNZ R1,LOOP1 MOV R1,#8 loop2: mov P1, A call delay rl A DJZN R1,LOOP2 JMP START delay: mov R7, #5 DL: mov R6, #255 DL1: mov R5, #255 DL2: djnz R5, DL2 djnz R6, DL1 djnz R7, DL ret end

d)

org 0 mov A, #0x80 start: MOV R1,#8 loop1: mov P1, A rl A DJNZ R1,LOOP1 MOV R1,#8 loop2: mov P1, A call delay rr A DJZN R1,LOOP2 JMP START delay: mov R7, #5 DL: mov R6, #255 DL1: mov R5, #255 DL2: djnz R5, DL2 djnz R6, DL1 djnz R7, DL ret end

36.

Mô tả kết nối: Cho 8 LED đơn với các chân cathode (cực âm) của tất cả các LED mắc nối tiếp với 1 điện trở 100 Ω và nối chung với GND. Các chân anode (cực dương) nối tới các chân P1.0 đến P1.7 của 8051. Vi điều khiển 8051 được cung cấp bộ dao động với tần số 12MHz. Hỏi: Chương trình nào sau đây đúng để điều khiển các LED sáng lần lượt từ phải qua trái và sau đó ngược lại từ trái qua phải?

a)

org 0 mov A, #0x80 start: MOV R1,#8 loop1: mov P1, A call delay rl A DJNZ R1,LOOP1 MOV R1,#8 loop2: mov P1, A call delay rr A DJZN R1,LOOP2 JMP START delay: mov R7, #5 DL: mov R6, #255 DL1: mov R5, #255 DL2: djnz R5, DL2 djnz R6, DL1 djnz R7, DL ret end

b)

org 0 mov A, #0x01 start: MOV R1,#8 loop1: mov P1, A call delay rl A DJNZ R1,LOOP1 MOV R1,#8 loop2: mov P1, A call delay rr A DJZN R1,LOOP2 JMP START delay: mov R7, #5 DL: mov R6, #255 DL1: mov R5, #255 DL2: djnz R5, DL2 djnz R6, DL1 djnz R7, DL ret end

c)

org 0 mov A, #0x80 start: MOV R1,#8 loop1: mov P1, A call delay rr A DJNZ R1,LOOP1 MOV R1,#8 loop2: mov P1, A call delay rl A DJZN R1,LOOP2 JMP START delay: mov R7, #5 DL: mov R6, #255 DL1: mov R5, #255 DL2: djnz R5, DL2 djnz R6, DL1 djnz R7, DL ret end

d)

org 0 mov A, #0x80 start: MOV R1,#8 loop1: mov P1, A rl A DJNZ R1,LOOP1 MOV R1,#8 loop2: mov P1, A call delay rr A DJZN R1,LOOP2 JMP START delay: mov R7, #5 DL: mov R6, #255 DL1: mov R5, #255 DL2: djnz R5, DL2 djnz R6, DL1 djnz R7, DL ret end

37.

Hỏi: Chương trình nào sau đây đúng để điều khiển các LED sáng lần lượt từ trái qua phải và sau đó ngược lại từ phải qua trái?

a)

org 0 mov A, #0x01 start: MOV R1,#8 loop1: mov P1, A call delay rr A DJNZ R1,LOOP1 MOV R1,#8 loop2: mov P1, A call delay rl A DJZN R1,LOOP2 JMP START delay: mov R7, #5 DL: mov R6, #255 DL1: mov R5, #255 DL2: djnz R5, DL2 djnz R6, DL1 djnz R7, DL ret end

b)

org 0 mov A, #0x80 start: MOV R1,#8 loop1: mov P1, A call delay rr A DJNZ R1,LOOP1 MOV R1,#8 loop2: mov P1, A call delay rl A DJZN R1,LOOP2 JMP START delay: mov R7, #5 DL: mov R6, #255 DL1: mov R5, #255 DL2: djnz R5, DL2 djnz R6, DL1 djnz R7, DL ret end

c)

org 0 mov A, #0x80 start: MOV R1,#8 loop1: mov P1, A call delay rl A DJNZ R1,LOOP1 MOV R1,#8 loop2: mov P1, A call delay rr A DJZN R1,LOOP2 JMP START delay: mov R7, #5 DL: mov R6, #255 DL1: mov R5, #255 DL2: djnz R5, DL2 djnz R6, DL1 djnz R7, DL ret end

d)

org 0 mov A, #0x80 start: MOV R1,#8 loop1: mov P1, A rr A DJNZ R1,LOOP1 MOV R1,#8 loop2: mov P1, A call delay rl A DJZN R1,LOOP2 JMP START delay: mov R7, #5 DL: mov R6, #255 DL1: mov R5, #255 DL2: djnz R5, DL2 djnz R6, DL1 djnz R7, DL ret end

38.

Hỏi: Chương trình nào sau đây đúng để điều khiển các LED sáng xen kẽ và sau đó nhấp nháy toàn bộ?

a)

org 0 start: mov P1, #0x55 call delay mov P1, #0xAA call delay mov P1, #0xFF call delay mov P1, #0x00 call delay jmp start delay: mov R7, #5 DL: mov R6, #255 DL1: mov R5, #255 DL2: djnz R5, DL2 djnz R6, DL1 djnz R7, DL ret end

b)

org 0 start: mov P1, #0xFF call delay mov P1, #0x00 call delay jmp start delay: mov R7, #5 DL: mov R6, #255 DL1: mov R5, #255 DL2: djnz R5, DL2 djnz R6, DL1 djnz R7, DL ret end

39.

Mô tả kết nối: Cho 8 LED đơn (gọi là L0, L1, .. đến L7) với các chân cathode (cực âm) của tất cả các LED mắc nối tiếp với 1 điện trở 100 Ω và nối chung với GND. Các chân anode (cực dương) của L0 đến L7 nối tới các chân P1.0 đến P1.7 của 8051. Vi điều khiển 8051 được cung cấp bộ dao động với tần số 12MHz. Các led đứng theo thứ tự từ trái sang phải là: L7, ... L2, L1, L0 Trong chương trình mẫu ban đầu: org 0 mov P1, #0x00 mov A,#0x00 start: call delay MOV P1, A CPL A MOV P1, A call delay jmp start delay: mov R7, #10 DL: mov R6, #255 DL1: mov R5, #255 DL2: djnz R5, DL2 djnz R6, DL1 djnz R7, DL ret end Hỏi: Nếu thay lệnh mov A, #0x00 bằng mov A, #0x55, điều gì sẽ xảy ra?

a)

LED sẽ sáng tất cả.

b)

LED sẽ sáng xen kẽ.

c)

LED sẽ không sáng.

d)

LED sẽ sáng mờ.

40.

Mô tả kết nối: Cho 8 LED đơn (gọi là L0, L1, .. đến L7) với các chân cathode (cực âm) của tất cả các LED mắc nối tiếp với 1 điện trở 100 Ω và nối chung với GND. Các chân anode (cực dương) của L0 đến L7 nối tới các chân P1.0 đến P1.7 của 8051. Vi điều khiển 8051 được cung cấp bộ dao động với tần số 12MHz. Các led đứng theo thứ tự từ trái sang phải là: L7, ... L2, L1, L0 Trong chương trình sau: org 0 start: mov A, #0x80 loop: mov P1, A call delay rr A jmp loop delay: mov R7, #5 DL: mov R6, #255 DL1: mov R5, #255 DL2: djnz R5, DL2 djnz R6, DL1 djnz R7, DL ret end Hỏi: Nếu thay lệnh rr A bằng rl A, điều gì xảy ra?

a)

LED sẽ sáng nhấp nháy.

b)

LED sẽ không sáng.

c)

LED sáng đồng thời tất cả.

d)

LED sáng từ trái qua phải.

41.

Hỏi: Nếu thay lệnh cpl A bằng rl A điều gì sẽ xảy ra?

a)

LED sẽ sáng lần lượt từ trái qua phải.

b)

LED sáng xen kẽ lần lượt từ trái qua phải.

c)

LED sáng xen kẽ lần lượt từ phải qua trái.

d)

LED sẽ sáng lần lượt từ phải qua trái.

42.

Hỏi: Nếu thay jmp loop bằng JNZ start, điều gì sẽ xảy ra?

a)

Chỉ LED L7 sáng.

b)

LED sáng toàn bộ.

c)

LED tắt toàn bộ.

d)

Chỉ LED L0 sáng.

43.

Hỏi: Nếu thay mov A, #0x01 bằng mov A, #0x55, điều gì sẽ xảy ra?

a)

LED sẽ sáng toàn bộ.

b)

LED không sáng.

c)

LED sáng từ phải qua trái.

d)

LED sáng xen kẽ.

44.

Hỏi: Chương trình nào sau đây đúng để phát xung vuông có chu kỳ 2ms trên chân P1.0 sử dụng timer0?

a)

ORG 0 JMP Start ORG 100H Start: MOV TMOD, #0x02 MOV TH0, #-2 SETB TR0 loop: JNB TF0, loop CPL P1.0 CLR TF0 JMP Start END

b)

ORG 0 JMP Start ORG 100H Start: MOV TMOD, #0x01 MOV TH0, #HIGH(-1000) MOV TL0, #LOW(-1000) SETB TR0 loop: JNB TF0, loop CPL P1.0 CLR TF0 JMP Start END

c)

ORG 0 JMP Start ORG 200H Start: MOV TMOD, #0x20 MOV TH0, #0x02 loop: NOP CPL P1.0 JMP loop END

d)

ORG 0 JMP Start ORG 100H Start: MOV TMOD, #0x02 MOV TH1, #-200 SETB TR1 loop: JNB TF1, loop CPL P1.0 CLR TF1 JMP Start END

45.

Hỏi: Chương trình nào sau đây đúng để phát xung vuông có chu kỳ 1ms trên chân P1.2 sử dụng timer1?

a)

ORG 0 JMP Start ORG 100H Start: MOV TMOD, #0x10 MOV TH1, #HIGH(-500) MOV TL1, #LOW(-500) SETB TR1 loop: JNB TF1, loop CPL P1.2 CLR TF1 JMP Start END

b)

ORG 0 JMP Start ORG 100H Start: MOV TMOD, #0x01 MOV TH1, #HIGH(-5) MOV TL1, #LOW(-5) SETB TR1 loop: JNB TF1, loop CPL P1.2 CLR TF1 JMP Start END

c)

ORG 0 JMP Start ORG 100H Start: MOV TMOD, #0x00 MOV TH1, #HIGH(-50) MOV TL1, #LOW(-50) SETB TR1 loop: JNB TF1, loop CPL P1.2 CLR TF1 JMP Start END

d)

ORG 0 JMP Start ORG 100H Start: MOV TMOD, #0x10 MOV TH1, #HIGH(50) MOV TL1, #LOW(50) SETB TR1 loop: JNB TF1, loop CPL P1.2 CLR TF1 JMP Start END

46.

Hỏi: Chương trình nào sau đây đúng để phát xung vuông có chu kỳ 4ms trên chân P1.4 sử dụng timer0?

4 lines
47.

Chương trình nào sau đây đúng để phát xung vuông có chu kỳ 4ms trên chân P1.4 sử dụng timer0?

a)

ORG 0 JMP Start ORG 100H Start: MOV TMOD, #0x01 MOV TH0, #HIGH(-20000) MOV TL0, #LOW(-20000) SETB TR0 loop: JNB TF0, loop CPL P1.4 CLR TF0 MOV TH0, #HIGH(-20000) MOV TL0, #LOW(-20000) JMP loop END

b)

ORG 0 JMP Start ORG 100H Start: MOV TMOD, #0x01 MOV TH0, #HIGH(-200) MOV TL0, #LOW(-200) SETB TR0 loop: JNB TF0, loop CPL P1.4 CLR TF0 MOV TH0, #HIGH(-200) MOV TL0, #LOW(-200) JMP loop END

c)

ORG 0 JMP Start ORG 100H Start: MOV TMOD, #0x01 MOV TH0, #HIGH(-2000) MOV TL0, #LOW(-2000) SETB TR0 loop: JNB TF0, loop CPL P1.4 CLR TF0 MOV TH0, #HIGH(-2000) MOV TL0, #LOW(-2000) JMP loop END

d)

ORG 0 JMP Start ORG 100H Start: MOV TMOD, #0x01 MOV TH0, #HIGH(-20) MOV TL0, #LOW(-20) SETB TR0 loop: JNB TF0, loop CPL P1.4 CLR TF0 MOV TH0, #HIGH(-20) MOV TL0, #LOW(-20) JMP loop END

48.

Chương trình nào sau đây đúng để đếm được 4 xung ở chân T0 và tạo ngắt tràn?

a)

ORG 0 JMP Start ORG 100H Start: MOV TMOD, #0x05 MOV TH0, #0xFF MOV TL0, #0xFC SETB TR0 wait: JNB TF0, wait CLR TF0 JMP Start END

b)

ORG 0 JMP Start ORG 100H Start: MOV TMOD, #0x50 MOV TH0, #0xFF MOV TL0, #0xFC SETB TR0 wait: JNB TF0, wait CLR TF0 JMP Start END

c)

ORG 0 JMP Start ORG 100H Start: MOV TMOD, #0x01 MOV TH0, #0xFF MOV TL0, #0xFC SETB TR0 wait: JNB TF0, wait CLR TF0 JMP Start END

d)

ORG 0 JMP Start ORG 100H Start: MOV TMOD, #0x10 MOV TH0, #0xFF MOV TL0, #0xFC SETB TR0 wait: JNB TF0, wait CLR TF0 JMP Start END

49.

Chương trình nào sau đây đúng để đếm được 8 xung ở chân T0 và tạo ngắt tràn?

a)

ORG 0 JMP Start ORG 100H Start: MOV TMOD, #0x05 MOV TH0, #0xFF MOV TL0, #0xF8 SETB TR1 wait: JNB TF0, wait CLR TF0 JMP Start END

b)

ORG 0 JMP Start ORG 100H Start: MOV TMOD, #0x05 MOV TH0, #0xFF MOV TL0, #0xF8 SETB TR0 wait: JB TF0, wait CLR TF0 JMP Start END

c)

ORG 0 JMP Start ORG 100H Start: MOV TMOD, #0x05 MOV TH0, #0xFF MOV TL0, #0xF8 SETB TR0 wait: JNB TF0, wait CLR TF0 JMP Start END

d)

ORG 0

50.

Nếu thay MOV TL0, #0xFC bằng MOV TL0, #0xF8, điều gì sẽ xảy ra?

a)

Timer sẽ ngắt sau 4 xung vào chân T0.

b)

Timer sẽ ngắt sau 8 xung vào chân T0.

c)

Timer sẽ ngắt sau 16 xung vào chân T0.

d)

Timer sẽ ngắt sau 2 xung vào chân T0.

51.

Nếu thay CLR TF0 bằng NOP, điều gì sẽ xảy ra?

a)

Timer sẽ không ngắt sau lần tràn đầu tiên.

b)

Timer sẽ liên tục ngắt sau lần tràn đầu tiên

c)

Timer sẽ chỉ ngắt 1 lần sau lần tràn đầu tiên

d)

Timer sẽ không hoạt động.

52.

Nếu thay lệnh MOV TH0, #0xFF thứ 2 (ngay dưới lệnh CLR TF0) bằng NOP, điều gì xảy ra?

a)

Timer sẽ không hoạt động bình thường.

b)

Timer sẽ không hoạt động do giá trị trong TH0 không được thiết lập lại.

c)

Timer sẽ chỉ ngắt sau lần đếm đầu tiên sau 8 xung.

d)

Timer sẽ ngắt lần đầu sau 8 xung sau đó ngắt sau mỗi 65288 xung.

53.

Nếu thay MOV TMOD, #0x05 bằng MOV TMOD, #0x01, điều gì sẽ xảy ra?

a)

Timer sẽ chuyển sang chế độ Timer thay vì Counter.

b)

Timer sẽ vẫn hoạt động ở chế độ Counter thay vì timer

c)

Timer sẽ hoạt động nhưng không ngắt được.

d)

Timer sẽ dừng hoạt động.

54.

Lệnh nào cần được thay đổi nếu muốn Timer ngắt sau 4 xung thay vì 6 xung?

a)

Thay MOV TMOD, #0x05 bằng MOV TMOD, #0x01.

b)

Thay SETB TR0 bằng CLR TR0.

c)

Thay MOV TL0, #0xFA bằng MOV TL0, #0xFC.

d)

Thay JNB TF0, wait bằng NOP.

55.

Hỏi: Chương trình nào sau đây là đúng để hi��n thị tuần tự các số từ 0 đến 9 trên LED 7 thanh?

a)

ORG 4000H DB 3FH, 06H, 5BH, 4FH, 66H, 6DH, 7DH, 07H, 7FH, 6FH, 0 ORG 0000H main: MOV DPTR, #4000H repeat: CLR A MOVC A, @A+DPTR JZ MAIN MOV P2, A ACALL delay INC DPTR SJMP REPEAT delay: MOV R0, #08H LP2: MOV R1, #0FFH LP1: MOV R2, #0FFH LP3: DJNZ R2, LP3 DJNZ R1, LP1 DJNZ R0, LP2 RET END

b)

ORG 4000H DB 3FH, 06H, 5BH, 4FH, 66H, 6DH, 7DH, 07H, 7FH, 6FH, 0 ORG 0000H main: MOV DPTR, #4000H repeat: CLR A MOVC A, @A+DPTR MOV P2, A ACALL delay INC DPTR CJNE A, #3FH, repeat SJMP main delay: MOV R0, #08H LP2: MOV R1, #0FFH LP1: MOV R2, #0FFH LP3: DJNZ R2, LP3 DJNZ R1, LP1 DJNZ R0, LP2 RET END

c)

ORG 4000H DB 3FH, 06H, 5BH, 4FH, 66H, 6DH, 7DH, 07H, 7FH, 6FH, 0 ORG 0000H main: MOV DPTR, #4000H repeat: MOVC A, @A+DPTR MOV P2, A ACALL delay INC DPTR CJNE A, 0, repeat SJMP main delay: MOV R0, #10H LP2: MOV R1, #0FFH LP1: MOV R2, #0FFH LP3:

56.

Chương trình nào sau đây đúng để hiển thị tuần tự các số từ 9 đến 0 trên LED 7 thanh?

a)

ORG 4000H DB 6FH, 7FH, 07H, 7DH, 6DH, 66H, 4FH, 5BH, 06H, 3FH, 0 ORG 0000H main: MOV DPTR, #4000H repeat: MOVC A, @A+DPTR MOV P2, A ACALL delay INC DPTR CJNE A, #0, repeat SJMP main delay: MOV R0, #08H LP2: MOV R1, #0FFH LP1: MOV R2, #0FFH LP3: DJNZ R2, LP3 DJNZ R1, LP1 DJNZ R0, LP2 RET END

b)

ORG 4000H DB 6FH, 7FH, 07H, 7DH, 6DH, 66H, 4FH, 5BH, 06H, 3FH, 0 ORG 0000H main: MOV DPTR, #4000H repeat: CLR A MOVC A, @A+DPTR MOV P2, A ACALL delay DEC DPL CJNE A, #0, repeat SJMP main delay: MOV R0, #08H LP2: MOV R1, #0FFH LP1: MOV R2, #0FFH LP3: DJNZ R2, LP3 DJNZ R1, LP1 DJNZ R0, LP2 RET END

c)

ORG 4000H DB 6FH, 7FH, 07H, 7DH, 6DH, 66H, 4FH, 5BH, 06H, 3FH, 0 ORG 0000H main: MOV DPTR, #4009H repeat: MOVC A, @A+DPTR MOV P2, A ACALL delay DEC DPL CJNE A, #3Fh, repeat SJMP main delay: MOV R0, #08H LP2: MOV R1, #0FFH LP1: MOV R2, #0FFH LP3: DJNZ R2, LP3 DJNZ R1, LP1 DJNZ R0, LP2 RET END

d)

ORG 4000H DB 0, 3FH, 06H, 5BH, 4FH, 66H, 6DH, 7DH, 07H, 7FH, 6FH ORG 0000H MAIN: MOV DPTR, #4009H+1 REPEAT: CLR A MOVC A, @A+DPTR JZ MAIN MOV P2, A