You are on page 1of 25

TRAN DUC KHOA

1.Vi iu khin ATMEGA 16


S khi ca vi iu khin ATMELGA 16

1.1 c im chung :
L vi iu khin 8 bit thuc dng AVR c hiu sut cao,
cng sut tiu th thp
Kin trc RISC cao cp:
-1-

TRAN DUC KHOA

Tp lnh gm 131 lnh, nhiu lnh thc hin


trong mt chu k
32 thanh ghi lm vic a nng
y cc ch hot ng tnh
Tc thc thi l 16MIPS tn s 16MHZ
Lnh nhn trn chip mt 2 chu k my

B nh chng trnh v d liu:


- B nh chng trnh ln ti 16K
byte chu c 10000 ln ghi xo
- 512 byte eeprom chi c 100000 ln ghi xo
- 1K byte Sram
- Ch bo v b nh
H tr chun giao tip JTAG(ph hp vi chun IEEE
1149.1)
Ngoi vi:
- 2 Timer 8 bt
- 1 Timer 16 bit
- RTC vi thch anh ngoi
- 4 knh iu ch rng xung PWM
- B ADC 10 bit, 8 knh vo, tc ln ti 15ksps
- Chun giao tip TWI(I2C), SPI, UART
- B WDT
Cc c im khc
- Power-on reset and Programmable Brown-out
detection
- B dao ng ni RC c hiu chun
- C ngt ngoi v ngt trong
- 6 ch ng: Idel, ADC Noise Reduction, Powersave, Power-down, Standby and Extended Standby
IO v ng gi
- 32 ng I/O
- 40-pin PDIP, 44-lead TQFP, and 44-pad MLF
in p hot ng
- 2.7v - 5.5v vi Atmega16L
- 4.5v 5.5v vi Atmega16

-2-

TRAN DUC KHOA

1.2

Cu hnh chn

1.3. Cu trc tng qut

-3-

TRAN DUC KHOA

Hnh 2.1. S cu trc CPU ca ATmega16

AVR s dng cu trc Harvard, tch ring b nh v cc bus cho chng


trnh v d liu. Cc lnh c thc hin ch trong mt chu k xung clock.
B nh chng trnh c lu trong b nh Flash.
ALU
ALU lm vic trc tip vi cc thanh ghi chc nng chung. Cc php
ton c thc hin trong mt chu k xung clock. Hot ng ca ALU c
chia lm 3 loi: i s, logic v theo bit.
Thanh ghi trng thi
y l thanh ghi trng thi c 8 bit lu tr trng thi ca ALU sau cc
php tnh s hc v logic.

Hnh 2.2. Thanh ghi trng thi SREG


-4-

TRAN DUC KHOA

C: Carry Flag ;c nh (Nu php ton c nh c s c thit lp)


Z: Zero Flag ;C zero (Nu kt qu php ton bng 0)
N: Negative Flag (Nu kt qu ca php ton l m)
V: Twos complement overflow indicator (C ny c thit lp khi trn
s b 2)
V, For signed tests (S=N XOR V) S: N
H: Half Carry Flag (c s dng trong mt s ton hng s c ch r
sau)
T: Transfer bit used by BLD and BST instructions(c s dng lm ni
chung gian trong cc lnh BLD,BST).
I: Global Interrupt Enable/Disable Flag (y l bit cho php ton cc
ngt. Nu bit ny trng thi logic 0 th khng c mt ngt no c phc
v.)
Cc thanh ghi chc nng chung

Hnh 2.3. Thanh ghi chc nng chung


Con tr ngn xp (SP)
L mt thanh ghi 16 bit nhng cng c th c xem nh hai thanh ghi
chc nng c bit 8 bit. C a ch trong cc thanh ghi chc nng c bit
l $3E (Trong b nh RAM l $5E). C nhim v tr ti vng nh trong
RAM cha ngn xp.

-5-

TRAN DUC KHOA

Hnh 2.4. Thanh ghi con tr ngn xp

Khi chng trnh phc vu ngt hoc chng trnh con th con tr PC
c lu vo ngn xp trong khi con tr ngn xp gim hai v tr. V con tr
ngn xp s gim 1 khi thc hin lnh push. Ngc li khi thc hin lnh
POP th con tr ngn xp s tng 1 v khi thc hin lnh RET hoc RETI th
con tr ngn xp s tng 2. Nh vy con tr ngn xp cn c chng trnh
t trc gi tr khi to ngn xp trc khi mt chng trnh con c gi
hoc cc ngt c cho php phc v. V gi tr ngn xp t nht cng phi
ln hn hoc bng 60H (0x60) v 5FH tr li l vng cc thanh ghi.
Qun l ngt
Ngt l mt c ch cho php thit b ngoi vi bo cho CPU bit v tnh
trng sn xng cho i d liu ca mnh.V d:Khi b truyn nhn UART
nhn c mt byte n s bo cho CPU bit thng qua c RXC,hc khi n
truyn c mt byte th c TX c thit lp
Khi c tn hiu bo ngt CPU s tm dng cng vic ng thc hin li
v lu v tr ang thc hin chng trnh (con tr PC) vo ngn xp sau
tr ti vector phuc v ngt v thc hin chng trnh phc v ngt ch
ti khi gp lnh RETI (return from interrup) th CPU li ly PC t ngn xp
ra v tip tc thc hin chng trnh m trc khi c ngt n ang thc hin.
Trong trng hp m c nhiu ngt yu cu cng mt lc th CPU s lu cc
c bo ngt li v thc hin ln lt cc ngt theo mc u tin .Trong khi
ang thc hin ngt m xut hin ngt mi th s xy ra hai trng hp.
Trng hp ngt ny c mc u tin cao hn th n s c phc v. Cn
n m c mc u tin thp hn th n s b b qua.
B nh ngn xp l vng bt k trong SRAM t a ch 0x60 tr ln.
truy nhp vo SRAM thng thng th ta dng con tr X,Y,Z v truy
nhp vo SRAM theo kiu ngn xp th ta dng con tr SP. Con tr ny l
mt thanh ghi 16 bit v c truy nhp nh hai thanh ghi 8 bit chung c a
ch :SPL :0x3D/0x5D(IO/SRAM) v SPH:0x3E/0x5E.
Khi chng trnh phc vu ngt hoc chng trnh con th con tr PC
c lu vo ngn xp trong khi con tr ngn xp gim hai v tr.V con tr
ngn xp s gim 1 khi thc hin lnh push. Ngc li khi thc hin lnh
-6-

TRAN DUC KHOA

POP th con tr ngn xp s tng 1 v khi thc hin lnh RET hoc RETI th
con tr ngn xp s tng 2. Nh vy con tr ngn xp cn c chng trnh
t trc gi tr khi to ngn xp trc khi mt chng trnh con c gi
hoc cc ngt c cho php phc v. V gi tr ngn xp t nht cng phi
ln hn 60H (0x60) v 5FH tr li l vng cc thanh ghi.
1.4 B nh thi
B nh thi (timer/counter0) l mt module nh thi/m 8 bit, c cc
c im sau:
B m mt knh
Xa b nh thi khi trong mode so snh (t ng np)
PWM
To tn s
B m s kin ngoi
B chia tn 10 bit
Ngun ngt trn b m v so snh
S cu trc ca b nh thi:

Hnh 5.1. S cu trc b nh thi


Cc thanh ghi

-7-

TRAN DUC KHOA

TCNT0 v OCR0 l cc thanh ghi 8 bit. Cc tn hiu yu cu ngt u


nm trong thanh ghi TIFR. Cc ngt c th c che bi thanh ghi TIMSK.
B nh thi c th s dng xung clock ni thng qua b chia hoc xung
clock ngoi trn chn T0. Khi chn xung clock iu khin vic b nh
thi/b m s dng ngun xung no tng gi tr ca n. Ng ra ca khi
chn xung clock c xem l xung clock ca b nh thi (clkT0).
Thanh ghi OCR0 lun c so snh vi gi tr ca b nh thi/b m.
Kt qu so snh c th c s dng to ra PWM hoc bin i tn s
ng ra ti chn OC0.
n v m
Phn chnh ca b nh thi 8 bit l mt n v m song hng c th
lp trnh c. Cu trc ca n nh hnh di y:

Hnh 5.2. n v m
count: tng hay gim TCNT0 1
direction: la chn gia m ln v m xung
clear: xa thanh ghi TCNT0
clkT0: xung clock ca b nh thi
TOP: bo hiu b nh thi tng n gi tr ln nht
BOTTOM: bo hiu b nh thi gim n gi tr nh nht (0)
n v so snh ng ra

-8-

TRAN DUC KHOA

Hnh 5.3. S n v so snh ng ra


B so snh 8 bit lin tc so snh gi tr TCNT0 vi gi tr trong thanh ghi
so snh ng ra (OCR0). Khi gi tr TCNT0 bng vi OCR0, b so snh s
to mt bo hiu. Bo hiu ny s t gi tr c so snh ng ra (OCF0) ln 1
vo chu k xung clock tip theo. Nu c kch hot (OCIE0=1), c OCF0
s to ra mt ngt so snh ng ra v s t ng c xa khi ngt c thc
thi. C OCF0 cng c th c xa bng phn mm.
M t cc thanh ghi
Thanh ghi iu khin b nh thi/b m TCCR0

Hnh 5.4. Thanh ghi iu khin b nh thi


Bit 7-FOC0: So snh ng ra bt buc
Bit ny ch tch cc khi bit WGM00 ch nh ch lm vic khng c
PWM. Khi t bit ny ln 1, mt bo hiu so snh bt buc xut hin ti n
v to dng sng.
Bit 6, 3-WGM01:0: Ch to dng sng
Cc bit ny iu khin m th t ca b m, ngun cho gi tr ln nht
ca b m (TOP) v kiu to dng sng s c s dng.
Bit 5:4-COM01:0: Ch bo hiu so snh ng ra
-9-

TRAN DUC KHOA

Cc bit ny iu khin hot ng ca chn OC0. Nu mt hoc c hai bit


COM01:0 c t ln 1, ng ra OC0 s hot ng.
Bit 2:0: CS02:0: Chn xung ng h
Ba bit ny dng la chn ngun xung cho b nh thi/b m.

Thanh ghi b nh thi/b m

Hnh 5.5. Thanh ghi b nh thi


Thanh ghi b nh thi/b m cho php truy cp trc tip (c c v
ghi) vo b m 8 bit.
Thanh ghi so snh ng ra-OCR0

Hnh 5.6. Thanh ghi so snh ng ra


Thanh ghi ny cha mt gi tr 8 bit v lin tc c so snh vi gi tr
ca b m.
Thanh ghi mt n ngt

- 10 -

TRAN DUC KHOA

Hnh 5.7. Thanh ghi mt n ngt TIMSK


Bit 1-OCIE0: Cho php ngt bo hiu so snh
Bit 0-TOIE0: Cho php ngt trn b m
Thanh ghi c ngt b nh thi

Bit 1-OCF0: C so snh ng ra 0


Bit 0-TOV0: C trn b m
Bit TOV0 c t ln 1 khi b m b trn v c xa bi phn cng
khi vector ngt tng ng c thc hin. Bit ny cng c th c xa
bng phn mm.
1.5. USART
B truyn nhn ni tip ng b v bt ng b l mt thit truyn thng
ni tip c cc chc nng chnh nh sau:
Hot ng song cng (cc thanh ghi truyn v nhn ni tip c lp
vi nhau).
Hot ng ng b hoc bt ng b
B to tc baud c chnh xc cao
H tr khung truyn ni tip vi 5, 6, 7, 8, hoc 9 bit d liu v 1
hoc 2 bit stop
Kim tra chn l
Pht hin trn d liu
Pht hin li khung
Lc nhiu, bao gm pht hin bit start li v b lc thng thp s
Ngt khi kt thc truyn, thanh ghi truyn ht d liu v kt thc nhn
Ch truyn thng a vi x l
Ch truyn ng b tc cao
S khi ca b USART nh sau:

- 11 -

TRAN DUC KHOA

Hnh 6.1. S khi b USART


USART bao gm 3 phn chnh: b to xung clock, b truyn v b nhn.
Cc thanh ghi iu khin c s dng chung gia cc phn ny.
To xung clock
B to xung clock to ra xung ng h cn bn cho b truyn v b nhn.
USART h tr 4 ch hot ng xung clock: bt ng b, bt ng b tc
cao, truyn ng b master v truyn ng b slave. S khi ca b
to xung clock nh sau:

- 12 -

TRAN DUC KHOA

Hnh 6.2. n v to xung clock.


txclk: xung ng h b truyn
rxclk: xung ng h b nhn
xcki: tn hiu vo t chn XCK, s dng cho hot ng truyn ng b
master
xcko: tn hiu xung clock ng ra ti chn XCK, s dng cho hot ng
truyn ng b slave
fosc: tn s t chn XTAL
nh dng khung truyn
USART chp nhn tt c 30 t hp ca cc nh dng khung truyn sau
y:
1 bit start
5, 6, 7, 8, hoc 9 bit d liu
C hoc khng c bit chn l
1 hoc 2 bit stop
Mt khung truyn bt u vi mt bit start, theo sau l bit c trng s
thp nht (LSB) ca d liu (c th ln ti 9 bit), kt thc bng bit c trng
s ln nht (MSB) v bit stop.

Hnh 6.3. nh dng khung truyn

- 13 -

TRAN DUC KHOA

St: bit start (mc thp)


(n): bit d liu (0 n 8)
P: bit chn l
Sp: bit stop (mc cao)
IDLE: khng c d liu truyn (mc cao trong sut thi gian idle)
1.6. B bin i A/D
Vi iu khinATmega16 c mt b bin i ADC tch hp trong chip vi
cc c im:
phn gii 10 bit
Sai s tuyn tnh: 0.5LSB
chnh xc +/-2LSB
Thi gian chuyn i:65-260s
8 Knh u vo c th c la chn
C hai ch chuyn i free running v single conversion
C ngun bo ngt khi hon thnh chuyn i
Loi b nhiu trong ch ng

- 14 -

TRAN DUC KHOA

Hnh 7.1. S b bin i A/D


Tm u vo ca ADC l tm chn ca PORTA v chng c chn
thng qua mt MUX.
iu khin hot ng vo ra d liu ca ADC v CPU chng ta c 3
thanh ghi: ADMUX l thanh ghi iu khin la chn knh u vo cho
ADC, ADCSRA l thanh ghi iu khin v thanh ghi trng thi ca ADC,
ADCH v ADCL l 2 thanh ghi d liu.
ADMUX: Multiplexer select register
y l thanh ghi iu khin 8 bit.

- 15 -

TRAN DUC KHOA

Hnh 7.2. Thanh ghi ADMUX


Vi 4 bit c nh ngha l MUX3, MUX2, MUX1,v MUX0, ng vi
cc t hp logic ta c th chn knh u vo. C th:

Cc bit REFS1 v REFS0 dng chn gi tr in p tham kho cho


ADC, nh sau:

Ch : Nu nh ta thay i knh trong thi im m ADC ang chuyn i


th khi qu trnh chuyn i hon thnh th knh vo mi c thay i.
ADCSR-ADC control and status register
y l thanh ghi iu khin v lu trng thi ca ADC.

Hnh 7.3. Thanh ghi iu khin v trng thi ADC

- 16 -

TRAN DUC KHOA

Bit 7-ADEN:ADC enable


y l bit iu khin hot ng ca ADC.Khi bit ny c set 1 th ADC
c th hot ng v ngc li.Nu nh ta ngng hot ng ca ADC trong
khi n ang chuyn i th n s kt thc qu trnh chuyn i.Mc d cha
chuyn i xong.
Bit 6-ADSC: ADC start conversion
Trong ch chuyn i n th bit ny phi c set ln 1 bt u
chuyn i.Trong ch chuyn i t do th bit ny cn c set ln 1
bt u ln chuyn i u tin.Bit ny c gi st trong qu trnh chuyn
i v c xa khi m chuyn i xong.
Bit 5-ADATE :ADC Auto Trigger enable
Khi bit ny c set th ADC s bt u chuyn i mi khi c mt
ngun kch hot xut hin. Vic la chn ngun kch hot c thc hin
bng cch set cc bit trong thanh ghi SFIOR.
Bit 4-ADIF: ADC interrupt Flag
Bit ny c set ln 1 bi phn cng khi qu trnh chuyn i hon
thnh v thanh ghi d liu c cp nht. Bit ny c xa bng phn
cng nu nh ngt ny c php v c phc v. Hoc n c th c
xa bng cch ghi gi tr logic 0vo c ny. C th khi ngt b cm ta c
th s dng cc lnh sbi v cbi tc dng ln bit ny.
Bit 3-ADIE:ACD interrupt Enable
Nu bit ny set 1 v ngt ton cc c cho php th ngt ny c php
phc v (khi chuyn i xong d liu) v nu b xa th ngc li.
Bit 2.1.0-ADPS2ADPS0: Bit la chn xung nhp(Tc )
Ngun xung c ly t ngun xung ca Vi iu khin(XTAL) v c
chia tn thng qua b chia tn.
Cc bit ADPS c nhim v chn s chia cho b chia tn theo bng sau:

- 17 -

TRAN DUC KHOA

Thanh ghi d liu ACDH v ADCL


Thanh ghi ny cha d liu chuyn i t tng t sang s, c sp xp
nh hnh di y.

Hnh 7.4. Thanh ghi d liu ADC

Nguyn tc hot ng v lp trnh iu khin


ADC c nhim v chuyn i tn hiu in p tng t thnh tn hiu s
c phn gii 10 bit.Vi gi tr nh nht ca in p t chn AGND v
gi tr cc i ca in p tng t c mc vo chn AREF. Tm knh
tng t u vo c chn la thng qua ADMUX v ADMUX ny c
iu khin bi thanh ghi ADMUX.
ADC ny c th hot ng c hai ch . l chuyn i n: ch
chuyn i mt ln khi c lnh chuyn i v ch t chuyn i (Free
running mode) y l ch m ADC t ng chuyn i khi c hot
ng v cng vic chuyn i c tnh tun hon (ch cn khi ng mt ln).
ADC c php hot ng nh thit lp bit ADEN. Qu trnh chuyn i
c bt u bng vic ghi vo bit ADSC mc logic 1 v trong sut qu
trnh chuyn i bit ny lun c gi mc cao. Khi qu trnh chuyn i
hon thnh th bit ny c xa bng phn cng v c AIDF c bt ln.
D liu sau khi chuyn i c a ra thanh ghi d liu ADCL v
ADCH, nhng ch khi c d liu t hai thanh ghi ny th c ADCL

- 18 -

TRAN DUC KHOA

trc ri mi c ADCH. Nu c ADCH trc th d liu cp nht c th


ghi ln ADCL (Vi iu khin ngh rng c xong d liu).
iu khin vo ra d liu vi ADC, cc bc thc hin nh sau:
Bc 1: nh ngha cc cng vo cho tn hiu tng t
Xa bit tng ng vi chn trong thanh ghi DDRA. Sau loi b in
tr treo bng cch xa bit tng ng thanh ghi PORTA.
Bc 2: Chn knh tng t vo (chn chn vo cho ADC) thng qua thanh
ghi ADMUX (c th thay i trong qu trnh hot ng).
Bc 3: Thit lp cc thng s cho ADC
Tc chuyn i thng qua xung nhip chuyn i.
Ch chuyn i : n hoc t ng.
S dng ngt hoc khng.
Bc 4: Bt u chuyn i v c d liu.
1.7.Cng c lp trnh v np chng trnh:
- Trnh dch Codevesion AVR 1.259
- Mch np STK200/300

2. IC cng sut iu khin ng c LMD18200


M t chung
LMD18200 l mt ic cu dng cho cc ng dng iu khin
chuyn ng vi cc c im sau
- Kh nng chu c dng 3A, dng nh l 6A
- Ngun cung cp ln ti 55V
- R DS (ON) thp khong 0.3 cho mi van
- u vo tng thch vi TTL v CMOS
- C cnh bo qu nhit 145C
- Ngng hot ng 175C
- Tch hp cp diode ct
- Bo v ngn mch
S khi v cu to chn
- 19 -

TRAN DUC KHOA

- 20 -

TRAN DUC KHOA

Bng chn l
S mch
U 7
VC C
J5
1
2
3
4

A
B

C 13 C 12
103 103 1
11
4
D IR E C T 3
PW M
5
24V

BTP1
BTP2
B IN
D IN
P IN
VS

J4
O U T1
O U T2
C SO U T
TF O U T

2
10
8
9

1
2
R 3
AD C 1
C O N 2
27K

G N D

EN C O R D ER
L M D 1 8 2 0 0 /T O

3. Mng I2C
Mng ny gm 2 ic c chun giao tip I2C(TWI) l EEPROM 24C04
v ic thi gian thc DS1307, s mch nh sau

- 21 -

TRAN DUC KHOA


J6
CON2

VCC
R7
10K

3 2 .7 6 8 K H Z

1
2

R6
10K
U3

Y 2
1
2
3

SW 6

X1
X2
VBAT

5
6
7

SDA
SCL
S Q W /O U T

BT1
3V

GND

D S1307

VCC

U9
1
2
3
4

A0
A1
A2
GND

SDA
SCL
IN T 0
VCC

S W D IP -2 /S M

VCC
VCC
W P
SCL
SDA

8
7
6
5

{ V a lu e }
VC C

R 15
LO A

Q 2
A1015 LS1
1K

C oi bao

4. Phng php iu khin ng c.

- 22 -

TRAN DUC KHOA

- 23 -

TRAN DUC KHOA

5. Giao tip ni tip vi my tnh thng qua cng Com, chun RS232:
a) Chun RS232 cng COM my PC
y l chun dao din I/O c s dng rng ri nht hin nay, tuy nhin n
li khng tng thch vi chun TTL hin nay.

Mc RS232

TTL

+3V to +25V 0V

-3V to -25V

5V

b) B iu khin MAX232

V tiu chun RS232 khng tng thch vi cc b x l v vi iu khin


hin nay nn ta cn mt b iu khin ng truyn chuyn i tn hiu
RS232 thnh TTL v ngc li, MAX232 lm nhim v nh vy.

- 24 -

TRAN DUC KHOA

S chn

- 25 -

You might also like