Font size
WorksheetsCâu hỏi về Vi xử lý - Vi điều khiển
Total questions: 56
Worksheet time: 33mins
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.
CJNE RI, #1, SKIP
JNB RI, $
SETB RI
MOV A, RI
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.
SETB TI
MOV TI, #00H
JNB TI, CLEAR
CLR TI
Cách sử dụng bộ định thời 1 trong truyền thông nối tiếp
MOV TMOD, #20H
MOV TMOD, #01H
SETB TI
MOV SCON, #40H
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
SETB PCON.0
ORL PCON, #80H
CLR PCON.7
MOV SCON, #80H
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.
MOV A, TI
MOV SBUF, A
MOV A, SBUF
CLR RI
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.
JNB TI, $
CLR TI
CJNE TI, #0, NEXT
JB TI, NEXT
Cách cấu hình chế độ 2 (truyền đồng bộ 9-bit) cho UART của 8051.
MOV SCON, #90H
MOV SCON, #40H
MOV PCON, #80H
MOV TMOD, #10H
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.
MOV TMOD, #01H
SETB TR1
MOV SCON, #50H
CLR TI
Ngắt ngoại vi INT0 trên 8051 được kích hoạt b
Ngắt ngoại vi INT0 trên 8051 được kích hoạt bởi yếu tố nào?
Xung từ bộ định thời
Tín hiệu bên ngoài đưa vào chân INT0
Sự kiện tràn trong bộ định thời
Dữ liệu được truyền qua UART
Ngắt bộ định thời (Timer Interrupt) xảy ra khi nào?
Bộ đếm của Timer tràn (overflow)
Tín hiệu ngắt bên ngoài được kích hoạt
Có dữ liệu được nhận qua UART
Chương trình chính bị dừng
Cờ nào trong thanh ghi TCON được thiết lập khi ngắt Timer 1 xảy ra?
TR1
IT1
TF1
IE
Ngắt truyền thông nối tiếp trong 8051 được kích hoạt bởi sự kiện nào?
Timer tràn
Có dữ liệu mới được ghi vào thanh ghi SBUF
Thanh ghi SCON bị ghi đè
Khi cờ TI hoặc RI được thiết lập
Vai trò của thanh ghi IE (Interrupt Enable) trong xử lý ngắt của 8051 là gì?
Kích hoạt hoặc vô hiệu hóa các nguồn ngắt cụ thể
Lưu địa chỉ của chương trình xử lý ngắt
Xác định mức độ ưu tiên của ngắt
Quản lý tốc độ truyền UART
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.
SETB EA; SETB ET0
MOV IE, #01H
SETB EA; SETB EX0
MOV TCON, #10H
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.
SETB EA; SETB ET1
MOV IE, #80H
SETB EA; SETB EX1
CLR IE
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.
JNB TF0, SKIP
SETB TF0
JB TF0, SKIP
JNB TF0, $
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.
CLR EX0
CLR EA
MOV IE, #80H
CLR TF0
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.
CLR EX0
CLR EA
MOV IE, #80H
CLR TF0
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.
SETB ES
MOV IE, #90H
SETB TI
CLR RI
Viết chương trình con để xử lý ngắt khi INT0 được kích hoạt.
PUSH ACC; CLR EX0; RET
MOV A, P1; ADD A, P2; RETI
org 3h; MOV A, P3; RETI
CJNE A, #00H, LABEL
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.
JNB TIMER_HANDLER
CLR TF1; MOV TL1, #00H
JNB TF1, $
JB TF1, TIMER_HANDLER; CLR TF1; RETI
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.
MOV A, SBUF; CLR RI
MOV RI, SBUF
MOV SBUF, A; CLR RI
MOV SBUF, A
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.
SETB PT1
MOV IP, #01H
SETB IP.1
CLR PT1
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.
SETB RI
CLR RI
MOV A, SBUF
CLR TI
Đoạn mã sau có lỗi gì?
TF0 không được sử dụng để kích hoạt ngắt
TH0 không thể được đặt trước khi khởi động Timer
EA cần được tắt trước khi cấu hình ngắt
TF0 cần được xóa trước khi khởi động Timer
Điều gì xảy ra nếu không xóa cờ TF1 sau khi ngắt Timer 1 được xử lý?
Ngắt Timer 1 tự động tái kích hoạt
Timer 1 ngừng hoạt động
Cờ TF1 vẫn giữ nguyên, gây ra ngắt liên tục
Không có vấn đề gì xảy ra
ra nếu không xóa cờ TF1 sau khi ngắt Timer 1 được xử lý?
Ngắt Timer 1 tự động tái kích hoạt
Timer 1 ngừng hoạt động
Cờ TF1 vẫn giữ nguyên, gây ra ngắt liên tục
Không có vấn đề gì xảy ra
Tại sao đoạn mã sau không nhận được dữ liệu truyền thông nối tiếp?
SBUF không được kiểm tra trước khi đọc
Cờ TI không liên quan đến dữ liệu nhận qua UART
TI cần được xóa trước khi đọc SBUF
$ không phải là nhãn hợp lệ
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?
Chỉ một ngắt được xử lý, ngắt còn lại bị bỏ qua
Hai ngắt cùng lúc có thể dẫn đến ngừng hoạt động
Cả hai ngắt đều không được xử lý
Các cờ ngắt không được thiết lập đúng
Tại sao đoạn mã sau không thể xử lý ngắt INT0 chính xác?
EX0 không được thiết lập đúng cách
IE không kích hoạt ngắt toàn cục
Lệnh RET cần được thay bằng RETI
Cờ IT0 không được xóa
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?
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
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
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
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
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?
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
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
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
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
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)?
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
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
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:
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?
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
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
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
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
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?
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
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
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
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
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?
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
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
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
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
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ộ?
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
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
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?
LED sẽ sáng tất cả.
LED sẽ sáng xen kẽ.
LED sẽ không sáng.
LED sẽ sáng mờ.
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?
LED sẽ sáng nhấp nháy.
LED sẽ không sáng.
LED sáng đồng thời tất cả.
LED sáng từ trái qua phải.
Hỏi: Nếu thay lệnh cpl A bằng rl A điều gì sẽ xảy ra?
LED sẽ sáng lần lượt từ trái qua phải.
LED sáng xen kẽ lần lượt từ trái qua phải.
LED sáng xen kẽ lần lượt từ phải qua trái.
LED sẽ sáng lần lượt từ phải qua trái.
Hỏi: Nếu thay jmp loop bằng JNZ start, điều gì sẽ xảy ra?
Chỉ LED L7 sáng.
LED sáng toàn bộ.
LED tắt toàn bộ.
Chỉ LED L0 sáng.
Hỏi: Nếu thay mov A, #0x01 bằng mov A, #0x55, điều gì sẽ xảy ra?
LED sẽ sáng toàn bộ.
LED không sáng.
LED sáng từ phải qua trái.
LED sáng xen kẽ.
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?
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
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
ORG 0 JMP Start ORG 200H Start: MOV TMOD, #0x20 MOV TH0, #0x02 loop: NOP CPL P1.0 JMP loop END
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
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?
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
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
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
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
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?
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?
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
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
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
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
Chương trình nào sau đây đúng để đếm được 4 xung ở chân T0 và tạo ngắt tràn?
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
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
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
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
Chương trình nào sau đây đúng để đếm được 8 xung ở chân T0 và tạo ngắt tràn?
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
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
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
ORG 0
Nếu thay MOV TL0, #0xFC bằng MOV TL0, #0xF8, điều gì sẽ xảy ra?
Timer sẽ ngắt sau 4 xung vào chân T0.
Timer sẽ ngắt sau 8 xung vào chân T0.
Timer sẽ ngắt sau 16 xung vào chân T0.
Timer sẽ ngắt sau 2 xung vào chân T0.
Nếu thay CLR TF0 bằng NOP, điều gì sẽ xảy ra?
Timer sẽ không ngắt sau lần tràn đầu tiên.
Timer sẽ liên tục ngắt sau lần tràn đầu tiên
Timer sẽ chỉ ngắt 1 lần sau lần tràn đầu tiên
Timer sẽ không hoạt động.
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?
Timer sẽ không hoạt động bình thường.
Timer sẽ không hoạt động do giá trị trong TH0 không được thiết lập lại.
Timer sẽ chỉ ngắt sau lần đếm đầu tiên sau 8 xung.
Timer sẽ ngắt lần đầu sau 8 xung sau đó ngắt sau mỗi 65288 xung.
Nếu thay MOV TMOD, #0x05 bằng MOV TMOD, #0x01, điều gì sẽ xảy ra?
Timer sẽ chuyển sang chế độ Timer thay vì Counter.
Timer sẽ vẫn hoạt động ở chế độ Counter thay vì timer
Timer sẽ hoạt động nhưng không ngắt được.
Timer sẽ dừng hoạt động.
Lệnh nào cần được thay đổi nếu muốn Timer ngắt sau 4 xung thay vì 6 xung?
Thay MOV TMOD, #0x05 bằng MOV TMOD, #0x01.
Thay SETB TR0 bằng CLR TR0.
Thay MOV TL0, #0xFA bằng MOV TL0, #0xFC.
Thay JNB TF0, wait bằng NOP.
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?
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
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
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:
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?
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
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
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
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
