
GIANG VIÊN: THS. PHAM THÊ DUY
ĐIÊN THOAI/EMAIL: 0903661501 DUYPT@PTITHCM.EDU.VN
BÔ MÔN: ĐIÊU KHIÊN VA X LY TIN HIÊU Ư
HOC KY/NĂM BIÊN SOAN: 02/2010
HOC VIÊN CÔNG NGHÊ B U CHINH VIÊN THÔNG Ư
LÂP TRINH H P NG Ơ Ư
AVR

www.ptit.edu.vn
KY THUÂT VI X LY Ư GIANG VIÊN: THS. PHAM THÊ DUY
BÔ MÔN: ĐIÊU KHIÊN VA X LY TIN HIÊU Ư
Nôi dung
Nôi dung
6.1 GI I THI U T P L NH AVRỚ Ệ Ậ Ệ
6.1 GI I THI U T P L NH AVRỚ Ệ Ậ Ệ
6.2 C U TRÚC L NH H P NGẤ Ệ Ợ Ữ
6.2 C U TRÚC L NH H P NGẤ Ệ Ợ Ữ
6.3 H NG D N GIAO Di N CODEVISONAVRƯỚ Ẫ Ệ
6.3 H NG D N GIAO Di N CODEVISONAVRƯỚ Ẫ Ệ
2
2

www.ptit.edu.vn
KY THUÂT VI X LY Ư GIANG VIÊN: THS. PHAM THÊ DUY
BÔ MÔN: ĐIÊU KHIÊN VA X LY TIN HIÊU Ư
6.1 GI I THI U T P L NH AVRỚ Ệ Ậ Ệ
6.1 GI I THI U T P L NH AVRỚ Ệ Ậ Ệ
Ký hi u các toán h ng (operand)ệ ạ
Ký hi u các toán h ng (operand)ệ ạ
Rd
Rd : Các thanh ghi R0 – R31 ho c R16 – R31 (tuỳ thu c l nh).ặ ộ ệ
: Các thanh ghi R0 – R31 ho c R16 – R31 (tuỳ thu c l nh).ặ ộ ệ
Rr
Rr
: Các thanh ghi R0 – R31.
: Các thanh ghi R0 – R31.
b
b
: H ng s ( 0 – 7), có th là bi u th c h ng.ằ ố ể ể ứ ằ
: H ng s ( 0 – 7), có th là bi u th c h ng.ằ ố ể ể ứ ằ
s
s
: H ng s ( 0 – 7), có th là bi u th c h ng.ằ ố ể ể ứ ằ
: H ng s ( 0 – 7), có th là bi u th c h ng.ằ ố ể ể ứ ằ
P
P
: H ng s ( 0 – 31/63), có th là bi u th c h ng.ằ ố ể ể ứ ằ
: H ng s ( 0 – 31/63), có th là bi u th c h ng.ằ ố ể ể ứ ằ
K
K
: H ng s ( 0 – 63), có th là bi u th c h ng.ằ ố ể ể ứ ằ
: H ng s ( 0 – 63), có th là bi u th c h ng.ằ ố ể ể ứ ằ
k
k : H ng s (d i giá tr tuỳ thu c l nh), có th là bi u th c ằ ố ả ị ộ ệ ể ể ứ
: H ng s (d i giá tr tuỳ thu c l nh), có th là bi u th c ằ ố ả ị ộ ệ ể ể ứ
h ng.ằ
h ng.ằ
q
q
: H ng s ( 0 – 63), có th là bi u th c h ng.ằ ố ể ể ứ ằ
: H ng s ( 0 – 63), có th là bi u th c h ng.ằ ố ể ể ứ ằ
3
3

www.ptit.edu.vn
KY THUÂT VI X LY Ư GIANG VIÊN: THS. PHAM THÊ DUY
BÔ MÔN: ĐIÊU KHIÊN VA X LY TIN HIÊU Ư
CAC LÊNH SÔ HOC VA LOGIC
CAC LÊNH SÔ HOC VA LOGIC
G i nh Toán h ng Mô tợ ớ ạ ả
G i nh Toán h ng Mô tợ ớ ạ ả Th c hi nự ệ
Th c hi nự ệ
Cờ
Cờ Clock
Clock
•ADD
ADD Rd, Rr
Rd, Rr C ng không nhộ ớ
C ng không nhộ ớ Rd ←Rd + Rr
Rd ←Rd + Rr Z,C,N,V,H
Z,C,N,V,H 1
1
•ADC
ADC Rd, Rr
Rd, Rr C ng có nhộ ớ
C ng có nhộ ớ Rd ← Rd + Rr + C
Rd ← Rd + Rr + C Z,C,N,V,H
Z,C,N,V,H 1
1
•ADIW
ADIW Rd, K
Rd, K + giá tr t c th i ị ứ ờ
+ giá tr t c th i ị ứ ờ Rd+1:Rd ← Rd+1:Rd + K
Rd+1:Rd ← Rd+1:Rd + K Z,C,N,V
Z,C,N,V 2
2
•SUB
SUB Rd, Rr
Rd, Rr Tr không nhừ ớ
Tr không nhừ ớ Rd ← Rd - Rr
Rd ← Rd - Rr Z,C,N,V,H
Z,C,N,V,H 1
1
•SUBI
SUBI Rd, K
Rd, K Tr giá tr t c th iừ ị ứ ờ
Tr giá tr t c th iừ ị ứ ờ Rd ← Rd - K
Rd ← Rd - K Z,C,N,V,H
Z,C,N,V,H 1
1
•SBC
SBC Rd, Rr
Rd, Rr Tr có c nhừ ờ ớ
Tr có c nhừ ờ ớ Rd ← Rd - Rr - C
Rd ← Rd - Rr - C Z,C,N,V,H
Z,C,N,V,H 1
1
•SBCI
SBCI Rd, K
Rd, K Tr t c th i có nhừ ứ ờ ớ
Tr t c th i có nhừ ứ ờ ớ Rd ← Rd - K - C
Rd ← Rd - K - C Z,C,N,V,H
Z,C,N,V,H 1
1
•SBIW
SBIW Rd, K
Rd, K - t c th i theo tứ ờ ừ
- t c th i theo tứ ờ ừ Rd+1:Rd ← Rd+1:Rd – K
Rd+1:Rd ← Rd+1:Rd – K Z,C,N,V
Z,C,N,V 2
2
•AND
AND Rd, Rr
Rd, Rr Logic AND
Logic AND Rd ← Rd AND Rr
Rd ← Rd AND Rr Z,N,V
Z,N,V 1
1
•ANDI
ANDI Rd, K
Rd, K AND v i s t c th iớ ố ứ ờ
AND v i s t c th iớ ố ứ ờ Rd ← Rd AND K
Rd ← Rd AND K Z,N,V
Z,N,V 1
1
•OR
OR Rd, Rr
Rd, Rr Logical OR
Logical OR Rd ← Rd OR Rr
Rd ← Rd OR Rr Z,N,V
Z,N,V 1
1
•ORI
ORI Rd, K
Rd, K OR v i s t c th iớ ố ứ ờ
OR v i s t c th iớ ố ứ ờ Rd ← Rd OR K
Rd ← Rd OR K Z,N,V
Z,N,V 1
1
•EOR
EOR Rd, Rr
Rd, Rr Exclusive OR
Exclusive OR Rd ← Rd XOR Rr
Rd ← Rd XOR Rr Z,N,V
Z,N,V 1
1
•COM
COM Rd
Rd Bù 1
Bù 1 Rd ← $FF - Rd
Rd ← $FF - Rd Z,C,N,V
Z,C,N,V 1
1
•NEG
NEG Rd
Rd Bù 2
Bù 2 Rd ← $00 - Rd
Rd ← $00 - Rd Z,C,N,V,H
Z,C,N,V,H 1
1
•SBR
SBR Rd,K
Rd,K L p bit trong t. ghiậ
L p bit trong t. ghiậRd ← Rd v K
Rd ← Rd v K Z,N,V
Z,N,V 1
1
•CBR
CBR Rd,K
Rd,K Xóa bit trong t. ghi
Xóa bit trong t. ghi Rd ← Rd and ($FFh - K)
Rd ← Rd and ($FFh - K) Z,N,V
Z,N,V 1
1
•INC
INC Rd
Rd Tăng
Tăng Rd ← Rd + 1
Rd ← Rd + 1 Z,N,V
Z,N,V 1
1
•DEC
DEC Rd
Rd Gi mả
Gi mảRd ← Rd - 1
Rd ← Rd - 1 Z,N,V
Z,N,V 1
1
•TST
TST Rd
Rd K.tra zero ho c âmặ
K.tra zero ho c âmặRd ← Rd and Rd
Rd ← Rd and Rd Z,N,V
Z,N,V 1
1
•CLR
CLR Rd
Rd Xóa thanh ghi
Xóa thanh ghi Rd ← Rd xor Rd
Rd ← Rd xor Rd Z,N,V
Z,N,V 1
1
•SER
SER Rd
Rd L p thanh ghiậ
L p thanh ghiậRd ← $FF
Rd ← $FF None
None 1
1
•MUL
MUL Rd,Rr
Rd,Rr Nhân không d uấ
Nhân không d uấR1, R0 ← Rd x Rr
R1, R0 ← Rd x Rr C
C2
2
4
4

www.ptit.edu.vn
KY THUÂT VI X LY Ư GIANG VIÊN: THS. PHAM THÊ DUY
BÔ MÔN: ĐIÊU KHIÊN VA X LY TIN HIÊU Ư
•RJMP
RJMP k
kNh y t ng đ iả ươ ố
Nh y t ng đ iả ươ ố PC ← PC + k + 1
PC ← PC + k + 1 None
None 2
2
•IJMP
IJMP nh y gián ti p (Z)ả ế
nh y gián ti p (Z)ả ế PC ← Z
PC ← Z None
None 2
2
•JMP
JMP k
kNh y không đi u ki nả ề ệ
Nh y không đi u ki nả ề ệ PC ← k
PC ← k None
None 3
3
•RCALL k
RCALL k G i c.trình con t. đ iọ ố
G i c.trình con t. đ iọ ố PC ← PC + k + 1
PC ← PC + k + 1
None
None 3
3
•ICALL
ICALL G i gián ti p (Z)ọ ế
G i gián ti p (Z)ọ ế PC ← Z
PC ← Z None
None 3
3
•CALL
CALL k
kG i ch ng trình conọ ươ
G i ch ng trình conọ ươ PC ← k
PC ← k None
None 4
4
•RET
RET Quay v t c.trình conề ừ
Quay v t c.trình conề ừ PC ← STACK
PC ← STACK None
None 4
4
•RETI
RETI Quay v t ng tề ừ ắ
Quay v t ng tề ừ ắ PC ← STACK
PC ← STACK I
I4
4
•CPSE
CPSE Rd,Rr
Rd,Rr So sánh và 0 nh y khi b ngả ằ
So sánh và 0 nh y khi b ngả ằ if (Rd = Rr) PC ← PC + 2 or 3
if (Rd = Rr) PC ← PC + 2 or 3 None 1 / 2 / 3
None 1 / 2 / 3
•CP
CP Rd,Rr
Rd,Rr So sánh
So sánh Rd - Rr
Rd - Rr Z,C,N,V,H
Z,C,N,V,H 1
1
•CPC
CPC Rd,Rr
Rd,Rr So sánh có c nhờ ớ
So sánh có c nhờ ớ Rd - Rr - C
Rd - Rr - C Z,C,N,V,H
Z,C,N,V,H 1
1
•CPI
CPI Rd,K
Rd,K So sánh v i s t c th iớ ố ứ ờ
So sánh v i s t c th iớ ố ứ ờ Rd - K
Rd - K Z,C,N,V,H
Z,C,N,V,H 1
1
•SBRC
SBRCRr, b
Rr, b 0 nh y khi bit = 0 (Skip)ả
0 nh y khi bit = 0 (Skip)ảif (Rr(b)=0) PC ← PC + 2or3
if (Rr(b)=0) PC ← PC + 2or3 None 1 / 2 / 3
None 1 / 2 / 3
•SBRS
SBRS Rr, b
Rr, b 0 nh y n u bit = 1ả ế
0 nh y n u bit = 1ả ế if (Rr(b)=1) PC ← PC + 2or3
if (Rr(b)=1) PC ← PC + 2or3 None 1 / 2 / 3
None 1 / 2 / 3
•SBIC
SBIC P, b
P, b 0 nh y n u bit I/O = 0ả ế
0 nh y n u bit I/O = 0ả ế if(I/O(P,b)=0) PC←PC+2or3
if(I/O(P,b)=0) PC←PC+2or3 None 1 / 2 / 3
None 1 / 2 / 3
•SBIS
SBIS P, b
P, b 0 nh y n u bit I/O= 1ả ế
0 nh y n u bit I/O= 1ả ế if(I/O(P,b)=1) PC ← PC+2or3
if(I/O(P,b)=1) PC ← PC+2or3 None 1 / 2 / 3
None 1 / 2 / 3
•BRBS
BRBS s, k R nhánh khi c tr ng thái=1 if (SREG(s) = 1)then PC←PC+k + 1 None 1 / 2ẽ ờ ạ
s, k R nhánh khi c tr ng thái=1 if (SREG(s) = 1)then PC←PC+k + 1 None 1 / 2ẽ ờ ạ
•BRBC
BRBCs, k R nhánh khi c tr ng thái=0 if (SREG(s) = 0) then PC←PC+k + 1 None 1 / 2ẽ ờ ạ
s, k R nhánh khi c tr ng thái=0 if (SREG(s) = 0) then PC←PC+k + 1 None 1 / 2ẽ ờ ạ
5
5
CAC LÊNH RE NHANH
CAC LÊNH RE NHANH