Professional Documents
Culture Documents
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
Trang ii
Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)
Trang iii
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
Ngy thngn
m 2008
GIO VIN HNG DN
(k tn)
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
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
Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)
Trang viii
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
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.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
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
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
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.
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
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
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
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
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
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
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
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
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
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
a ch$3F, c m t
nhsau :
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
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
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
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
10
$009
UART, RX
Nh
n hon thnh UART
11
$00A
UART. UDRE
12
$00B
UART, TX
13
$00C
ANA_COMP
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.
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
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)
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
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
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
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
Hnh 2.14 C
u trc thanh ghi cng
t Timer/Counter - TIFR
Hnh 2.15 C
u trc thanh ghi iu khi
n MCU - MCUCR
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
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
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.
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
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
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
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
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
Hnh 2.19 C
u trc thanh ghi Timer/Counter0 TCNT0
m ln vi struy c
p
c / vi
t. N
u Timer/counter 0 c vi
t mt gi trno
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
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
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.
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
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
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
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
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
Hnh 2.24 C
u trc thanh ghi Timer/Counter1-TCNT1
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
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
Hnh 2.25 C
u trc thanh ghi so snh A ng ra ca Timer/Counter1 - OCR1A
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
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
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
m xu
ng (lc b
m ti
n
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
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
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
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
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
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
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
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 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
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.34 C
u trc thanh ghi i
u khi
n SPI - SPCR
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
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 MSTR thnh 1 m
t l
n na
b
t
u (kh
i
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
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
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
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
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
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
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:
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
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
Hnh 2.40 C
u trc thanh ghi dli
u I/O UART - UDR
a chI/O gi
ng nhau. Khi vi
t
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)
Thi
t b
thc tp l
p trnh (vi i
u khi
n AVR)
Trang 46
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
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
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
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.
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
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
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
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
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
2.10.3. PortC
Thanh ghi dli
u Port C PORTC :
Hnh 2.52C
u trc thanh ghi dli
u Port C
Hnh 2.53 C
u trc thanh ghi trc tip dli
u Port C
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)
Hnh 2.55 C
u trc thanh ghi dli
u 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
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
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
Ta c: Rled
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
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
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
b
c
p
e d + c p
C thdng Trasistor
m b
o m
ch gn hn v chthc hi
n tnh n
ng
m nhm thc hi
n
ti
ch
n 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 61
VR 2,55V
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
Do
: RB
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.
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
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
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.
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
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.
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
nh mc 1A,
=120:
IC=IE=320mA
I
320mA
I B Csat
2,66mA
min
120
VCC VBE 5V 0,8V
=> RB
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.
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
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
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
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
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
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
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
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:
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.
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
=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
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
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
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
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
c n
i vipinhead.
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
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.
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.
Ch
n transistor C1815
khu
ch
i
i
m.
C ththi
t l
p m nh
n b
ng cng t
c DIP.
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:
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
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
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
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
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.
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.
nh mc ln
n 5A,
=250.
IC=IE=1A
IB=IC/
= 1/250=4mA
(Vcc - VBE ) (12 - 0,8)V
R' B
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)
Trang 92
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
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
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
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
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.
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
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
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
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
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
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
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.
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
Sau m
t ca ss
c hi
n ra :
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
Mt ca ssxu
t hi
n
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
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
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
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
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.
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
.
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
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 :
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
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
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
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)
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
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
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
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
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
ng c
chy thu
n
ng c
ch
y ng
ch
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
Xu
t gi triu khi
n
ng cbc
T
ng gi trbi
n
ln 1 n v
Bi
n = 12
ng cdng
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
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
Khai bo bi
n v cc port
Xc
nh dng cho vi
c hi
n th
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)
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)
}
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
Begin
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
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
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
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
Xu
t gi triu khi
n
ng cbc
T
ng gi trbi
n
ln 1 n v
Bi
n = 12
ng cdng
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)
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
Ngat ngoai 1
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
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
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
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
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
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