Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Vi xu ly HCMUT 2025 tap lenh AVR, Cheat Sheet of Microbiology

Tap lenh AVR cua vi xu ly HCMUT 2025

Typology: Cheat Sheet

2024/2025

Uploaded on 04/21/2025

huy-huynh-5
huy-huynh-5 🇻🇳

4 documents

1 / 6

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
CÁC THANH GHI SFRs
& ĐỊA CH IORs CƠ BẢN
Địa ch
Tên
Thanh ghi
Địa ch
Tên
Thanh ghi
Địa ch
Tên
Thanh ghi
Địa ch
Tên
Thanh ghi
B nh
I/O
B nh
I/O
B nh
I/O
B nh
I/O
0x20
0x00
PINA
0x49
D tr
0x6B
PCMSK0
0xB0
TCCR2A
0x21
0x01
DDRA
0x4A
0x2A
GPIOR1
0x6C
PCMSK1
0xB1
TCCR2B
0x22
0x02
PORTA
0x4B
0x2B
GPIOR2
0x6D
PCMSK2
0xB2
TCNT2
0x23
0x03
PINB
0x4C
0X2C
SPCR0
0x6E
TIMSK0
0xB3
OCR2A
0x24
0x04
DDRB
0x4D
0x2D
SPSR0
0x6F
TIMSK1
0xB4
OCR2B
0x25
0x05
PORTB
0x4E
0x2E
SPDR0
0x70
TIMSK2
0xB5
D tr
0x26
0x06
PINC
0x4F
0x2F
D tr
0x71
D tr
0xB6
ASSR
0x27
0x07
DDRC
0x50
0x30
ACSR
0x72
D tr
0xB7
D tr
0x28
0x08
PORTC
0x51
0x31
OCDR
0x73
PCMSK3
0xB8
TWBR
0x29
0x09
PIND
0x52
0x32
D tr
0x74
0xB9
TWSR
0x2A
0x0A
DDRD
0x53
0x33
SMCR
D tr
0xBA
TWAR
0x2B
0x0B
PORTD
0x54
0x34
MCUSR
0x77
0xBB
TWDR
0x2C
0x55
0x35
MCUCR
0x78
ADCL và
0xBC
TWCR
D tr
0x56
D tr
0x79
ADCH
0xBD
TWAMR
0x34
0x57
0x37
SPMCSR
0x7A
ADCSRA
0xBE
D tr
0x35
0x15
TIFR0
0x58
0x7B
ADCSRB
0xBF
D tr
0x36
0x16
TIFR1
D tr
0x7C
ADMUX
0xC0
UCSR0A
0x37
0x17
TIFR2
0x7D
D tr
0xC1
UCSR0B
0x38
0x5A
0x7E
DIDR0
0xC2
UCSR0C
..
D tr
0x5B
0x3B
RAMPZ
0x7F
DIDR1
0xC3
D tr
0x3A
0x5C
D tr
0x80
TCCR1A
0xC4
UBRR0L và
0x3B
0x1B
PCIFR
0x5D
0x3D
SPL và
0x81
TCCR1B
0xC5
UBRR0H
0x3C
0x1C
EIFR
0x5E
0x3E
SPH
0x82
TCCR1C
0xC6
UDR0
0x3D
0x1D
EIMSK
0x5F
0x3F
SREG
0x83
D tr
0xC7
D tr
0x3E
0x1E
GPIOR0
0x60
WDTCSR
0x84
TCNT1L và
0xC8
UCSR1A
0x3F
0x1F
EECR
0x61
CLKPR
0x85
TCNT1H
0xC9
UCSR1B
0x40
0x20
EEDR
0x62
D tr
0x86
ICR1L và
0xCA
UCSR1C
0x41
0x21
EEARL và
0x63
D tr
0x87
ICR1H
0xCB
D tr
0x42
0x22
EEARH
0x64
PRR0
0x88
OCR1AL và
0xCC
UBRR1L và
0x43
0x23
GTCCR
0x65
Reserved
0x89
OCR1AH
0xCD
UBRR1H
0x44
0x24
TCCR0A
0x66
OSCCAL
0x8A
OCR1BL và
0xCE
UDR1
0x45
0x25
TCCR0B
0x67
D tr
0x8B
OCR1BH
0xCF
0x46
0x26
TCNT0
0x68
PCICR
0x8C
D tr
0x47
0x27
OCR0A
0x69
EICRA
D tr
0x48
0x28
OCR0B
0x6A
D tr
0xAF
0xFF
pf3
pf4
pf5

Partial preview of the text

Download Vi xu ly HCMUT 2025 tap lenh AVR and more Cheat Sheet Microbiology in PDF only on Docsity!

CÁC THANH GHI SFRs

& ĐỊA CHỈ IORs CƠ BẢN

Địa chỉ Tên

Thanh ghi

Địa chỉ Tên

Thanh ghi

Địa chỉ Tên

Thanh ghi

Địa chỉ Tên

Thanh ghi Bộ nhớ I/O Bộ nhớ I/O Bộ nhớ I/O Bộ nhớ I/O

0x20 0x00 PINA 0x49 Dự trữ 0x6B PCMSK0 0xB0 TCCR2A

0x21 0x01 DDRA 0x4A 0x2A GPIOR1 0x6C PCMSK1 0xB1 TCCR2B

0x22 0x02 PORTA 0x4B 0x2B GPIOR2 0x6D PCMSK2 0xB2 TCNT

0x23 0x03 PINB 0x4C 0X2C SPCR0 0x6E TIMSK0 0xB3 OCR2A

0x24 0x04 DDRB 0x4D 0x2D SPSR0 0x6F TIMSK1 0xB4 OCR2B

0x25 0x05 PORTB 0x4E 0x2E SPDR0 0x70 TIMSK2 0xB5 Dự trữ

0x26 0x06 PINC 0x4F 0x2F Dự trữ 0x71 Dự trữ 0xB6 ASSR

0x27 0x07 DDRC 0x50 0x30 ACSR 0x72 Dự trữ 0xB7 Dự trữ

0x28 0x08 PORTC 0x51 0x31 OCDR 0x73 PCMSK3 0xB8 TWBR

0x29 0x09 PIND 0x52 0x32 Dự trữ 0x74 0xB9 TWSR

0x2A 0x0A DDRD 0x53 0x33 SMCR … Dự trữ 0xBA TWAR

0x2B 0x0B PORTD 0x54 0x34 MCUSR 0x77 0xBB TWDR

0x2C 0x55 0x35 MCUCR 0x78 ADCL và 0xBC TWCR

Dự trữ 0x56 Dự trữ 0x79 ADCH 0xBD TWAMR

0x34 0x57 0x37 SPMCSR 0x7A ADCSRA 0xBE Dự trữ

0x35 0x15 TIFR0 0x58 0x7B ADCSRB 0xBF Dự trữ

0x36 0x16 TIFR1 … Dự trữ 0x7C ADMUX 0xC0 UCSR0A

0x37 0x17 TIFR2 0x7D Dự trữ 0xC1 UCSR0B

0x38 0x5A 0x7E DIDR0 0xC2 UCSR0C

.. Dự trữ 0x5B 0x3B RAMPZ 0x7F DIDR1 0xC3 Dự trữ

0x3A 0x5C Dự trữ 0x80 TCCR1A 0xC4 UBRR0L và

0x3B 0x1B PCIFR 0x5D 0x3D SPL và 0x81 TCCR1B 0xC5 UBRR0H

0x3C 0x1C EIFR 0x5E 0x3E SPH 0x82 TCCR1C 0xC6 UDR

0x3D 0x1D EIMSK 0x5F 0x3F SREG 0x83 Dự trữ 0xC7 Dự trữ

0x3E 0x1E GPIOR0 0x60 WDTCSR 0x84 TCNT1L và 0xC8 UCSR1A

0x3F 0x1F EECR 0x61 CLKPR 0x85 TCNT1H 0xC9 UCSR1B

0x40 0x20 EEDR 0x62 Dự trữ 0x86 ICR1L và 0xCA UCSR1C

0x41 0x21 EEARL và 0x63 Dự trữ 0x87 ICR1H 0xCB Dự trữ

0x42 0x22 EEARH 0x64 PRR0 0x88 OCR1AL và 0xCC UBRR1L và

0x43 0x23 GTCCR 0x65 Reserved 0x89 OCR1AH 0xCD UBRR1H

0x44 0x24 TCCR0A 0x66 OSCCAL 0x8A OCR1BL và 0xCE UDR

0x45 0x25 TCCR0B 0x67 Dự trữ 0x8B OCR1BH 0xCF

0x46 0x26 TCNT0 0x68 PCICR 0x8C … Dự trữ

0x47 0x27 OCR0A 0x69 EICRA … Dự trữ

0x48 0x28 OCR0B 0x6A Dự trữ 0xAF 0xFF

CÁC KÝ HIỆU ĐƯỢC SỬ DỤNG TRONG TẬP LỆNH

❖ Thanh ghi trạng thái SREG và các bit trong thanh ghi

SREG : thanh ghi trạng thái

C : Cờ Carry

Z : Cờ Zero

N : Cờ âm

V : Cờ tràn bù 2

S : Cờ dấu = N ⊕ V

H : Cờ nhớ phân nửa

T : bit sao chép sử dụng trong các lệnh BLD và BST

I : Cờ cho phép/không cho phép ngắt toàn cục

❖ Các ký hiệu toán hạng trong tập lệnh

Rd : thanh ghi đích trong tập thanh ghi

Rr : thanh ghi nguồn

R : kết quả sau khi thực thi lệnh

K : hằng số dữ liệu

k : hằng số địa chỉ

b : bit trong tập GPRs hoặc I/O REGs (3-bit)

s : Bit trong SREG (3-bit)

X,Y,Z : Thanh ghi địa chỉ gián tiếp

( X =R27:R26, Y =R29:R28, Z =R31:R30)

P : địa chỉ các I/O REGs cơ bản.

q : độ dời hoặc địa chỉ trực tiếp (6-bit)

(A): nội dung ô nhớ có địa chỉ là A (A là hằng số hay thanh ghi).

LỆNH CHUYỂN ĐỔI DỮ LIỆU

MOV Rd, Rr {d,r:031} Chép nội dung thanh ghi Rd  Rr không 1

MOVW Rd, Rr {d,r(0,2,4,..28,30)} Chép nội dung từ cặp thanh ghi Rd+1:Rd  Rr+1:Rr không 1

LDI Rd, K {d:1631, K:0255} Đọc dữ liệu tức thời Rd  K không 1

LD

Rd, X {d:031, XR27:R26}

Đọc dữ liệu gián tiếp (X) Rd  (X)

không 2

LD Rd, X+ {d:031} Đọc dữ liệu gián tiếp với hậu tố +(X) Rd  (X), X  X + 1 không 2

LD Rd, - X {d:031} Đọc dữ liệu gián tiếp với tiền tố - (X) X  X - 1, Rd  (X) không 2

LD Rd, Y {d:031, YR29:R28} Đọc dữ liệu gián tiếp (Y) Rd  (Y) không 2

LD

Rd, Y+ { d:031}

Đọc dữ liệu gián tiếp với hậu tố +(Y) Rd  (Y), Y  Y + 1

không 2

LD

Rd, - Y { d:031}

Đọc dữ liệu gián tiếp với tiền tố - (Y) Y  Y - 1, Rd  (Y)

không 2

LDD

Rd,Y+q {d:031, q:063}

Đọc dữ liệu gián tiếp với độ dời q(Y) Rd  (Y + q)

không 2

LD Rd, Z {d:031, ZR31:R30} Đọc dữ liệu gián tiếp (Z) Rd  (Z) không 2

LD Rd, Z+ { d:031} Đọc dữ liệu gián tiếp với hậu tố +(Z) Rd  (Z), Z  Z+1 không 2

LD Rd, - Z { d:031} Đọc dữ liệu gián tiếp với tiền tố - (Z) Z  Z - 1, Rd  (Z) không 2

LDD

Rd, Z+q {d:031, q:063}

Đọc dữ liệu gián tiếp với độ dời q(Z) Rd  (Z + q)

không 2

LDS

Rd, k {d:031, k:08FFH}

Đọc dữ liệu trực tiếp từ SRAM Rd  (k)

không 2

ST X, Rr {r:031} Ghi dữ liệu gián tiếp (X) (X)  Rr không 2

ST X+, Rr {r:031} Ghi dữ liệu gián tiếp với hậu tố +(X) (X)  Rr, X  X + 1 không 2

ST

- X, Rr {r:031}

Ghi dữ liệu gián tiếp với tiền tố - (X) X  X - 1, (X)  Rr

không 2

ST

Y, Rr {r:031}

Ghi dữ liệu gián tiếp (Y) (Y)  Rr

không 2

ST Y+, Rr {r:031} Ghi dữ liệu gián tiếp với hậu tố +(Y) (Y)  Rr, Y  Y + 1 không 2

ST - Y, Rr {r:031} Ghi dữ liệu gián tiếp với tiền tố - (Y) Y  Y - 1, (Y)  Rr không 2

STD

Y+q,Rr {r:031,q:063}

Ghi dữ liệu gián tiếp với độ dời q(Y) (Y + q)  Rr

không 2

ST

Z, Rr {r:031}

Ghi dữ liệu gián tiếp (Z) (Z)  Rr

không 2

ST

Z+, Rr {r:031}

Ghi dữ liệu gián tiếp với hậu tố +(Z) (Z)  Rr, Z  Z + 1

không 2

ST

- Z, Rr {r:031}

Ghi dữ liệu gián tiếp với tiền tố - (Z) Z  Z - 1, (Z)  Rr

không 2

STD Z+q,Rr {r:031,q:063} Ghi dữ liệu gián tiếp với độ dời q(Z) (Z + q)  Rr không 2

STS k, Rr {r:031, k:08FFH} Ghi dữ liệu trực tiếp vào SRAM (k)  Rr không 2

LPM Đọc dữ liệu từ bộ nhớ chương trình R0  (Z)

không 3

LPM

Rd, Z { d:031}

Đọc dữ liệu từ bộ nhớ chương trình Rd  (Z)

không 3

LPM Rd, Z+ { d:031} Đọc dữ liệu từ bộ nhớ chương trình Rd  (Z), Z  Z+1 không 3

SPM Ghi dữ liệu vào bộ nhớ chương trình (Z)  R1:R0 không 3

IN

Rd, P {d:031,P:063}

Đọc dữ liệu từ Port Rd  P

không 1

OUT

P, Rr {r:031,P:063}

Xuất dữ liệu ra Port P  Rr

không 1

PUSH

Rr {r:031}

Ghi dữ liệu vào Stack (SP)  Rr, SP  SP – 1

không 2

POP Rd {d:031} Đọc dữ liệu từ Stack SP  SP + 1, Rd  (SP) không 2

LỆNH RẼ NHÁNH

RJMP k {k: - 2048 +2047} Nhảy tương đối PC  PC + k + 1 không 2

IJMP Nhảy gián tiếp (Z), Z: 03FFFH PC  Z không 2

JMP k {k:03FFFH} Nhảy trực tiếp PC  k không 3

RCALL

k {k: - 2048 +2047}

Gọi chương trình con (địa chỉ tương đối) STACK PC+1, PC PC+k+

không 3

ICALL Gọi CTC gián tiếp (Z), Z: 03FFFH STACK  PC + 1, PC  Z không 3

CALL k {k:03FFFH} Gọi CTC trực tiếp STACK  PC + 2, PC  k không 4

RET Trở về từ CTC PC  STACK không 4

RETI Trở về từ CT phục vụ ngắt PC  STACK

I 4

CPSE

Rd,Rr {d,r: 031}

So sánh và bỏ qua lệnh kế nếu bằng Rd = Rr: PC  PC + 2 or 3

(*)

không 1/2/

CP

Rd,Rr {d,r: 031}

So sánh Rd − Rr

H,S,V,N,Z,C 1

CPC Rd,Rr {d,r: 031} So sánh với cờ nhớ Rd − Rr − C H,S,V,N,Z,C 1

CPI Rd,K {d: 1631, K:0255} So sánh thanh ghi với giá trị tức thời Rd − K H,S,V,N,Z,C 1

SBRC Rr, b {r: 031, b:07} Bỏ qua lệnh kế nếu bit(b) trong t.ghi bị xóa Rr(b)=0: PC  PC + 2 or 3

(*)

không 1/2/

SBRS

Rr, b {r: 031, b:07}

Bỏ qua lệnh kế nếu bit(b) trong t.ghi bằng 1 Rr(b)=1: PC  PC + 2 or 3

(*)

không 1/2/

SBIC

P, b {P: 031, b:07}

Bỏ qua lệnh kế nếu bit(b) trong IOR bị xóa P(b)=0): PC  PC + 2 or 3

(*)

không 1/2/

SBIS P, b {P: 031, b:07} Bỏ qua lệnh kế nếu bit(b) trong IOR bằng 1 P(b)=1: PC  PC + 2 or 3

(*)

không 1/2/

BRBS s, k {s: 07, k:- 64 63} Rẽ nhánh nếu cờ tương ứng trong SREG=1 SREG(s) = 1: PCPC+k + 1

(**)

không 1/

BRBC

s, k {s: 07, k:- 64 63}

Rẽ nhánh nếu cờ tương ứng trong SREG= SREG(s) = 0: PCPC+k + 1

(**)

không 1/

BREQ

k { k:- 64 63}

Rẽ nhánh nếu cờ Z= Z = 1: PC  PC + k + 1

(**)

không 1/

BRNE k { k:- 64 63} Rẽ nhánh nếu cờ Z=0 Z = 0: PC  PC + k + 1

(**)

không 1/

BRCS k { k:- 64 63} Rẽ nhánh nếu cờ C=1 C = 1: PC  PC + k + 1

(**)

không 1/

BRCC

k { k:- 64 63}

Rẽ nhánh nếu cờ C= C = 0: PC  PC + k + 1

(**)

không 1/

BRSH

k { k:- 64 63}

Rẽ nhánh nếu Rd ≥ Rr (không dấu) C = 0: PC  PC + k + 1

(**)

không 1/

BRLO

k { k:- 64 63}

Rẽ nhánh nếu Rd < Rr (không dấu) C = 1: PC  PC + k + 1

(**)

không 1/

BRMI

k { k:- 64 63}

Rẽ nhánh nếu số âm N = 1: PC  PC + k + 1

(**)

không 1/

BRPL k { k:- 64 63} Rẽ nhánh nếu số dương N = 0: PC  PC + k + 1

(**)

không 1/

BRGE k { k:- 64 63} Rẽ nhánh nếu Rd ≥ Rr (có dấu) N  V= 0: PC  PC + k + 1

(**)

không 1/

BRLT

k { k:- 64 63}

Rẽ nhánh nếu Rd < Rr (có dấu) N  V= 1: PC  PC + k + 1

(**)

không 1/

BRHS

k { k:- 64 63}

Rẽ nhánh nếu cờ H= H = 1: PC  PC + k + 1

(**)

không 1/

BRHC k { k:- 64 63} Rẽ nhánh nếu cờ H=0 H = 0: PC  PC + k + 1

(**)

không 1/

BRTS k { k:- 64 63} Rẽ nhánh nếu cờ T=1 T = 1: PC  PC + k + 1

(**)

không 1/

BRTC

k { k:- 64 63}

Rẽ nhánh nếu cờ T= 0 T = 0: PC  PC + k + 1

(**)

không 1/

BRVS

k { k:- 64 63}

Rẽ nhánh nếu cờ V= V = 1: PC  PC + k + 1

(**)

không 1/

BRVC

k { k:- 64 63}

Rẽ nhánh nếu cờ V= 0 V = 0: PC  PC + k + 1

(**)

không 1/

BRIE k { k:- 64 63} Rẽ nhánh nếu cờ I=1 I = 1: PC  PC + k + 1

(**)

không 1/

BRID k { k:- 64 63} Rẽ nhánh nếu cờ I= 0 I = 0: PC  PC + k + 1

(**)

không 1/