You are on page 1of 181

Thi

t b
thc tp l
p trnh (vi i
u khi
n AVR)

PHN A

GII THIU

Ph
n A : Gii thi
u

Trang i

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)
B GIO DC V O TO
TRNG I HC SPHM KTHUT TP.HCM
KHOA IN T

N TT NGHIP
NGUYN THCH

THIT BTHC TP LP TRNH


(VI IU KHIN AVR)

Chuyn ngnh KThu


t i
n i
n T
H
i Hc Chnh Qui

Thnh phHCh Minh, Thng 07 n


m 2008
Ph
n A : Gii thi
u

Trang ii

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang iii

CNG TRNH C HON THNH TI


TRNG I HC SPHM KTHUT TP.HCH MINH

Cn bhng dn khoa hc: NGUYN THANH BNH

Cn bch
m ph
n bi
n:

n t
t nghi
p
c b
o vt
i HI NG CHM BO VN TT
NGHIP TRNG I HC SPHM KTHUT TP.HCH MINH,
Ngythngn
m 2008

Ph
n A : Gii thi
u

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)
BGIO DC V O TO
TRNG I HC SPHM K
THUT TP.HCH MINH
KHOA IN T
Tp.HCM, ngythngn
m 2008

Trang iv

CNG HA X HI CHNGH
A
VIT NAM
C LP T DO HNH PHC

NHIM VN TT NGHIP
Htn sinh vin : NGUYN THCH
Chuyn ngnh : KTHUT IN IN T
H
o t
o
:
i h
c chnh qui
Kha
: 2006 2008

MSSV
M ngnh
M h
L
p

: 06301006
: 01
: 01
: 063010B

I. TN TI: THIT BTHC TP LP TRNH (VI IU KHIN AVR)


II. NHIM VV NI DUNG TI:
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
III. NGY GIAO NHIM V:........................................................................................
IV. NGY HON THNH NHIM V:.......................................................................
V. GIO VIN HNG DN: NGUYN THANH BNH

Ngy thngn
m 2008
GIO VIN HNG DN
(k tn)

NGUYN THANH BNH

Ph
n A : Gii thi
u

Ngy thngn
m 2008
BM. QUN L CHUYN NGNH
(k tn)

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang v

LI CM N
Nhm thc hi
n ti xin chn thnh c
m n th
y NGUYN THANH BNH. Trong
sut qu trnh thc hi
n ti th
y
t
n tnh h
ng d
n, cung c
p ti li
u, kinh
nghi
m gip nhm hon thnh tt
n.
Nhm thc hi
n ti cng gi l
i c
m n

n cc th
y c khoa i
n t
htrcho
nhm mt sti li
u v kinh nghi
m
thc hi
n ti ny.
Ngoi ra nhm thc hi
n ti c
ng gi li c
m n
n t
t ccc b
n hc cng lp
063010
ng gp ki
n gip nhm thc hi
n t
t ti ny.
NHM THC HIN TI

Ph
n A : Gii thi
u

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang vi

TM TT TI
ti Thi
t bthc t
p l
p trnh (vi
i
u khi
n AVR) h
ng

n m
c tiu thi
t k
m
t thi
t bthc t
p vi
i
u khi
n
a n
ng. Vi
c l
p trnh v ch
y cc ng dng trn
ph
n cng thc tgip ngi h
c c cc nhn nh
n trc quan thc ti
n hn
i vi bi
thc hnh, n
m r hn l thuy
t

c h
c tr
c .
N
i dung
ti c chia thnh 6 chng m n
i dung chnh
c t
p trung chy
u
cc chng 2, 3, 4, 5. Sk
t hp linh ho
t gia ph
n cng vi ph
n m
m l
p trnh s
t
o cho ngih
c c ci nhn tng quan vvi
i
u khi
n AVR.
Chng 2 c
p
n c
u trc vi
i
u khi
n AVR 90S8515. Nh
m gii thi
u cho
ng
i hc hi
u vchc n
ng, s
c
u t
o bn trong c
a vi
i
u khi
n AVR
90S8515.
Chng 3 l chng trng tm ca ti. B
t
u b
ng vi
c xc
nh chc n
ng c
a
cc kh
i,
a ra cc gi
i php ph
n cng v ti
n hnh thi
t k
. Cc khi c thi
t k
da trn l thuy
t
c hc cc mn : m
ch i
n t, kthu
t s, thi
t km
ch

i
n t g
m cc kh
i: hi
n thLED
n, qut hi
n thLED 7
o
n, d
ch ch
t hi
n
thled 7 o
n, qut hi
n thLED ma tr
n, d
ch cht hi
n thLed ma tr
n, hi
n th
LCD T
t cc s
p x
p trn m
t m
ch ln tng vtr nh
t
nh.
Chng 4 ni vph
n m
m CodeVision AVR C. y l ph
n m
m htrl
p trnh
b
ng ngn ngC cho vi i
u khi
n AVR, trong ph
n ny hng d
n ngi h
c cch
sdng ph
n m
m, t
o cc t
p tin mi c
ng nhcch bin d
ch v n
p chng trnh
cho AVR b
ng card n
p AVR910.
Chng 5 thi
t kch
ng trnh m
u ng d
ng cho cc khi. Ch
ng ny cng kh
quan trng, n thhi
n
c khn
ng k
t hp gia ph
n cng v ph
n m
m cng nh
ki
m tra thc nghi
m vi
c thi
t kph
n cng c
ng v ph h
p vi yu c
u thi
t k

ra hay cha. Ngoi ra gip cho ngi h


c c nhng hi
u bi
t ban
u vcch l
p
trnh cho vi
i
u khi
n AVR b
ng ngn ngl
p trnh C v ch
y ng dng trn thi
t b
.
Qua cc k
t qum ph
ng v ch
y trn thc tcho th
y cc kh
i lm vi
c t
ng

nh. Cc khi tch r


i nhau t
o i
u ki
n thu
n li cho ngi hc trong vi
c lin
k
t vi kh
i trung tm.
Tuy nhin,
ti ny v
n cn mt skhuy
t i
m. Khng t
n dng h
t chc n
ng, b
nhc
a vi
i
u khi
n AVR. Cha c cc kh
i nng cao nh: mrng port, bnh,
I2C, CAN Cha c cc chn c
m
o

c.
Tm l
i, ti Thi
t bthc t
p l
p trnh (vi iu khi
n AVR)c cc khi ph
n ln khai
thc c cc tnh nng cbn ca vi i
u khi
n AVR, c thmrng c bng cc board
phbn ngoi. Bn c
nh ti cn hng
n ng dng ngn ngC trong l
p trnh cho vi
i
u khi
n AVR.

Ph
n A : Gii thi
u

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang vii

MC LC
PHN A : GII THIU

Trang

Trang ba..............................................................................................................................ii
Phn cng cn bhng d
n.............................................................................................. iii
Nhi
m vn................................................................................................................... iv
L
i c
m n........................................................................................................................... v
Tm t
t
ti...................................................................................................................... vi
Mc lc ............................................................................................................................. vii
Li
t k b
ng ......................................................................................................................xiii
Li
t k hnh ....................................................................................................................... xiv
PHN B : NI DUNG
CHNG 1 : DN NHP
1.1
1.2
1.3
1.4
1.5
1.6
1.7

L do ch
n
ti ........................................................................................................ 2
Mc
ch nghin cu .................................................................................................. 2

i tng nghin cu v ph
m vi nghin cu ........................................................... 2
ngh
a khoa hc v thc ti
n ca
ti ................................................................... 3
Tnh hnh nghin cu ................................................................................................. 3
Hng nghin cu ca
ti ..................................................................................... 4
Phng php nghin cu ............................................................................................ 5

CHNG 2 : TNG QUAN VVI IU KHIN AVR


2.1 S
chn .................................................................................................................. 6
2.2
M tvAVR ........................................................................................................ 7
2.2.1 S
kh
i ca AVR AT90S8515 ........................................................................ 7
2.2.2 Chc n
ng cc chn AVR AT90S8515................................................................ 8
2.3 Khi qut vc
u trc c
a AVR ................................................................................. 9
2.3.1 S
c
u trc ca AVR 90s8515 ...................................................................... 10
2.3.2 Bnhdli
u .................................................................................................... 11
2.3.3 S
bnhtrong AVR 90S8515 .................................................................... 12
2.3.4 Cc thanh ghi trong AVR................................................................................... 12
2.3.5 T
p thanh ghi c
a vi i
u khi
n AVR ................................................................ 13
2.3.6 Bnhdli
u SRAM........................................................................................ 13
2.3.7 BnhI/O (Cc port)......................................................................................... 14
2.3.8 Thanh ghi tr
ng thi (Status Register SREG) ................................................. 15
2.3.9 Con trng
n x
p : Stack Pointer (SP)................................................................ 16
2.3.10 Sd
ng ng
t trong AT90S8515........................................................................ 17
2.3.11 Reset .................................................................................................................. 18
2.3.12 Ng
t ................................................................................................................... 19
2.3.13 Thanh ghi che ng
t chung GIMSK (General Interrupt Mask Register)............ 20
2.3.14 Thanh ghi cng
t chung GIFR (General Interrupt Flag Register) ................... 20
Ph
n A : Gii thi
u

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang viii

2.3.15 Thanh ghi che ng


t Timer/counter TIMSK (Timer/counter Interrupt Mask
Register) ........................................................................................................... 21
2.3.16 Thanh ghi cng
t Timer/counter TIFR (Timer/counter interrupt Flag
Register) ........................................................................................................... 21
2.3.17 Thanh ghi i
u khi
n MCU MCUCR (MCU Control Register) .................... 21
2.4 C
u t
o v l thuy
t chung Timer/Counter ............................................................... 23
2.4.1 Bchia Timer/counter........................................................................................ 24
2.4.2 Timer/counter 0 .................................................................................................. 24
2.4.3 Timer/counter 1 (Timer/counter 16 bits)........................................................... 26
2.5 Watchdog Timer ....................................................................................................... 36
2.6 Truy xu
t ghi/
c EEPROM .................................................................................... 37
2.6.1 Thanh ghi

a chEEPROM EEARH v EEARL (EEPROM Adress


Register)............................................................................................................. 37
2.6.2 Thanh ghi dli
u EEPROM - EEDR (EEPROM Data Register)...................... 37
2.6.3 Thanh ghi
i
u khi
n EEPROM - EECR (EEPROM Control Register)............ 38
2.7 Giao ti
p thi
t bngo
i vi - SPI................................................................................. 39
2.7.1 Thanh ghi
i
u khi
n SPCR (SPI control register) .......................................... 40
2.7.2 Thanh ghi tr
ng thi SPSR (SPI STATUS REGISTER)..................................... 41
2.7.3 Thanh ghi dli
u (SPI DATA REGISTER) ....................................................... 41
2.8 UART (Universal Asynchronous Receiver and Stransmitter). ................................. 42
2.8.1 Pht dli
u trn UART....................................................................................... 42
2.8.2 Nh
n dli
u trn UART ..................................................................................... 44
2.8.3 i
u khi
n UART................................................................................................ 46
2.9 So snh Analog trong AVR ...................................................................................... 50
2.10 Cc Port I/O ............................................................................................................ 53
2.10.1 PortA................................................................................................................... 53
2.10.2 PortB ................................................................................................................... 53
2.10.3 PortC ................................................................................................................... 54
2.10.4 PortD................................................................................................................... 55
CHNG 3: THIT KPHN CNG THIT BTHC TP
VI IU KHIN AVR
3.1 Cc yu c
u ca ph
n cng thi
t bthc t
p ............................................................ 55
3.2 Hi
n thLED
n ..................................................................................................... 57
3.2.1 Yu c
u ................................................................................................................ 57
3.2.2 Thi
t k................................................................................................................ 57
3.3 Qut hi
n thLED 7
o
n ......................................................................................... 60
3.3.1 Yu c
u ................................................................................................................ 60
3.3.2 Thi
t k............................................................................................................... 60
3.4 D
ch v ch
t hi
n thLED 7 o
n............................................................................ 61
3.4.1 Yu c
u ............................................................................................................... 61
3.4.2 Thi
t k............................................................................................................... 62
3.5 Gi
i m BCD sang LED 7
o
n ................................................................................ 64
3.5.1 Yu c
u ............................................................................................................... 64
3.5.2 Thi
t k............................................................................................................... 64

Ph
n A : Gii thi
u

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang ix

3.6 Qut hi
n thLED ma tr
n ........................................................................................ 66
3.6.1 Yu c
u ................................................................................................................ 66
3.6.2 Thi
t k............................................................................................................... 67
3.7 D
ch v ch
t hi
n thLED ma tr
n .......................................................................... 69
3.7.1 Yu c
u ................................................................................................................ 69
3.7.2 Thi
t k............................................................................................................... 69
3.8 Hi
n thLCD............................................................................................................. 72
3.8.1 Yu c
u ............................................................................................................... 72
3.8.2 Thi
t k............................................................................................................... 72
3.9 Hi
n thgi
i m BIN DEC/HEX............................................................................ 73
3.9.1 Yu c
u ................................................................................................................ 73
3.9.2 Thi
t k............................................................................................................... 73
3.10 THUMSWITCH
i
n t............................................................................................ 75
3.10.1 Yu c
u ................................................................................................................ 75
3.10.2 Thi
t k............................................................................................................... 75
3.11 DIPSWITCH ............................................................................................................. 75
3.11.1 Yu c
u ................................................................................................................ 75
3.11.2 Thi
t k............................................................................................................... 76
3.12 Nt nh
n
n ............................................................................................................. 76
3.12.1 Yu c
u ................................................................................................................ 76
3.12.2 Thi
t k............................................................................................................... 76
3.13 Bn phm tng t.................................................................................................... 78
3.13.1 Yu c
u ................................................................................................................ 78
3.13.2 Thi
t k............................................................................................................... 78
3.14 Bn phm ma tr
n ...................................................................................................... 79
3.14.1 Yu c
u ................................................................................................................ 79
3.14.2 Thi
t k............................................................................................................... 79
3.15 T
o tn hi
u tng t................................................................................................. 80
3.15.1 Yu c
u ................................................................................................................ 80
3.15.2 Thi
t k............................................................................................................... 80
3.16 T
o xung
ng h...................................................................................................... 81
3.16.1 Yu c
u ................................................................................................................ 81
3.16.2 Thi
t k................................................................................................................ 81
3.17 ng hthi gian thc............................................................................................. 82
3.17.1 Yu c
u ................................................................................................................ 82
3.17.2 Thi
t k............................................................................................................... 82
3.18 M
t nh
n h
ng ngo
i................................................................................................. 83
3.18.1 Yu c
u ................................................................................................................ 83
3.18.2 Thi
t k............................................................................................................... 83
3.19 Gi
i m tn hi
u hng ngo
i ...................................................................................... 84
3.19.1 Yu c
u ................................................................................................................ 84
3.19.2 Thi
t k............................................................................................................... 84
3.20 Chuy
n
i tn hi
u tng tsang tn hi
u s.......................................................... 85
3.20.1 Yu c
u ................................................................................................................ 85
3.20.2 Thi
t k............................................................................................................... 85
3.21 Chuy
n
i tn hi
u ssang tn hi
u tng t.......................................................... 87

Ph
n A : Gii thi
u

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang x

3.21.1 Yu c
u ................................................................................................................ 87
3.21.2 Thi
t k............................................................................................................... 87
3.22 i
u khi
n
ng cDC............................................................................................. 90
3.22.1 Yu c
u ................................................................................................................ 90
3.22.2 Thi
t k................................................................................................................ 90
3.23 i
u khi
n
ng cbc .......................................................................................... 90
3.23.1 Yu c
u ................................................................................................................ 90
3.23.2 Thi
t k............................................................................................................... 91
3.24 i
u khi
n
ng cbc dng IC ............................................................................ 91
3.24.1 Yu c
u ................................................................................................................ 91
3.24.2 Thi
t k............................................................................................................... 91
3.25 Rle bn d
n............................................................................................................. 92
3.25.1 Yu c
u ................................................................................................................ 92
3.25.2 Thi
t k............................................................................................................... 92
3.26 MCU.......................................................................................................................... 94
3.26.1 Yu c
u ................................................................................................................ 94
3.26.2 Thi
t k............................................................................................................... 94
3.27 Ngu
n ........................................................................................................................ 96
3.27.1 Yu c
u ................................................................................................................ 96
3.27.2 Thi
t k............................................................................................................... 96
3.28 MCU ngoi................................................................................................................ 99
3.28.1 Yu c
u ................................................................................................................ 99
3.28.2 Thi
t k............................................................................................................... 99
CHNG 4: GII THIU TRNH BIN D
CH C CODEVISION AVR
4.1 Gii thi
u slc vtrnh bin d
ch CodeVisionAVR .......................................... 102
4.2 Cch so
n th
o mt t
p tin trn CodeVision AVR ................................................ 102
4.2.1 T
o mtSource mi.......................................................................................... 102
4.2.2 T
o mtProject mi ......................................................................................... 103
4.3 Bin d
ch mtt
p tin trn C CodeVision ............................................................... 107
4.4 N
p m
t chng trnh cho vi xl AVR ............................................................... 109
CHNG 5: XY DNG MT SCHNG TRNH MU
5.1
5.2
5.3
5.4
5.5
5.6
5.7
5.8
5.9
5.10
5.11

Led
n.................................................................................................................... 112
Led 7
o
n ............................................................................................................... 115
Gi
i m led 7 o
n .................................................................................................. 118
Hi
n thled 7
o
n ch
t v d
ch.............................................................................. 119
Hi
n thled ma tr
n b
ng phng php qut .......................................................... 122
Hi
n thled ma tr
n chtv d
ch ............................................................................ 125
i
u khi
n
ng cmt chi
u ................................................................................ 127
i
u khi
n
ng cbc ........................................................................................ 130
Giao ti
p DAC......................................................................................................... 132
Hi
n thLCD........................................................................................................... 134
Giao ti
p ADC ........................................................................................................ 138

Ph
n A : Gii thi
u

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang xi

5.12 i
u khi
n phm ma tr
n ........................................................................................ 141
5.13 i
u khi
n
ng cbc sd
ng IC..................................................................... 144
CHNG 6: KT QUNGHIN CU, KT LUN V HNG PHT
TRIN
6.1 K
t qu
.................................................................................................................... 147
6.2 K
t lu
n ................................................................................................................... 149
6.3 Hng pht tri
n ..................................................................................................... 149
PHN C : PHLC V TI LIU THAM KHO
Phl
c A: Chng trnh ca vi i
u khi
n c
a khi Thum Switch i
n t............... 151
Phl
c B: Chng trnh vi i
u khi
n kh
i ngu
n xung
ng h.............................. 153
Phl
c C: Chng trnh vi i
u khi
n kh
i chuy
n
i Bin Dec/Hex.................... 159
Phl
c D: M phng vi
i
u khi
n b
ng ph
n m
m Proteus..................................... 162
Phl
c E: Sm
ch in lp trn c
a thi
t bthc t
p l
p trnh................................ 166
Phl
c F: S
m
ch in lp d
i ca thi
t b
thc t
p l
p trnh.............................. 167
Phl
c G: S
btr linh ki
n c
a thi
t bthc t
p l
p trnh .................................. 168
Ti li
u tham kh
o ......................................................................................................... 169

Ph
n A : Gii thi
u

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang xii

LIT K BNG
B
ng 2.1 Khng gian vectc
a vi
i
u khi
n AT90S8515 ............................................... 9
B
ng 2.2 Vng I/O trong AT90S8515 ............................................................................. 14
B
ng 2.3 B
ng

a chcc ng
t c
a vi
i
u khi
n............................................................ 17
B
ng 2.4 Thi
t l
p chSLEEP cho vi i
u khi
n ....................................................... 22
B
ng 2.5 Thi
t l
p ng
t ngoi INT1 cho vi i
u khi
n .................................................... 22
B
ng 2.6 Thi
t l
p ng
t ngoi INT0 cho vi i
u khi
n .................................................... 23
B
ng 2.7 Thi
t l
p thanh ghi
i
u khi
n Timer/Counter0................................................ 25
B
ng 2.8 Thi
t l
p thanh ghi A i
u khi
n Timer/Counter1 ............................................ 29
B
ng 2.9 Thi
t l
p thanh ghi B
i
u khi
n Timer/Counter1 ............................................ 30
B
ng 2.10 Gi trTOP v t
n sPWM ........................................................................... 34
B
ng 2.11 Thi
t l
p ch
so snh 1 trong PWM........................................................... 34
B
ng 2.12 Thi
t l
p b

nh thi Watchdog .................................................................... 37


B
ng 2.13 Thi
t l
p t
n sdao
ng SCK ....................................................................... 41
B
ng 2.14 Thi
t l
p gi trt
c Baud ca vi i
u khi
n ............................................... 50
B
ng 2.15 Thi
t l
p thanh ghi i
u khi
n bso snh Analog.......................................... 53
B
ng 2.16 Chc n
ng cc chn trn Port B...................................................................... 54
B
ng 2.17 Chc n
ng cc chn trn Port D...................................................................... 55
B
ng 3.1 B
ng sth
t IC74LS247 .................................................................................. 66
B
ng 3.2 Chc n
ng cc chn LCD ................................................................................. 72
B
ng 3.3 B
ng sth
t IC 74LS221 .................................................................................. 76
B
ng 3.4 B
ng chc n
ng IC HEF4017BC ...................................................................... 92

Ph
n A : Gii thi
u

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang xiii

LIT K HNH
Hnh 2.1 S
chn c
a vi
i
u khi
n AT90S8515 .......................................................... 5
Hnh 2.2 S
khica vi i
u khi
n AT90S8515........................................................... 6
Hnh 2.3 S
c
u trc c
a vi i
u khi
n AT90S8515 ..................................................... 9
Hnh 2.4 S
tchc bnhtrong vi i
u khi
n 90S8515 .......................................... 11
Hnh 2.5 S
tchc thanh ghi c
a vi i
u khi
n AT90S8515 .................................... 12
Hnh 2.6 C
u trc cc thanh ghi con trca vi i
u khi
n AT90S8515.......................... 12
Hnh 2.7 S
tchc bnhSRAM ca AT90S8515 ................................................. 13
Hnh 2.8 C
u trc thanh ghi tr
ng thi SREG............................................................... 15
Hnh 2.9 C
u trc con trng
n x
p SP ......................................................................... 16
Hnh 2.10 Svectng
t RESET................................................................................. 18
Hnh 2.11 C
u trc thanh ghi che ng
t GIMSK ............................................................ 19
Hnh 2.12 C
u trc thanh ghi cng
t chung GIFR....................................................... 19
Hnh 2.13 C
u trc thanh ghi che ng
t Timer/Counter - TIMSK ................................... 20
Hnh 2.14 C
u trc thanh ghi cng
t Timer/Counter TIFR ......................................... 20
Hnh 2.15 C
u trc thanh ghi
i
u khi
n MCU - MCUCR ............................................. 20
Hnh 2.16 Sbchia Timer/Counter .......................................................................... 23
Hnh 2.17 STimer/Counter0 ..................................................................................... 24
Hnh 2.18 C
u trc thanh ghi
i
u khi
n Timer/Counter0 TCCR0 .............................. 24
Hnh 2.19 C
u trc thanh ghi Timer/Counter0 TCNT0 ................................................ 25
Hnh 2.20 STimer/Counter1 ..................................................................................... 25
Hnh 2.21 Snguyn l chn ICP............................................................................... 26
Hnh 2.22 C
u trc thanh ghi A i
u khi
n Timer/Counter1 ........................................... 27
Hnh 2.23 C
u trc thanh ghi A i
u khi
n Timer/Counter1 ........................................... 28
Hnh 2.24 C
u trc thanh ghi Timer/Counter1-TCNT1................................................... 29
Hnh 2.25 C
u trc thanh ghi so snh A ng ra ca Timer/Counter1 - OCR1A.............. 30
Hnh 2.26 C
u trc thanh ghi so snh B ng ra ca Timer/Counter1 - OCR1B.............. 30
Hnh 2.27 C
u trc thanh ghi b
t s
ng ng vo ca Timer/Counter1.............................. 31
Hnh 2.28 Sb

nh thi Watchdog .......................................................................... 34


Hnh 2.29 C
u trc thanh ghi
i
u khi
n b

nh thi Watchdog.................................... 34
Hnh 2.30 C
u trc thanh ghi

a chEEPROM .............................................................. 35
Hnh 2.31 C
u trc thanh ghi dli
u EEPROM EEDR ............................................... 36
Hnh 2.32 C
u trc thanh ghi
i
u khi
n EEPROM EECR .......................................... 36
Hnh 2.33 Skh
i SPI c
a vi
i
u khi
n AT90S8515................................................ 38
Hnh 2.34 C
u trc thanh ghi
i
u khi
n SPI SPCR ..................................................... 38
Hnh 2.35 C
u trc thanh ghi tr
ng thi SPI SPSR....................................................... 39
Hnh 2.36 C
u trc thanh ghi dli
u SPI ........................................................................ 40
Hnh 2.37 Skh
i pht dli
u trn UART ................................................................ 41
Hnh 2.38 Skh
i nh
n dli
u trn UART................................................................ 42
Hnh 2.39 Ho
t ng c
a UART ...................................................................................... 43
Hnh 2.40 C
u trc thanh ghi dli
u I/O UART UDR ................................................ 43
Hnh 2.41 C
u trc thanh ghi tr
ng thi UART USR ................................................... 44
Hnh 2.42 C
u trc thanh ghi
i
u khi
n UART UCR ................................................. 45
Hnh 2.43 C
u trc thanh ghi t
o tc
Baund ............................................................... 47
Hnh 2.44 Skh
i bso snh Analog trong AT90S8515 ........................................... 48
Ph
n A : Gii thi
u

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang xiv

Hnh 2.45 C
u trc thanh ghi
i
u khi
n bso snh Analog........................................... 48
Hnh 2.46 C
u trc thanh ghi dli
u Port A.................................................................... 50
Hnh 2.47 C
u trc thanh ghi trc ti
p dli
u Port A ..................................................... 50
Hnh 2.48 C
u trc thanh ghi

a chchn ng vo Port A.............................................. 50


Hnh 2.49 C
u trc thanh ghi dli
u Port B .................................................................... 51
Hnh 2.50 C
u trc thanh ghi trc ti
p dli
u Port B ..................................................... 51
Hnh 2.51 C
u trc thanh ghi

a chchn ng vo Port B.............................................. 51


Hnh 2.52 C
u trc thanh ghi dli
u Port C .................................................................... 51
Hnh 2.53 C
u trc thanh ghi trc ti
p dli
u Port C ..................................................... 52
Hnh 2.54 C
u trc thanh ghi

a chchn ng vo Port C.............................................. 52


Hnh 2.55 C
u trc thanh ghi dli
u Port D.................................................................... 52
Hnh 2.56 C
u trc thanh ghi trc ti
p dli
u Port D ..................................................... 53
Hnh 2.57 C
u trc th anh ghi chn ng vo Port D ........................................................ 53
Hnh 3.1 S
khithi
t bthc t
p vi
i
u khi
n AVR ................................................ 55
Hnh 3.2 S
chn IC 74LS245..................................................................................... 56
Hnh 3.3 S
khibn trong IC 74LS245.................................................................... 56
Hnh 3.4 S
nguyn l kh
i hi
n thLED
n............................................................ 57
Hnh 3.5 S
nguyn l LED 7 o
n ............................................................................ 58
Hnh 3.6 S
chn LED 7 o
n..................................................................................... 58
Hnh 3.7 S
nguyn l kh
i qut hi
n thLED 7
o
n ............................................... 59
Hnh 3.8 S
chn IC 74LS595..................................................................................... 60
Hnh 3.9 S
nguyn l trong IC 74LS595................................................................... 60
Hnh 3.10 Snguyn l khi d
ch v cht hi
n thLED 7 o
n ................................ 61
Hnh 3.11 Schn IC 74LS247................................................................................... 62
Hnh 3.12 Snguyn l trong IC 74LS247................................................................. 62
Hnh 3.13 Snguyn l khi gi
i m BCD sang LED 7 o
n.................................... 63
Hnh 3.14 Schn LED ma tr
n ................................................................................. 64
Hnh 3.15 Snguyn l trong LED ma tr
n ............................................................... 64
Hnh 3.16 Schn IC ULN2803 ................................................................................. 64
Hnh 3.17 Snguyn l chn ng ra IC ULN0808 ..................................................... 64
Hnh 3.18 Snguyn l khi qut hi
n thLED ma tr
n ............................................ 65
Hnh 3.19 Schn IC 6B595....................................................................................... 66
Hnh 3.20 Schn IC 6B595....................................................................................... 66
Hnh 3.21 Snguyn l khi d
ch v cht hi
n thLED ma tr
n ............................... 67
Hnh 3.22 Snguyn l khi hi
n th
LCD................................................................. 68
Hnh 3.23 Snguyn l khi chuy
n
inh
phn sang th
p phn v Hexa.............. 70
Hnh 3.24 Snguyn l khi Thumswitch i
n t..................................................... 70
Hnh 3.25 Snguyn l khi DipSwitch..................................................................... 71
Hnh 3.26 Schn IC 74LS221................................................................................... 72
Hnh 3.27 Snguyn l khi nt nh
n n................................................................. 73
Hnh 3.28 Snguyn l khi phm tng t............................................................... 74
Hnh 3.29 Snguyn l khi phm ma tr
n ................................................................ 75
Hnh 3.30 Snguyn l khi tn hi
u tng t........................................................... 76
Hnh 3.31 Snguyn l khi ngun xung
ng h..................................................... 77
Hnh 3.32 Schn IC DS12C887 ............................................................................... 77
Hnh 3.33 Snguyn l khi
ng hthi gian thc ................................................. 78

Ph
n A : Gii thi
u

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)
Hnh 3.34
Hnh 3.35
Hnh 3.36
Hnh 3.37
Hnh 3.38
Hnh 3.39
Hnh 3.40
Hnh 3.41
Hnh 3.42
Hnh 3.43
Hnh 3.44
Hnh 3.45
Hnh 3.46
Hnh 3.47
Hnh 3.48
Hnh 3.49
Hnh 3.50
Hnh 3.51
Hnh 3.52
Hnh 3.53
Hnh 3.54
Hnh 3.55
Hnh 3.56
Hnh 3.57
Hnh 6.1

Trang xv

Snguyn l khi m
t nh
n h
ng ngo
i .................................................... 78
Schn IC BL9149 .................................................................................... 79
Snguyn l khi gi
i m tn hi
u h
ng ngo
i.......................................... 79
Schn IC ADC0808................................................................................. 80
Skh
i trong IC DAC0808........................................................................ 80
Snguyn l khi chuy
n
itn hi
u tng tsang tn hi
u s.............. 81
Schn DAC0808 ...................................................................................... 82
Snguyn l m
ch chuy
n
i tssang tng t................................... 83
Snguyn l m
ch
i
u khi
n
ng cm
t chi
u..................................... 84
Snguyn l m
ch
i
u khi
n
ng cbc ............................................ 85
Schn IC L297......................................................................................... 85
Schn IC L298......................................................................................... 85
Snguyn l i
u khi
n
ng cbc sd
ng IC L297, IC L298 .......... 86
Schn v c
u trc bn trong ca IC MOC3020....................................... 86
Snguyn l khi Relay bn d
n............................................................... 87
Sk
t ni LM555....................................................................................... 87
Schn IC CD4066BC .............................................................................. 88
Sng nguyn l cc c
ng IC CD4066BC............................................... 88
Schn IC HEF4017B ............................................................................... 88
Schn IC MAX232 .................................................................................. 89
Snguyn l khi MCU............................................................................. 89
Snguyn l khi ngun............................................................................ 91
Snguyn l khi MCU ngoi 1................................................................ 92
Snguyn l khi MCU ngoi 2 ............................................................... 93
Thi
t bthc t
p l
p trnh (vi
i
u khi
n AVR) hon ch
nh ......................... 148

Ph
n A : Gii thi
u

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

PHN B

NI DUNG

Ph
n B : N
i dung

Trang 1

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 2

CHNG 1
DN NHP
1.1. L do chn ti
Ngy nay, kthu
t vi i
u khi
n l m
t kthu
t r
t u vi
t

trnn v cng c
n
thi
t trong ngnh
i
n t, n thay thcc thi
t bc c
u t
o phc t
p thnh n
gi
n. ng dng vi
i
u khi
n r
t r
ng ri tnhng thi
t bdn dng thng ngy gia

nh

n cc lo
i my mc cng nghi
p hi
n
i cc nh my, x nghi
p.
Kthu
t vi
i
u khi
n l mt mn h
c cb
n khng ththi
u
i vi sinh vin cc
ngnh
i
u khi
n, t
ng, i
n t nh
m trang bcho sinh vin nhng ki
n thc c
n
thi
t vcc hvi i
u khi
n. C
ng nhc
u trc, nguyn t
c ho
t
ng cng cc m
ch
phtr, t
p l
nh, cc l
p trnh b
ng hp ng, b
ng ngn ngc
p cao, cc phng thc

i
u khi
n vo ra v cc phng php k
t ni thi
t kthi
t bngo
i vi. Da trn n
n
t
ng ki
n thc c
a mn h
c kthu
t vi
i
u khi
n, sinh vin ti
p thu nhng mn h
c
kthu
t chuyn ngnh v ti
p c
n ddng hn vi nhng kthu
t, trang thi
t bhi
n

i.
ng th
i cho php sinh vin c ci nhn trc quan v ki
m chng, kh
ng
nh s

ng

n cc ki
n thc hc.
Xu
t pht tvi
c ng d
ng r
ng ri
m nhu c
u tm hi
u v h
c t
p vi
i
u khi
n
trnn r
t c
n thi
t. Do mn hc ny

c nhi
u trng
i h
c, Cao

ng,
Trung h
c chuyn nghi
p
a vo gi
ng d
y chnh thc.
gp ph
n gip cho ngi h
c ti
p c
n hvi i
u khi
n AVR, l mt hvi
i
u
khi
n c c
u trc phc t
p hn, nhi
u tnh n
ng h
n, tc
xl nhanh hn so v
i
cc hvi i
u khi
n khc. M
t khc c
ng gip cho ngi hc lm quen vi vi
c ng
dng ngn ngC trong l
p trnh cho Vi
i
u khi
n. Do
nhm thc hi
n ti
b
t tay vo vi
c thi
t kv thi cng Thi
t bthc t
p l
p trnh (vi i
u khi
n AVR).
1.2. Mc ch nghin cu
Thi
t kv thi cng thi
t bthc t
p l
p trnh sd
ng hvi
i
u khi
n AVR. V ng
dng trnh bin d
ch Codevision AVR l
p trnh cho vi
i
u khi
n AVR b
ng ngn ng
C.
1.3. i tng v ph
m vi nghin cu

i tng nghin cu:


- Hvi
i
u khi
n AVR.
- Ph
n m
m CodeVisionAVR C Compiler l
p trnh b
ng ngn ngC cho AVR.
Ph
m vi nghin cu:

Chng 1: D
n nhp

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 3

- Thi
t kv thi cng thi
t bthc t
p l
p trnh (vi
i
u khi
n AVR) di d
ng cc
kh
i sau
k
t hp l
i thnh mt board ln bao gm: cc kh
i MCU ngoi dnh cho
cc dng AVR khc nhau, kh
i led n, kh
i led 7 o
n, khi led ma tr
n, ADC,
DAC, LCD, bn phm ma tr
n, bn phm tng tv cc kh
i ng d
ng khc.
- ng d
ng ph
n m
m Codevision AVR C Compiler vi
t chng trnh m
u cho thi
t
bthc t
p vi i
u khi
n AVR b
ng ngn ngC.
1.4. ngh
a khoa h
c v thc ti
n ca ti
Vm
t khoa h
c, ti t
p trung vo vi
c thi
t kph
n cng v vi
t cc chng trnh
m
u cho cc kh
i b
ng ngn ngC.
Vi
c thi
t kthi
t bthc t
p vi i
u khi
n di d
ng kh
i c u
i
m l: gip ng
i
hc dkh
o st tng khi, ddng ki
m tra sa cha khi c sc
, hhngv
i
u
quan trng l Thi
t bthc t
p l
p trnh (vi
i
u khi
n AVR)
c thi
t kc cc
ng I/O tng thch vi nhi
u dng vi i
u khi
n, v slng khi c th
c m
r
ng thm board ph
.
Trn Thi
t bthc t
p l
p trnh (vi i
u khi
n AVR)
c thi
t knhi
u ki
u
i
u
khi
n gip ngi h
c c ci nhn tcb
n

n nng cao vm
t v
n
i
u khi
n.
Cc chng trnh m
u

c thc hi
n trc trn ph
n m
m Proteus sau m
i thc
hi
n trn ph
n cng thc t
, vi
c so snh k
t qugia m ph
ng vi thc tgip
ng
i h
c
a ra nh
n xt ng

n v tchhn. Bn c
nh
gip ngi hc c
nhi
u th
i gian thc t
p t
i nh trn ph
n m
m Proteus khi khng c ph
n cng thc
t
.
Vi
c ng dng ngn ngC trong l
p trnh cho vi i
u khi
n gip cho vi
c l
p trnh tr
nn
n gi
n hn so vil
p trnh b
ng hp ng.
tng thc hi
n ti ny b
t ngun tnhu c
u thc t
, khi nhu c
u hc t
p ngy
cng cao
i hiphng ti
n d
y h
c ngy cng hi
n

i, n gip ngith
y v
t v
trong vi
c truy
n thki
n thc, gip ngi h
c nhanh chng ti
p thu ki
n thc m
i
hi
n

i, ngoi ra cn
minh h
a, chng thc m
t cch cthnhng bi hc mh
tru tng.
Xt mt kha c
nh nh
, m
t thi
t bhay mt s
n ph
m s
n xu
t ra cng ph
i da trn
nhu c
u c
a ngi tiu dng. Do vi
c thi
t kv thi cng Thi
t bthc t
p vi
i
u
khi
n AVR cng ph
i xt

n hi
u quca vi
c h
c trn thi
t b
, tc l quan tm
n
ng
i h
c.
1.5. Tnh hnh nghin cu
Trong nc:
C nhi
u thi
t bthc t
p
c trung tm nghin cu v cc trng

i h
c tcht
o.
Nhi
u nhm sinh vin kha tr
c nghin cu v cht
o cc thi
t bthc t
p nh:

Chng 1: D
n nhp

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 4

Nghin cu v cht
o thi
t bthc t
p vi
i
u khi
n AVR c
a sinh vin o Ng
c
Sn v Nguy
n B Thnh kha 2000 2005 sinh vin trng
i hc SPh
m K
Thu
t Thnh PhHCh Minh [11]. ti thi
t kv thi cng KIT vi
i
u khi
n
PLD c
a sinh vin Nguy
n V
n L
p v Nguy
n VLm Cc thi
t bny ph
n ln

p ng c yu c
u cc bi thc hnh cb
n, nng cao vvi
i
u khi
n, thi
t k
c nhi
u phng php i
u khi
n. Tuy nhin m
t sKIT cn c thi
t kd
ng m

un c
ng k
nh, phc t
p, cha htrcho nhi
u vi i
u khi
n khc nhau (cc hkhc
nhau), cha c cc khi htrcho ngi mi l
p trnh ph
n ln
thc hnh
c
i
hi ngi hc ph
i tl
p trnh. Cc ph
n m
m l
p trnh cho KIT thng l
p trnh
b
ng h
p ng.
KIT thc t
p AVR, PIC c
a cng ty TNHH Thin Minh [12] htrkh nhi
u vi
i
u
khi
n c nhi
u khi htrcho cc bi thc hnh nng cao, gi thnh c thch
p nh
n

c. Tuy nhin btr cc kh


i kh phc t
p, khn
ng
i
u khi
n h
n ch
, kh m
r
ng
i
u khi
n cho cc bi thc hnh cb
n, chc mt phng php
i
u khi
n trn
m
t kh
i. V d: Khi LED
n chc 8 LED, khi LED 7
o
n ch
i
u khi
n d
ng
qut LED
Trn thgii:
C r
t nhi
u ngun cung c
p cc thi
t bthc t
p ni trn nh: bKIT MDA-EMS51
ca hng Midas c
a Hn Quc, KIT v ph
n m
m pht tri
n cho hvi i
u khi
n PIC
ca MikroElectronika, KIT pht tri
n cho cc dng AVR, PIC, MAXQ, MSP430,
ARM
c
i
m ca cc s
n ph
m ny l c cc tnh n
ng m
nh, m
u m
p. Tuy
nhin gi thnh r
t
t (kho
ng 700$
i vi KIT MDA-EMS51) v vi
c
t mua
khng thu
n ti
n.
1.6. Hng nghin cu ti
Vi
c nghin cu b
t

u tsquan st v tham kh
o KIT thc t
p vi i
u khi
n c t
i
phng thc t
p trng
i h
c Sph
m Kthu
t Tp.HCM cng nhcc KIT c trn
thtr
ng.
Tm gi
i php gip cho ngi mi h
c vi i
u khi
n ddng ti
p c
n v
i mn h
c, v
c ci nhn bao qut hn.
Gi
i php l mt thi
t bthc t
p ph
i thhi
n c tnh trc quan, dsd
ng, c
nhi
u kh
i htrcho ngi mi lm quen vi vi i
u khi
n. Tnh hi
u quc
a thi
t b
v
t bi
t l ph
i p ng
c yu c
u ngi dng.
i km vi KIT l cc chng trnh m
u cb
n gip ng
i hc nhanh chng ti
p c
n

c thi
t bv ngn ngl
p trnh c
p cao lm vi
c trn n.
thc hi
n gi
i php nhm thc hi
n
ti ti
n hnh theo trnh tcc b
c sau:
- Bc 1: Tm hi
u hvi i
u khi
n AVR vc
u trc, chc n
ng t
p l
nh
- Bc 2: Tm hi
u ph
n m
m Codevision AVR C compiler.
- Bc 3: Nghin cu tm hi
u ng d
ng ngn ngC trong l
p trnh vi i
u khi
n.

Chng 1: D
n nhp

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 5

- Bc 4: Thi nghi
m m phng trn ph
n m
m Proteus.
- Bc 5: Th
t kthi cng ph
n cng cc kh
i theo yu c
u

t ra theo d
ng m un,
sau ghp l
i trn m
t board.
- Bc 6: N
p chng trnh m
u ch
y thcho tng kh
i.
1.7. Phng php nghin cu
Hai phng php chnh dng
nghin cu ti ny: phng php tham kh
o ti
li
u v phng php thc nghi
m.
Tham kho ti li
u:
- Tm
c cc ti li
u ph
n l
n thu th
p tInternet trn trang Web: www.google.com
vi tkha: AVR, programming C for AVR, KIT AVR, KIT thc t
p AVR
,
l
p trnh C cho AVR
-
c tham kh
o cc sch nc ngoi, cc gio trnh vi i
u khi
n, cc ti li
u lin
quan
n l
p trnh C cho Vi i
u khi
ntm cc gi
i php i
u khi
n cho cc khi.
Thc nghi
m:
Ti
n hnh m ph
ng tng kh
i trn ph
n m
m Proteus, c
m test board ch
y thcc
kh
i phc t
p, cc kh
i khng m phng
c. Thi cng m
ch, n
p chng trnh ch
y
th, ki
m tra kh
c phc cc l
i pht sinh.
Hai phng php trn c p dng thng xuyn, an xen nhau v btrnhau trong
sutqu trnh thc hi
n ti.

Chng 1: D
n nhp

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

CHNG 2
TNG QUAN VVI IU KHIN AVR
2. 1.

Schn ca AVR AT90S8515

Hnh 2.1 Schn ca vi iu khi


n AT90S8515

Chng 2: T
ng quan vvi i
u khi
n AVR

Trang 6

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)
2.2. M tvAVR
2.2.1.
Skhi ca AVR AT90S8515

Hnh 2.2 Skhi ca vi i


u khi
n AT90S8515

Chng 2: T
ng quan vvi i
u khi
n AVR

Trang 7

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 8

2.2.2 Chc n
ng cc chn AVR AT90S8515
VCC

Ngu
n cung c
p cho chip

GND

Mass c
a ngu
n

Port A (PA7..PA0) Port A l m


t port gm 8 bit vo ra. Ng ra c
a Port A c thh
xu
ng 20mA v c thtrc ti
p
i
u khi
n led hi
n th
. Khi chn
port A
c sdng gi
ng nhng vo v ko xung mc th
p,
chng shi
n ra ngun n
u
i
n trko ln
c ho
t
ng.
Chn port A sc 3 tr
ng thi khi m
t
i
u ki
n Reset
c ho
t

ng.
Port A cn c chc n
ng vo ra c
a dli
u v
a chkhi sd
ng
SRAM ngoi.
Port B (PB7..PB0) Port B l m
t port gm 8 bit vo ra c s
n i
n trko ln bn
trong. Ng ra c
a Port B c thhxu
ng 20mA. Khi chn port B
dc sd
ng ging nhng vo v ko xu
ng mc th
p, chng
shi
n ra ngun n
u i
n trko ln
c ho
t
ng. Chn port
B sc 3 tr
ng thi khi m
t
i
u ki
n Reset c ho
t
ng.
Ngoi ra port B cn c tc d
ng c cc chc n
ng khc c
a AVR

c gii thi
u trong cc ph
n sau.
Port C (PC7..PC0) Port C l m
t port gm 8 bit vo ra c s
n i
n trko ln bn
trong. Ng ra c
a Port C c thhxu
ng 20mA. Khi chn port C
dc sd
ng ging nhng vo v ko xu
ng mc th
p, chng
shi
n ra ngun n
u i
n trko ln
c ho
t
ng. Chn port
C sc 3 tr
ng thi khi m
t
i
u ki
n Reset c ho
t
ng.
Port C cn cn l ng ra c
a
a chkhi sdng SRAM ngoi
Port D (PD7..PD0) Port D l m
t port g
m 8 bit vo ra c s
n
i
n trko ln bn
trong. Ng ra ca Port D c thhxung 20mA. Khi chn port D
dc sd
ng ging nhng vo v ko xu
ng mc th
p, chng
shi
n ra ngun n
u i
n trko ln
c ho
t
ng. Chn port
D sc 3 tr
ng thi khi mt
i
u ki
n Reset
c ho
t
ng.
Ngoi ra port D cn c tc dng c cc chc n
ng khc c
a AVR

c gii thi
u trong cc ph
n sau.
RESET

Ng vo Reset. Mt tn hi
u mc th
p vi thi gian ln hn 50ns
spht ra mt tn hi
u Reset, d l xung clock khng ch
y. Xung
ng
n khng

m b
o cho vi
c pht ra mt tn hi
u Reset.

Chng 2: T
ng quan vvi i
u khi
n AVR

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 9

XTAL2

Ng vo khu
ch
i sthay
i dao
ng v m
ch xung clock
bn trong ho
t
ng.
Ng ra tkhu
ch
i sthay
i dao
ng.

ICP

L chn ng vo cho chc n


ng ging vo Timer1/Counter1

OC1B

L chn ng ra c chc n
ng so snh ng ra B c
a
Timer1/Counter1

ALE

c sd
ng
ch
t
a chkhi m bnhngoi
c cho
php.

XTAL1

2.3.

Khi qut vc
u trc AVR

Cc bvi xl AVR c ki
n trc Harvard, ngh
a l c bnhdli
u v bnh
chng trnh tch bi
t nhau. Bus dli
u dng cho bnhdli
u l m
t bus bit, cho
php n
i h
u h
t cc bph
n ngo
i vi vi t
p thanh ghi. Bus dli
u dng cho bnh
chng trnh c r
ng 16 bit v chn
i vi thanh ghi l
nh.
Bnhch
ng trnh l lo
i bnhflash. Dung lng chnh xc ca bnhny thay

i khc nhau gia cc bxl trong cng h. Bnhchng trnh c truy nh


p
theo tng chu k
ng h
, v mt l
nh c n
p vo thanh ghi l
nh. Thanh ghi l
nh
ni v
i t
p l
nh thanh ghi b
ng cch la ch
n xem thanh ghi no sc ALU s
dng thc thi l
nh. L
i ra c
a thanh ghi l
n c gi
i m b
ng bgi
i m l
nh

quy
t

nh chn tn hi
u i
u khi
n no s
c kch ho
t
hon thnh l
nh hi
n t
i.
Bnhch
ng trnh bn c
nh cc l
nh lu tr,cng cha cc vectng
t b
t

u
a
ch$0000. Chng trnh hi
n t
i sb
t
u vtr bnhpha bn kia vng dng cho
cc vect. Slng cc vectc
ng khc nhau gia cc bxl. Bxl AT90S1200
c 3 vectcn AT90S8515 c 13 vect. B
ng di
y minh hoton bkhng gian
vectdng cho bxl AT90S8515.
B
ng 2.1 Khng gian vectc
a vi i
u khi
n AT90S8515
Bnhch
ng trnh
Vect
Chc n
ng
dng cho
a ch
$0000
Reset
Reset handler
$0001
EXT_INT0
IRQ0 handler
$0002
XT_INT1
IRQ1 handler
$0003
ETIM_CAPT
Timer1 capture handler
$0004
TIM1_COMA
Timer1 compareA handler
$0005
TIM1_COMB
Timer1 compareB handler
$0006
TIM1_OVF
Timer1 overflow handler
$0007
TIM0_OVF
Timer0 overflow handler
$0008
SPI_STC
SPI transfer complete handler
$0009
UART_RXC
UART RX complete handler
$000A
UART_DRE
UART UDR empty handler
Chng 2: T
ng quan vvi i
u khi
n AVR

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)
$000B
$000C

UART_TXC
ANA_COMP

Trang 10
UART TxC complete handler
Analog comparator handler

2.3.1. Sc
u trc ca AVR 90S8515

Hnh 2.3 Sc
u trc ca vi iu khi
n AT90S8515

2.3.2. Bnhdli
u
c chia thnh 5 thnh ph
n khc nhau:
a. Mt t
p thanh ghi (register file) vi 32 thanh ghi c rng 8 bit. T
t ccc b

i
u khi
n ca hAVR

u c t
p thanh ghi ny.
b. 64 thanh ghi vo ra I/O, m
i thanh ghi 8 bit. T
t ccc bxl khng ph
i
u
c ng 64 thanh ghi. M
t strong c nhi
u hn scn l
i, ty thu
c vo s
cc bph
n ngo
i vi c trn chip. C thanh ghi vo ra ny thc ch
t l m
t
Chng 2: T
ng quan vvi i
u khi
n AVR

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 11

ph
n ca bnhSRAM trn chip v c thoc truy c
p ho
c nhbnh
SRAM v
i cc
a chgia $20 v $5F ho
c nhcc thanh ghi I/O vi cc
a
chgia $00 v $3F. H
u h
t cc thanh ghi ny thng

c trao
i nhcc
thanh ghi I/O chkhng ph
i nhbnhSRAM.
c. BnhSRAM bn trong : bnhny c trn h
u h
t cc lo
i vi xl hAVR,
chtrcc bxl lo
i cs(baseline). Ch
ng h
n nhlo
i AT90S1200.
Dung l
ng bnhSRAM thay
i t128 byte
n 4 kbyte. BnhSRAM

c sdng cho ng
n x
p c
ng nhlu trcc bi
n. Trong thi gian c
ng
t v g
i
o
n chng trnh (subroutine), gi trhi
n t
i ca b

m chng
trnh
c lu trtrong ng
n x
p. Kch thc c
a ng
n x
p bgii h
n b
i b
nhSRAM c m
t trn chip. Vtr c
a ng
n x
p
c chthbi con trng
n
x
p. Con trng
n x
p c dung lng 1 byte trn cc vi i
u khi
n nhh
n,
ch
ng h
n nhlo
i AT90S8515. Byte trn cc bxl ln hn, ch
ng h
n nh
lo
i AT90S8515. Con trng
n x
p c
n ph
i
c khi t
o sau khi Reset v
tr
c khi ng
n x
p c th
c sdng. Cc bvi xl ny khng c bnh
SRAM trn chip, ch
ng h
n nhlo
i AT90S1200. Ng
n x
p b
ng ph
n cng

c thi
t k
lu trcc
a chtrl
i chng trnh. Mt ng
n x
p b
ng
ph
n cng ny chc thlu tr

n 3
a chtrl
i.
d. BnhSRAM bn ngoi.
c tnh ny chc cc bxl cln trong hvi

i
u khi
n AVR. Cc bxl ny c cc cng
truy nh
p bnhv dli
u
bn ngoi (ch
ng h
n nhAT90S8515) c thsd
ng b
t kbnhSRAM
ngoi no m ngi dng c thty quy
t
nh khi thi
t k
.
e. EEPROM : bnhEEPROM c s
n trn h
u nht
t ccc lo
i vi
i
u khi
n
hAVR v
c truy nh
p theo m
t b
n
bnhtch bi
t.
a chb
t
u
ca bnhEEPROM lun l $0000. Cc bxl khc nhau c t64 byte
n
4 kbyte bnhEEPROM. BnhEEPROM c th
c c v ghi b
i b
t k
chng trnh no. V
c bnhEEPROM di
n ra nhanh hn vi
c ghi vo b
nhEEPROM. BnhEEPROM c thghi vo
c kho
ng 100.000 l
n.

Chng 2: T
ng quan vvi i
u khi
n AVR

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 12

2.3.3. Stchc bnhtrong AVR 90S8515


Bnhchng trnh

Bnhdli
u
$000

BnhFlash
(4K x 16)

32 thanh ghi
a mc ch

Bnhdli
u

$0000

$000

$001F
$0020
EEPRROM
(512 x 8)

64 thanh ghi
Input/Output
$005F
$0060

$1FF

SRAM ngoi
(512 x 8)

$025F

$FFF
Hnh 2.4 Stchc bnhtrong vi i
u khi
n 90S8515

2.3.4 Cc thanh ghi trong AVR


T
t ccc vi i
u khi
n hAVR
u c 32 thanh ghi
a n
ng. Mt strong cc thanh
ghi ny cn c cc chc n
ng ring, bxung. Cc thanh ghi
c
t tn tR0
n
R31. T
p thanh ghi

c tch thnh 2 ph
n, mi ph
n c 16 thanh ghi, nh tR0

n
R15 v tR16

n R31. T
t ccc l
nh thao tc trn thanh ghi

u c thtruy nh
p
trc ti
p v truy nh
p trong chng trnh
n
n t
t ccc thanh ghi. Nhng c mt
ngo
i ll cc l
nh SBCI, SUBI, CPI, ANDI, ORI cng nhl
nh WI cc l
nh ny ch
tc
ng
n cc thanh ghi R16

n R31.

Chng 2: T
ng quan vvi i
u khi
n AVR

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 13

2.3.5. T
p thanh ghi ca vi i
u khi
n AVR

Hnh 2.5 Stchc thanh ghi ca vi i


u khi
n AT90S8515

Cc thanh ghi R0 v R26

n R31 c cc chc n
ng bxung. Thanh ghi R0

c s
dng trong cc l
nh n
p bnhchng trnh LPM (load program memory), trong khi
cc thanh ghi R26

n R31
c sdng lm cc thanh ghi con tr. Cc thanh ghi con
trny

c sdng trong nhi


u l
nh gin ti
p dng cho thanh ghi (register indirect
instruction).
Chng cn c cc tn X, Y v Z

c cho bi hnh sau :

Hnh 2.6 C
u trc cc thanh ghi con trca vi i
u khi
n AT90S8515

2.3.6. Bnhdli
u SRAM
Tchc bnhSRAM c miu tt
ng qut nhhnh bn di:

Chng 2: T
ng quan vvi i
u khi
n AVR

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 14

Hnh 2.7 Stchc bnhSRAM ca AT90S8515

608
a chbnhdli
u bao gm t
p thanh ghi, bnhI/O v SRAM ni. 96
a ch

u tin l t
p thanh ghi a dng v bnhI/O, 512
a chti
p theo l SRAM ni.
2.3.7. BnhI/O (Cc port)
B
ng 2.2 Vng I/O trong AT90S8515.

a chI/O
$3F ($5F)
$3E ($5E)
$3D ($5D)
$3B ($5B)
$3A ($5A)
$39 ($59)
$38 ($58)
$35 ($55)
$34 ($45)
$33 ($53)
$32 ($52)
$2F ($4F)
$2E ($4E)
$2D ($4D)
$2C ($4C)

Tn thanh
ghi I/O
SREG
SPH
SPL
GIMSK
GIFR
TIMSK
TIFR
MCUCR
MCUSR
TCCR0
TCNT0
TCCR1A
TCCR1B
TCNT1H
TCNT1L

Chc n
ng
Status REGister
Stack Pointer High
Stack Pointer Low
General Interrupt MaSK register
General Interrupt Flag Register
Timer/Counter Interrupt MaSK
Timer/Counter Interrupt Flag register
MCU general Control Register
MCU general Status Register
Timer/Counter0 Control Register
Timer/Counter0 (8-bit)
Timer/Counter1 Control Register
Timer/Counter1 Control Register
Timer/Counter1 High Byte
Timer/Counter1 Low Byte

Chng 2: T
ng quan vvi i
u khi
n AVR

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)
$2B ($4B)
$2A ($4A)
$29 ($49)
$28 ($48)
$25 ($45)
$24 ($44)
$21 ($41)
$1F ($3E)
$1E ($3E)
$1D ($3D)
$1C ($3C)
$1B ($3B)
$1A ($3A)
$19 ($39)
$18 ($38)
$17 ($37)
$16 ($36)
$15 ($35)
$14 ($34)
$13 ($33)
$12 ($32)
$11 ($31)
$10 ($30)
$0F ($2F)
$0E ($2E)
$0D ($2D)
$0C ($2C)
$0B ($2B)
$0A ($2A)
$09 ($29)
$08 ($28)

OCR1AH
OCR1AL
OCR1BH
OCR1BL
ICR1H
ICR1L
WDTCR
EEARH
EEARL
EEDR
EECR
PORTA
DDRA
PINA
PORTB
DDRB
PINB
PORTC
DDRC
PINC
PORTD
DDRD
PIND
SPDR
SPSR
SPCR
UDR
USR
UCR
UBRR
ACSR

Trang 15

Timer/Counter1 Output Compare


Timer/Counter1 Output Compare
Timer/Counter1 Output Compare
Timer/Counter1 Output Compare
T/C 1 Input Capture Register
T/C 1 Input Capture Register
Watchdog Timer Control Register
EEPROM Address Register High
EEPROM Address Register Low
EEPROM Data Register
EEPROM Control Register
Data Register, Port A
Data Direction Register, Port A
Input Pins, Port A
Data Register, Port B
Data Direction Register, Port B
Input Pins, Port B
Data Register, Port C
Data Direction Register, Port C
Input Pins, Port C
Data Register, Port D
Data Direction Register, Port D
Input Pins, Port D
SPI I/O Data Register
SPI Status Register
SPI Control Register
UART I/O Data Register
UART Status Register
UART Control Register
UART Baud Rate Register
Analog Comparator Control and Status

2.3.8. Thanh ghi trng thi (Status Register SREG)


Thanh ghi tr
ng thi trong AT90S8535 n
m trong vng I/O c

a ch$3F, c m t
nhsau :

Hnh 2.8 Cu trc thanh ghi tr


ng thi - SREG

Chng 2: T
ng quan vvi i
u khi
n AVR

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 16

Bit 7 I : Cho php ng


t ton c
c (Global Interrupt Enable). Bit cho php ng
t ton
cc ph
i
c thi
t l
p b
ng 1 cc ng
t
c cho php. Khi bit I

c thi
t l
p b
ng
1, tng ng
t ring ll
i
c i
u khi
n bi cc thanh ghi chc n
ng ring. Khi bit I b
xa, t
t ccc ng
t ring lsbc
m cho d chng c
c cho php bi cc thanh
ghi chc n
ng ring. Bit I bxa b
ng ph
n cng ngay sau khi c m
t ng
t c v
n
hnh (vo chng trnh ng
t), v n c thi
t l
p b
ng 1 trl
i khi g
p l
nh RETI

cho php nhng ng


t ti
p theo.
Bit 6 T : Bit truy
n hay ctruy
n (Bit Copy Storage). L
nh copy bit BLD (Bit
LoaD) v BST (Bit Store) sdng bit T ngu
n v
ch c
a sv
n hnh. Mt bit
tmt thanh ghi trong t
p thanh ghi c th
c sao chp sang bit T b
ng l
nh BST,
v ni dung ca bit T c th

c sao chp sang mt bit trong mt thanh ghi c


a t
p
thanh ghi b
ng l
nh BLD.
Bit 5 H : Cmang m
t na hay cnhmt na (Half carry Flag). Bo cho bi
t s
nhm
t na trong m
t vi l
nh sh
c.
Bit 4 S : Bit d
u hay Cd
u (Sign Bit), S = N V.Bit d
u l k
t quca php EX-OR
gia cph
nh N v ctrn b hai V.
Bit 3 V : Ctrn php l
y b 2 (Twos Complement Overflow Flag). CV htr
cho cc php ton l
y b 2.
Bit 2 N : Cph
nh (Negative Flag) bo k
t quph

nh(m) tmt sv
n hnh
logic ho
c sh
c.
Bit 1 Z : CKhng hay cZer (Zero Flag) Bo k
t qul zero tmt sv
n hnh
logic ho
c sh
c.
Bit 0 C : Cnh(Carry Flag) Bo hi
u c nhtrong php logic ho
c sh
c.
Ch : Thanh ghi tr
ng thi SREG skhng
c lu trt
ng khi vo chng
trnh ng
t, cng nhkhng
c trl
i ( hay phc h
i ) khi thot khi chng trnh
ng
t. Cho nn ngi dng ph
i xl
i
u ny b
ng ph
n m
m

m b
o chng
trnh ch
y ng.
2.3.9. Con trngn x
p SP (Stack Pointer)

Hnh 2.9 C
u trc con trngn x
p - SP

Chng 2: T
ng quan vvi i
u khi
n AVR

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 17

Con trng
n x
p AVR 16-bit
c xy dng g
m 2 thanh ghi 8-bit trong vng khng
gian $3E($5E) v $3D($5D). AT90S8515 htr

n 64Kb cho SRAM ngoi cho vi


c
sdng h
t 16 bits.
2.3.10. Sdng ngt trong AT90S8515
AT90S8515 cung c
p 16 ngun ng
t khc nhau. Mi ng
t c mt vectch
ng trnh
ring trong khng gian bnhchng trnh. Cc ng
t
c cho php bi tng bit cho
php ng
t ring lv
c qu
n l bit bit cho php ng
t ton c
c. cho php m
t
ng
t no th bit cho php ng
t ring ca n ph
i
c thi
t l
p ln 1 v
ng th
i bit
cho php ng
t ton cc( bit I trong thanh ghi tr
ng thi) ph
i

c thi
t l
p ln 1. Khi
bit cho php ng
t ton cc I bxa th t
t ccc ng
t sbc
m.
Nhng
a chth
p nh
t trong khng gian bnhchng trnh c

nh ngh
a (m
t
cch t
ng) nhl nhng vectng
t v Reset. B
ng bn di sli
t k
a chc
a
cc vectng
t v Reset. Ta c
ng c thda vo b
ng ny
xc
nh mc
u tin
ca cc ng
t khc nhau.
a chth
p hn th mc
u tin scao hn. Ch
ng h
n
theo b
ng ta th
y, RESET c mc u tin cao nh
t, k
n l INT0,
B
ng 2.3 B
ng
a chcc ng
t c
a vi
i
u khi
n

a ch
S
chng
Ngun
tt
trnh

nh ngh
a ng
t
ph
n

cng,

do

ngun,

$000

RESET

Do Reset
Watchdog

$001

INT0

Yu c
u ng
t bn ngoi trn chn INT0

$002

INT1

Yu c
u ng
t bn ngoi trn chn INT1

$003

TIMER1 CAPT

Ski
n b
t s
ng Timer/counter1

$004

TIMER1
COMPA

So snh A Timer/counter1

$005

TIMER1
COMPB

So snh B Timer/counter1

$006

TIMER1 OVF

Trn Timer/counter1

$007

TIMER0 OVF

Trn Timer/counter0

$008

SPI, STC

Hon thnh truy


n n
i ti
p SPI

10

$009

UART, RX

Nh
n hon thnh UART

11

$00A

UART. UDRE

Thanh ghi dli


u UART rng

12

$00B

UART, TX

Pht hon thnh UART

13

$00C

ANA_COMP

Do bso snh Analog

Chng 2: T
ng quan vvi i
u khi
n AVR

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 18

2.3.11. Reset
Cc ngun Reset
Vi
i
u khi
n AT90S8515 c ba ngu
n Reset l:
Reset do ngun (Power-on Reset) : MCU s
c Reset khi ngun cung c
p th
p hn
ng
ng Reset VPOT.
Reset bn ngoi (External Reset) : MCU sbReset khi c mc th
p trn chn Reset
trong kho
ng thi gian ln hn 50ns.
Reset do Watchdog (Watchdog Reset) : MCU sbReset khi chu kthigian
Watchdog k
t thc v Watchdog c cho php.
Trong sut thi gian Reset, t
t ccc thanh ghi I/O s
c
t vgi trm
c

nh c
a
n v chng trnh b
t
u thi hnh t
a ch$000. L
nh
t t
i
a ch$000 ph
i l
m
t l
nh nh
y RJMP
n chng trnh xl Reset. N
u chng trnh khng bao gi
sdng
n cc ngun ng
t, cc
a chvectng
t khng
c sdng th m chng
trnh thng thng c thc

t cc
a chvectng
t ny.

Hnh 2.10 SvectngtRESET

2.3.12. Ng
t
AT90S8515 c hai thanh ghi i
u khi
n che ng
t 8-bit GIMSK (General Interrupt
Mask register: Thanh ghi che ng
t chung) v TIMSK (Timer/counter Interrupt Mask
register : thanh ghi che ng
t Timer/counter).
Khi m
t ng
t x
y ra (chng trnh ng
t
ang
c thi hnh) th m
c

nh bit cho php


ng
t ton cc I bxa v0 v t
t ccc ng
t bc
m. Tuy nhin, ngi sdng c th
dng ph
n m
m thi
t l
p ln 1, bit I
cho php cc ng
t l
ng vo. Bit cho php

Chng 2: T
ng quan vvi i
u khi
n AVR

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 19

ng
t ton c
c I s
c thi
t l
p trl
i b
ng 1 khi MCU thot khi chng trnh ng
t
(g
p l
nh RETI).
Khi b

m chng trnh
c

t
n
a chvectng
t thc sthi hnh chng
trnh xl ng
t, ph
n cng sxa ctng ng pht sinh ng
t ny. M
t vi cng
t
cng c th
c xa b
ng cch vi
t mc logic 1
n vtr bit tng ng c
a c.
N
u i
u ki
n ng
t x
y ra khi bit cho php ng
t t
ng ng bxa b
ng 0, th cng
t
ny sc thi
t l
p ln 1 v nhcho

n khi ng
t ny
c cho php ho
c l cb
xa bi ph
n m
m.
N
u m
t ho
c nhi
u ng
t x
y ra khi bit cho php ng
t ton c
c bxa, th cc cng
t
tng ng s

c thi
t l
p ln 1 v nhcho
n khi bit cho php ng
t ton c
c I
c
thi
t l
p ln 1 v cc ng
t sthi hnh theo mc u tin.
Ch : Thanh ghi tr
ng thi SREG skhng c lu trt
ng khi vo chng
trnh ng
t, cng nhkhng
c trl
i ( hay phc h
i ) khi thot khi chng trnh
ng
t. Cho nn ngi dng ph
i xl
i
u ny b
ng ph
n m
m

m b
o chng
trnh ch
y ng.
2.3.13. Thanh ghi che ngt chung GIMSK (General Interrupt Mask Register)

Hnh 2.11 Cu trc thanh ghi che ng


t - GIMSK

Bit 7 INT1 (External Interrupt Request 1 Enable) Cho php ng


t ngoi trn chn
INT1. Khi bit INT1 c thi
t l
p ln 1 v I = 1 th ng
t ngoi trn chn INT1
c
cho php. quy

nh ng
t ngoi INT1 c kch ho
t bi c
nh ln hay c
nh xu
ng
hay kch ho
t mc ta sd
ng hai bit ISC10 v ISC11 trong thanh ghi MCUCR. Ng
t
trn chn INT1 c thkch ho
t ngay ckhi chn ny
c c
u hnh l ng ra (output).
Ng
t INT1 s
c thi hnh t
i

a chbnhchng trnh l $002.


Bit 6 INT0 (External Interrupt Request 0 Enable) Cho php ng
t ngoi trn chn
INT0. Khi bit INT0 c thi
t l
p ln 1 v I = 1 th ng
t ngoi trn chn INT0
c
cho php. quy

nh ng
t ngoi INT0 c kch ho
t bi c
nh ln hay c
nh xu
ng
hay kch ho
t mc ta sd
ng hai bit ISC00 v ISC01 trong thanh ghi MCUCR. Ng
t
trn chn INT0 c thkch ho
t ngay ckhi chn ny
c c
u hnh l ng ra (output).
Ng
t INT0 s
c thi hnh t
i

a chbnhchng trnh l $001.


Bit 5 .. 0 (Reserved Bits) cc bit ny l bit dtrtrong AT90S8515 v lun c
c
l 0.

Chng 2: T
ng quan vvi i
u khi
n AVR

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 20

2.3.14. Thanh ghi cngt chung GIFR (General Interrupt Flag Register)

Hnh 2.12 C
u trc thanh ghi cng
t chung - GIFR

Bit 7 INTF1 (External Interrupt Flag1) Cng


t ngoi trn INT1. Khi sthay

i
ca c
nh xung ho
c mc logic trn chn INT1 c
ng kch (trigger) mt ng
t, th c
INTF1 s
c thi
t l
p ln 1. Cny lun lun
c xo v0 khi chn ny c c
u
hnh cho cc ng
t mc th
p. Tr
ng thi ca mt ng
t mc th
p c th
c xc
nh
b
ng vi
c
c gi trthanh ghi PIN.
N
u bit I trong thanh ghi tr
ng thi SREG b
ng 1 v bit INT1 trong thanh ghi GIMSK
b
ng 1, khi c tc
ng ng
t th MCU snh
y

n
a chng
t $002.
i vi cc ng
t
do sthay
i mc logic v c
nh, cng
t sc xa khi ch
ng trnh ng
t c thi
hnh.
ng th
i, cny cng c th
c xa b
ng cch vi
t mc logic 1 ln n.
Bit 6 INTF0 (External Interrupt Flag 0) Cng
t ngoi trn INT0. Khi sthay

i
ca c
nh xung ho
c mc logic trn chn INT0 c tc
ng kch (trigger) mt ng
t, th
cINTF0 s
c thi
t l
p ln 1. Cny lun lun c xo v0 khi chn ny
c
c
u hnh cho cc ng
t mc th
p. Tr
ng thi c
a m
t ng
t mc th
p c th

c xc

nh b
ng vi
c
c gi trthanh ghi PIN.
N
u bit I trong thanh ghi tr
ng thi SREG b
ng 1 v bit INT0 trong thanh ghi GIMSK
b
ng 1, khi c tc
ng ng
t th MCU snh
y

n
a chng
t $001.
i vi cc ng
t
do sthay
i mc logic v c
nh, cng
t sc xa khi ch
ng trnh ng
t c thi
hnh.
ng th
i, cny cng c th
c xa b
ng cch vi
t mc logic 1 ln n.
Bit 5 .. bit 0 (Reserved bits) cc bit ny l bit dtrtrong AT90S8515 v lun
c

c l 0.
2.3.15. Thanh ghi che ngt Timer/counter TIMSK (Timer/counter Interrupt
Mask Register)

Hnh 2.13 C
u trc thanh ghi che ng
t Timer/Counter - TIMSK

Chng 2: T
ng quan vvi i
u khi
n AVR

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 21

2.3.16. Thanh ghi cng


t Timer/counter TIFR (Timer/counter interrupt Flag
Register)

Hnh 2.14 C
u trc thanh ghi cng
t Timer/Counter - TIFR

2.3.17. Thanh ghi i


u khi
n MCU MCUCR (MCU Control Register)

Hnh 2.15 C
u trc thanh ghi iu khi
n MCU - MCUCR

Bit 7 Reserved bit : Bit ny l mt bit

t trong AT90S8535 v lun c


c l 0.
Ta khng quan tm

n n.
Bit 6 SE (Sleep Enable) Cho php ng. Bit SE ph
i c thi
t l
p (b
ng1) b
t
bu
c MCU vo ch
ngkhi l
nh SLEEP c thi hnh. trnh tr
ng h
p MCU
vo ch
ngm khng do m
c ch c
a ngi l
p trnh, bit SE ch
c thi
t l
p
ln 1 trc khi thi hnh l
nh ngSLEEP.
Bit 5, 4 SM1/SM0 (Sleep Mode Select Bits 1 and 0) Cc bit chn chng
. Vi
c
thi
t l
p hai bit ny cho php MCU ch
n 1 trong 3 ch
ngnhsau :
B
ng 2.4 Thi
t l
p ch
SLEEP cho vi i
u khi
n.
SM1
SM0
Chng
0

Idle : ngh

Khng sdng

Power down : ngun gi


m

Power save : ngu


n dtr

Bit 3, 2 ISC11, ISC10 (Interrupt Sense Control 1 Bits 1 and 0) cc bit i


u khi
n
nh
n ng
t INT1
Ng
t ngoi 1

c kch ho
t trn chn INT1 n
u bit I trong thanh ghi tr
ng thi
c
thi
t l
p ln 1 v bit che ng
t tng ng (bit cho php ng
t) trong thanh ghi GIMSK

Chng 2: T
ng quan vvi i
u khi
n AVR

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 22

c thi
t l
p ln 1. Kch ho
t chn INT1 bi cc c
nh ho
c mc th
p l do sthi
t
l
p hai bit ISC11 v ISC10 quy
t
nh.
B
ng 2.5 Thi
t l
p ng
t ngoi INT1 cho vi i
u khi
n.
ISC11 ISC10 Miu t
0
0
Mc th
p trn chn INT1 pht m
t yu c
u ng
t
0
1
Khng sdng
1
0
C
nh xu
ng trn chn INT1 pht m
t yu c
u ng
t
1
1
C
nh ln trn chn INT1 pht mt yu c
u ng
t.
Gi trtrn chn INT1
c l
y m
u trc khi cc c
nh
c pht hi
n. N
u ng
t c
nh

c ch
n, nhng xung ko di hn 1 chu kxung
ng hCPU spht sinh mt
ng
t. Nhng xung ng
n hn th khng b
o
m spht sinh m
t ng
t. N
u ng
t mc
th
p
c ch
n, mc th
p ph
i

c gicho

n khi MCU hon thnh l


nh
ang lm
v pht sinh mt ng
t. N
u
c cho php, m
t ng
t kch ho
t mc spht sinh mt
yu c
u ng
t na mi
n l chn ny
c gimc th
p.
Bit 1,0 ISC01, ISC00 (Interrupt sense control 0 bit 1 and bit 0) cc bit i
u khi
n
nh
n ng
t INT0.
Ng
t ngoi 0

c kch ho
t trn chn INT0 n
u bit I trong thanh ghi tr
ng thi
c
thi
t l
p ln 1 v bit che ng
t tng ng (bit cho php ng
t) trong thanh ghi GIMSK

c thi
t l
p ln 1. Kch ho
t chn INT0 bi cc c
nh ho
c mc th
p l do sthi
t
l
p hai bit ISC01 v ISC00 quy
t
nh.
B
ng 2.6 Thi
t l
p ng
t ngoi INT0 cho vi i
u khi
n.
ISC01 ISC00 Miu t
0

Mc th
p trn chn INT0 pht m
t yu c
u ng
t

Khng sdng

C
nh xu
ng trn chn INT0 pht m
t yu c
u ng
t

C
nh ln trn chn INT0 pht mt yu c
u ng
t.

Gi trtrn chn INT0


c l
y m
u trc khi cc c
nh
c pht hi
n. N
u ng
t c
nh

c ch
n, nhng xung ko di hn 1 chu kxung
ng hCPU spht sinh mt
ng
t. Nhng xung ng
n hn th khng b
o
m spht sinh m
t ng
t. N
u ng
t mc
th
p
c ch
n, mc th
p ph
i

c gicho

n khi MCU hon thnh l


nh
ang lm
v pht sinh mt ng
t. N
u
c cho php, m
t ng
t kch ho
t mc spht sinh mt
yu c
u ng
t na mi
n l chn ny
c gimc th
p.
2.4. C
u to v l thuy
t chung Timer/Counter
Vi i
u khi
n AT90S8535 c t
t c ba timer/counter khc nhau g
m hai
timer/counter 8 bit v m
t timer/counter 16 bit. Timer/counter2 c th
c ch
n
ngun clock khng
ng btdao
ng bn ngoi. Dao
ng ny
c t
i u ho
Chng 2: T
ng quan vvi i
u khi
n AVR

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 23

khi sd
ng th
ch anh
ng h32.768 Khz, khi
Timer/counter2 c sdng
nhm
t
ng hthi gian thc (RTC : real timer clock). Timer/counter 0 v 1 c
bchia t
n sring, n c thchia t
n sg
n nhmt bchia t
n s10bit.
Timer/counter 2 th c m
t bchia ring ca n. Cba Timer/counter ny c th

c sd
ng nhm
t b
nh thi (timer) vi n
n xung clock bn trong c
a h
th
ng ho
c c thsdng nhb

m (counter) vi ngun xung kch (trigger) bn


ngoi.
2.4.1. Bchia Timer/counter
C
u t
o bchia Timer/counter 0 v 1:

Hnh 2.16 Sbchia Timer/Counter

2.4.2. Timer/counter 0
Timer/counter0 l Timer/counter 8 bit, c thchn ngun xung clock tCK, bchia
t
n sCK ho
c tmt chn bn ngoi. Ta cng c thcho dng Timer/counter0 nh
b
ng miu tchc n
ng ca thanh ghi i
u khi
n Timer/counter 0 TCCR0. Ctr
ng
thi trn Timer/counter0 th c thtm th
y trong thanh ghi TIFR. Tn hi
u i
u khi
n
Timer/counter0 ta c ththi
t l
p trong thanh ghi TCCR0. thi
t l
p ng
t trong
Timer/counter0 ta c ththi
t l
p cc bit trong thanh ghi TIMSK.
Khi Timer/counter 0 l
y ngun clock tbn ngoi, tn hi
u bn ngoi ny s
c

ng bvi t
n sca CPU.

m b
o sl
y m
u chnh xc tn hi
u bn ngoi, t
n
sxung clock t
i a bn ngoi l CK/2. Tn hi
u xung clock bn ngoi
c l
y m
u
c
nh ln ca xung clock CPU.
Timer/counter 0 l Timer/counter
n gi
n nh
t trong ba Timer/counter bi v n
khng c chc n
ng no khc ngoi vi
c
nh thi v
m xung.
Chng 2: T
ng quan vvi i
u khi
n AVR

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 24

S
kh Timer/counter 0

Hnh 2.17 STimer/Counter0

a. Thanh ghi i
u khi
n TIMER/COUNTER0 TCCR0

Hnh 2.18 C
u trc thanh ghi i
u khi
n Timer/Counter0 TCCR0

Bit 7..3 : y l nhng bit dtrtrong AT90S8515 v n lun


c
c l gi tr0.
Bit 2,1,0: l 3 bit la ch
n xung cho C/T da vo b
ng sau
y :
B
ng 2.7 Thi
t l
p thanh ghi
i
u khi
n Timer/Counter0
CS02
CS01
CS00
Description
0
0
0
Stop the timer/counter0 is stopped
0
0
1
CK
0
1
0
CK/8
0
1
1
CK/64
1
0
0
CK/256
1
0
1
CK/1024
1
1
0
External Pin T0, falling edge
1
1
1
External Pin T0, rising edge

Chng 2: T
ng quan vvi i
u khi
n AVR

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 25

b. Thanh ghi TIMER/COUNTER0 TCNT0

Hnh 2.19 C
u trc thanh ghi Timer/Counter0 TCNT0

y l thanh ghi cha gi trc


a Timer/counter 0. Timer/counter 0
c xem nhm
t
b

m ln vi struy c
p
c / vi
t. N
u Timer/counter 0 c vi
t mt gi trno

v ngun clock c chn (TCCR0 khc 0), Timer/counter 0 sti


p t
c
m ln
cho

n khi n
n gi trmaxval=$ff v n sbtrn v gi trTimer/counter 0 b
Reset v$00 ( khi cTOV0 s
c set ).

Chng 2: T
ng quan vvi i
u khi
n AVR

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 26

2.4.3. Timer/counter1 (Timer/counter 16 bits)


C l
y l Timer/counter phc t
p v kh sdng nh
t trong ba Timer/counter.
S
nguyn l Timer/counter 1:

Hnh 2.20 STimer/Counter1

imer/counter1 c thch
n ngun clock tCK, bchia t
n sCK ho
c tmt chn bn
ngoi. Khi
ta c thdng Timer/counter1 nhmiu tchc n
ng trong thanh ghi

i
u khi
n Timer/counter1 (TCCR1A v TCCR1B). Cc ctr
ng thi khc nhau (c
trn TOV1, cso snh OCF1A, OCF1B v cb
t sng ng vo ICF1) c thtm th
y
trong thanh ghi TIFR. Tn hi
u i
u khi
n Timer/counter1 c th
c thi
t l
p trong
TCCR1A v TCCR1B. thi
t l
p cc ng
t do Timer/counter1 ta thi
t l
p cc bit
trong thanh ghi TIMSK.
Chng 2: T
ng quan vvi i
u khi
n AVR

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 27

Khi Timer/counter1 sdng ngu


n clock bn ngoi,

m b
o sl
y m
u chnh xc
t
n stia c
a ngu
n clock bn ngoi l CK/2.
Timer/counter1 htrhai chc n
ng so snh ng ra sdng thanh ghi OCR1A v
OCR1B nh ngun d li
u so snh vi n
i dung cha trong thanh ghi
Timer/counter1: TCNT1 (g
m TCNT1H v TCNT1L). Trong nhng i
u ki
n
c bi
t
ta khng thi
u khi
n strn ca timer, th ng
t do so snh ng ra c thc s
dng. Thanh ghi so snh ng ra OCRx c th
c n
p vi gi trn
m trong kho
ng
[0..maxval] (maxval l gi trt
i a c
a Timer/counter ) v timer ski
m tra gi tr
ny t
i m
i chu kxung clock ca timer. Khi timer ti
n
n gi trso snh, cso snh
ng ra t
ng ng (OCFx) trong thanh ghi TIFR s
c set. Timer c thc

t c
u
hnh xo b
m v0 trong thi
i
m ny. Cc chn ng ra OC1x c thc
t
c
u hnh xo v0, thi
t l
p ln 1 ho
c thay
i t
ng sau m
i l
n so snh.
c
tnh ny r
t hu ch
ta c tht
o ra sng vung c t
n skhc nhau. N cho php
chng ta thc hi
n chc n
ng c
a mt DAC (digital to analog convertion). Ch
PWM (
i
u chr
ng xung) l mt ch
c bi
t thch hp
ta t
o ra cc d
ng
sng khc nhau. Timer/counter1 c th

c sdng nhm
t b
i
u chr
ng
xung 8, 9 ho
c 10 bit.
Timer/counter1 cn cung c
p m
t chc n
ng
c bi
t khc l chc n
ng b
t s
ng
ng vo. Trn vi
i
u khi
n AVR c mt chn kch (trigger) ski
n b
t s
ng ng
vo ICP (Input Capture Pin). Sthay
i mc tn hi
u trn chn ny slm cho gi tr
hi
n hnh trong timer c
c v lu tr trong thanh ghi b
t s
ng ng vo
ICR1(input capture register). Vo thi i
m ny, cb
t s
ng ng vo ICF1 trong
thanh ghi TIFR sc thi
t l
p ln 1. i
u ny cc khu ch trong vi
c o
r
ng
ca xung bn ngoi. Ngoi ra, bso snh Analog c
ng c th
c thi
t l
p ln 1

trigger ski
n b
t s
ng ng vo.
S
nguyn l chn ICP.

Hnh 2.21 Snguyn l chn ICP

y l thanh ghi timer/counter hi


n th
i. Mt gi tr n
p vo thanh ghi ny c s
dng lm gi trxu
t pht (b
t
u), v b
nh thi lm t
ng gi trny theo tng tn
hi
u xung nh
p c
a n n
u btimer/counter0 c cho php qua thanh ghi TCCR0.

Chng 2: T
ng quan vvi i
u khi
n AVR

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 28

Sau khi btimer/counter0 btrn, c

t l
i v$00 v ti
p t
c

m ti
p theo tng
tn hi
u xung nh
p timer/cuonter0.
a. Thanh ghi A i
u khi
n Timer/counter1

Hnh 2.22 C
u trc thanh ghi A i
u khi
n Timer/Counter1

Bit 7,6: Cc bit


i
u khi
n COM1A1 v COM1A0 quy
nh b
t ktc
ng no c
a
chn l
i ra kti
p theo mt l
n so snh trong btimer/counter1. B
t ktc
ng no
ca chn l
i ra

u
nh hng
n chn OC1 (Output Compare pin 1). y l m
t
chc n
ng la ch
n
i v
i cng I/O v bit i
u khi
n hng tng ng c
n ph
i
c

t thnh 1
i
u khi
n m
t chn l
i ra.
Bit 5,4 : COM1B1 v COM1B0 c chc n
ng tng tnhbit 7,6.
y vm
ch c
hai chc n
ng so snh.
B
ng 2.8 Thi
t l
p thanh ghi A i
u khi
n Timer/Counter1
COM1X1
COM1X1
Description
0
0
Timer/counter1 ng
t ra kh
i chn l
i ra
OC1X
0
1
Kim tra (toglle) li ra OC1X
1
0
Xa li ra OC1X thnh 0
1
1

t l
i ra OC1X thnh 1
Bit 3,2 : L cc bit dtrtrong AT90S8515 v lun
c
c gi tr0.
Bit 1,0 : Cc bit la ch
n bi
u chr
ng xung (Pulse Width Modulator). Cc bit
ny la chn thao tc PWM c
a btimer/counter1 c cho b
ng sau:
PWM11
0
0
1
1

PWM10
0
1
0
1

Description
Thao tc PWM ca timer/counter bc
m
PWM 8 bit
PWM 9 bit
PWM 10 bit

b. Thanh ghi B i
u khi
n Timer/counter1

Hnh 2.23 C
u trc thanh ghi i
u khin Timer/Counter1

Chng 2: T
ng quan vvi i
u khi
n AVR

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 29

Bit 7 : Khi bit ICNC1 bit bxa thnh 0 chc n


ng input capture trigger noise canceler
bc
m. M
ch input capture

c l
t tr
ng thi sn d
ng/ m
u tin
c l
y
m
u trn chn ICP (input capture pin) nh
c ch
nh. Khi bit ICNC1
c
t
thnh 1, 4 m
u uc l
y tr
n v
n
c
o trn chn ICP v t
t ccc m
u c
n ph
i
ph hp vmc High/Low vi thng skthu
t vinput capture trigger quy

nh cho
bit ICES. T
n sl
y m
u hi
n thi l t
n s
ng hXTAL.
Bit 6 : La ch
n sn input capture 1. Khi bit ICES1
c xa thnh 0, ni dung c
a
btimer/counter1
c truy
n
n thanh ghi ICR1 (input capture register), trn sn
m c
a chn ICP (input capture pin). Khi bit ICES1
c

t thnh 1 th n
i dung c
a
btimer/counter1

c truy
n
n thanh ghi ICR1 (input capture) trn sn dng
ca chn ICP.
Bit 5,4 : L cc bit dtrtrong AT90S8515 v lun
c
c gi trl 0
Bit 3 : Xa timer/counter1 theo l
n so snh (clear timer/counter1 on compare match).
Khi bit
i
u khi
n CTC1

c
t thnh 1 btimer/counter1 c Reset v$0000
trong chu trnh
ng hsau m
t l
n so snh. N
u bit i
u khi
n CTC1 bxa, th b
timer/counter1 ti
p tc

m v khng b
nh hng bi k
t qusau l
n so snh. Bi v
m
i l
n so snh c pht hi
n trong chu k
ng hCPU kti
p theo l
n tr
c, nn
chc n
ng ny sthc hi
n mt cch kh kh
n khi schia t
n scao h
n1
c s
dng cho b

nh thi. Khi schia t


n sb
ng 1 c sdng v thanh ghi so snh A

u
c
t thnh C th btimer s
c thi
t l
p nhsau :
|C-2|C-1| C | 0 | 1 |
Khi m bchia t
n
c
t schia thnh 8, b
nh thi s

m ging nhsau y :
|C-2, C-2, C-2, C-2, C-2, C-2, C-2, C-2|C-1, C-1, C-1, C-1, C-1, C-1, C-1, C-1| C,0
,0,0,0,0,0,0|
Bit 2,1,0 : l cc bit la ch
n ngu
n chia t
n sc
a btimer/counter1
B
ng 2.9 Thi
t l
p thanh ghi B i
u khi
n Timer/Counter1
CS12
CS11
CS10
Description
0
0
0
Stop the timer/counter1 is stopped
0
0
1
CK
0
1
0
CK/8
0
1
1
CK/64
1
0
0
CK/256
1
0
1
CK/1024
1
1
0
External Pin T1, falling edge
1
1
1
External Pin T1, rising edge

Chng 2: T
ng quan vvi i
u khi
n AVR

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 30

c. Thanh ghi Timer/counter1 TCNT1 (gm TCNT1H v TCNT1L)

Hnh 2.24 C
u trc thanh ghi Timer/Counter1-TCNT1

Thanh ghi 16 bit ny cha gi tr


c
em chia t
n sc
a btimer/counter 16 bit.

m b
o r
ng chai byte High v Low
c
c v ghi
ng thi khi kh
i CPU try
nh
p cc thanh ghi ny, vi
c truy nh
p c thc hi
n b
ng cch sdng m
t thanh
ghi t
m thi 8 bit (TEMP). Thanh ghi t
m thi ny cng
c sd
ng khi truy nh
p
OCR1A v ICR1. N
u chng trnh chnh v c
o
n chng trnh ng
t c
ng thc
hi
n vi
c truy nh
p

n cc thanh ghi b
ng cch sd
ng TEMP, th cc ng
t c
n ph
i
bc
m (disable) trong kho
ng thi gian truy nh
p tchng trnh chnh ho
c cc ng
t
truy nh
p n
u cc ng
t
c cho php l
i
TCNT1 Timer/Counter1 write : khi CPU ghi vo byte cao (High) TCNT1H, dli
u

ghi c

t vo trong thanh ghi TEMP. Ti


p theo khi kh
i CPU ghi byte th
p
TCNT1L, byte dli
u ny c k
t hp vi byte dli
u trong thanh ghi TEMP, v
ton b16 bit c ghi
ng thi vo thanh ghi TCNT1 Timer/Counter1. Do
byte
High TCNT1H c
n ph
i
c truy c
p trc tin
i vi thao tc ghi tr
n v
n thanh
thi 16 bit.
TCNT1 Timer/Counter1 read : khi khi CPU
c byte th
p TCNT1L, dli
u ca byte
th
p TCNT1L c gi ti CPU v dli
u ca byte cao TCNT1H bthay thtrong
thanh ghi TEMP. Khi kh
i CPU
c dli
u trong byte High TCNT1H th CPU nh
n
dli
u trong thanh ghi TEMP. Do byte th
p TCNT1L c
n ph
i
c truy nh
p
tr
c tin
i vi thao tc
c tr
n v
n thanh ghi 16 bit. Btimer/counter1 c thi
t
kho
t
ng nhm
t b
m ti
n ho
c ti
n/li (trong chPWM) vi thao tc
truy nh
p
c v ghi. N
u btimer/counter1 c ghi vo v mt ngu
n xung nh
p

c la chn th btimer/counter1 ti
p tc
m trong chu trnh
ng h
nh thi sau
khi n
c
t trc (Reset) b
ng gi tr

c ghi.

Chng 2: T
ng quan vvi i
u khi
n AVR

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 31

d. Thanh ghi so snh-A ng ra ca Timer/counter1 OCR1A (gm OCR1AH v


OCR1AL)

Hnh 2.25 C
u trc thanh ghi so snh A ng ra ca Timer/Counter1 - OCR1A

Thanh ghi so snh li ra (output compare register) l m


t thanh ghi
c/ghi 16 bit.
Thanh ghi OCR btimer/counter1 cha dli
u c
n c so snh lin t
c vi b
timer/counter1. Di
n bi
n c
a nhng l
n so snh (actions on compare matches)
c
ch

nh trn thanh ghi


i
u khi
n v tr
ng thi timer/counter1.
Bi v thanh ghi so snh l
i ra OCR1A l mt thanh ghi 16 bit nn m
t thanh ghi t
m
thi TEMP
c sd
ng khi ghi vo OCR1A b
o
m r
ng c hai byte

c c
p
nh
t
ng th
i. Khi CPU ghi byte cao OCR1AH dli
u

c lu trt
m thi trong
thanh ghi. Khi kh
i CPU ghi byte th
p OCR1AH thanh ghi TEMP c ghi
ng thi
vo OCR1AH. Do byte cao OCR1AH c
n ph
i
c ghi trc tin
i vi m
t
thao tc ghi trn v
n thanh ghi 16 bit. Thanh ghi TEMP cng c sd
ng khi truy
nh
p TCNT1 v ICR1. N
u chng trnh chnh v
o
n chng trnh ng
t (routine)
cng thc hi
n thao tc truy nh
p ln cc thanh ghi b
ng cch sdng TEMP, cc ng
t
c
n ph
i bc
m trong thi gian x
y ra qu trnh truy nh
p tchng trnh chnh ho
c
cc ng
t truy nh
p n
u cc ng
t
c cho php l
i.
e. Thanh ghi so snh-B ng ra ca Timer/counter1 OCR1B (gm OCR1BH v
OCR1BL)

Hnh 2.26 C
u trc thanh ghi so snh B ng ra ca Timer/Counter1 - OCR1B

Cc thanh ghi so snh l


i ra (output compare) l cc thanh ghi
c/ghi 16 bit. Cc
thanh ghi so snh l
i ra btimer/counter1 cha dli
u

c so snh lin tc v
i
timer/counter1.
Di
n bi
n ca nhng l
n so snh c ch
nh trong thanh ghi i
u khi
n v tr
ng thi
timer/counter1. Mt l
n so snh chx
y ra n
u timer/counter1

n gi trOCR.
Chng 2: T
ng quan vvi i
u khi
n AVR

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 32

Mt ph
n m
m thc hi
n thao tc ghi,
t TCNT1 v OCR1A ho
c OCR1B thnh
cng gi tr
, skhng t
o ra m
t l
n so snh.
Mt l
n so snh s
t cng
t so snh trong chu k
ng hCPU kti
p theo ski
n
so snh. B
i v cc thanh ghi so snh l
i ra OCR1A v OCR1B l cc thanh ghi 16 bit,
nn mt thanh ghi t
m thi TEMP

c sd
ng khi OCR1A/B c ghi
b
o

m
l chai byte c c
p nh
t
ng th
i. Khi CPU ghi byte cao OCR1AH ho
c
OCR1BH dli
u c lu trt
m thi vo thanh ghi TEMP. Khi khi CPU ghi byte
th
p, OCR1AL ho
c OCR1BH thanh ghi TEMP ghi
ng thi vo OCR1AH ho
c
OCR1BH. Do
byte cao OCR1AH ho
c OCR1BH c
n ph
i
c ghi trc tin
i
vi m
t thao tc ghi trn v
n thanh ghi 16 bit.
f. Thanh ghi b
t s
ng ng vo Timer/counter1 ICR1H v ICR1L)

Hnh 2.27 C
u trc thanh ghi b
t sng ng vo ca Timer/Counter1

Thanh ghi Iput capture l m


t thanh ghi 16 bit ch

c. Khi sn dng ho
c sn
m (ph hp vi vi
c thi
t l
p sn input capture, ICES1) ca tn hi
u chn input
capture - ICP,
c pht hi
n gi trhi
n thi ca btimer/counter1 c truy
n
n
thanh ghi input capture ICR1. ng thi cinput capture ICF1 c
t thnh 1.
Bi v thanh ghi input capture ICR1 l mt thanh ghi 16 bit, nn mt thanh ghi t
m
thi TEMP
c sd
ng
khi ICR1 c
c c th

m b
o r
ng chai byte
c

c
ng thi. Khi CPU
c byte th
p ICR1L, dli
u
c gi
n kh
i CPU v d
li
u ca byte cao ICR1H c
t vo thanh ghi TEMP. Khi khi CPU
c dli
u
trong byte cao ICR1H khi CPU nh
n dli
u trong thanh ghi TEMP. Do byte th
p
ICR1H c
n ph
i c truy nh
p trc tin
i vi mt thao tc
c trn v
n thanh ghi
16 bit. Thanh ghi TEMP c
ng
c sdng khi truy nh
p TCNT1 v OCR1A. N
u
chng trnh chnh v c
o
n chng trnh ng
t thc hi
n vi
c truy nh
p

n cc
thanh ghi b
ng cch sdng TEMP, th cc ng
t c
n ph
i bc
m trong th
i gian truy
nh
p tchng trnh chnh ho
c cc ng
t truy nh
p n
u cc ng
t c cho php l
i.
g. TIMER/COUNTER1 trong chi
u chr
ng xung
Khi chPWM c ch
n, b
ng cch thi
t l
p Timer/counter1, thanh ghi so snh
ng ra OCR1A v thanh ghi so snh ng ra OCR1B, cc chn ng ra PD5 (OC1A)
/PD4 (OC1B) c thxu
t ra xung

c
i
u chPWM
ng pha ho
c ch
y khng
u
ho
c ch
y tdo 8bit, 9bit ho
c 10 bit. Timer/counter1 ho
t
ng nhmt b

m
ln/xu
ng,
m ln tgi tr$0000

n gi trTOP (xem b
ng sau), vkhi
n quay
trl
i
m vzero tr
c khi chu kny c l
p l
i. Khi gi tr
m b
ng gi tr10
Chng 2: T
ng quan vvi i
u khi
n AVR

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 33

bit c tr
ng s th
p nh
t trong thanh ghi OCR1A ho
c OCR1B, Cc chn
PD5(OC1A)/PD4(OC1B)
c thi
t l
p ln mt ho
c xo v0 tuthu
c vo cch
thi
t l
p cc bit COM1A1/COM1A0 ho
c COM1B1/COM1B0 trong thanh ghi
i
u
khi
n Timer/counter1 (TCCR1A).
B
ng 2.10 Gi trTOP v t
n sPWM

FTCK1 chnh l t
n sxung nh
p ca Timer/counter1.
Ch r
ng n
u thanh ghi so snh cha gi trTOP v bchia khng
c sd
ng
(khi
t
n s
m c
a b

nh thi l CK b
ng cch thi
t l
p : CS12 CS11 CS10 =
001), ng ra PWM skhng sinh ra b
t kxung no bi v gi tr
m ln v

m
xu
ng
c ti
n

n ngay tc th. Khi bchia


c sd
ng (CS12 CS11 CS10 001
ho
c 000), ng ra PWM
c kch ho
t khi b
m ti
n

n gi trTOP nhng trong


so snh khi

m xu
ng (lc b

m ti
n

n gi trTOP) th khng trng kh


p th
i
gian vi lc b
m g
p gi trTOP khi

m ln nn m
t chu kxung PWM
c
pht sinh. y l v
n
hi kh hi
u, nhng n
u ta ng
m nghkv xem l
i ph
n
thanh ghi i
u khi
n Timer/counter1 TCCR1B th ta sth
y i
u ny hon ton
ng.
Ch
n chso snh 1 trong PWM
B
ng 2.11 Thi
t l
p chso snh 1 trong PWM

Ch : X = A ho
cB
Mt
i
m lu khc l trong ch
PWM, 10 bits c trng sth
p trong thanh ghi
OCR1A/OCR1B, khi vi
t,
c truy
n
n m
t
a cht
m thi. Chng
c ch
t khi
Timer/counter1 ti
n

n gi trTOP. i
u ny ng
n ch
n spht sinh mt xung PWM
tha (khng

u, khng mong mun) do sv


n hnh ghi gi trln cc thanh ghi
OCR1A/OCR1B khng
c
ng b
.
Xem hnh bn di nhmt v d:
Synchronized : ng b
Unsynchronized : khng
ng b
.
Counter value : gi trb

m (timer)

Chng 2: T
ng quan vvi i
u khi
n AVR

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 34

Compare value : gi trso snh


Compare value changes : thay
i gi trso snh
PWM Output OC1X : chn ng ra PWM

Trong su
t thi gian gia hai sv
n hnh vi
t v cht, khi ta
c gi trtthanh ghi
OCR1A/OCR1B th gi tr
c
c sl ni dung c
a
a cht
m.
Khi thanh ghi OCR1A/OCR1B cha gi tr$0000 ho
c TOP, ng ra OC1A/OC1B

c c
p nh
t (updated)
n mc cao ho
c th
p vo l
n so snh ti
p theo tuthu
c
cch thi
t l
p c
a
COM1A1/COM1A0 ho
c COM1B1/COM1B0. i
u ny
c thhi
n trong b
ng sau
:

Ch : X = A ho
cB
Trong chPWM, Ctrn Timer/counter1 TOV1 c thi
t l
p ln 1 khi b

m
ti
n v gi tr$0000. Ng
t do trn Timer1 v
n ho
t
ng nhtrong ch
Timer/counter bnh th
ng. Ch
ng trnh ng
t do trn timer1 s
c thi hnh n
u c
TOV1
c thi
t l
p ln 1, bit cho php ng
t do trn Timer/counter1 TOIE1
c thi
t
l
p ln 1 v bit cho php ng
t ton c
cI
c thi
t l
p ln 1.

Chng 2: T
ng quan vvi i
u khi
n AVR

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 35

2.5. Watchdog Timer

Hnh 2.28 Sb
nh thiWatchdog

Thanh ghi i
u khi
n b
nh thi WATCHDOG :

Hnh 2.29 C
u trc thanh ghi i
u khi
n b
nh thi Watchdog

Bit 7..5 : y l cc bit dtrtrong AT90S8515 v lun


c
c gi tr
l 0
Bit 4 : (Watchdog turn off enable) bit ny
c sdng chung vi bit WDE. Bit ny

c
t thnh 1 khi WDE bxa thnh 0 c
m m
ch watchdog timer. Bxl xa
bit ny sau 4 chu k
ng h
.
Bit 3 : (Watchdog enable) khi

t thnh 1 m
ch watchdog timer
c cho php.
c
m m
ch watchdog, bit ny bxa thnh 0 v WDTOE
c

t thnh 1. c
m
m
ch watchdog timer, tht
c sau
y
c sd
ng : trong mt thao tc n l
,
t
WDTOE v WDE thnh 1. Xa WDE thnh 0 trong 4 chu k
ng hti
p theo. Sau

thao tc ny sc
m m
ch watchdog timer.
Bit 2..0: Gi trchia t
n s(watchdog timer prescaler). Cc bit ny
c sd
ng

la ch
n m
ch watchdog timer timeouts,
c cho theo b
ng di
y :
B
ng 2.12 Thi
t l
p b
nh thi Watchdog

Chng 2: T
ng quan vvi i
u khi
n AVR

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 36

2.6. Truy xut ghi/c EEPROM


Thi gian truy c
p vi
t ln bnhEEPROM n
m trong kho
ng 2.5 4 ms, phthu
c
vo
i
n p ngu
n nui. vi
t dli
u ln EEPROM ng
i dng c khuyn l nn
ki
m tra xem EEPROM
s
n sng
nh
n gi trmi cha. Khi CPU c
c,
CPU c t
m dng 4 chu ktrc khi cu l
nh kti
p c thi hnh. Khi EEPROM

c vi
t, CPU c t
m ngh2 chu ktrc khi cu l
nh ti
p theo c thi hnh.
2.6.1. Thanh ghi
a chEEPROM EEARH v EEARL (EEPROM Adress
Register)

Hnh 2.30 C
u trc thanh ghi
a chEEPROM

Thanh ghi
a chEEPROM (EEAR)
nh

a chtrong kho
ng 512-byte EEPROM.
Gi trca thanh ghi

a chEEAR n
m tuy
n tnh trong kho
ng t0
n 511.
2.6.2. Thanh ghi dli
u EEPROM EEDR (EEPROM Data Register)

Hnh 2.31 C
u trc thanh ghi dli
u EEPROM - EEDR

Thanh ghi ny scha dli


u khi EEPROM
c
c/vi
t. Khi v
n hnh vi
t, thanh
ghi EEDR cha dli
u
c vi
t

n EEPROM t
i
a chcha trong thanh ghi

Chng 2: T
ng quan vvi i
u khi
n AVR

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 37

EEAR. Khi v
n hnh c, thanh ghi EEDR cha dli
u
c ra tEEPROM t
i
a ch
cha trong thanh ghi EEAR.
2.6.3. Thanh ghi i
u khi
n EEPROM EECR (EEPROM Control Register)

Hnh 2.32 C
u trc thanh ghi i
u khin EEPROM - EECR

Bit 7..4 Res (Reserved Bits)


y l nhng bit dtr trong AT90S8515 v gi tr
c lun b
ng 0.
Bit 3 EERIE (EEPROM Ready Interrupt Enable)
Khi bit I trong thanh ghi SREG c thi
t l
p ln 1 v EERIE
c thi
t l
p ln 1,
ng
t do EEPROM s
n sng
c cho php. Khi bit ny b
ng 0 th ng
t ny bc
m.
Ng
t do EEPROM s
n sng pht ra m
t h
ng sng
t khi EEWE bxo v0.
Bit 2 EEMWE (EEPROM Master Write Enable)
Bt ny quy
nh sthi
t l
p bt EEWE =1 c l nguyn nhn
EEPROM c vi
t
hay khng. Khi bit EEMWE
c thi
t l
p ln 1, n
u EEWE
c thi
t l
p ln 1 th
dli
u sc ghi vo EEPROM t
i
a ch
ch
n. N
u bit EEWE khng
c thi
t
l
p ln 1(hay bxo = 0) th m
c d EEWE
c thi
t l
p ln 1 th sthi
t l
p ny
v
n khng c mt
nh hng no h
t. Bit EEMWE ph
i
c thi
t l
p ln 1 b
ng
ph
n m
m, ph
n cng st
ng xo bit ny v0 sau 4 chu kxung clock.
Bit 1 EEWE: EEPROM Write Enable
Khi dli
u

c n
p, v

a chc thi
t l
p
ng, bit EEWE ph
i c thi
t l
p
ln 1 vi
t EEPROM. Ph
i ch
c ch
n r
ng bit EEMWE ph
i
c thi
t l
p ln 1,
tr
c khi vi
t gi tr
n EEWE. Cc b
c sau c
n
c quan tm khi thc hi
n vi
t
dli
u
n EEPROM.
1.
2.
3.
4.
5.

i cho

n khi EEWE v0.


Vi
t
a chEEPROM m
i
n EEARL v EEARH (tuch
n).
Vi
t dli
u EEPROM mi

n EEDR (tuchn).
Vi
t mc logic 1
n bit EEMWE trong thanh ghi EECR.
Vo 4 chu kxung clock sau khi thi
t l
p EEMWE, vi
t mc logic 1
n
EEWE.

Chng 2: T
ng quan vvi i
u khi
n AVR

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 38

M
t ng
t x
y ra gia bc 4 v bc 5 slm cho chu kvi
t bli. trnh

i
u ny bit ng
t ton cc I ph
i bxo trong kho
ng thi ghi dli
u vo EEPROM.
Bit 0 EERE: EEPROM Read Enable
Khi
a chng
c thi
t l
p trong thanh ghi EEAR, bit EERE ph
i
c thi
t l
p
ln 1 yu c
u
c dli
u tEEPROM. Khi bit ny

c xo bi ph
n cng, dli
u
yu c
u c tm th
y trong thanh ghi EEDR. Struy c
p
c EEPROM chl
y m
t
m
t l
nh v khng c
n ph
i h
i vng (polling) bit EERE. Khi bit EERE
c
thi
t l
p ln 1, CPU t
m dng 4 chu ktrc khi thi hnh l
nh kti
p.
Ng
i dng c khuyn l nn h
i vng bit EEWE trc khi b
t
u sv
n hnh

c. N
u qu trnh vi
t
ang c xl (khi dli
u mi ho
c
a chmi c vi
t

n cc thanh ghi I/O EEPROM, sv


n hnh vi
t sbng
t v k
t quth khng th
xc

nh trc.

Chng 2: T
ng quan vvi i
u khi
n AVR

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 39

2.7. Giao ti
p thi
t bngo
i vi SPI
SPI (Serial peripheral interface) cho php truy
n dli
u
ng th
i t
c
cao gia
AT90S8515 vi thi
t vngo
i vi ho
c vi cc AVR khc
S
khiSPI :

Hnh 2.33 SkhiSPI ca vi i


u khin AT90S8515

2.7.1. Thanh ghi i


u khi
n SPI SPCR (SPI control register)

Hnh 2.34 C
u trc thanh ghi i
u khi
n SPI - SPCR

Bit 7: (cho php ng


t SPI) bit nylm cho m
t ng
t SPI ph
i c t
o ra n
u bit SPIF
trong thanh ghi SPSR
c
t v cc ng
t ton cc

c cho php.

Chng 2: T
ng quan vvi i
u khi
n AVR

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 40

Bit 6: (cho php SPI) khi bit ny c

t thnh 1 th SPI
c cho php.
Bit 5 : (
t thtdli
u) khi

t thnh 1, LSB c
a tdli
u c truy
n trc tin.
Khi bxa thnh 0, MSB ca tdli
u c truy
n trc tin.
Bit 4 : (Master/Slave select) khi
t thnh 1, c
ng SPI trong ch
ch(master mode)
v khi xa thnh 0, n l m
t cng slave. N
u nhchn SS c c
u hnh l li vo v

t xung mc th
p (Low) this bit MSTR sbxa thnh 0 v SPIF tong SPSR
s
c

t. Ngi dng sph


i

t MSTR thnh 1 m
t l
n na
b
t
u (kh
i

ng) nhl master.


Bit 3 : (clock polarity) khi

t thnh 1 th SCK l cao khi ngh(idle: khng c cng


vi
c xl) cn khi bxa thnh 0 th SCK l th
p khi khng c cng vi
c c
n xl.
Bit 2 : (clock phase) quy

nh pha kch ho
t ca xung nh
p.
Bit 1,0 : hai bit ny quy
nh t
c
ng hSCK khi
c
t c
u hnh nhl master.
Slin qua gia SCK v t
n sdao
ng f cl
c cho bi b
ng sau :
B
ng 2.13 Thi
t l
p t
n sdao
ng SCK
SPR1
SPR0
SCK Frequency
0
0
fcl/4
0
1
fcl/16
1
0
fcl/64
1
1
fcl/128
2.7.2. Thanh ghi trng thi SPI SPSR (SPI Status Register)

Hnh 2.35 C
u trc thanh ghi tr
ng thi SPI - SPSR

Bit 7 : SPIF (SPI interrupt flag) khi m


t chui dli
u
c chuy
n
i hon t
t, th
SPIF s

c thi
t l
p v m
t ng
t s
c pht ra, n
u SPIE v SPCR c thi
t l
p
v ng
t ton cc
c cho php.
Bit 6 : WCOL bit ny

c thi
t l
p n
u SPI thanh ghi dli
u c vi
t trong sutqu
trnh chuy
n
i. WCOL v SPIF
c xo b
ng cch
c thanh ghi tr
ng thi l
n

u tin khi WCOL

c thi
t l
p v dli
u

c truy c
p vo thanh ghi dli
u
Bit 5..0 : cc bit dtrtrong AT90S8515 v lun c
c gi trl 0.
2.7.3. Thanh ghi dli
u (SPI DATA REGISTER)

Chng 2: T
ng quan vvi i
u khi
n AVR

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 41

Hnh 2.36 C
u trc thanh ghi dli
u SPI

Thanh ghi dli


u dng

c hay l vi
t dli
u cho SPI
2.8. UART (Universal Asynchronous Receiver and Stransmitter)
Thu
t ngUART l vi
t t
t ca tUniversal Asynchronous Receiver and Transmitter,
t
m d
ch Btruy
n nh
n khng
ng ba n
ng. BUART c
a vi i
u khi
n
AT90S8535 c thh
at
ng nhmt btruy
n nh
n song cng, c ngh
a l ho
t

ng truy
n v nh
n c thti
n hnh
ng thi( n cha cc thanh ghi truy
n, nh
n
ring l
). Cc
c tnh chnh c
a bUART trong AT90S8535 c th

c tm t
t nh
sau:
Bpht t
c baud c tht
o ra m
t sln t
c
baud ( c ngh
a l c thd
dng t
o ra cc t
c baud khc nhau).
C tht
o ra cc t
c baud cao t
i t
n sth
ch anh th
p.
C thpht dli
u 8 ho
c 9 bit.
Cha bl
c nhi
u.
C thpht hi
n tr
ng thi Overrun.
C thpht hi
n khung truy
n bl
i.
C thpht hi
n bit Start sai.
Cho php ba ng
t ring ll TX Complete (khi truy
n xong m
t k t), TX Data
Rigister Empty (khi thanh ghi dli
u truy
n r
ng v s
n sng nh
n k tmi

truy
n
i), RX Complete (khi nh
n hon thnh m
t k t).

Chng 2: T
ng quan vvi i
u khi
n AVR

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 42

2.8.1. Pht dli


u trn UART
S
khibn pht :

Hnh 2.37 Skhipht dli


u trn UART

Qu trnh truy
n dli
u c kh
i
ng b
ng cch vi
t dli
u c
n truy
n
n thanh
ghi dli
u I/O c
a bUART, gi l thanh ghi UDR. Dli
u c truy
n tthanh
ghi UDR

n thanh ghi d
ch pht khi :
Mt k tmi
c vi
t

n UDR sau khi bit stop c


a k ttrc


c
d
ch ra ngoi. Thanh ghi d
ch s
c n
p gi trm
i ngay l
p tc.

Chng 2: T
ng quan vvi i
u khi
n AVR

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 43

Mt k tmi
c vi
t
n UDR trc khi bit stop tk ttrc
c d
ch
ra ngoi. Thanh ghi d
ch s
c n
p khi bit stop ca k thi
n ang truy
n

c d
ch ra ngoi.
N
u thanh ghi d
ch pht 10(11)-bit l r
ng, dli
u c truy
n tthanh ghi UDR
n
thanh ghi d
ch. Khi Bit cthanh ghi dli
u rng UDRE(UART Data Register
Empty) trong thanh ghi tr
ng thi UART, USR (UART Status Register)
c thi
t l
p
ln 1. Khi bit ny c thi
t l
p ln 1 th UART s
n sng nh
n k tti
p theo. Vo
cng thi i
m dli
u c truy
n tUDR

n thanh ghi d
ch 10(11)-bit, bit 0 c
a
thanh ghi d
ch c xa (bit start) v bit 9 ho
c 10
c thi
t l
p ln 1 (bit stop). N
u
ta mu
n truy
n dli
u 9 bit (bit dli
u 9 c thl bit ki
m tra ch
n /l
), th bit CHR9
trong thanh ghi
i
u khi
n UART: UCR (UART control register) ph
i
c thi
t l
p
ln 1. V bit TXB8 trong thanh ghi UCR c truy
n

n bit 9 trong thanh ghi d


ch
pht. Nhv
y bit dli
u 9 ph
i c cha trong bit TXB8 trong thanh ghi UCR.
Theo nh
p
ng htc baud cung c
p cho thanh ghi d
ch pht, bit start
c d
ch ra
ngoi

u tin trn chn TXD. Theo sau l cc bit dli


u, trong bit c trng sth
p
sc d
ch ra tr
c.V cu
i cng l bit stop c d
ch ra. Khi bit stop
c d
ch ra
ngoi, thanh ghi d
ch sc n
p gi trmi n
u nhc b
t kdli
u no
c vi
t

n thanh ghi UDR trong su


t thi gian truy
n. Trong thi gian n
p gi tr(load), bit
UDRE
c thi
t l
p ln 1. N
u khng c dli
u mi trong thanh ghi UDR truy
n

i khi bit stop c d


ch ra ngoi, cUDRE sduy tr tr
ng thi thi
t l
p ln 1 cho

n khi thanh ghi UDR


c vi
t gi trmt l
n na. Khi khng c dli
u m
i
c
ghi v bit stop trn chn TXD ng mt chi
u di bit, cpht hon thnh TXC
(TX Complete) trong thanh ghi USR c thi
t l
p ln 1.
Bit TXEN trong thanh ghi UCR khi thi
t l
p ln 1 th bpht UART mi
c cho
php. Khi bit ny bxa (tr
ng thi m
c

nh) th bpht UART khng c cho php


v chn TXD chc thsd
ng nhm
c
ch I/O thng thng. Khi bit TXEN
c
thi
t l
p ln 1, bpht UART s
c k
t ni
n chn TXD (PD1), v chn TXD tr
thnh chn ng ra, b
t ksthi
t l
p hng c
a bit DDD1 trong thanh ghi DDRD.

Chng 2: T
ng quan vvi i
u khi
n AVR

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 44

2.8.2. Nh
n dli
u trn UART
S
khibn nh
n:

Hnh 2.38 Skhi nhn dli


u trn UART

Bnh
n dli
u cha khi logic front-end c nhi
m vl
y m
u tn hi
u trn chn
RXD vi t
n sl
y m
u b
ng 16 l
n t
c
baud. Khi ng truy
n tr
ng thi ngh
(mc logic 1), n
u c schuy
n v0 th n
c xem l c
nh xung c
a m
t bit
start v tu
n tpht hi
n bit start
c khi
ng. V bnh
n cha khi logic frontend l
y m
u t
n sb
ng 16 l
n t
c
baud nn mt bit s
c l
y m
u 16 l
n.
Trong tr
ng hp ny, khi c schuy
n mc ttr
ng thi nghc
a ng truy
n
xu
ng mc 0, th tu
n tpht hi
n bit start sc
n cn
u trong ba l
n l
y m
u 8, 9
v 10 c
a bit start m hai (ho
c ba) l
n l mc logic 1, th bit start ny bl
ai bv

c xem nhm
t tn hi
u nhi
u, bnh
n b
t

u tm schuy
n tr
ng thi t1-
n-0
( 1 l tr
ng thi sau c
a bit stop chkhng ph
i l bit dli
u) ti
p theo.

Chng 2: T
ng quan vvi i
u khi
n AVR

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 45

Hnh 2.39 Ho
t ng ca UART

Khi bit stop


c a vo bnh
n, th hai ho
c ba trong 3 l
n l
y m
u ph
i l 1

nh
n bit stop hp l
. N
u trong ba l
n l
y m
u, m nhi
u h
n hai l
n l mc logic 0,
th cli khung truy
n FE (Framing Error) trong thanh ghi tr
ng thi UART( USR)

c thi
t l
p ln 1 (b
ng 1). Trc khi
c dli
u tthanh ghi dli
u UART
(UDR), ngi sdng nn ki
m tra bit FE
pht hi
n li khung truy
n.
C ho
c khng c gi trbit stop
c pht hi
n l hp lth dli
u cng s
c
truy
n
n UDR v cnh
n hon thnh RXC
c thi
t l
p ln 1. Thanh ghi UDR
thc ch
t l hai thanh ghi tch bi
t vm
t v
t l, m
t cho dli
u truy
n v mt cho d
li
u nh
n. Khi thanh ghi UDR c c th thanh ghi dli
u nh
n (the Receive Data
register)

c truy c
p, ngc l
i, khi thanh ghi UDR
c ghi th thanh ghi dli
u
pht (The transmit data register) c truy c
p.
N
u ta mun truy
n dli
u 9 bit, th bit CHR9 trong thanh ghi i
u khi
n UART
(UCR) ph
i
c thi
t l
p ln 1, v bit RXB8 trong thanh ghi USR sc n
p vo
bit 9 trong thanh ghi d
ch pht khi dli
u
c truy
n

n thanh ghi UDR. Bit dli


u
th9 ny s
c nh
n t
i bit RXB8 trong thanh ghi USC.
2.8.3. i
u khi
n UART
a. Thanh ghi dli
u I/O UART UDR (UART I/O Data Register)

Hnh 2.40 C
u trc thanh ghi dli
u I/O UART - UDR

Thanh ghi UDR thc ch


t l hai thanh ghi ring lvm
t v
t l nhng cng chia s

a chI/O gi
ng nhau. Khi vi
t

n thanh ghi ny th thanh ghi dli


u truy
n UART

c truy c
p. Cn khi
c thanh ghi ny th thanh ghi dli
u nh
n UART c truy
c
p.
b. Thanh ghi tr
ng thi UART USR (UART Status Register)

Hnh 2.41 Cu trc thanh ghi tr


ng thi UART - USR

y l thanh ghi chcho php struy c


p
c, cung c
p thng tin vtr
ng thi UART.
Chng 2: T
ng quan vvi i
u khi
n AVR

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 46

Bit 7 RXC: UART nh


n hon thnh (UART Receive Complete)
Bit ny c thi
t l
p ln 1 khi m
t k tnh
n c truy
n tthanh ghi d
c bnh
n

n UDR. Bit ny c thi


t l
p ln 1 b
t kl c x
y ra li khung truy
n hay khng.
Khi bit RXCIE trong thanh ghi i
u khi
n UCR c thi
t l
p ln 1, ng
t do UART
nh
n hon thnh s
c thi hnh lc RXC c thi
t l
p ln 1. RXC

c xa b
ng
cch
c thanh ghi UDR. Khi chng trnh ng
t do nh
n dli
u hon thnh c s
dng, th trong chng trnh ng
t ta ph
i
c gi trca thanh ghi UDR xo RXC,
n
u khng th ngay l
p tc mt ng
t mi sxu
t hi
n sau khi chng trnh ng
t ny
k
t thc (g
p l
ng reti).
Bit 6 TXC: UART truy
n hon thnh (UART Transmit Complete)
Bit ny c thi
t l
p ln 1 khi ton bdli
u trong thanh ghi d
ch pht (bao gm bit
stop)

c d
ch ra ngoi v khng c dli
u mi
c vi
t
n UDR. Cny
c bi
t
hu ch trong truy
n thng bn song cng. Khi bit TXCIE
c thi
t l
p ln 1, v bit
TXC
c thi
t l
p ln 1 th n sl nguyn nhn khi
n trnh ng
t do UART truy
n
hon thnh c thi hnh. CTXC s
c xo b
ng ph
n cng khi ch
ng trnh ng
t
tng ng
c thi hnh. M
c khc, cTXC c
ng c th
c xo v0 b
ng cch vi
t
mc logic 1 ln n.
Bit 5 UDRE: Thanh ghi dli
u UART rng (UART Data Register Empty)
Bit ny
c thi
t l
p ln 1 khi m
t k tvi
t
n UDR
c truy
n

n thanh ghi d
ch
pht. Vi
c thi
t l
p bit ny b
ng 1 cho ta bi
t bpht s
n sng nh
n mt k tm
i

pht i.
Khi bit UDRIE trong thanh ghi UCR

c thi
t l
p ln 1, th chng trnh ng
t do
thanh ghi dli
u UART rng c thi hnh. Ch , n
u ta sd
ng ng
t ny trong
chong trnh, th trong chng trnh ng
t ta ph
i xo bit UDRE b
ng cch vi
t dli
u

n UDR, n
u khng mt ng
t mi l
i xu
t hi
n ngay sau khi chng trnh ng
t ny
k
t thc.
Bit 4 FE: Likhung truy
n (Framing Error)
Bit ny
c thi
t l
p ln 1 n
u
i
u ki
n l
i khung truy
n

c pht hi
n, ch
ng h
n
nhbit stop c
a k t

n nh
n

c l 0.
Bit FE
c xo v0 khi bit stop ca dli
u nh
n
c l 1.
Bit 3 OR: OverRun
Bit ny c thi
t l
p ln 1 n
u
i
u ki
n OverRun c pht hi
n, ch
ng h
n nhkhi
m
t k t
hi
n di
n (c m
t) trong thanh ghi dli
u UART (UDR) m k tny
cha
c
c th l
i c mt k tmi
c d
ch vo thanh ghi d
ch nh
n.

Chng 2: T
ng quan vvi i
u khi
n AVR

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 47

Bit OR
c xo v0 khi dli
u c nh
n v truy
n
n UDR.
Bits 2..0 Res: Reserved Bits
y l nhng bit dtrtrong AT90S8535. Gi tr
c

c lun l 0.
c. Thanh ghi i
u khi
n UART UCR (UART Control Register)

Hnh 2.42 C
u trc thanh ghi i
u khin UART - UCR

Bit 7 RXCIE: Cho php ng


t khi nh
n hon thnh (RX Complete Interrupt Enable)
Khi bit ny c thi
t l
p ln 1 v bit RXC trong thanh ghi USR
c thi
t l
p ln 1
sl nguyn nhn khi
n cho chng trnh ng
t do nh
n hon thnh c thi hnh.
Dnhin l bit cho php ng
t ton cc cng c cho php trc .
Bit 6 TXCIE: Cho php ng
t khi truy
n hon thnh (TX Complete Interrupt Enable)
Khi bit ny c thi
t l
p ln 1 v bit TXC trong thanh ghi USR c thi
t l
p ln 1 s
l nguyn nhn khi
n cho chng trnh ng
t do pht hon thnh
c thi hnh. D
nhin l bit cho php ng
t ton c
c cng
c cho php trc
.
Bit 5 UDRIE: Cho php ng
t khi thanh ghi dli
u UART rng (UART Data
Register Empty Interrupt Enable)
Khi bit ny
c thi
t l
p ln 1 v bit UDRE trong thanh ghi USR c thi
t l
p ln 1
sl nguyn nhn khi
n cho chng trnh do thanh ghi dli
u UART r
ng
c thi
hnh. D
nhin l bit ng
t ton cc c
ng c cho php trc .
Bit 4 RXEN: Cho php bnh
n (Receiver Enable)
Khi bit ny
c thi
t l
p ln 1 th bnh
n UART
c cho php. Khi bnh
n b
c
m
(khng cho php) th cc ctr
ng thi RXC, OR v FE khng thc thi
t l
p ln 1.
N
u nhcc ctr
ng thi ny c thi
t l
p ln 1 ri, cho d ta c xo bit RXEN
xu
ng 0 th c
ng khng lm cho cc ctr
ng thi c xo xu
ng 0.
Bit 3 TXEN: Cho php btruy
n (Transmitter Enable)
Khi bit ny

c thi
t l
p th btruy
n UART
c cho php. N
u ta c
m (khng cho
php) btruy
n trong lc n
ang truy
n m
t k tth vi
c c
m ny skhng c tc
dng cho

n khi k tny
c truy
n hon thnh.
Bit 2 CHR9: K t9 bit (9 Bit Characters)
Chng 2: T
ng quan vvi i
u khi
n AVR

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 48

Khi bit ny c thi


t l
p, th nhng k ttruy
n v nh
n sc chi
u di l 9 bit (tr
bit start v bit stop). Bit th9
c
c v vi
t b
ng cch sdng cc bit RXB8,
TXB8 t
ng ng trong thanh ghi UCR. Bit thchn ny c th
c sdng hu ch
nhm
t bit ki
m tra ch
n/l
.
Bit 1 RXB8: Nh
n dli
u bit 8 (Receive Data Bit 8)
Khi bit CHR9
c thi
t l
p, th RXB8 sl bit dli
u th9 ca k tnh
n.
Bit 0 TXB8: Truy
n dli
u bit 8 (Transmit Data Bit 8)
Khi bit CHR9
c thi
t l
p, TXB8 sl bit dli
u th9 c
a k ttruy
n.
Bpht tc
Baud (Baud rate generator):
Bpht t
c baud l bchia t
n s
, v tc baud t
o ra s
c tnh theo cng
thc sau:
f CK
BAUD
16(UBRR 1)

BAUD : Tc
baud
FCK : t
n s
ng hth
ch anh.
UBRR : gi trca thanh ghi t
o tc
baud cho bUART, gi trUBRR n
m trong
kho
ng 0 255. Sau
y l b
ng thi
t l
p thanh ghi UBRR nh
m t
o ra cc tc
baud thng d
ng ng vi cc th
ch anh khc nhau. Ch l nhng trng hp sai s
ln hn 1% th ta khng nn sd
ng.

Chng 2: T
ng quan vvi i
u khi
n AVR

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 49

B
ng 2.14 Thi
t l
p gi trt
c Baud c
a vi
i
u khi
n.

d. Thanh ghi t
o tc baud UBRR

Hnh 2.43 C
u trc thanh ghi to tc Baund

y l thanh ghi 8 bit c th


c/vi
t v
c sd
ng
t
o ra tc
baud cho
UART nhmiu ttrc .
2.9. So snh tng ttrong AT90S8515
Bso snh tng tso snh hai gi trtrn hai chn ng vo : ng vo dng PB2
(AIN0) v ng vo m PB3 (AIN1). Khi i
n p trn chn ng vo dng PB2(AIN0)
Chng 2: T
ng quan vvi i
u khi
n AVR

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 50

ln h
n
i
n p trn chn ng vo m PB3(AIN1) th ng ra ca bso snh analog
ACO
c thi
t l
p ln 1. Ng ra ca bso snh analog c th
c thi
t l
p
kch
(trigger) chc n
ng b
t s
ng ng vo ca Timer/counter1. Hn na, bso snh analog
c tht
o ra m
t ng
t ring ldnh ring cho bso snh analog. Ngi sdng c
thch
n
i
u ki
n kch ng
t do chn ng ra. Ta c thquy

nh ho
c khi c c
nh
xu
ng, ho
c c
nh ln ho
c c sthay
i tr
ng thi ca chn ng ra ca bso snh l
c tht
o ra ng
t.

Hnh 2.44 Skhibso snh Analog trong AT90S8515

Thanh ghi i
u khi
n v trng thi ACSR

Hnh 2.45 C
u trc thanh ghi i
u khi
n bso snh Analog

Bit 7 ACD: C
m bso snh tng t(Analog Comparator Disable)
Khi bit ny c thi
t l
p ln 1, ngu
n cung c
p cho bso snh t
ng tbc
t
(switched off). Bit ny c thc thi
t l
p ln 1 t
i b
t k thi
i
m no
t
t bso
snh. Khi thay
i bit ACD th ng
t do bso snh tng tph
i
c c
m b
ng cch
xo bit ACIE trong thanh ghi ACSR. N
u khng m
t ng
t c thv
n hnh khi bit ny
thay
i.
Bit 6 Res: Reserved Bit
Ta khng sdng bit ny. Gi trn lun
c xem l 0.

Chng 2: T
ng quan vvi i
u khi
n AVR

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 51

Bit 5 ACO: Ng ra bso snh tng t(Analog Comparator Output)


ACO chnh l ng ra bso snh, gi trcubit ny phthu
c vo hai ng vo
u
cng (+) v

u tr(-) ca bso snh.


Bit 4 ACI: Cng
t bso snh Analog (Analog Comparator Interrupt Flag)
Bit ny c thi
t l
p ln 1 khi mt ng ra ca bso snh c tc
ng kch ch
ng
t. Ch
ng h
n ta quy

nh khi c c
nh ln th ng
t. Nhv
y n
u c sthay
i mc
logic ng ra t0 ln 1 th cng
t ACI ny sc thi
t l
p ln 1. Squy
nh tc
dng ca sthay
i ng ra

n ng
t phthu
c vo ACIS1 v ACIS0. Khi cny

c thi
t l
p ln 1, chng trnh ng
t do bso snh tng ts

c thi hnh n
u
nhbit ACIE c thi
t l
p ln 1 v bit ng
t ton c
c I c
ng c thi
t l
p ln 1.
CACI
c xo b
ng ph
n cng khi thi hnh t
i vecto xl ng
t tng ng. M
t
khc, cACI c
ng c thc xo b
ng ph
n m
m b
ng cch vi
t mc logic 1 ln n.
Bit 3 ACIE: Analog Comparator Interrupt Enable(Cho php ng
t do bso snh
analog)
Khi bit ny
c thi
t l
p ln 1 v bit I trong thanh ghi tr
ng thi c thi
t l
p ln 1,
th ng
t do bso snh tng tc kch ho
t. Khi xo ACIE th ng
t ny b
c
m.
Bit 2 ACIC: Cho php b
t sng ng vo tng ra bso snh (Analog Comparator
Input Capture Enable)
Khi
c thi
t l
p ln 1 bit ny cho php chc n
ng b
t sng ng vo c
a
Timer/counter1
c kch (trigger) bi bso snh tng t. Trong trng hp ny ng
ra c
a bso snh
c k
t ni trc ti
p
n blogic front-end c
a bb
t s
ng ng
vo, khi
n bso snh c thsd
ng blo
i nhi
u v thuc tnh chn c
nh tc
ng
ca ng
t b
t s
ng ng vo Timer/counter1. ( Xem l
i ph
n Timer/counter1 trong ch

b
t s
ng ng vo)
Bits 1,0 ACIS1, ACIS0: Chn chng
t cho bso snh tng t(Analog
Comparator Interrupt Mode Select)
Nhng bit ny quy

nh
nh hng ca ng ra bso snh d
n ti ng
t. Squy
nh

c thhi
n trong trong b
ng sau:
B
ng 2.15 Thi
t l
p thanh ghi
i
u khi
n bso snh Analog

2.10. Cc Port I/O


Chng 2: T
ng quan vvi i
u khi
n AVR

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)
2.10.1. PortA
Thanh ghi dli
u Port A PORTA

Hnh 2.46 C
u trc thanh ghi dli
u Port A

Thanh ghi trc ti


p Port A DDRA :

Hnh 2.47 Cu trc thanh ghi trc ti


p dli
u Port A

a chcc chn ng vo Port A PINA :

Hnh 2.48 C
u trc thanh ghi
a chchn ng vo Port A

2.10.2. PortB
Chc n
ng cc chn trn PortB
c cho bib
ng sau :
B
ng 2.16 Chc n
ng cc chn trn Port B

Thanh ghi dli


u Port B PORTB :

Hnh 2.49 C
u trc thanh ghi dli
u Port B

Chng 2: T
ng quan vvi i
u khi
n AVR

Trang 52

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)
Thanh ghi trc ti
p Port B DDRB :

Hnh 2.50 C
u trc thanh ghi trc tip dli
u Port B

a chcc chn ng vo Port B PINB :

Hnh 2.51 Cu trc thanh ghi


a chchn ng vo Port B

2.10.3. PortC
Thanh ghi dli
u Port C PORTC :

Hnh 2.52C
u trc thanh ghi dli
u Port C

Thanh ghi trc ti


p dli
u Port C DDRC :

Hnh 2.53 C
u trc thanh ghi trc tip dli
u Port C

a chcc chn ng vo Port C PINC :

Hnh 2.54 C
u trc thanh ghi
a chchn ng vo Port C

2.10.4. PortD
Chc n
ng cc chn trn PortD :
B
ng 2.17 Chc n
ng cc chn trn Port D

Chng 2: T
ng quan vvi i
u khi
n AVR

Trang 53

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Thanh ghi dli


u Port D PORTD :

Hnh 2.55 C
u trc thanh ghi dli
u Port D

Thanh ghi trc ti


p dli
u Port D DDRD :

Hnh 2.56 Cu trc thanh ghi trc ti


p dli
u Port D

a chcc chn ng vo Port D PIND :

Hnh 2.57 Cu trc thanh ghi chn ng vo Port D

Chng 2: T
ng quan vvi i
u khi
n AVR

Trang 54

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 55

CHNG 3
THIT KPHN CNG THIT BTHC TP LP TRNH
(VI IU KHIN AVR)
3.1 Cc yu cu ca ph
n cng thi
t bthc t
p
Ph
n cng : Bi v m
c ch ca s
n ph
m l phc vcho vi
c o t
o nn c
u hnh
ph
n cng ph
i r rng, dn tr
i. Kch thc c
a bKIT c thhi
n r rng, d
nh
n bi
t, m
t
c
i
m na l n
c phn thnh cc m un nhv lin k
t vi m

un trung tm b
ng BUS, i
u ny c
ng gip ngi hc c thnhn th
y m
t cch trc
quan, hi
u r v ddng hn vcch i
u khi
n ph
n cng.
ng thi vi
c tchc
thnh cc m
un nhc
ng ti
n cho vi
c sa cha, thi
t kmrng v c thddng
trong vi
c thng m
i ha s
n ph
m sau ny.
Cc thnh ph
n c
a thi
t bthc t
p : thi
t bthc t
p c

y cc thnh ph
n cb
n
ca mt hvi i
u khi
n v cc ngun ti nguyn ngo
i vi phong ph, cho php ng
i
sdng c thtdo pht tri
n cc ng d
ng c
a mnh :
+
+
+
+
+
+
+
+
+
+
+
+
+

Cc khivi
i
u khi
n trung tm
Hi
n thLed
n
Hi
n thLed 7 o
n
Hi
n thLed ma tr
n
Hi
n thLCD
Hi
n thgi
i m BIN DEC/HEX
THUMSWITCH i
n t
Nt nh
n
n, bn phm tng t,bn phm ma tr
n
T
o tn hi
u tng t, ngun xung
ng h
, th
i gian thc
Giao ti
p vi ADC
Giao ti
p vi DAC
i
u khi
n
ng cm
t chi
u,

ng cbc
Nh
n v gi
i m tn hi
u hng ngo
i

T
t ccc thnh ph
n cb
n c
a thi
t b
c thhi
n s
kh
i bn di:

Chng 3: Thi
t kph
n cng thi
t bthc t
p lp trnh (vi i
u khi
n AVR)

Trang 56
Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Cng giao ti
p

Khihin thLED n

Khi
ng
hthi
gian
thc

Khi MCU

Khi
nt
nhn
n

Khid
ch v cht
hin thLED 7 an

Khichuy
n
iBin
Dec/Hex

Khi gi
i
mBCD
sang 7
on

Khi
Dip
Switch

Khi bn phm
ma trn

Khi DAC

Khibn phm
tng t

Khi ADC

Khi qut hi
n th
LED 7 an

Khi
gi
i m
tn hi
u
hng
ngo
i

Khi Thumswitch
i
n t

M
t
nhn
tn hi
u
hng
ngo
i

Khi hi
n thLCD

Khi
ngun
xung
ng
h

Khi tn hi
u Analoge

Khi
i
u
khi
n
ng c
bc s
dng IC

Khi hi
n th
LED ma trn

Khi
i
u
khi
n
ng c
bc

Khiqut hin
thLED ma
tr
n

Khi
i
u
khi
n
ng c
DC

Khi
ngun ph

Khi ng cDC v ng
cbc

KhiRle
bn d
n

Hnh 3.1 Skhi thi


t bthc t
p vi i
u khi
n AVR

Chng 3: Thi
t kph
n cng thi
t bthc t
p lp trnh (vi i
u khi
n AVR)

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 57

3.2. Hi
n thLED n
3.2.1. Yu c
u
Mt trong nhng ng dng n gi
n sdng 4 port ca vi
i
u khi
n l xu
t d
li
u. Kh
i hi
n thLED n
c thi
t kgm 24 led trn 5mm sng mc 1 nh
m
hi
n thcc gi trnhphn, mc logic, cc tr
ng thi i
u khi
n c
a Vi
i
u khi
n.
3.2.2. Thi
t k
Miled
n
sng c
i hidng qua led l 10mA, hi
u i
n th2V.
i
m dng cho LED c thdng Transistor nhng
m
ch nhgn nhm dng IC

m dng cho LED. C nhi


u lo
i IC

m dng nh: 74LS245, 74LS373,


74LS573, 74HC245 V m
ch chc
n tnh n
ng
m dng v vi i
u khi
n ra mc

i
n p TTL do ch
n IC 74LS245

m dng cho Vi i
u khi
n. Cc led sng
mc th
p nn ta chquan tm

n cc thng sng ra mc th
p ca 74LS245 l
IOL=25mA trn m
i chn, V OL=0,25V.

m b
o ng vo khng bnhi
u khi btr
ng ta dng
i
n trko ln ngun, chn

i
n trko ln l 4,7k.
Tnh ton chn i
n trh
n dng cho led:
VCC (VOL Vled ) 5V (0,25 2)V

275. Chn Rled =330


Iled
10mA

Ta c: Rled

Hnh 3.2 Schn IC 74LS245

Chng 3: Thi
t kph
n cng thi
t bthc t
p lp trnh (vi i
u khi
n AVR)

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 58

Hnh 3.3 Skhibn trong IC 74LS245

Chng 3: Thi
t kph
n cng thi
t bthc t
p lp trnh (vi i
u khi
n AVR)

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 59

Hnh 3.4 Snguyn l khihin thLED n

Chng 3: Thi
t kph
n cng thi
t bthc t
p lp trnh (vi i
u khi
n AVR)

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 60

3.3. Qut hi
n thLED 7 o
n
3.3.1. Yu c
u
Hi
n thgi trled 7
o
n b
ng phng php qut gi
i m b
ng ph
n cng v ph
n
m
m. Kh
i qut v hi
n thLED 7
o
n

c thkg
m 6 led 7 o
n Anode chung

c
i
u khi
n d
ng qut nh
m hi
n thcc gi trth
p phn ho
c Hexa.
3.3.2. Thi
t k
cho Led sng ch

ng ng
t th dng qua led ph
i g
p 6 l
n dng c
nh tc
l m
i led ph
i c
p dng
ng ng
t ln
n 60mA. h
n chled bchy do ng
i
hc trong qu trnh l
p trnh gy ra ch
n dng ng ng
t qua led l 20 mA.
g f + a b
a
f

e
d

Hnh 3.5 Snguyn l LED 7 o


n

b
c
p

e d + c p

Hnh 3.6 Schn LED 7 o


n

C thdng Trasistor

m dng cc m cho LED, nhng mi LED 7


o
n c 8 LED

m b
o m
ch gn hn v chthc hi
n tnh n
ng

m nhm thc hi
n
ti
ch
n IC 74LS245

m cho cc m ca LED. Do led sng mc th


p nn ta chquan
tm
n cc thng smc th
p ca 74LS245. VOL=0,25V, IOL=48mA trn m
i chn.
Tnh ton chn transistor:
7
o
n v d
u ch
m sng th dng qua transistor ph
i l 244mA.
Dng ng ra c
a vi i
u khi
n mc th
p l 20mA.
Ph
i chn Trasistor c:
IEmax=ICmax =8*20mA=160mA
ICmax/IB=160/20= 8
Ta c thchn transistor l A1015. C dng
nh mc IC= 200mA, =180
Tnh ton v ch
n i
n trRled : khi transistor d
n b
o ha ta c VEC =0,2v v LED
sng th
i h
i i
n p ri trn LED l 2v.
VCC = Vled + Iled*R led + VEC +VOL
VR=5-(0,2+2+0,25)=2,55V

Chng 3: Thi
t kph
n cng thi
t bthc t
p lp trnh (vi i
u khi
n AVR)

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 61

VR 2,55V

127,5. Chn Rled=150


Iled 20mA

Do
: Rled

Tnh ton v ch
n i
n trRB: khi transistor d
n b
o ho V EB=0,8V
Vcc=VEB+IBRB
I
160mA
I B Csat
0,89mA
min
180
Vcc V BE VOL (5 0,8 0,2)V

4,49K. Chn RB=4,7k


IB
0,89 mA

Do
: RB

Hnh 3.7 Snguyn l khi qut hi


n thLED 7 o
n

3.4. D
ch v cht hi
n thLED 7 on
3.4.1.
Yu c
u
Hi
n thgi trled 7
o
n b
ng ph
ng php qut gi
i m b
ng ph
n m
m. Kh
i d
ch
v ch
t hi
n thLED 7
o
n c thkgm 2 led 7 o
n Anode chung c
i
u
khi
n d
ng d
ch chtnh
m hi
n thcc gi trth
p phn ho
c Hexa.
3.4.2 Thi
t k
Chng 3: Thi
t kph
n cng thi
t bthc t
p lp trnh (vi i
u khi
n AVR)

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 62

m
i
o
n led sng i hi dng qua led l 10mA, hi
u
i
n thtrn led l 2V. C
thsdng cc IC d
ch ch
t nh: 6B595, 74LS595, 74LS299, 4094 y nhm
thc hi
n
ti sd
ng IC d
ch cht 74LS595 giao ti
p mc TTL vi cc thng s
ng ra IOL=24mA, VOL=0,25V ph hp vi yu c
u,
c sd
ng phbi
n trn th
tr
ng.
Ngu
n cung c
p cho led 5V.

Hnh 3.8 Schn IC 74LS595

Chng 3: Thi
t kph
n cng thi
t bthc t
p lp trnh (vi i
u khi
n AVR)

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 63

Hnh 3.9 Snguyn l trong IC 74LS595

Tnh ton chn i


n trh
n dng cho led:
V (Vled VOL ) 5V (2 0,25)V
Rled CC

275. Chn Rled= 330


Iled
10mA

Chng 3: Thi
t kph
n cng thi
t bthc t
p lp trnh (vi i
u khi
n AVR)

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 64

Hnh 3.10 Snguyn l khid


ch v cht hi
n thLED 7 o
n

3.5. Gi
i m BCD sang LED 7 on
3.5.1. Yu c
u
Gi
i m BCD sang led 7 o
n, k
t n
i vi khi qut hi
n thLED 7 o
n
hi
n th
.
3.5.2. Thi
t k
C r
t nhi
u IC gii m BCD sang 7
o
n nh: 74LS47, 74LS247, 4511, 4543Chn
IC 74LS247 l IC gi
i m BCD sang 7 o
n.

Hnh 3.11 Schn IC 74LS247

Chng 3: Thi
t kph
n cng thi
t bthc t
p lp trnh (vi i
u khi
n AVR)

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 65

Hnh 3.12 Snguyn l trong IC 74LS247

Chng 3: Thi
t kph
n cng thi
t bthc t
p lp trnh (vi i
u khi
n AVR)

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 66

B
ng 3.1 B
ng sth
t IC74LS247.

Hnh 3.13 Snguyn l khi gi


i m BCD sang LED 7 o
n

3.6. Qut hi
n thLED ma tr
n
3.6.1. Yu c
u
Mt trong nhng ng d
ng phbi
n trong qu
ng co l hi
n ththng tin ln led ma
tr
n. C
u trc led ma tr
n 8x8 nhhnh d
i
Theo hnh vth 2 led trn 2 ct khng thsng
ng thi. Mt led sng khi hng c
a
led=1 v ct c
a led=0. Gista c
n sng
ng thi t
i hng 1 c
t 1 v hng 2 c
t2
th R1=1, C1=0 (sng led t
i hng 1, ct 1) v R2=1, C2=0 (sng led t
i hng 2 , ct
2). Lc ny do R1=1, C2=0 v R2=1, C1=0 nn ta cng c cc led t
i hng 1 c
t 2 v
hng 2 c
t 1 sng.

Chng 3: Thi
t kph
n cng thi
t bthc t
p lp trnh (vi i
u khi
n AVR)

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 67

Ngh
a l khi ta cho led t
i hng 1 c
t 1 v hng 2 c
t 2 sng
ng thi th sd
n
n
cc led t
i hng 2 c
t 1 v hng 1 c
t 2 cng sng. Do
thc hi
n sng k t trn
m
t ma tr
n ta ph
i dng phng php qut.
Khi qut hi
n thLED ma tr
n gm mt led ma tr
n 8x8, 2 mu v xanh, n
u
i
u
khi
n cho 2 mu sng cng lc th s
c mu cam. Gip ng
i thc hnh n
m
c
ph
ng php i
u khi
n Led ma tr
n cb
n.
3.6.2. Thi
t k

R7

R6

R5

R4
Row
R3

R2

R1

GC0

RC0

GC1

RC1

GC2

RC2

GC3

RC3

GC4

RC4

GC5

RC5

GC6

RC6

GC7

RC7

R0

R e d & G ree n C olum n

Hnh 3.14 Schn LED ma trn

Hnh 3.15 Snguyn l trong LED ma trn

Tnh ton chn Transistor


m hng led ma tr
n:
Mi hng c 8 led n, mi led sng
i hi dng qua led 20mA. Khi c2 mu m
t
hng sng i hi dng cung c
p l: Ihng =20*16=320mA.
Ch
n Transistor C2383 c dng

nh mc 1A,
=120:
IC=IE=320mA
I
320mA
I B Csat
2,66mA
min
120
VCC VBE 5V 0,8V

1,54k . Chn RB=2,2k


IB
2,66 mA

=> RB

Tnh ton chn IC

m ct led ma tr
n:

Chng 3: Thi
t kph
n cng thi
t bthc t
p lp trnh (vi i
u khi
n AVR)

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 68

Mi ct mu ca led ma tr
n c 8 led khi c8 led cng sng th dng qua led l:
Ict=20*8= 160mA ch
n IC
m hng l ULN2803 c dng cung c
p
nh mc mi
chn l 500mA.

Hnh 3.16 Schn IC ULN2803

Hnh 3.17 Snguyn l chn ng ra IC ULN0808

Tnh ton chn i


n trh
ng dng cho led:
Ta c mi ct m
i mu c 8 led dng tiu thl 160mA
i
n p ngu
n cung c
p cho l
5V xtp trn Led l 2V:
V (Vled VCE VOL ) 5V (2 0,2 0,2)V
Rled CC

16, 25.
I led
160mA

Ch
n cng su
t i
n tr 0,25W, ta c P=I2R => R=P/I2 =0,25/0,162=9,7. Chn
R=10

Hnh 3.18 Snguyn l khiqut hi


n thLED ma trn

Chng 3: Thi
t kph
n cng thi
t bthc t
p lp trnh (vi i
u khi
n AVR)

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 69

3.7. D
ch v cht hi
n thLED ma tr
n
3.7.1. Yu c
u
Hi
n ththng tin trn led ma tr
n b
ng phng php d
ch cht. Khi d
ch v ch
t
hi
n thLED ma tr
n gm 2 led ma tr
n 8x8 hai mu
v xanh
c
i
u khi
n qut
hng v d
ch cht ct. Nh
m t
ng khn
ng mr
ng
i
u khi
n nhi
u led hi
u qu
hn phng php qut.
3.7.2. Thi
t k
Tnh ton thi
t kla ch
n cc transistor
m hng:
Mi led sng i hi ph
i c dng cung c
p 1060mA v i
n p 2V led sng tt
hn ch
n dng 20mA. Mt hng c 16 led n
u sng h
t 16 led c
n 320mA n
u sng c
2 mu cng lc
i h
i cung c
p dng trn mt hng ln
n 640mA. Ch
n Transistor
A1013

m dng hng c dng

nh mc IC=1A, =120.
IC=IE=640mA
I
640 mA
I B Csat
5,33mA
min
120
VCC VBE 12V 0,8V

1,72k.
IB
5,33mA

=> R 'B

M RB=RP1//RB. Ch
n RP 1=2,2k, =>RB=2k. Chn RB=2,2k
Tnh ton chn IC

m ct led ma tr
n:
Mi ct mu ca led ma tr
n c 8 led khi c8 led cng sng th dng qua led l:
Ict=30*8= 480mA chn IC d
ch ch
t ct l 6B595 l thanh ghi d
ch cht 8 bit c
dng cung c
p m
i chn l 500mA.
Tnh ton chn i
n trh
ng dng cho led.

Chng 3: Thi
t kph
n cng thi
t bthc t
p lp trnh (vi i
u khi
n AVR)

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 70

Hnh 3.19 Schn IC 6B595

Hnh 3.20 Schn IC 6B595

Ta c mi hng 2 mu c 16 led dng tiu thl 960mA i


n p cung c
p cho Led l
12V x
t p trn led l 2V:
V (Vled VCE VOL ) 12V ( 2 0,2 0, 2)V
Rled CC

15.
I led
640 mA

Chng 3: Thi
t kph
n cng thi
t bthc t
p lp trnh (vi i
u khi
n AVR)

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 71

Ch
n cng su
t
i
n tr1W, ta c P=I 2R => R=P/I2=1/0,642 =2,44. Chn Rled =2,7

Hnh 3.21 Snguyn l khi d


ch v chthi
n thLED ma tr
n

Chng 3: Thi
t kph
n cng thi
t bthc t
p lp trnh (vi i
u khi
n AVR)

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 72

3.8. Hi
n thLCD
3.8.1. Yu c
u
Hi
n thcc thng tin ch, s, ho
c d
u cu v cc hnh
nh
hotrn LCD. Kh
i
hi
n thLCD g
m 1 LCD 20x4 c ththay
i contrast b
ng bi
n trvi ch
nh.
3.8.2. Thi
t k
LCD dng model TA2004, chn bi
n trch
nh contrast l bi
n trtinh ch
nh 5k.
Cc ng dli
u v cc ng i
u khi
n
c a ra cc pinhead.
B
ng 3.2 Chc n
ng cc chn LCD

Chng 3: Thi
t kph
n cng thi
t bthc t
p lp trnh (vi i
u khi
n AVR)

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 73

Hnh 3.22 Snguyn l khihin thLCD

3.9. Hi
n thgii m BIN DEC/HEX
3.9.1. Yu c
u
Chuy
n
i snhphn sang sth
p phn v sHexa phthu
c vo cng t
c
DEC/HEX, Ngoi ra cn htrm phng nh
n dli
u nhphn ni ti
p ho
c song
song phthuc vo cng t
c SERIAL/PARALLEL. Kh
i chuy
n i snhphn sang
th
p phn v Hexa g
m 3 led 7
o
n hi
n thgi trth
p phn ho
c Hexa. Nh
m h
trcho nhng thc hnh cb
n, ngi thc hnh c thddng quan st k
t qus
th
p phn ho
c sHexa khi
a ng vo l snh
phn.
3.9.2. Thi
t k
Ch
n Vi i
u khi
n AT90S8515
i
u khi
n qut hi
n thLED 7 o
n.
Tnh ton chn transistor:
7
o
n sng th dng qua transistor ph
i l 196mA.
IEmax=ICmax =7*20mA=140mA
Ta ch
n transistor ny l A1015. C dong

nh mc Ic=200mA, =180.
Tnh ton v ch
n i
n trRled : khi transistor d
n b
o ha ta c VEC =0,2v v LED
sng th
i h
i i
n p ri trn LED l 2v.
VCC = Vled + Iled*R led + VEC +VOL
VR=5-(0,2+2+0,35)=2,45V

Chng 3: Thi
t kph
n cng thi
t bthc t
p lp trnh (vi i
u khi
n AVR)

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 74

VR 2,45V

122,5. Chn Rled=150


Iled 20mA

Do
: Rled

Tnh ton v ch
n i
n trRB: khi transistor d
n b
o ho V EB=0,8V
Vcc=VEB+IBRB
I
140mA
I B Csat
0,77mA
min
180

Hnh 3.23 Snguyn l khi chuy


n i nhphn sang th
p phn v Hexa
Vcc V BE VOL (5 0,8 0,5)V

4,8K. Chn RB=4,7k


IB
0,77mA

Do
: RB

Chng 3: Thi
t kph
n cng thi
t bthc t
p lp trnh (vi i
u khi
n AVR)

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 75

3.10. THUMSWITCH i
n t
3.10.1. Yu cu
Cung c
p ng ra sHexa 4bit c thay
i t
ng gi
m b
ng 2 nt UP v DOWN.
Khi THUMSWITCH i
n tgm mt led 7
o
n hi
n thsHexa ng ra. Nh
m h
trcc bi th nghi
m c
n sd
ng sHexa.
3.10.2. Thi
t k
Ch
n vi
i
u khi
n AT89S2051 i
u khi
n hi
n thLED 7
o
n v ng ra tn hi
u s
Hexa.
Tnh ton chn i
n trh
ng dng cho led:

Hnh 3.24 Snguyn l khiThumswitch in t

V V
5V 0,5V
Rled CC OL
450. Chn Rled= 470
I led
10mA

3.11. DIPSWITCH
3.11.1. Yu cu
Khi DIP SWITCH c 1 dip switch 8 bit. Cung c
p mc logic 0,1 gil
p cc ng
vo nh
phn.

Chng 3: Thi
t kph
n cng thi
t bthc t
p lp trnh (vi i
u khi
n AVR)

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 76

3.11.2. Thi
t k
Ch
n cng t
c DIP 8 bit, chn i
n trko xung l 4,7k tr
ng thi OFF c mc
logic l 0 v tr
ng thi ON c mc logic l 1.

Hnh 3.25 Snguyn l khi DipSwitch

3.12. Nt nhn n
3.12.1. Yu cu
Khi nt nh
n n gm c 6 nt nh
n. trong
c 2 nt nh
n chng d
i b
ng ph
n
cng htrcho cc bi th nghi
m c
n sd
ng nt nh
n chng di b
ng ph
n
cng. V 4 nt nh
n khng chng di htrcho cc bi th nghi
m sdng nt nh
n
c chng d
i b
ng ph
n m
m. Cung c
p tn hi
u
i
u khi
n cho hthng.
3.12.2. Thi
t k
M
ch c 2 nt c chng d
i b
ng ph
n cng do ch
n IC ch
ng d
i l 74LS221
c 2 m
ch mono bn trong.
B
ng 3.3 B
ng sth
t IC 74LS221

Chng 3: Thi
t kph
n cng thi
t bthc t
p lp trnh (vi i
u khi
n AVR)

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 77

Hnh 3.26 Schn IC 74LS221

Tnh ton chn gi tr


i
n trv tchng d
i:
Thi gian ch
ng d
i kho
ng 20ms1s

=1,1.R.C=500ms
500.10 3
Ch
n C = 47uF => R
9,6k Ch
n R=10k
1,1.47.106

Chng 3: Thi
t kph
n cng thi
t bthc t
p lp trnh (vi i
u khi
n AVR)

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 78

Hnh 3.27 Snguyn l khint nh


n n

3.13. Bn phm tng t


3.13.1. Yu cu
Ban
u khi cha nh
n ng ra c mt mc
i
n p nh
t

nh. Kh
i bn phm tng t
gm 5 nt nh
n. Khi nh
n cc nt khc nhau s cung c
p cc mc i
n p khc nhau
ng ra. K
t n
i v
i khi ADC t
o ra gi trnt nh
n d
ng snhphn 8 bit. Cung
c
p tn hi
u i
u khi
n cho hth
ng.
3.13.2. Thi
t k
Ch
n R6=1k, R1 =100k, R2=330k, R3=680k, R4=1k, R5 =2,2k
VB1 VCC

R1
0,45V
R1 R6

Chng 3: Thi
t kph
n cng thi
t bthc t
p lp trnh (vi i
u khi
n AVR)

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)
VB2 VCC
VB3 VCC
VB4 VCC
VB5 VCC

R2
R2 R6
R3
R3 R6
R4
R4 R6
R5
R5 R6

Trang 79

1,24V
2V
2,5V
3,4V

Hnh 3.28 Snguyn l khiphm tng t

3.14. Bn phm ma trn


3.14.1. Yu cu
Khi bn phm ma tr
n g
m 16 phm tng
ng vi 16 k tsHexa. Dng

nh
p sli
u ( th
p phn, Hexa), l
nh i
u khi
n cho hth
ng.
3.14.2. Thi
t k
Bn phm ma tr
n 4x4 c k
t nihng v ct d
ng ma tr
n
a ra cc pinhead.

Chng 3: Thi
t kph
n cng thi
t bthc t
p lp trnh (vi i
u khi
n AVR)

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 80

Hnh 3.29 Snguyn l khiphm ma tr


n

3.15. Tn hi
u tng t
3.15.1. Yu cu
Khi tn hi
u tng tg
m c 8 bi
n tr, trong
c 4 ng ra 0V+12V v 4 ng ra
-12V+12V. Cung c
p cc gi trng ra t
ng tcho hthng.
3.15.2. Thi
t k
Ch
n bi
n trlo
i bi
n trVolume 50K, 4 bi
n trRV1RV4 k
t n
i vi ngun
12V
cung c
p ng ra t0V12V. Bi
n trRV5RV8 k
t ni vi ngu
n 12V

cung c
p ng ra t-12V+12V.

Chng 3: Thi
t kph
n cng thi
t bthc t
p lp trnh (vi i
u khi
n AVR)

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 81

Hnh 3.30 Snguyn l khitn hi


u tng t

3.16. Ngu
n xung
ng h
3.16.1. Yu cu
Khi ngun xung
ng hcung c
p 7 gi trxung l 1Hz, 10Hz, 100Hz, 1kHz, 10kHz,
100kHz, 1MHz. T
n s xung ng ra c thay
i ph thuc vo nt nh
n
FREQUENCY SELECT. Cung c
p xung cho cc th nghi
m c
n xung
ng h
.
3.16.2. Thi
t k
Ch
n vi
i
u khi
n AT89C2051 t
o ngu
n xng dao
ng
ng hvi 7 c
p t
n s
1Hz, 10Hz, 100Hz, 1kHz, 10kHz, 100kHz, 1MHz hi
n thtng ng 7 LED n.
Ch
n
i
n trh
n dng cho led l 470.

Chng 3: Thi
t kph
n cng thi
t bthc t
p lp trnh (vi i
u khi
n AVR)

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 82

Hnh 2.31 Snguyn l khi ngun xung ng h

3.17. ng hthi gian thc


3.17.1. Yu cu
Khi
ng hthigian thc cha m
t IC
ng hth
i gian thc. Cung c
p cho cc th
nghi
m c
n
c thi gian thc.
3.17.2. Thi
t k
Ch
n IC thi gian thc l DS12C887 l IC c dng phbi
n trn thtrng c 8
ng vo ra song song v cc ng i
u khi
n

c n
i vipinhead.

Hnh 3.32 Schn IC DS12C887

Chng 3: Thi
t kph
n cng thi
t bthc t
p lp trnh (vi i
u khi
n AVR)

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 83

Hnh 3.33 Snguyn l khing hthigian thc

3.18. Mt nh
n hng ngo
i
3.18.1. Yu cu
Khi m
t nh
n h
ng ngo
i gm mt m
t nh
n h
ng ngo
i c thnh
n tn hi
u h
ng
ngoi tremote TV ho
c remote tchgi
i mb
ng ph
n m
m ho
c ph
n cng.
3.18.2. Thi
t k
Ch
n m
t nh
n h
ng ngoi KEC-168 c s
n m
ch khu
ch

i tch hp bn trong.

Hnh 3.34 Snguyn l khim


t nhn hng ngo
i

Chng 3: Thi
t kph
n cng thi
t bthc t
p lp trnh (vi i
u khi
n AVR)

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 84

3.19. Gi
i m tn hi
u hng ngo
i
3.19.1. Yu c
u
Khi gi
i m tn hi
u h
ng ngo
i c m
t ng vo tkh
i m
t nh
n h
ng ngo
i. Gi
i
m tn hi
u h
ng ngo
i tremote TV ho
c remote tch
.
3.19.2. Thi
t k
Ch
n IC BL9149 gi
i m tn hi
u hng ngo
i. ng vo
c khu
ch

m.

Hnh 3.35 Schn IC BL9149

Ch
n transistor C1815
khu
ch

i
i
m.
C ththi
t l
p m nh
n b
ng cng t
c DIP.

Hnh 3.36 Snguyn l khi gi


i m tn hi
u hng ngo
i

Chng 3: Thi
t kph
n cng thi
t bthc t
p lp trnh (vi i
u khi
n AVR)

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 85

3.20. Chuy
n
i tn hi
u tng tsang tn hi
u s
3.20.1. Yu c
u
Khi chuy
n
i tn hi
u tng tsang tn hi
u sc 8 ng vo analoge v 1 ng ra
digital 8 bit. Nh
n ng vo Analog 0V5V chuy
n
i thnh tn hi
u Digital 8 bit, c
ththay
i i
n p tham chi
u.
3.20.2. Thi
t k
C thch
n IC chuy
n
i ADC0808 ho
c ADC0809 c 8 ng vo tng t, m
t ng
ra s
.
y nhm ch
n IC chuy
n
i tn hi
u tng tsang tn hi
u sADC0808
Tnh ton thi
t kkh
i dao
ng cho ADC:

Hnh 3.37 Schn IC ADC0808

Chng 3: Thi
t kph
n cng thi
t bthc t
p lp trnh (vi i
u khi
n AVR)

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 86

Hnh 3.38 Skhitrong IC DAC0808

T
n sdao
ng cung c
p cho ADC theo datasheet ca IC ADC0808 l 640kHz1200kHz
1
f clock
640kHz . Chn C=100pF
1,1R.C
1

14,2 k. Ch
n R=12k
1.1 f clock .C 1,1.640.103.10 10

=> R

Chng 3: Thi
t kph
n cng thi
t bthc t
p lp trnh (vi i
u khi
n AVR)

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 87

Hnh 3.39 Snguyn l khi chuy


n i tn hi
u tng tsang tn hi
u s

3.21. Chuy
n
i tn hi
u ssang tn hi
u tng t
3.21.1. Yu cu
Khi chuy
n
i tn hi
u ssang tn hi
u tng tgm 2 bchuy
n
i Digital sang
Analoge, d
ng ng ra l d
ng
i
n p, c ththay
i
i
n p tham chi
u.
3.21.2. Thi
t k
Ch
n IC chuy
n
i tn hi
u ssang tn hi
u tng tDAC0808.

Chng 3: Thi
t kph
n cng thi
t bthc t
p lp trnh (vi i
u khi
n AVR)

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 88

Hnh 3.40 Schn DAC0808

AC 0808 l bbi
n i A/D t
o ra dng
i
n analog c trstutheo gi trng vo
digital v dng i
n chu
n ng vo. Dng
i
n chu
n c thc trsthay
i t0
4mA. Dng 2 ng vo ton thang (I FS-Full Scale) l m
t hm tuy
n tnh ca dng
chu
n v cho bi:
255
V
I FS
I REF vi I REF REF K
256
RV1

Dng
i
n ra: Io K (

A1 A2 A3 A4 A6 A7
A
8 )
2
4
8 16 64 128 256

chuy
n dng ng ra thnh p ta dng Op-Amp k
t ni nhs
m
ch. Khi p
ng ra
c tnh:
Vo=Io.R2=Io.5,1.103(V)

Chng 3: Thi
t kph
n cng thi
t bthc t
p lp trnh (vi i
u khi
n AVR)

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 89

Hnh 3.41 Snguyn l m


ch chuy
n i tssang tng t

Chng 3: Thi
t kph
n cng thi
t bthc t
p lp trnh (vi i
u khi
n AVR)

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 90

3.22. i
u khi
n
ng cDC
3.22.1. Yu cu
Khi i
u khi
n
ng cDC i
u khi
n

o chi
u v i
u khi
n c t
c

ng c
DC.
3.22.2. Thi
t k
Ch
n Relay c
i
n p

nh mc 12V dng ch
u dng trn ti
p
i
m 5A. Dng cung
c
p cho relay l 100mA hi
u
i
n thl 12 V. Ch
n transistor C1815 c dng
nh
mc 200mA.
Dng cung c
p cho
ng c500mA1A. Ch
n FET i
u khi
n t
c

ng cl
IRF640 c dng
nh mc 16A. Ch
n 2 transistor C1815 v A1015
kch cho FET
xung
i
u chs
c a vo cc B ca 2 transistor ny.
Ch
n cc diode b
o vtransistor C1815 ng ng
t relay v b
o vFET IRF640 l
4007.

Hnh 3.42 Snguyn l m


ch i
u khin ng cmtchi
u

3.23. i
u khi
n
ng cbc
3.23.1. Yu cu
Khi
i
u khi
n
ng cbc c 4 ng vo i
u khi
n ABCD tng ng v
i 4 ng
vo cu
n dy c
a
ng cbc. Nh
m thc hi
n cc th nghi
m i
u khi
n
ng c
bc trc ti
p.

Chng 3: Thi
t kph
n cng thi
t bthc t
p lp trnh (vi i
u khi
n AVR)

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 91

3.23.2. Thi
t k
Ch
n ULN2803

m i
u khi
n cc transisror, c dng cung c
p ti
a 500mA.

ng cbc c dng tiu th500mA1A. Ch


n transistor
i
u khi
n
ng cbc
c ICmax =1A, v
I C/IB=2 . Chn transistor l TIP122 c dng

nh mc ln

n 5A,

=250.
IC=IE=1A
IB=IC/
= 1/250=4mA
(Vcc - VBE ) (12 - 0,8)V
R' B

2,8k. Chn RP2 1k, RB=2,2k.


IB
4mA

Hnh 3.43 Snguyn l m


ch i
u khi
n ng cbc

3.24. i
u khi
n
ng cbc dng IC
3.24.1. Yu cu
Khi i
u khi
n
ng cbc dng IC sd
ng cc IC chuyn dng
i
u khi
n

ng cbc. Nh
m thc hi
n cc th nghi
m i
u khi
n
ng cbc b
ng cc IC
chuyn dng.
3.24.2. Thi
t k
Ch
n IC L297, L298
i
u khi
n
ng cbc.

Chng 3: Thi
t kph
n cng thi
t bthc t
p lp trnh (vi i
u khi
n AVR)

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Hnh 3.44 Schn IC L297

Trang 92

Hnh 3.45 Schn IC L298

Hnh 3.46 Snguyn l i


u khi
n ng cbc sdng IC L297, IC L298

3.25. Rle bn d
n
3.25.1. Yu cu
i
u khi
n 2 t
i cng su
t, dng cng su
t t
i ti
a 12 A, i
n p

nh mc 220VAC,
cch ly vi khii
u khi
n.
3.25.2. Thi
t k
Ch
n OPTO triac MOC2030 l IC giao ti
p cch ly gia khi i
u khi
n v khi cng
su
t.

Chng 3: Thi
t kph
n cng thi
t bthc t
p lp trnh (vi i
u khi
n AVR)

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 93

Hnh 3.47 Schn v c


u trc bn trong ca IC MOC3020

i
n p cung c
p bn i
u khi
n l 5V. chn
i
n trh
n dng cho OPTO l 470,
ch
n Transistor A1015
i
u khi
n OPTO v c
i
n trcc B l 4,7k

Hnh 3.48 Snguyn l khiRelay bn d


n

Chng 3: Thi
t kph
n cng thi
t bthc t
p lp trnh (vi i
u khi
n AVR)

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 94

3.26. MCU
3.26.1. Yu c
u
Khi MCU c thi
t ktng thch cc dng vi
i
u khi
n AVR, 8051, PIC c th
ch
n

c t
n sth
ch anh cho tng dng vi i
u khi
n, khi nh
n nt CRYSTAL
SELECT v

c hi
n thtrn cc led tng ng. Giao ti
p vi my tnh qua c
ng
com, ngoi ra cn c cng SPI k
t ni vi m
ch n
p.
3.26.2. Thi
t k
Tnh ton thi
t km
ch ch
ng d
i cho nt nh
n CRYSTAL SELECT:
Ch
n IC 555 lm m
ch mono, thi gian ch
ng di 500ms

=1,1.R.C=500ms
Ch
n C = 100uF =>
500.10 3
R
4,5k
1,1.100.106

Ch
n R=4,7k
Hnh 3.49 Sk
t ni LM555

Ch
n IC 4066 l cng t
c i
n tch
n th
ch anh c
i
u khi
n bi IC ghi d
ch 4017

Hnh 3.50 Schn IC CD4066BC

Hnh 3.51 Sng nguyn l cc cng IC CD4066BC

Chng 3: Thi
t kph
n cng thi
t bthc t
p lp trnh (vi i
u khi
n AVR)

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 95

B
ng 3.4 B
ng chc n
ng IC HEF4017BC

Hnh 3.52 Schn IC HEF4017B

Ch
n cc transistor C1815 i
u khi
n led hi
n thv
i
n trh
ng dng cho led l
330
Ch
n IC MAX232 l IC giao ti
p RS-232 gia vi i
u khi
n v my tnh.

Hnh 3.53 Schn IC MAX232

Chng 3: Thi
t kph
n cng thi
t bthc t
p lp trnh (vi i
u khi
n AVR)

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 96

Hnh 3.54 Snguyn l khi MCU

3.27. Cc MCU ngoi


3.27.1.Yu c
u
Cc khi MCU ngoi

c thi
t kc cc chn ngu
n, GND, port, cc chn dao
ng
th
ch anh tng thch vi Kh
i MCU trn KIT, bao gm
c
m cc vi i
u khi
n h
AVR, 8051, v m
ch Reset.
3.27.2. Thi
t k
i/ Kh
i MCU cho cc Vi i
u khi
n: Atmega16/L, Atmega32/L, Atmega164P/V,
Atmega324P/V, Atmega644P/V, Atmega 163/L, Atmega8535/L, Atmega323/L,
AT90S/LS4434, AT90S/LS8535.
Tnh ton thi
t km
ch Reset:
Khi c
p ngun tC1 coi nhni t
t. T
i thi
i
m VRST =GND chn Reset Vi
i
u
khi
n tch cc Vi i
u khi
n c t
ng Reset. Sau
tC1 n
p d
n

n gi trVcc

Chng 3: Thi
t kph
n cng thi
t bthc t
p lp trnh (vi i
u khi
n AVR)

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 97

tcoi nhhm
ch d
n
n V RST=Vcc, Vi
i
u khi
n b
t

u lm vi
c theo xung
ng
h.
Thi gian t
n t
i xung Reset t10ms30ms:
Tnap=RC.1,1=10ms. Chn tC = 1F
10.10 3
10k
1,1.11.106

=> R

Hnh 3.56 Snguyn l khiMCU ngoi 1

ii/ Khi MCU cho cc vi i


u khi
n: Atmega161/L, Atmega162/V,
Atmega8515/L, AT90S4414, AT90S8515.
Tnh ton thi
t km
ch Reset:
Khi c
p ngun tC1 coi nhni t
t. T
i thi
i
m VRST =GND chn Reset Vi
i
u
khi
n tch cc Vi i
u khi
n c t
ng Reset. Sau
tC1 n
p d
n

n gi trVcc
tcoi nhhm
ch d
n
n V RST=Vcc, Vi
i
u khi
n b
t

u lm vi
c theo xung
ng
h.
Thi gian t
n t
i xung Reset t10ms30ms:
10.103
10k
1,1.11.106

Tnap=RC.1,1=10ms. Chn tC = 1F => R

Chng 3: Thi
t kph
n cng thi
t bthc t
p lp trnh (vi i
u khi
n AVR)

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 98

Hnh 3.57 Snguyn l khiMCU ngoi 2

iii/ Kh
i MCU cho cc vi
i
u khi
n: Atmega48/V, Atmega88/V. Atmega168/V,
Atmega8/L, AT90S/LS2333, AT90S/LS4433.
Tnh ton thi
t km
ch Reset:
Khi c
p ngun tC1 coi nhni t
t. T
i thi
i
m VRST =GND chn Reset Vi
i
u
khi
n tch cc Vi i
u khi
n c t
ng Reset. Sau
tC1 n
p d
n

n gi trVcc
tcoi nhhm
ch d
n
n V RST=Vcc, Vi
i
u khi
n b
t

u lm vi
c theo xung
ng
h.
Thi gian t
n t
i xung Reset t10ms30ms:
Tnap=RC.1,1=10ms. Chn tC = 1F
10.103
10 ks
1,1.11.106

=> R

Chng 3: Thi
t kph
n cng thi
t bthc t
p lp trnh (vi i
u khi
n AVR)

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 99

Hnh 3.58 Snguyn l khiMCU ngoi 3

3.28. Ngu
n
3.28.1. Yu c
u
Khi ngun
c thi
t kg
m 3 mc
i
n p +12V, +5V, -12V. C dng ln

cung c
p cho ton KIT v cc thi
t bth nghi
m phbn ngoi.
3.28.2. Thi
t k
Tnh ton thi
t kngun +5V:
Dng tiu tht
i a c
a cc led trn cc kh
i sdng ngun 5V gm c:
- Kh
i hi
n thLED n 240mA
- Kh
i qut hi
n thLED 7
o
n 224mA
- Kh
i d
ch v ch
t hi
n thLED 7 o
n 160mA
- Kh
i chuy
n
i nhphn sang th
p phn v Hexa 196mA
- Kh
i thumswitch i
n t70mA
- Kh
i ngu
n xung
ng h10mA
- Kh
i qut hi
n thLED ma tr
n
V
y t
ng dng i
n cung c
p cho cc led cc kh
i l 900mA ngoi ra cn ph
i c
p
ngun h
u h
t cc IC trong KIT, vi
i
u khi
n v ngun phbn ngoi do
ch
n IC

n p +5VDC l MC78H05 c dng i


n cung c
p tia 5A.
Tnh ton thi
t kngun +12V:
Dng tiu tht
i a c
a cc led, v
ng c trn cc kh
i sdng ngun 12V g
m
c:

Chng 3: Thi
t kph
n cng thi
t bthc t
p lp trnh (vi i
u khi
n AVR)

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 100

- Kh
i d
ch v ch
t hi
n thLED ma tr
n 896mA
-
ng cDC 500mA, 12V
-
ng cbc 500mA,12V
V
y tng dng i
n cung c
p cho cho led 2 khi l 1,344A, ngoi ra cn ph
i c
p
ngun cho 2
ng cl 1A, cc IC m
t skh
i v ngu
n phbn ngoi do chn
IC
n p +12V l MC74H12 c dng cung c
p cc

i 5A.
Tnh ton thi
t kngun -12V:
Ngu
n -12V cung c
p cho IC DAC0808 v cc Op-Amp TL082 lm vi
c nn khng
c
n dng cung c
p ln do
ch
n IC
n p -12V l LM79M12 c dng cung c
p ti

a 0,5A
Ch
n diode c
u 10A, tlc ngun 1000F.

Hnh 3.55 Snguyn l khi ngun

Chng 3: Thi
t kph
n cng thi
t bthc t
p lp trnh (vi i
u khi
n AVR)

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 101

CHNG 4
GII THIU TRNH BIN D
CH CODEVISIONAVR
4.1. Gii thi
u slc vtrnh bin d
ch CodeVisionAVR
CodeVisionAVR l mttrong strnh bin d
ch cho vi i
u khi
n AVR. Khng gi
ng
nhchng trnh htrkhc cho AVR, CodeViSionAVR
c vi
t
c bi
t dnh cho
vi
i
u khi
n AVR. N cung c
p nhng m l
nh chnh xc v r rng, sdng cc
c

i
m c
a vi i
u khi
n m khng hoang ph bnhca n. So snh vicc trnh bin
d
ch khc, cc l
nh ca n th ng
n hn v hi
u quhn cho vi i
u khi
n AVR. Cui
cng l CodeVisionAVR c m l
nh chng v thanh cng cring cho cc t
p tin.
Trong ph
n ny nhm thc hi
n
ti schcch t
o m
t t
p tin (project), bin d
ch
m
t t
p tin ra t
p tin c ui Hex cng nhn
p ch
ng trnh cho cho thi
t b
u ra
4.2. Cch son tho mt t
p tin trn CodeVision AVR
4.2.1. T
o m
t Soure mi
t
o mt Source mi ta vo trnh n File ri ch
n New

Ho
c nh
n nt c bi
u t
ng

trn thanh cng c

Sau m
t ca ss
c hi
n ra :

Chng 4: Gii thi


u trnh bin d
ch CodeVisionAVR

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 102

Ch
n Source r
i click OK
Mt ca svi
t chng trnh sxu
t hi
n cho php
nh l
nh vo

Sau khi bin t


p xong ch
n trnh mu
n lu l
i chng trnh ta vo trnh
n File ri
ch
n Save as

Mt ca ssxu
t hi
n

Chng 4: Gii thi


u trnh bin d
ch CodeVisionAVR

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 103

Cho php nh tn t
p tin v chlu t
p tin
Sau khi t
o t
p tin ngun xong ta ph
i t
o mt tin project c t
p tin ngun km theo
khi chng trnh mi bin d
ch c
4.2.2. T
o m
t Project mi
t
o mt Project mi ta vo trnh
n File r
i chn New
Ho
c nh
n nt c bi
u t
ng

trn thanh cng c

Sau m
t ca ss
c hi
n ra :

Ch
n Project ri click OK mt ca ssxu
t hi
n

N
u ch
n nt Yes th mt ca ssxu
t hi
n

Chng 4: Gii thi


u trnh bin d
ch CodeVisionAVR

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 104

Cho php b
n chn chc n
ng m AVR chip m b
n sd
ng c c CodeVision h
tr
N
u b
n ch
n No th mt ca ssxu
t hi
n

B
n
nh tn v

ng d
n c
a t
p tin Project vo r
i click Save
Sau m
t ca ssxu
t hi
n

Chng 4: Gii thi


u trnh bin d
ch CodeVisionAVR

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Click Add ri ch
n t
p tin ngun tng ng cho t
p tin Project

Sau click Open v OK shon t


t vi
c t
o mt t
p tin Project

Chng 4: Gii thi


u trnh bin d
ch CodeVisionAVR

Trang 105

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 106

4.3. Bin d
ch m
t tp tin trn C CodeVision
bin d
ch mt t
p tin trn Code ta vo trnh n Project r
i ch
n Compile ho
c l
phm F9 trn bn phm

Ta cng c thsdng

nt
c thbin d
ch

Khi ta sd
ng l
nh ny this dng d
ch m ngun. Ta snh
n
c m
t thng bo
cho bi
t chng trnh ca ta d
ch thnh cng m khng c li v c
nh bo. Thng
bo c
ng cho ta bi
t dung lng bnhRAM
c sdng l bao nhiu, kch
thc c
a ng
n x
p v c bao nhiu khng gian bnh

c dng cho cc bi
n. Trnh
d
ch c
ng t
o ra hp ngv lu trn

a.

Chng 4: Gii thi


u trnh bin d
ch CodeVisionAVR

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 107

Ta cng c thbin d
ch chng trnh b
ng cch vo trnh
n Project ri ch
n Make
hay thp phm Shift + F9

Khi ta chn l
nh ny this trnh d
ch sho
t
ng v t
o ra t
p assembly,
ng thi sau

c
ng g
i mt trnh d
ch h
p ngm
t t
p m
i tng theo

nh d
ng t
p hex ca
intel ho
c theo mt vi

nh d
ng no
.

Chng 4: Gii thi


u trnh bin d
ch CodeVisionAVR

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 108

4.4. N
p m
t chng trnh cho vi i
u khi
n AVR
Trn mng hnh ta nh
n vo bi
u tng
vi
i
u khi
n

mh
p tho
i n
p chng trnh cho

Chng ta c
ng c thmh
p tho
i b
ng cch vo trnh
n Tools ri ch
n Chip
Programmer
Ngoi ra chng ta cng c thnh
n thp phm Shift + F4, mt hp tho
i nhsau s
xu
t hi
n

Chng 4: Gii thi


u trnh bin d
ch CodeVisionAVR

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 109

T
i la ch
n Chip cho php chn chip ng
n
p chng trnh
Khi la chn chip th t
i vtr FLASH, EEPROM cho ta bi
t c

a chvng nh
trn FLASH v EEPROM
Trn ca sny ta vo trnh n Program c cc sla ch
n nhsau :

Chng 4: Gii thi


u trnh bin d
ch CodeVisionAVR

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 110

Erase Chip : c tc d
ng xa dli
u
n
p trn Chip

Blank Check : ki
m tra dli
u trng trn Chip

FLASH : n
p chng trnh cho AVR vo bnhFLASH

EEPROM : n
p chng trnh cho AVR vo bnhEEPROM, khi ta la ch
n mc
ny thm
t ca ssxu
t hi
n

N
u ta c l
p trnh cho EEPROM th ta chn Yes v ch
n file
n
p cho AVR Chip
N
u ta khng l
p trnh cho EEPROM th ta ch
n No, ch
ng trnh sti
p t
c n
p d
li
u cho AVR

Ch
n Cancel thot khivi
c n
p cho EEPROM
Lock Bits : dng
n
p v kha cc bits c yu c
u trong FLASH, n lin quan

n vi
c la chn mc Chip Programming Options

Chng 4: Gii thi


u trnh bin d
ch CodeVisionAVR

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 111

Fuse Bit(s) : n
p chng trnh cho cc Fuse Bit(s)
All : sla chn ny cho php chn t
t ccho vi
c n
p chng trnh vo trong AVR
chip

Chng 4: Gii thi


u trnh bin d
ch CodeVisionAVR

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 112

CHNG 5
XY DNG MT S CHNG TRNH MU
5.1 Led n
5.1.1 Yu cu
Vi
t chng trnh i
u khi
n led n sng d
n t
t d
n 24 led hi
n thtrn PORTA,
PORTC, PORTD.
5.1.2 Sk
t n
i
MCU

Chng 5: Xy dng m
t schng trnh m
u

KHI LED N

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 113

5.1.3 Sgi
i thu
t
Begin

Khai bo
bi
n v port

T
ng ln lt
PORTA, C, D

T
ng bi
nT

T>24

Gim ln lt
PORTA, C, D

Gi
m bi
nT

S
T=0

5.1.4 Chng trnh


#include<MEGA8515.h>
#include<delay.h>
void main()
{
unsigned int I,r;
unsigned int t;
unsigned int j;
DDRA=0xff;
DDRC=0xff;
Chng 5: Xy dng m
t schng trnh m
u

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)
DDRD=0xff;
while (1)
{
if (PORTD.7==0)
{
if (t<8)
{
t++;
j++;
PORTA=j;
j=j<<1;
delay_ms(200);
}
else if (t<16)
{
t++;
i++;
PORTC=I;
i=i<<1;
delay_ms(200);
}
else if (t<24)
{
t++;
r++;
PORTD=r;
r=r<<1;
delay_ms(200);
}
}
else if (PORTD.7==1)
{
if (t>16)
{
t--;
PORTA=j;
j=j<<1;
delay_ms(200);
}
else if (t>8)
{
t--;
PORTC=I;
i=i<<1;
delay_ms(200);
}

Chng 5: Xy dng m
t schng trnh m
u

Trang 114

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 115

else if (t>0)
{
t--;
PORTD=r;
r=r<<1;
delay_ms(200);
}
}
}
}
5.2 Qut led 7 on
5.2.1 Yu cu
Vi
t chng trnh i
u khi
n led 7 o
n

m t000

n 999 hi
n thtrn 3 led 7 o
n
qua PORTA v PORTB
5.2.2 Sk
t n
i
KHI QUT HIN THLED 7 ON

MCU

Chng 5: Xy dng m
t schng trnh m
u

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 116

5.2.3 Sgi
i thu
t
Begin

Khai bo bi
n v port

Tng bi
n n v

Xu
t m hi
n thra led 1
Xutm qut chn led

n v
=10

Tng bi
n chc
n v= 0
Xu
t m hi
n thra led 2
Xutm qut chn led

Chc = 10

T
ng bin tr
m
Chc = 0
Xu
t m hi
n thra led 2
Xutm qut chn led
S
Tr
m = 10

Tr
m =0

Chng 5: Xy dng m
t schng trnh m
u

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

5.2.4 Chng trnh


#include<MEGA8515.h>
#include<delay.h>
char num[ ]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
void main()
{
unsigned char cnt_dv;
unsigned char cnt_c;
unsigned char cnt_t;
unsigned int I;
DDRB.0=1;
DDRB.1=1;
DDRB.2=1;
DDRA=0xff;
while (1)
{
if (cnt_dv>9)
cnt_c++;
{
if (cnt_c>9)
{
cnt_t++;
cnt_c=0;
}
if (cnt_t>9)
cnt_t=0;
{
for (cnt_dv=0;cnt_dv<10;cnt_dv++)
{
for (i=0;i<150;i++)
{
PORTA=num[cnt_dv];
PORTB.0=0;
delay_us(300);
PORTB.0=1;
PORTA=num[cnt_c];
PORTB.1=0;
delay_us(300);
PORTB.1=1;
PORTA=num[cnt_t];
PORTB.2=0;
delay_us(300);
PORTB.2=1;
}

Chng 5: Xy dng m
t schng trnh m
u

Trang 117

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 118

}
}
}
}
}
5.3 Gi
i m led 7 on
5.3.1 Yu cu
Vi
t chng trnh i
u khi
n led 7 o
n

m t0
n 9 hi
n thtrn PORTA.
5.3.2 Sk
t n
i
MCU

KHI GII M 7 ON

5.3.3 Sgi
i thu
t
Chng 5: Xy dng m
t schng trnh m
u

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 119

Begin
Khai bo bi
n v port

Tng PORTA

PORTA = 9

PORTA = 0

5.3.4 Chng trnh


#include<MEGA8515.h>
#include<delay.h>
void main()
{
unsigned char j;
DDRA=0xff;
while (1)
{
for (j=0;j<10;j++)
{
delay_ms(500);
PORTA=j;
}
}
}
5.4 Hi
n thled 7 on ch
t v d
ch
5.4.1 Yu cu
Vi
t chng trnh i
u khi
n led 7 o
n

m t00
n 99 hi
n thtrn PORTA.

Chng 5: Xy dng m
t schng trnh m
u

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 120

5.4.2 Sk
t n
i
KHI D
CH V CHT HIN TH
LED 7 ON

MCU

5.4.3 Sgi
i thu
t
Chng 5: Xy dng m
t schng trnh m
u

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 121

Begin

Khai bo bi
n v port

a dliu niti
p vo
thanh ghi d
ch
Xutdliu song song
ng ra ca thanh ghi d
ch

n v
=10

Tng bi
n chc
n v= 0

Chc = 10

Chc = 0

5.4.4 Chng trnh


#include<MEGA8515.h>
#include<delay.h>
char num[]={0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09};
void main()
{
unsigned int I,j,cnt,cnt_c;
DDRA=0xff;
DDRB=0xff;
DDRC=0xff;
cnt=0;

Chng 5: Xy dng m
t schng trnh m
u

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)
cnt_c=0;
while (1)
{
if (cnt>9)
cnt=0;
else
{
do
{
PORTB=num[cnt];
for (j=0;j<8;j++)
{
PORTA.0=PORTC.0;
PORTC=PORTC>>1;
PORTA.1=1;
PORTA.1=0;
}
PORTC=num[cnt_c];
for (i=0;i<8;i++)
{
PORTA.0=PORTB.0;
PORTB=PORTB>>1;
PORTA.1=1;
PORTA.1=0;
}
PORTA.2=1;
PORTA.2=0;
PORTA.3=1;
PORTA.4=0;
delay_ms(500);
cnt_c++;
}
while (cnt_c<10);
cnt_c=0;
cnt++;
}
}
}
5.5 Hi
n thled ma trn bng phng php qut
5.5.1 Yu cu

Chng 5: Xy dng m
t schng trnh m
u

Trang 122

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 123

Chng trnh hi
n thk tA trn led ma tr
n b
ng cch qut hng v ct. Tn hi
u

i
u khi
n xu
t ra hai port A v C
5.5.2 Sk
t n
i
KHI QUT HIN THLED MA TRN
MCU

5.5.3 Sgi
i thu
t
Chng 5: Xy dng m
t schng trnh m
u

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Begin
Khai bo bi
n v port

Xu
t dliu ra hng thi
Xutdli
u ra chn ct
thi sng

Delay

T
ng hng k, ctk

5.5.4 Chng trnh


#include<MEGA8515.h>
#include<delay.h>
char num[]={0xfc,0x0a,0x09,0x0a,0xfc};
char num1[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
void main()
{
unsigned char cnt,col;
unsigned int I;
DDRA=0xff;
DDRC=0xff;
while (1)
{
col=0;
for (cnt=0;cnt<5;cnt++)
{
col++;
for (i=0;i<40;i++)
{
PORTC=num[cnt];
PORTA=num1[col];
delay_us(100);
Chng 5: Xy dng m
t schng trnh m
u

Trang 124

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 125

}
}
}
}
5.6 Hi
n thled ma trn cht v d
ch
5.6.1 Yu cu
Chng trnh hi
n thk tA trn led ma tr
n b
ng chtv d
ch dli
u vo thanh ghi
d
ch (sdng IC 6B595). Tn hi
u qut hng trn port D, tin hi
u d
ch chttrn port A
5.6.2 Sk
t n
i
KHI D
CH CHT HIN THLED MA TRN

MCU

5.6.3 Sgi
i thu
t

Chng 5: Xy dng m
t schng trnh m
u

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)
Begin
Khai bo bi
n v port

a dli
u ni tip vo
thanh ghi d
ch
Xu
t dli
u song song
ng ra c
a thanh ghi d
ch
Xutdli
u ra chn ct
thi sng
T
ng hng k, ctk

5.6.4 Chng trnh


#include<MEGA8515.h>
#include<delay.h>
char num[]={0x22,0x22,0x22,0x22,0x3e,0x22,0x14,0x08};
char num1[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
void main()
{
unsigned int I,j,k,cnt;
DDRA=0xff;
DDRB=0xff;
DDRC=0xff;
DDRD=0xff;
k=0;
cnt=0;
while (1)
{
do
{
PORTA.3=1;OE
PORTC=num[cnt];
Chng 5: Xy dng m
t schng trnh m
u

Trang 126

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 127

for (j=0;j<8;j++)
{
PORTA.0=PORTC.0;
PORTC=PORTC>>1;
PORTA.1=1;SRI
PORTA.1=0;
}
PORTB=num[cnt];
for (i=0;i<8;i++)
{
PORTA.0=PORTB.0;
PORTB=PORTB>>1;
PORTA.1=1;SRI
PORTA.1=0;
}
PORTA.2=1;ST
PORTA.2=0;
PORTA.3=0;OE
PORTA.4=0; CLR
PORTD=num1[k];
cnt++;
k++;
delay_us(2500);
}
while (k<8);
k=0;
cnt=0;
}
}
5.7
ng cmt chi
u
5.7.1 Yu cu
Chng trnh
i
u khi
n

ng cm
t chi
u b
ng nt
n. Nh
n nt l
n mt

ng c
ch
y thu
n, nh
t l
n hai
ng c

o chi
u quay, nh
n l
n ba
ng cch
y l
i nhban

u. Ng ra
i
u khi
n
ng ctrn PORTA.0 v PORTA.1, v nt
n l PORTC.0

Chng 5: Xy dng m
t schng trnh m
u

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 128

5.7.2 Sk
t n
i
KHI IU KHIN NG CDC

MCU

5.7.3 Sgi
i thu
t
Begin

Khai bo bi
n v port

Nt n chn chng trnh


S
Bin =1

ng c
chy thu
n

ng c
ch
y ng
ch

5.7.4 Chng trnh

Chng 5: Xy dng m
t schng trnh m
u

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 129

#include<MEGA8515.h>
#include<delay.h>
void main(void)
{
unsigned int x;
DDRA=0xff;
DDRC.0=0;
x=0;
while (1)
{
if (PINC.0==1)
{
x=~x;
do
{
delay_us(2);
}
while (PINC.0==1);
}
if (x==0)
{
PORTA.0=1;
PORTA.1=1;
}
else
{
PORTA.0=1;
PORTA.1=0;
}
}
}
5.8 i
u khi
n ng cbc
5.8.1 Yu cu
Chng trnh
i
u khi
n

ng cbc quay m
t vng r
i dng thng qua PORTA

Chng 5: Xy dng m
t schng trnh m
u

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 130

5.8.2 Sk
t n
i
KHI IU KHIN NG CBC

MCU

5.8.3 Sgi
i thu
t
Begin

Khai bo bin v port

Xu
t gi triu khi
n
ng cbc
T
ng gi trbi
n
ln 1 n v

Bi
n = 12

ng cdng

5.8.4 Chng trnh


#include<MEGA8515.h>
Chng 5: Xy dng m
t schng trnh m
u

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 131

#include<delay.h>
void main()
{
unsigned int I;
DDRA=0xff;
for (i=0;i<12;i++)
{
PORTA.0=0;
delay_ms(30);
PORTA.0=1;
PORTA.1=0;
delay_ms(30);
PORTA.1=1;
PORTA.2=0;
delay_ms(30);
PORTA.2=1;
PORTA.3=0;
delay_ms(30);
PORTA.3=1;
}
}
5.9 Giao ti
p DAC
5.9.1 Yu cu
Chng trnh
i
u khi
n DAC 0808 chuy
n
i tn hi
u sthnh tn hi
u tng t.
Xu
t tn hi
u ng ra
i
u khi
n ng cm
t chi
u thng qua PORTA l ng vo
DAC, PORTB.0 v PORTB.1 l hai nt
n dng t
ng v gi
m gi trng vo c
a
DAC 0808

Chng 5: Xy dng m
t schng trnh m
u

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 132

5.9.2 Sk
t n
i
KHI DAC

MCU

5.9.3 Sgi
i thu
t
Begin

Khai bo bi
n v port

Kim tra nt
nhn t
ng c c
nhn khng

T
ng PORTA
(ng vo DAC)

S
Kim tra nt
nh
n gim c c
nhn khng

Gim PORTA
(ng vo DAC)

S
Xu
t dli
u a vo
DAC i
u khi
n ng
cch
y

Chng 5: Xy dng m
t schng trnh m
u

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 133

5.9.4 Chng trnh


#include<MEGA8515.h>
#include<delay.h>
sfrb PINB=0x16;
sfrb DDRB=0x17;
sfrb PORTB=0x18;
void main()
{
unsigned int I;
DDRB.0=0;
DDRB.1=0;
DDRA=0xff;
while (1)
{
if (PINB.0==1)
{
i++;
do
delay_us(2);
while (PINB.0==1);
}
if (PINB.1==1)
{
i--;
do
delay_us(2);
while (PINB.1==1);
}
PORTA=I;
}
}
5.10 Hi
n thLCD
5.10.1 Yu c
u
Chng trnh
i
u khi
n LCD hi
n thdng ch
DAI HOC SU PHAM KY THUAT
TPHCM ln mng hnh LCD

Chng 5: Xy dng m
t schng trnh m
u

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 134

5.10.2 Sk
t n
i
KHI HIN THLCD

MCU

5.10.3 Sgii thut


Begin

Khai bo bi
n v cc port

Thitlp port LCD

Khi to cc dng cho LCD

Xc
nh dng cho vi
c hi
n th

nh hnh thcho LCD

Xa dli
u ctrn LCD

Hi
n thdli
u mi

Chng 5: Xy dng m
t schng trnh m
u

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

5.10.4 Chng trnh


#include<MEGA8515.h>
#include<delay.h>
#define LCD_E PORTA.2
#define LCD_RS PORTA.0
#define LCD_RW PORTA.1
#define LCD_PORT PORTD
const unsigned char flash addLUT[4]={0x80,0xc0,0x94,0xd4};
unsigned char LCD_ADDR,LCD_LINE;
void wr_half(unsigned char data)
{
LCD_RW=0;
LCD_E=1;
LCD_PORT=(data & 0x0f);
LCD_E=0;
LCD_RW=1;
delay_ms(3);
}
void wr_disp(unsigned char data)
{
LCD_RW=0;
LCD_E=1;
LCD_PORT=(data >> 4);
LCD_E=0;
LCD_E=1;
LCD_PORT=(data & 0x0f);
LCD_E=0;
LCD_RW=1;
delay_ms(3);
}
void line(char which_line)
{
LCD_RS=0;
LCD_ADDR=addLUT[which_line-1];
wr_disp(LCD_ADDR);
LCD_RS=1;
LCD_ADDR=0;
LCD_LINE=which_line;

Chng 5: Xy dng m
t schng trnh m
u

Trang 135

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)
}

void disp_char(unsigned char c)


{
LCD_RS=1;
wr_dispI;
LCD_ADDR++;
if (LCD_ADDR==20)
line(2);
else if (LCD_ADDR==40)
line(3);
else if (LCD_ADDR==60)
line(4);
else if (LCD_ADDR==80)
line(1);
}
void disp_cstr(unsigned char flash *sa)
{
while (*sa!=0)
disp_char(*sa++);
}
void init_display(void)
{
char I;
LCD_RW=1;
LCD_E=0;
LCD_RS=0;
delay_ms(50);
wr_half(0x33);
wr_half(0x33);
wr_half(0x33);
wr_half(0x22);
wr_disp(0x28);
wr_disp(0x01);
wr_disp(0x10);
wr_disp(0x06);
wr_disp(0x0c);
for (i=0x40;i<0x5f;i++);
{
delay_ms(10);
LCD_RS=0;
wr_disp(i);

Chng 5: Xy dng m
t schng trnh m
u

Trang 136

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 137

delay_ms(10);
disp_char(0);
}
LCD_RS=1;
}
void clear_display(void)
{
LCD_RS=0;
wr_disp(0x01);
delay_ms(10);
LCD_RS=1;
}
void main(void)
{
PORTA=0x00;
DDRA=0x07;
PORTD=0x00;
DDRD=0x0f;
delay_ms(100);
init_display();
delay_ms(100);
clear_display();
delay_ms(100);
disp_cstr(DAI HOC SU PHAM KY THUAT TPHCM );
}
5.11 Giao ti
p ADC
5.11.1 Yu c
u
Chng trnh
i
u khi
n ADC0809 chuy
n
i dli
u knh 1 thnh tn hi
u s, hi
n
th
i
n p ng vo trn 4 led 7 o
n thng qua PORTA, PORTB, PORTC, PORTD

Chng 5: Xy dng m
t schng trnh m
u

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 138

5.11.2 Sk
t n
i
MCU

KHI ADC

KHI TO TN
HIU TNG T

KHI QUT HIN THLED 7 ON

5.11.3 Sgii thut

Begin

Khai bo bin v port

Chn knh th1

To xung i
u khin
ADC: Start, ALE
Chchuy
n ixong,
hi
n thk
t qu

Chng 5: Xy dng m
t schng trnh m
u

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)
5.11.4 Chng trnh
#include<MEGA8515.h>
#include<delay.h>
#include<math.h>
sfrb PINB=0x16;
sfrb DDRB=0x17;
sfrb PORTB=0x18;
char num[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
void main()
{
unsigned int z,x,k,l,I,j;
float y,d,m,n;
DDRA=0x00;
DDRC=0xff;
DDRB.0=1;//A
DDRB.1=1;//B
DDRB.2=1;//C
DDRB.3=0;//EOC
DDRB.4=1;//ALE
DDRB.5=1;//START
DDRD.0=1;
DDRD.1=1;
DDRD.2=1;
DDRD.3=1;
while (1)
{
PORTB.0=0;//A
PORTB.1=0;//B
PORTB.2=0;//C
PORTB.4=1;//ALE
PORTB.5=1;//START
do
PORTB.5=0;//START
while (PINB.3==0);//EOC
x=PINA;
y=x*0xc4;
z=y/0x2710;
d=fmod(y,0x2710);
k=d/0x03e8;
m=fmod(d,0x03e8);
l=m/0x64;
n=fmod(m,0x64);

Chng 5: Xy dng m
t schng trnh m
u

Trang 139

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 140

i=n/0x0a;
j=0;
do
{
j++;
PORTC=num[z];
PORTC.7=0;
PORTD.0=0;
delay_us(300);
PORTD.0=1;
PORTC=num[k];
PORTD.1=0;
delay_us(300);
PORTD.1=1;
PORTC=num[l];
PORTD.2=0;
delay_us(300);
PORTD.2=1;
PORTC=num[l];
PORTD.3=0;
delay_us(300);
PORTD.3=1;
}
while (j<150);
}
}
5.12 i
u khi
m phm ma tr
n
5.12.1 Yu c
u
Chng trnh
i
u khi
n phm ma tr
n v hi
n thm ca phm nh
n trn led 7 o
n.
PORTC, PORTD dng qut phm, PORTA dng hi
n thm c
a phm ra led 7

o
n

Chng 5: Xy dng m
t schng trnh m
u

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 141

5.12.2 Sk
t n
i
MCU

KHI PHM MA TRN

5.12.3 Sgii thut

Chng 5: Xy dng m
t schng trnh m
u

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 142

Begin

Khai bo bin v port

Thi
t l
p gi trban
u
cho PORTC, PORTD

Ki
m tra xem phm
c nh
n khng

c gi trvo
PORTD, qut PORTC

L
y m v hin th

5.12.4 Chng trnh


#include<MEGA8515.h>
#include<delay.h>
char
num[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,
0x86,0x8e};
void main()
{
DDRA=0xff;
DDRC=0x00;
DDRD=0x00;
PORTA=0xff;
while (1)
{
PORTC=0x0f;

Chng 5: Xy dng m
t schng trnh m
u

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)
PORTD=0x00;
if (PIND.0==1)
{
PORTC=0x00;
if (PINC.0==1)
PORTA=num[7];
if (PINC.1==1)
PORTA=num[4];
if (PINC.2==1)
PORTA=num[1];
if (PINC.3==1)
PORTA=num[0];
}
if (PIND.1==1)
{
PORTC=0x00;
if (PINC.0==1)
PORTA=num[8];
if (PINC.1==1)
PORTA=num[5];
if (PINC.2==1)
PORTA=num[2];
if (PINC.3==1)
PORTA=num[15];
}
if (PIND.2==1)
{
PORTC=0x00;
if (PINC.0==1)
PORTA=num[9];
if (PINC.1==1)
PORTA=num[6];
if (PINC.2==1)
PORTA=num[3];
if (PINC.3==1)
PORTA=num[14];
}
if (PIND.3==1)
{
PORTC=0x00;
if (PINC.0==1)
PORTA=num[10];
if (PINC.1==1)
PORTA=num[11];
if (PINC.2==1)
PORTA=num[12];

Chng 5: Xy dng m
t schng trnh m
u

Trang 143

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 144

if (PINC.3==1)
PORTA=num[13];
}
}
}
5.13 i
u khi
n
ng cbc sdng IC
5.13.1 Yu c
u
Chng trnh
i
u khi
n

ng cbc quay m
t vng sdng IC chuyn d
ng L297,
L298 thng qua PORTA
5.13.2 Sk
t n
i
KHI IU KHIN NG CBC DNG IC
MCU

Chng 5: Xy dng m
t schng trnh m
u

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 145

5.13.3 Sgii thut


Begin

Khai bo bin v port


T
o xung i
u
khi
n L297, L298

Xu
t gi triu khi
n
ng cbc
T
ng gi trbi
n
ln 1 n v

Bi
n = 12

ng cdng

5.13.4 Chng trnh


#include<MEGA8515.h>
#include<delay.h>
void main()
{
unsigned int i;
DDRA=0xff;
i=0;
while (1)
{
PORTA.0=1;//reset
PORTA.1=0;//half/full
PORTA.2=1;//CW/CCW
do
Chng 5: Xy dng m
t schng trnh m
u

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)
{
PORTA.3=1;//CLOCK
PORTA.3=0;
i++;
}
while (i<12);
i=0;
}
}

Chng 5: Xy dng m
t schng trnh m
u

Trang 146

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 147

CHNG 6
KT QUNGHIN CU, KT LUN
V HNG PHT TRIN
6.1. K
t qunghin cu
Sau kho
ng thi gian 10 tu
n nghin cu thi
t kv thi cng thi
t bthc t
p vi
i
u
khi
n AVR nhm thc hi
n hon thnh cc cng vi
c sau:
[1] Thi
t kv thi cng hon ch
nh
Thi
t bthc t
p l
p trnh (vi
i
u khi
n AVR):
t
t ccc khic thi
t ktrn mt board m
ch.
[2] Xy dng chng trnh m
u cho tng khi b
ng ph
n m
m CodeVision AVR C
compiler.

Chng 6: K
t qunghin cu, k
t lun v hng pht tri
n

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Hnh 6.1 Thitbthc t


p lp trnh (vi i
u khi
n AVR) hon ch
nh

Chng 6: K
t qunghin cu, k
t lun v hng pht tri
n

Trang 148

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 149

6.2. K
t lun
ti cb
n hon thnh theo
ng yu c
u ca nhm thc hi
n. Thi
t bthc t
p
vi
i
u khi
n AVR c thi
t kph
n ln cc IC c
c
m nn ddng thay thkhi
hh
ng,
c thi
t ktrn cng mt board gip ngi dng ddng quan st, thao tc
trn thi
t bv c ci nhn tng qut vthi
t b
. Ngoi ra c thi
t ktrn mt board
nn ddng v
n chuy
n v
ng gi. Trn thi
t bc cc port ngu
n mrng, ngu
n
c cng su
t ln dphng gip ngi sd
ng c khn
ng mr
ng cc m
ch bn
ngoi ho
c cc kh
i mr
ng nng cao. Ngoi ra trn thi
t bc m
t skhing dng
htrngi dng c
p cb
n dti
p c
n v
i vi
i
u khi
n nhkh
i chuy
n
i
Bin-Dec/Hex, khi Thumbswitch i
n t,khi t
o xung...
Tuy nhin c
ng c nhi
u kh kh
n v h
n chtrong qu trnh thc hi
n. Tm ki
m
nhng gi
i php kh
c phc nhng kh kh
n l i
u m nhm lun ph
i thc hi
n
trong su
t qu trnh thc hi
n
ti. D v
y, trong chu
n mc nh
t

nh, vi nhng
h
n chkhch quan cng nhchquan nn mt sv
n khng
c ti
m hi
u v
quan tm

y
nn sthi
u st c
a ti l
i
u khng thtrnh khi.
6.3. Hng pht tri
n
Mr
ng cho thi
t bthc t
p b
ng cch thi
t kthm cc kh
i mrng trn m
t board
phnh: mr
ng PORT, mr
ng bnh,i
u khi
n I2C,
i
u khi
n CAN, giao ti
p
my tnh...
Thi
t kthi
t b
c cc ng I/O c
a cc kh
i c tnh tng thch vicc dng vi
i
u
khi
n khc nh8051, PIC... v cc IC l
p trnh
c nhPLD, CPLD...
cho ngi dng linh ho
t gia vi
c m phng v ch
y thc ttrn thi
t b
. ti
nn thi
t km
t dao di
n ring trn my vi tnh.
Thi
t km
t m
ch n
p
a n
ng cho t
t ccc dng vi
i
u khi
n v IC l
p trnh c.
Cao hn na l thi
t kphng th nghi
m vi i
u khi
n.

Chng 6: K
t qunghin cu, k
t lun v hng pht tri
n

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

PHN C

PHLC V
TI LIU
THAM KHO

Ph
n C: Phlc v ti li
u tham kho

Trang 150

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)
Phlc A: Chng trnh c
a vi
i
u khi
n kh
i Thum Switch
i
n t
a. Sgi
i thu
t:

Ph
n C: Phlc v ti li
u tham kho

Trang 151

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 152

b. Chng trnh:
ORG
0000H
MOV
DPTR,#LED7DOAN
MOV
20H,#0
TD: MOV
A,20H
MOVC A,@A+DPTR
MOV
P1,A
MOV
C,00H
MOV
P3.2,C
MOV
C,01H
MOV
P3.3,C
MOV
C,02H
MOV
P3.4,C
MOV
C,03H
MOV
P3.5,C
KT_UP:
JB P3.1,KT_DOWN
CALL DELAY
JNB P3.1,KT_DOWN
INC 20H
MOV
R0,20H
CJNE
R0,#16,KT_DOWN
MOV
20H,#0
KT_DOWN:
JB P3.0,TD
CALL
DELAY
JNB P3.0,TD
DEC 20H
MOV
R0,20H
CJNE
R0,#255,TD
MOV
20H,#15
SJMP
TD
LED7DOAN:
DB
0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,
86H,8EH
DELAY: MOV
R6,#0FFH
DEL2:
MOV
R7,#0FFH
DEL1:
DJNZ
R7,DEL1
DJNZ
R6,DEL2
RET
END

Ph
n C: Phlc v ti li
u tham kho

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 153

Phlc B: Chng trnh vi


i
u khi
n kh
i ngun xung
ng h
a. Sgi
i thu
t:
Begin

Ngat ngoai 1

Khi tao bien


em chon tan
so =0

Tang bien em

Cho phep
timer0 va ngat
ngoai 1 lam
viec

SS0

SS1

SS2

SS3

SS4

SS5

SS6

SS7

End

Ph
n C: Phlc v ti li
u tham kho

RETI

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)
SS0

Sai

Trang 154
SS2

SS1

So sanh bien
em =0

Sai

So sanh bien
em =1

ng

ng

Sai

So sanh bien
em =2
ng

Xuat gia tr ra
P1 cho LED
hien th 1Hz
sang

Xuat gia tr ra
P1 cho LED
hien th 10Hz
sang

Xuat gia tr ra
P1 cho LED
hien th 100Hz
sang

Nap gia tr cho


Timer em
500ns

Nap gia tr cho


Timer em
50ns

Nap gia tr cho


Timer em
5ns

Lay bu P3.7

Lay bu P3.7

Lay bu P3.7

RET

RET

RET

Ph
n C: Phlc v ti li
u tham kho

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

SS3

Sai

Trang 155

SS4

So sanh bien
em =3

Sai

SS5

So sanh bien
em =4

ng

ng

Sai

So sanh bien
em =5
ng

Xuat gia tr ra
P1 cho LED
hien th 1kHz
sang

Xuat gia tr ra
P1 cho LED
hien th 10kHz
sang

Xuat gia tr ra
P1 cho LED
hien th
100kHz sang

Nap gia tr cho


Timer em
500us

Nap gia tr cho


Timer em
50us

Nap gia tr cho


Timer em
5us

Lay bu P3.7

Lay bu P3.7

Lay bu P3.7

RET

RET

RET

Ph
n C: Phlc v ti li
u tham kho

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)
SS6

Sai

Trang 156
SS7

So sanh bien
em =6
ng

Xuat gia tr ra
P1 cho LED
hien th 1MHz
sang
Nap gia tr cho
Timer em
0,5us

Lay bu P3.7

RET
b. Chng trnh:
ORG0000H
JMP MAIN
ORG0003H
CLR IE.7
INC R0
JNB P3.2,$
SETB
IE.7
RETI
SS0: CJNE
R0,#0,EXIT1
MOV
40H,#100
MOV
P1,#0FEH
WAIT0: MOV
TH1,#HIGH(45535)
MOV
TL1,#LOW(45535)
SETB
TR1
JNB TF1,$
CLR TF1
CLR TR1
DJNZ
40H,WAIT0
CPL P3.7

Ph
n C: Phlc v ti li
u tham kho

Sai

So sanh bien
em =7
ng

Xoa bien em
=0

RET

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)
EXIT1: RET
SS1: CJNE
R0,#1,EXIT2
MOV
40H,#10
MOV
P1,#0FDH
WAIT1: MOV
TH1,#HIGH(45535)
MOV
TL1,#LOW(45535)
SETB
TR1
JNB TF1,$
CLR TF1
CLR TR1
DJNZ
40H,WAIT1
CPL P3.7
EXIT2: RET
SS2: CJNE
R0,#2,EXIT3
MOV
P1,#0FBH
MOV
TH1,#HIGH(45535)
MOV
TL1,#LOW(45535)
SETB
TR1
JNB TF1,$
CLR TF1
CLR TR1
CPL P3.7
EXIT3: RET
SS3: CJNE
R0,#3,EXIT4
MOV
P1,#0F7H
MOV
TH1,#HIGH(63535)
MOV
TL1,#LOW(63535)
SETB
TR1
JNB TF1,$
CLR TF1
CLR TR1
CPL P3.7
EXIT4: RET
SS4: CJNE
R0,#4,EXIT5
MOV
P1,#0EFH
MOV
TH1,#HIGH(65335)
MOV
TL1,#LOW(65335)
SETB
TR1
JNB TF1,$
CLR TF1
CLR TR1
CPL P3.7
EXIT5: RET
SS5: CJNE
R0,#5,EXIT6
MOV
P1,#0DFH
MOV
TH1,#HIGH(65515)

Ph
n C: Phlc v ti li
u tham kho

Trang 157

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)
MOV
TL1,#LOW(65515)
SETB
TR1
JNB TF1,$
CLR TF1
CLR TR1
CPL P3.7
EXIT6: RET
SS6: CJNE
R0,#6,EXIT7
MOV
P1,#0BFH
MOV
TH1,#HIGH(65533)
MOV
TL1,#LOW(65533)
SETB
TR1
JNB TF1,$
CLR TF1
CLR TR1
CPL P3.7
EXIT7: RET
SS7: CJNE
R0,#7,EXIT8
MOV
R0,#0
EXIT8: RET
MAIN: MOV
R0,#0
MOV
TMOD,#00010000B
START:MOV IE,#10000001B
CALL
SS0
CALL
SS1
CALL
SS2
CALL
SS3
CALL
SS4
CALL
SS5
CALL
SS6
CALL
SS7
JMP
START
END

Ph
n C: Phlc v ti li
u tham kho

Trang 158

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 159

Phlc C: Chng trnh c


a vi
i
u khi
n kh
i chuy
n Bin Dec/Hex
a. Sgi
i thu
t:

Begin
Khai bo port v cc bi
n

Ki
m tra bi
n chn ng vo
niti
p hay song song

Bi
n=1

Bi
n=0

L
y gi trniti
p

L
y gi trsong song

a gi trvo
vi iu khi
n

Ki
m tra bi
n chn hi
n th
m Dec hay l m Hex

Bi
n=1
Giim v chn
m Hex

Xu
t dli
u ra led
7 o
n

Ph
n C: Phlc v ti li
u tham kho

Bi
n=0

Giim v chn
m Dec

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 160

b. Chng trnh:
#include<MEGA8515.h>
#include<math.h>
#include<delay.h>
interrupt [USART_RXC] void usart_receive(void)
{
unsigned int y;
y=UDR;
}
char num[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
char
num1[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1
,0x86,0x8e};
void main(void)
{
unsigned int a,b,c,d,e,f,i,x,y;
UCSRA=0x80;
UCSRB=0xd9;
UCSRC=0x40;
UBRRH=0x00;
UBRRL=0x33;
#asm("sei")
while (1)
{
DDRB.0=1;
DDRB.1=1;
DDRB.2=1;
DDRB.3=0;
DDRB.4=0;
DDRA=0x00;
DDRC=0xff;
y=UDR;
if (PINB.4==0)
x=y;
else
x=PINA;
if (PINB.3==0)
{

Ph
n C: Phlc v ti li
u tham kho

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)
a=x/0x64;
b=fmod(x,0x64);
c=b/0x0a;
d=fmod(b,0x0a);
i=0;
do
{
i++;
PORTC=num[d];
PORTB.0=0;
delay_us(90);
PORTB.0=1;
PORTC=num[c];
PORTB.1=0;
delay_us(90);
PORTB.1=1;
PORTC=num[a];
PORTB.2=0;
delay_us(90);
PORTB.2=1;
}
while (i<50);
}
else if (PINB.3==1)
{
e=x/0x10;
f=fmod(x,0x10);
i=0;
do
{
i++;
PORTC=num1[f];
PORTB.0=1;
delay_us(90);
PORTB.0=0;
PORTC=num1[e];
PORTB.1=1;
delay_us(90);
PORTB.1=0;
}
while (i<50);
}
}
}

Ph
n C: Phlc v ti li
u tham kho

Trang 161

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 162

Phlc D: M phng vi i
u khi
n b
ng ph
n m
m Proteus
Cc ph
n m
m m ph
ng th
ng bgii h
n bi linh ki
n. trong th ISIS m ph
ng

c r
t nhi
u linh ki
n, kccc IC l
p trnh
c nhvi
i
u khi
n MCS_51, AVR,
PIC, PLDy l u i
m n
i b
t nh
t c
a ISIS.
Hnh
nh m ph
ng sinh
ng .
T
t ccc bi
u tng r rng, giao di
n thn thi
n gip ngi hc ddng thao tc
hn, trc quan hn.
C thm ph
ng
c m
ch tng tv m
ch s.
Tuy nhin m
t slinh ki
n khng cho php m phng. M ph
ng m
ch hi
n th
b
ng
ph
ng php qut khng
n

nh.
Gi
i thi
u cc thanh cng c
.
New file T
o m
t b
n thi
t kmi.
Open design Mmtb
n thi
t k
.
Save design Lu b
n thi
t k
.
Print design In b
n thi
t k
.
Toggle grid B
t ho
c t
t hi
n thl
i.
Center at cursor Di chuy
n vtr trang thi
t k
.
Zoom in Phng to trang thi
t k
.
Zoom out Thu nhtrang thi
t k
.
Zoom to view entire sheet Xem ton btrang hi
n hnh.
Zoom to area Phng to vng ch
n.
Undo changes L
p l
i thao tc tr
c
.
Redo changes L
p l
i thao tc undo trc .
Cut to clipboard C
t vng chn vo clipboard.
Copy to clipboard Sao chp vng ch
n vo clipboard.
Paste from clipboad Gin tclipboard.
Block copy Sao chp khich
n trn trang hi
n hnh.
Block move Di chuy
n khich
n.
Block rotate Xoay khi ch
n.
Block delete Xa khi ch
n.
Pick parts from libraries L
y linh ki
n tthvi
n.
Made devide T
o linh ki
n mi.
Packaging tool Thi
t l
p vcho linh ki
n.
Decompose Sa cha linh ki
n.
Toggle wire autorouter Vdy k
t n
i ng
i
m li.
Search tag components Tm ki
m linh ki
n vi gi trthu
c tnh c s
n.
Properties assigment tool
t ch thch cho nhi
u linh ki
n.
New sheet T
o trang thi
t kmi.
Remove/Delete sheet Xa trang thi
t khi
n hnh.

Ph
n C: Phlc v ti li
u tham kho

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 163

Select mode Chch


n linh ki
n.
Component mode Ch
linh ki
n.
Jonction dot mode Chi
m ni
Wire lable mode Ch

t nhn dy d
n.
Text scrip mode Ch

t b
n ghi ch.
Buses mode Ch
ng Bus.
Subcircuit mode Ch
t
o m
ch ph.
Terminals mode Chthi
t b

u cui.
Devide pins mode Ch
chn k
t ni.
Graph mode Ch
gi
n
.
Generator mode Chcc my pht.
Voltage probe mode Cho
i
n p.
Current probe mode Ch
o dng.
Virtual instrument mode Cc d
ng
ng ho.
Rotate clockwise Xoay ph
i linh ki
n.
Rotate anti-clockwise Xoay ph
i linh ki
n.
X-mirror L
y
i xng theo trc x.
Y-mirror L
y
i xng tr
c Y.
Play B
t
u ch
y m phng.
Step M phng sau 0,05s th t
t.
Pause T
m dng m phng.
Stop Dng m phng.
Cc b
c ti
n hnh m ph
ng vi
i
u khi
n.
Bc 1: Khi
ng ch
ng trnh ISIS b
ng cch ch
n strat > programs > proteus 7
Professional > ISIS 7 tmn hnh Destop ca Windows.

Ph
n C: Phlc v ti li
u tham kho

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 164

Sau khi khi


ng song mng hnh lm vi
c c
a ISIS smra nhsau:

Bc 2: L
y linh ki
n ra tthvi
n b
ng cch click vo nt
vo nt
ca sthvi
n c mra nhsau:

ch
n

Ch
n cc linh ki
n tng ng v k
t n
i l
i vi nhau v dnhhnh sau:

Ph
n C: Phlc v ti li
u tham kho

ho
c click

Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)

Trang 165

Bc 3: N
p file .hex cho vi i
u khi
n b
ng cch douple click vo vi i
u khi
n mt
ca sshi
n ra v click ch
n
ng d
n file .hex n
p cho vi i
u khi
n.

Bc 4: Nh
n nt

b
t
u m phng.

Ph
n C: Phlc v ti li
u tham kho

Thitbthc t
p lp trnh (vi i
u khi
n AVR)

Trang 169

Ti li
u tham kh
o
[1] Ng Din Tp
Vi
i
u khi
n vi l
p trnh C
Kthu
t vi i
u khi
n v
i AVR. Nh xu
t b
n Khoa h
c v KThu
t, 2003.
[2] T
ng Vn On
Hvi
i
u khi
n 8051. Nh xu
t b
n Lao
ng X hi, 2001.
[3] Nguy
n nh Ph
Vi
i
u khi
n l thuy
t & thc hnh. Trng H Sph
m KThu
t Tp.HCM.
[4] Nguy
n Hu Phng
M
ch s.Nh xu
t b
n thng k, 2001.
[5] Cox and OCull
Embedded C Programming and the Atmel AVR Barnett
[6] Dhananjay V.Gadre
Programming and Customizing the AVR Microcontroller.
[7] Kirk Zurell
C Programming for Embedded Systems.
[8] Thomas W.Schultz
C and 8051. Emeritus Professor of Electrical & Computer Engineering
Technology Purdue University.
[9] Jivan S.Parab, Vinod G.Shelake, Rajanish K.Kamat, Gourish M.Naik
Exploring C for Microcontrollers. Shivaji University Kolhapur India.
[10] Nghin cu l thuy
t v m
t sng dng cbn hvi i
u khi
n AVR (
n t
t nghi
p Ph
m Hu Khanh 02/2005).
[11] Nghin cu v cht
o thi
t bthc t
p vi
i
u khi
n AVR ca sinh vin o
Ngc Sn v Nguy
n B Thnh kha 2000 2005
[12] KIT thc t
p AVR, PIC c
a cng ty TNHH Thin Minh
[11] M
t strang web
www.diemtuvietnam.com
www.thienminh.com.vn
www.datasheet4U.com
www.atmel.com
www.vagam.dieukhien.net
www.blitzlogic.com

Ph
n C: Phlc v ti li
u tham kho

You might also like