17 câu hỏi
Để cấu hình Timer0 làm việc mode CTC, xung ngoài tác động cạnh xuống thì giá trị nạp cho các thanh ghi TCCROA, TCCROB là:
TCCROA = 02H, TCCROB = 04H
TCCROA = 02H, TCCROB = 07H
TCCROA = 04H, TCCROB = 06H
TCCROA = 02H, TCCROB = 06H
Chọn phát biểu sai về Timer1:
Khi khai báo Timer1 hoạt động ở các chế độ sử dụng thanh ghi ICR1 = TOP, các bit ICENT, ICES1 không ảnh hưởng đến chế độ hoạt động đó và các ngõ ICP/ACO không hoạt động như ngõ vào kích khởi
Để đọc dữ liệu từ thanh ghi TCNT1 không bị sai thì ta đọc byte thấp dữ liệu từ TCNT1L trước, đọc byte cao dữ liệu từ TCNT1H sau.
Trong chế độ CTC1 và PWM, giá trị đặt trong OCR1A chính là giá trị TOP của bộ đếm Timer1.
Timer1 có thêm chức năng bắt ngõ vào (input capture), thực hiện khi có tín hiệu kích khởi từ chân ICP (PD6) hay từ ngõ ra mạch so sánh tương tự ACO.
Cho Fck = 8MHz, 1MC = 125ns. Lệnh sau tạo chu kỳ xung CK Timer bằng bao nhiêu?
nginx
Sao chépChỉnh sửa
LDI R20,0
STS TCCR2B,R20
64s
32μs
8μs
Dừng Timer
Cho Fck = 8MHz, 1MC = 125ns, để dùng Timer0 phải đặt CS02..CS00:
CS02..CS00 = 111
CS02..CS00 = 000
CS02..CS00 = 001
CS02..CS00 = 100
Cờ TOV2 nằm trong thanh ghi:
TCCR2B
TCNT2
OCR2A
TIFR2
Xem đoạn lệnh sau đây và giải thích ý nghĩa chính xác nhất:
makefile
Sao chépChỉnh sửa
WAIT:
IN R20,TIFR2
SBRS R20,OCF2A
RJMP WAIT
OUT TIFR2,R20
Chờ Timer2 đếm tràn, thoát khỏi vòng lặp WAIT và xóa cờ báo tràn
Chờ Timer2 đếm đạt kết quả so sánh kênh A, thoát khỏi vòng lặp WAIT và xóa cờ OCF2A
Chờ Timer2 đếm đạt kết quả so sánh kênh B, thoát khỏi vòng lặp WAIT và xóa cờ OCF2B
Chờ cờ báo OCF2A = 1, thoát khỏi vòng lặp WAIT
Xem đoạn chương trình sau và tính chu kỳ xung ngõ ra PB1 (cho PB1 là output). Cho Fck = 8 MHz, 1MC = 125 ns:
asm
Sao chépChỉnh sửa
LDI R16,49
STS OCR2A,R16
LDI R16,2
STS TCCR2A,R16
STS TCCR2B,R16
WAIT: SBIS TIFR2,OCF2A
RJMP WAIT
SBI TIFR2,OCF2A
IN R17,PORTB
EOR R17,R16
OUT PORTB,R17
RJMP WAIT
50 μs
100 μs
98 μs
49 μs
Dùng Timer1 mode NORMAL để tạo thời gian delay 0.5 giây, tính giá trị nạp cho TCNT1. Cho hệ số chia N = 256, Fosc = 8 MHz.
50000
~31250
5000
15525
Nội dung TCCR1A và TCCR1B để Timer1 hoạt động mode NORMAL, hệ số chia tần số N = 1024
TCCR1A = 00H, TCCR1B = 05H
TCCR1A = 52H, TCCR1B = 15H
TCCR1A = 31H, TCCR1B = F0H
TCCR1A = 02H, TCCR1B = 04H
Nội dung TCCR1A và TCCR1B để Timer1 hoạt động mode NORMAL, hệ số chia tần số N = 1024
TCCR1A = 00H, TCCR1B = 05H
TCCR1A = 02H, TCCR1B = 04H
TCCR1A = 31H, TCCR1B = F0H
TCCR1A = 52H, TCCR1B = 15H
Tìm phát biểu sai dưới đây khi Timer hoạt động ở mode CTC4 và các giá trị nạp thanh ghi OCRnB < OCRnA < FFFFH
</>
OCF1A = 1 khi TCNT1 = OCR1A
Thanh ghi TCNT1 tiếp tục tăng khi OCF1B = 1
Thanh ghi TCNT1 chuyển về 0 khi OCF1A = 1
Thanh ghi TCNT1 chuyển về 0 khi OCF1B = 1
Xem đoạn chương trình sau và cho biết sai lệch giá trị tối đa giữa bộ đếm Timer1 và nội dung R19:R18 sau khi copy ICR1 vào R19:R18?
asm
Sao chépChỉnh sửa
WAIT0:
LDI R16,0
STS TCCR1A,R16
LDI R16,$41
STS TCCR1B,R16
IN R17,TIFR1
SBRS R17,ICF1
RJMP WAIT0
OUT TIFR1,R17
LDS R18,ICR1L
LDS R19,ICR1H
6
7
8
9
Cho Fck = 8 MHz, 1MC = 125 ns. Đoạn lệnh sau khởi động Timer1 làm việc ở mode nào?
asm
Sao chépChỉnh sửa
LDI R17,0
STS TCCR1A,R17
LDI R17,$43
STS TCCR1B,R17
CTC, CLK_T1 = 8 µs, tín hiệu bắt ngõ vào kích khởi cạnh lên
NORMAL, CLK_T1 = 8 µs, tín hiệu bắt ngõ vào kích khởi cạnh xuống
CTC, CLK_T1 = 8 µs, tín hiệu bắt ngõ vào kích khởi cạnh xuống
NORMAL, CLK_T1 = 8 µs, tín hiệu bắt ngõ vào kích khởi cạnh lên
Khai báo Timer0 làm việc mode CTC tạo sóng ngõ ra chân OC0A đảo bit khi đạt kết quả so sánh, CLK_T0 = 8 µs. Nạp TCCR0B = $03. TCCR0A giá trị:
TCCR0A = $82
TCCR0A = $22
TCCR0A = $42
TCCR0A = $12
Đoạn lệnh sau tạo sóng ngõ ra chân nào, độ rộng xung Tp (CKNV) và chu kỳ T bao nhiêu (Cho Fosc = 8Mhz, 1MC = 125ns)?
asm
Sao chépChỉnh sửa
EQU TF=499
SBI DDRD,4
LDI R16,HIGH(TF)
STS OCR1AH,R16
LDI R16,LOW(TF)
STS OCR1AL,R16
LDI R16,HIGH(TF-300)
STS OCR1BH,R16
LDI R16,LOW(TF-300)
STS OCR1BL,R16
LDI R16,$23
STS TCCR1A,R16
LDI R16,$1A
STS TCCR1B,R16
OC1A, Tp=400µs, T=1000µs
OC1A, Tp=200µs, T=500µs
OC1B, Tp=200µs, T=500µs
OC1B, Tp=400µs, T=1000µs
Đoạn lệnh sau tạo sóng ngõ ra chân nào và chu kỳ T bao nhiêu (Cho Fosc = 8Mhz, 1MC = 125ns)?
asm
Sao chépChỉnh sửa
EQU TF=499
SBI DDRD,5
LDI R16,HIGH(TF)
STS OCR1AH,R16
LDI R16,LOW(TF)
STS OCR1AL,R16
LDI R16,$40
STS TCCR1A,R16
LDI R16,$18
STS TCCR1B,R16
OC1B, T=1000µs
OC1A, T=500µs
OC1B, T=500µs
OC1A, T=1000µs
Lập trình Timer0 đếm sự kiệnGiá trị nhị phân nào sau đây của các bit CS02:CS01:CS00 thuộc thanh ghi TCCR0B của Timer0 đúng chọn đếm sự kiện.
010 hay 001
101 hay 000
111 hay 110
011 hay 100
