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 R0R31 ho c R16 – R31 (tuỳ thu c l nh).
: Các thanh ghi R0 – R31 ho c R16R31 (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 bi u th c h ng.
: H ng s ( 0 – 7), có th bi u th c h ng.
s
s
: H ng s ( 0 – 7), có th bi u th c h ng.
: H ng s ( 0 – 7), có th bi u th c h ng.
P
P
: H ng s ( 0 – 31/63), có th bi u th c h ng.
: H ng s ( 0 – 31/63), có th bi u th c h ng.
K
K
: H ng s ( 0 – 63), có th bi u th c h ng.
: H ng s ( 0 – 63), có th bi u th c h ng.
k
k : H ng s (d i giá tr tuỳ thu c l nh), th bi u th c
: H ng s (d i giá tr tuỳ thu c l nh), th bi u th c
h ng.
h ng.
q
q
: H ng s ( 0 – 63), th bi u th c h ng.
: H ng s ( 0 – 63), th 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 Tn h ng Mô t
G i nh Tn h ng Mô t Th c hi n
Th c hi n
C
C Clock
Clock
ADD
ADD Rd, Rr
Rd, Rr C ng kng nh
C ng không nh RdRd + Rr
RdRd + 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 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 kng 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 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. ghiRd ← 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 mRd ← 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 âmRd ← 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 ghiRd ← $FF
Rd ← $FF None
None 1
1
MUL
MUL Rd,Rr
Rd,Rr Nhân không d u
Nhân không d uR1, 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