You are on page 1of 86

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

TRNG I HC LC HNG
KHOA C IN
--Y Z--

BO CO
NGHIN CU KHOA HC
TI:

IU KHIN THIT B BNG GING NI


TRUYN T XA

GVHD: Ths Nguyn V Qunh


SVTH: Phm Ngc ng Khoa
Lp: 05 CT1

01/12/2009

TRANG 1

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

LI CM N
Sau hn mt nm tm hiu v thc hin th ti: IU KHIN THIT B
BNG GING NI TRUYN T XA thu c nhng thnh cng bc u
trong cuc sng v trong iu khin cc thit b t ng ha. Trong thi gian u th
nghim ti hot ng mt cch tng i n nh v nhn c s nh gi cao
v kh nng sng to, cng nh cch p dng khoa hc k thut tin tin vo phc v
nhu cu iu khin trong cng nghip v trong cuc sng ca con ngi.
Trong qu trnh thc hin, ti nhn c s hng dn v gip ca thy
thc s Nguyn V Qunh, cu lc b T ng Ha, v tt c cc thy c khoa C
in trng i hc LC HNG. Thnh cng ca ti cng l li cm n n cc
c nhn v cu lc b gip , hng dn em trong sut qu trnh thit k v thi
cng h thng.
V l ln u tin khai thc mt lnh vc cn kh mi m, nn mc d em
b ra rt nhiu tm huyt, thi gian, v cng sc, nhng cc chc s khng trnh khi
nhng thiu st, nhng hn ch khi p dng vo thc tin cuc sng hin nay. Hy
vng rng nhng vn cn hn ch trong ti s nhn c nhiu kin ng gp
chn thnh ca cc c nhn, t chc trong trng i hc LC HNG v cc bn c
gn xa.

01/12/2009

TRANG 2

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

MC LC
PHN A

L THUYT

S trang

CHNG 1: GII THIU CHI TIT B PHN X L GING NI


1.1 Gii thiu nguyn l IC HM2007
1.2 Gii thiu IC nh SRAM 6264

12
12
17

CHNG 2: L THUYT MCH IU KHIN T XA


2.1 Chi tit v chip AVR Atmega8.
2.2 Cu trc ngt ca Atmega8.
2.3 Cc b phn ngoi vi khc.
2.4 H thng xung clock v lp trnh b nh on chip.

19
19
29
34
38

CHNG 3: NGN NG C CHO AVR


3.1 Khi nim.
3.2 Tm tt cu trc iu khin.
3.3 Chng hp ng vo trong chng trnh C
3.4 T chc b nh SRAM
3.5 Phn mm lp trnh cho b iu khin t xa AVR Atmega8
3.6 Phng php v phn mm np cho Atmega8

39
39
45
49
50
51
54

PHN B:

THIT K - THI CNG

CHNG 4: THIT K MCH IU KHIN BNG GING NI


4.1 S nguyn l mch iu khin tn hiu ging ni.
4.2 Cc board mch IC HM2007 thc hin th nghim.

64
64
67

CHNG 5: THIT K MCH IU KHIN T XA


5.1 S nguyn l mch iu khin t xa.
5.2 S thit k mch in v thi cng.
5.3 Hnh nh thc t b Atmega8 ca thit b.

69
69
70
70

CHNG 6: THIT K CC MODUL NG RA CA SN PHM


6.1 Mc ch thit k cc modul ng ra.
6.2 Hnh nh thc t thit k v board mch ng ra.

71
71
71

CHNG 7: THIT K MU V HP BN NGOI CHO THIT B


7.1 tng thit k.
7.2 Sn phm hon chnh trn phn mm.

74
74
75

01/12/2009

TRANG 3

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

PHN C:

GVHD: Th.S NGUYN V QUNH

SN PHM

H thng iu khin robot s dng modul 24VDC.


B iu khin thit b 220VAC bng ging ni truyn t xa.
Kh nng ng dng, thnh qu bc u ca ti.

77
78
79

KT LUN KIN NGH

Kt lun.
Nhng kh khn trong qu trnh thc hin ti.
u im, khuyt im cn ci tin ca thit b.
Kin ngh.

DANH MC TI LIU THAM KHO

80
80
82
82
83

PH LC

Hnh nh ci tin board mch ch ca thit b.


Chng trnh chnh lp trnh cho b iu khin t xa.

01/12/2009

TRANG 4

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

DANH MC HNH NH
S th t
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
01/12/2009

Ch thch hnh nh
Hnh A. Tng quan h thng iu khin
Hnh 1.1 Tng quan IC HM 2007
Hinh 1.2 S chn cc loi IC HM 2007
Hnh 1.3 Bn phm ma trn
Hnh 1.4 Bn v mch hin th
Hnh 1.5 S khi SRAM 6264
Hnh 1.6 Cu to bn trong SRAM 6264
Hnh 2.1 Hnh nh cc loi AVR
Hnh 2.2 S khi cu trc vi iu khin AVR
Hnh 2.3 Tng quan ch hot ng Boot loader
Hnh 2.4 Bn b nh ATmega8
Hnh 2.5 S b nh thi 1
Hnh 2.6 S ng ra khi
Hnh 2.7 S khi b nh thi 0
Hnh 2.8 S khi b nh thi 2
Hnh 2.9 Bng vector ngt ca Atmega8
Hnh 2.10 Cc ngt lng nhau
Hnh 2.11 Bng iu khin kiu bt mu ngt
Hnh 2.12 S gin lt ca b so snh tng t
Hnh 2.13 S khi n gin b ADC
Hnh 2.14 S ng vo vi sai
Hnh 2.15 S khi b USART
Hnh 2.16 S h thng xung clock cho Atmega8
Hnh 3.1 Chng trnh lp trnh Atmega8
Hnh 3.2 Giao din lp trnh ca phn mm CodeVision
Hnh 3.3 Cch to mt project trn CodeVision
Hnh 3.4 Cc bc thc hin
Hnh 3.5 Cc bc thc hin
Hnh 3.6 Cch chn loi AVR
Hnh 3.7 Cc bc thc hin
Hnh 4.1 S nguyn l mch x l ging ni
Hnh 4.2 S nguyn l IC HM 2007 trong Capture
Hnh 4.3 Board HM 2007 (ln 1)
Hnh 4.4 Board HM 2007 (ln 2)
Hnh 4.5 Board 1 lp thit k th nghim
Hnh 4.6 Board mch 2 lp thc t
Hnh 4.7 Board cho sn phm hon chnh
Hnh 5.1 S mch Atmega8 trn Capture
Hnh 5.2 S mch in Atmega8 trn layout
Hnh 5.3 Mch thc t
Hnh 5.4 B thu (pht) t xa ca thit b
Hnh 6.1 Bn thit k 1 modul ng ra 220VAC
TRANG 5

S trang
9
12
13
15
15
17
18
20
20
21
23
25
27
27
28
30,31
31
32
34
35
36
37
38
51
51
52
52
52
53
53
64
65
66
66
67
67
68
69
70
70
70
71

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009


43
44
45
46
47
48
49
50
51

01/12/2009

GVHD: Th.S NGUYN V QUNH

Hnh 6.2 S mch in modul 220VAC vi 6 ng ra


Hnh 6.3 S mch in modul 220VAC vi 4 ng ra
Hnh 6.4 Modul ng ra 24VDC thc t
Hnh 6.5 Board 2 lp ca Modul 220VAC (vi 6 ng ra)
Hnh 7.1 Thit k c kh khung v mch iu khin (NX5)
Hnh 7.2 Thit k c kh modul mch ng lc (NX5)
Hnh 7.3 Sn phm hon chnh trn thit k
Hnh B. iu khin robot bng ging ni
Hnh C. B iu khin ging ni v modul 220VAC

TRANG 6

72
72
73
73
74
75
75
77
78

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

DANH MC CC T VIT TT

CMOS: Complementary Metal-Oxide-Semiconductor (mt thut ng ch mt loi


cng ngh dng ch to vi mch tch hp)
MPS:

Material Product System ( Modul sn xut linh hot)

NX5:

Phn mm thit k c kh Unifraphic

ISR :

Interrupt Service Ruotine (trnh phc v ngt)

INT :

Interrupt (trnh phc v ngt)

RF

Radio Frequence (mt dng sng tuyn trn AVR)

PWM:

Pulse Width Modulation ( knh iu ch rng xung)

TTL :

Transistortransistor logic (thut ng ch cng ngh ch to vi mch)

USART: Universal Synchronous and Asynchronous serial Receiver and Transmitter


( b truyn d liu ni tip)

01/12/2009

TRANG 7

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

LI M U
1. GII THIU
Khoang thi gian t nm 2001 en nay c xem la thi gian cac cong ty,
doanh nghiep trong va ngoai nc ap dung nhieu tien bo khoa hoc ky thuat vao
cac nganh cong nghiep chu chot cua Viet Nam, cac day chuyen cong nghe mi
lan lc ra i nham n gian hoa qua trnh san xuat, may moc hien ai a bat
au lam viec thay the con ngi trong nhieu lnh vc san xuat.
Ben canh o cac thnh tu khoa hoc cong nghe tien tien cung ang c
ng dung phuc vu cho cuoc song cua con ngi chung ta. Hang loat cac san pham
t ong hoa tien tien c c phat minh va ban rong rai tren th trng nh:
robot hut bui tren san phang do Nhat san xuat, may giat a nang, may ra chen t
ong, thiet b giam sat nha qua internet
i vi nc ngoi th vic iu khin bng ging ni c nghin cu v
ch to ng dng vo i sng v sn xut cng ch mi ra i trong vi nm tr
li y. Nh M c ng dng iu khin robotcam trong y khoa. Ring
nc ta lnh vc ny cn kh mi m. Do chng ta cn c s u t nghin cu
theo kp cng ngh mi ny phc v trc tip cho cng vic ging dy ti trng
nhm gip sinh vin hiu r hn v l thuyt, to iu kin cho sinh vin c nhng
tng mi trn nhng nn tn c sn.
Thy c kh nng pht trin v nhu cu tm hiu v iu khin bng ging
ni ca chnh bn thn v ca nhng ngi yu thch mong mun c s dng dch
v ny, ti bt tay vo thc hin nghin cu ti: iu khin thit b bng
ging ni truyn t xa
2. TM QUAN TRNG
Vit Nam vic ng dng cng ngh tin tin trn th gii cn chm pht
trin, qu trnh a cng ngh mi vo phc v i sng, sn xut gp nhiu kh
khn. Tn dng nhng ic nhp sn v ic chuyn dng do nc ngoi sn xut
thit k thnh sn phm c th l mt nhu cu cn thit cho vic ging dy trong
trng hc, trong cuc sng v t pht trin cao hn ng dng trong cc lnh
vc iu khin phc tp[1]. ti: IU KHIN THIT B BNG GING
NI TRUYN T XA c tm hiu v thc hin nhm a con ngi tin gn
hn ti cng ngh, v m ra mt hng i mi cho vic nghin cu. iu quan trng
hn ht l cc vn lin quan ti ti, nguyn l hot ng ca mch x l ging
ni, mch truyn t xa s dng chip AVR Atmega 8, cc modul ng ra tch hp, v
cch lp trnh h thng s c gii thiu trong ti ny. N s l ngun thng tin
hu ch cho nhng ai mun tm hiu v pht trin trong lnh vc ny, nhm m ra
mt hng i mi cho cng ngh iu khin t ng ha.

01/12/2009

TRANG 8

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

3. MC CH NGHIN CU
ti: IU KHIN THIT B BNG GING NI TRUYN T XA
c thc hin nhm to ra mt h thng bit tun theo mnh lnh ging ni ca con
ngi chng ta. ti khng dng li mc tm hiu l thuyt hay hon thin mch
s dng ic HM 2007 nh mt s sinh vin cc trng i hc khc tm hiu trong
thi gian trc. Sn phm ca ti trc ht c th c ng dng vo iu khin
cc thit b t ng ha nh: tay my cng nghip, robot t hnh, xy lanh, cm
bin vi modul ng ra 24VDC. ti cn c thit k m rng thm modul ng
ra 220VAC iu khin cc thit b in dn dng phc v cuc sng nh n,
qut, my tnh
t bit ti c tch hp cng ngh iu khin t xa s dng tn hiu
truyn trn sng RF (Radio Frequence) m ra mt hng pht trin mi cho ti.
Con ngi ch cn ngi ti mt v tr cch thit b vi trm mt v iu khin theo
nhng yu cu m h mong mun. Vi b iu khin ch s dng in p t 5VDC 9VDC nn trnh cho ngi iu khin tip xc trc tip vi cc ngun in p cao.
Do mt hng pht trin mnh trong cuc sng ca ti l thit lp h thng
iu khin ging ni trong cc trng mm non, tiu hc v phng tr em.
4. GII THIU TNG QUAN

Hnh 1. Tng quan h thng iu khin

01/12/2009

TRANG 9

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

ti iu khin thit b bng ging ni t xa bao gm bn giai on chnh:


+ Thit k v thi cng mch nhn dng v x l ging ni x dng IC chuyn
dng HM 2007. y l mt giai on mang tnh kin tr v sng to trong qu trnh
thit k cho h thng hot ng n inh. V mc tiu t n ca ti l thc
hin mt sn phm hon chnh, c th s dng ngay trn th trng nn yu t m
quan v cht lng c t ln hng u.
+ Hon thnh kt ni thm thit b iu khin t xa, giao tip gia b phn iu
khin v cc modul chp hnh. H thng s c truyn t xa bng cch lp trnh
giao tip, a tn hiu t b pht n b thu thng qua ngn ng C. Chip vi x l dn
ATMEGA8 s c s dng ch o trong h thng truyn t xa. y l mt giai
on quan trng v mang tnh thit yu ca ti. Sng RF s bo m vic truyn v
nhn d liu mt cch n gin hn cc loi thit b s dng giao tip qua internet.
+ Thit k cc modul ng ra nhn tnh hiu t b pht, tn hiu s c kch bi
in 5VDC v a ra cc thit b s dng in 5VDC, 24VDC v 220VAC. Nh vy
h thng s bao gm 3 loi modul ng ra phc v mi nhu cu iu khin ca cc
thit b t ng ha ang c trn th trng. giai on ny Modul ng ra s dng
in 220VAC c xem l c ng dng thn thin nht vi cuc sng con ngi,
modul ny s gip con ngi c th iu khin cc thit b in trong nh, hay cng
s.
+ Thit k bn v c kh, v gia cng v hp cho ton b thit b, giai on cui
cng ny i thin v kh nng sng to mu m, thit k sn phm bt mt cho
ngi tiu dng. i hi ngi thc hin ti cn c kin thc v c kh, c kh
nng v trn cc phn mm 3D nh Auto CAD, NX5, Catia. Theo xu th cng
ngh hin nay, phn mm v Unigrafic (NX5) ang l mt phn mm mnh trong
thit k mu m, c nhiu cng ty ln nh SYM, Pepsico, Sanko Mod s dng
thit k mu m cc loi xe my, mu chai nc gii kht, v mu in thoi di
ng. Do l mt sinh vin ngnh C in T em ng dng phn mm NX5 vo
thit k mu m cho thit b mt cch hon chnh.
Bn giai on hon thnh ti, mi giai on c mt kh khn ring, ti
c ln tng thit k t cui nm 2008, v thc hin ti u thng 11/2009 mi
em li nhng thnh qu bc u ca sn phm. giai on u, mch iu khin
thit b bng ging ni sau khi hon thnh nhn c nhiu n t hng ca cc
c nhn, cu lc b t ng ha, h l nhng ngi quan tm n n kh nng nhn
ging ni ca IC HM2007, y l thnh cng bc u, ca ti. Cc Modul mch
iu khin bng ging ni nhn c nhiu s quan tm ca nhng sinh vin in
in t ti cc trng i hc k thut ln Vit Nam, by gi sinh vin c th mua
thit b v hon thnh cc tng lin quan ti x l ging ni mt cc d dng,
vi gi c thp hn rt nhiu so vi cc sn phm lin quan ch bn th trng M.

01/12/2009

TRANG 10

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

PHN A:

L THUYT

01/12/2009

TRANG 11

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

CHNG 1
GII THIU CHI TIT B PHN X L GING NI
1.1

Gii thiu nguyn l IC HM2007 [2]


IC HM 2007 l mt thit b n chip CMOS, x l ging ni di dng mch LSI
iu ch tn hiu tng t, iu ch ph m, nhn lnh v iu khin chc nng cc
h thng. Theo tiu chun, th ic HM2007 c th nhn ti 40 lnh, vic truyn v
nhn lnh c thc hin bng micro a tn hiu vo, cng mt bn phm, mt ic
nh SRAM v nhiu b phn khc. T y tn hiu c x l v xy dng thnh
mt h thng thng minh trong vic nhn din ging ni.

Hnh 1.1 Tng quan IC HM 2007 [2]


1.1.1 t tnh
- Thit b n chip nhn bit m thanh dng CMOS LSI
- Ting ni c nhn vo h thng theo mt chun ring bit.
- IC nh SRAM c th c kt ni trc tip.
- Mt chip HM 2007 c th nhn c 40 t.
- Thi gian ti a mi t ph hp m ic c th x l l 1.92 giy.
- Kt cu phc tp.
- Mt micro i km thit b.
- C hai ch s dng: ch ng thng, v ch CPU.
01/12/2009

TRANG 12

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

- Thi gian p ng: cha ti 300ms


- Ngun cp 5VDC
- Bao gm hai loi: loi thng 48 chn, v loi dn 52 chn.
1.1.2 S chn 2 loi IC HM2007

Hnh 1.2 S chn cc loi IC HM2007


1.1.3

Chc nng cc chn ca IC HM 2007 (loi 48 chn)

Tn chn
WAIT

S chn
15

DEN

16

SA0 , SA1
SA2 SA7
SA8

SA12
VDD
GND
NC

17 , 18
19 24
27 - 31

Chc nng
Tn hiu iu khin ng vo, hot ng mc
thp. Khi chn ny mc thp th ic HM2007
ch ngh, khng chp nhn bt c m
thanh no a vo x l
Khi chn Wait mc cao th ta c th bt u
hun luyn ic nhn bit ging ni thu vo.
Kh nng nhn tn hiu
Khi tn hiu c a vo hon tt, chip s bt
u x l v a vo cc chn D0 D7, d
liu s c x l bi ic cht 74LS373.
Bus a ch cho b nh ngoi
Bus ny c dng nh mt ng a ch cho
b nh ngoi khi chn Me hot ng.

25, 47
26
32,33

Chn cp ngun (5VDC)


Chn ni ngun m
Khng kt ni

01/12/2009

TRANG 13

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009


ME

34

MR/MW
D0 D6
D7

35
36 - 42
43

Vref

44

Line
Micin

45
46

AGND
GND
X2,X1
S1, S2, S3

48
1
2,3
4,5,6

RDY

K1- K4

8 - 11

GVHD: Th.S NGUYN V QUNH


Chn iu khin b nh, chn ny s gi tn
hiu sang SRAM v c lu li thc hin
lnh.
(Chn ny ni trc tip vi chn CE ca
SRAM)
Chn thit lp v phn hi tn hiu n b nh
ng d liu cho b nh ngoi
c dng nh bus I/O ca b nh khi chn
ME tch cc, y l tn hiu ng vo cho b
cht d liu khi chn DEN hot ng.
in p cp cho b bin i tng t sang s
Chn kim tra
Chn ni vi micro. c hot ng km theo
t v in tr.
Mt tng t
Cp ngun m
Chn ni vi thch anh 3.58M
Chn ni vi bn phm ch thng, v l
chn c ghi d liu ch x l.
Thng bo tn hiu ging ni ng vo.
Khi HM 2007 sn sng nhn m th s c mt
tn hiu mc thp gi i. Nu ic khng nhn th
gi tn hiu mc cao.
Chn ni vi bn phm

1.1.4 Chc nng lm vic


C hai ch hot ng trong IC HM2007
1.1.4.1

Ch thng

ch ny ic c kt ni vi mt bn phm, mt SRAM, v cc thit b ngoi


vi thit lp mt mi trng lm vic bng ging ni. SRAM c th dng loi dung
lng 8K.
M ngun
HM2007 hot ng khi c ngun cp vo, khi chn WAIT mc thp th ic bt
u kim tra b nh. Khi chn WAIT mc cao, HM2007 s b qua vic kim tra b
nh, s bt u x l tn hiu nhn ging ni.

01/12/2009

TRANG 14

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

Thu tn hiu
Khi chn WAIT nhn mc cao th chn RDY c a xung mc thp v
HM2007 sn sng nhn m vo kim tra ging ni. Khi c tn hiu ging ni a
vo, chn RDY s ln mc cao v HM2007 bt u lm vic. l lnh m ngi
iu khin ci t cho b nh, kt qu s c hin th trn 2 led 7 on. Tn hiu
c x l v a n Bus ng ra tn hiu. Tn hiu xut ra di dng m nh phn.
Khi chn WLEN c a ln mc cao, di ca t l 1,92s, v nu chn WLEN
mc thp, th di t a vo l 0,92s.
Khi chn WAIT mc thp, m ng vo s khng c nhn cho ti khi chn
WAIT tr li trng thi mc cao.
Cch s dng thit b
- Khi ta mun xa cc d liu c np trc th t bn phm ma trn ta nhp
s 99 ri nhn vo nt CLR. Mi d liu v ging ni lc ny s b xa v ta phi ci
t li khi mun tip tc s dng, vic ci t ny kh n gin, ch cn mt vi thao
tc l chng ta c th ci t ging ni vo mt cch d dng.
- ci tn hiu ging ni, trn bn phm ta nhn cc gi tr mc nh t 00-99 ri
nhn vo nt TRAIN, lc HM 2007 s bt u x l a tn hiu vo. Lc bt
u ci t, nu chn WAIT mc cao, HM2007 s gi tn hiu mc thp ra chn
RDY bo rng HM2007 sn sng nhn m vo. Nu chn WAIT mc thp, m s
khng c nhn cho ti khi chn WAIT bo mc cao.
Chi tit cc thit b i km board mch chnh.
* Key board phm ma trn v mch hin th

Hnh 1.3 Bn phm ma trn [6]

Hnh 1.4 Bn v mch hin th

Hai ic 74LS47 s gii m tn hiu xut ra t HM2007 v hin th trng thi hun
luyn, khi cp ngun HM2007 kim tra SRAM (Ram tnh). Nu Ram kim tra xong,
mch hin th "00" trn 2 Led by on. Trng thi "00" bo hiu mch sn sng
v ch lnh.

01/12/2009

TRANG 15

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

Mt v d chi tit v cch hun luyn IC HM2007 [6]


Cp ngun, mn hnh hin th "00" trn 2 Led by on, v Led trn main board sng
==> sn sng ch lnh.
Nhn phm 1 ==> mn hnh hin th "01" v Led tt. Sau nhn TRN(Training hun luyn), v Led sng tr li.
Ni vo 'microphone' mt t hoc 1 cm t c di < 0.96 s.
V d: i qut nh : ngay lp tc mn hnh hin th "55" ( n bo: t qu di)
Lm li: Qut nh th ngay lp tc Led trn main board nhp nhy (chp nhn), t
Qut nh by gi c lp trnh l "01". Mi khi nghe ng t ny, mn hnh s
hin th ng m s "01".
Tip tc hun luyn cc t mi: Nhn "02" ri nhn TRN hun luyn t th 2. c
th, c th. Ti a hun luyn c 40 t.
Cch xa cc t hun luyn
Mun xa tng t ring l trong b nh ==> nhp s ca t mun xa v nhn CLR
(clear - xa).
Mun xa tt c cc t trong b nh ==> nhp "99" ri nhn CLR.
1.1.4.2 Ch iu khin bi Vi x l ngoi (ch CPU)
Ch ny bao gm cc chc nng: nhn dng m, ci m vo, bo kt qu, nhn
v cp d liu. K bus c dng nh mt d liu nh phn gia b iu khin ngoi
v HM2007. Cc chn t S1 n S3 xem nh l chn iu khin c ghi d liu.
C ba thanh ghi trong HM2007, mt thanh ghi b m ng vo, mt thanh ghi
trng thi v mt thanh ghi b m ng ra. u tin l thanh ghi ch ghi v cui cng
l thanh ghi ch c. Nu chn S1 mc cao, d liu c t K-BUS s ly t thanh ghi
b m ng ra. Nu S1 mc thp, d liu K Bus s ly t thanh ghi trng thi. S2 v
S3 l tn hiu iu khin c ghi. l lc ang c, b iu khin ngoi c th
ly d liu t K Bus. Ch S2 v S3 khng th ng thi l mc cao v trng thi
ca S1 s khng c nhn trong qu trnh ghi. [4]
Nguyn l hot ng ch CPU
Khi c ngun cp th HM2007 bt u hot ng ging nh ch thng v
sau thanh ghi trng thi s c gi tr 10 ch lnh. Sau khi nhn lnh Recog, th
ic s bt u cho x l nhn bit m. Thit b ngoi c th hin th trng thi ca
HM2007. Khi trng thi hot ng chuyn sang 01, v chn WAIT mc thp,
HM2007 s tr v trng thi hot ng 10 v sau sn sng nhn lnh mi. Khi
trng thi hot ng chuyn sang 01 v chn WAIT mc cao, l lc sn sng nhn
m vo v sau x l nhn bit m. Khi trng thi hot ng tr v 01 mt ln na,
th sau vic x l nhn bit hon tt HM 2007 ang i lnh khc.

01/12/2009

TRANG 16

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

Sau khi nhn bit m. Kt qu nhn bit c a vo trong b m, thit b


ngoi c th gi lnh RESULT dng c s 10 ly kt qu nhn bit. Khi d liu
c c trng thi hot ng s tr v 10 v i lnh k. Sau khi lnh RESULT
c gi, vic c c thc hin bi CPU v kt qu c gi bi HM2007.
Khi HM2007 nhn m lnh TRAIN, ic s cn thm thng tin bit v tr khung
c ci t. T u tin l bn bt thp ca gi tr v tr, t th hai l hai bit cao ca
gi tr v tr ca t.
Nu mt s v tr khung t c chp nhn v chn WAIT l mc cao, HM2007
bt u x l ci t khung t. Nu chn WAIT mc thp HM2007 s b qua vic x
l ci t. Sau khi x l ci t, trng thi hot ng s tr v 10 v i lnh k tip.
Khi HM2007 nhn m lnh UPLOAD, chip cn hai t bit v tr khung t ni cha
cha data. T u tin l 4 bit thp v t th hai l 2 bit cao.
Khi lnh RESET c a vo HM2007 chip s xa tt c nhng khung nh trong b
nh.

1.2 Gii thiu IC nh SRAM 6264 [4]


IC UM6264 l mt ic x l nhanh, c dung lng 65536 bit v 8Kbyte d liu, p
cp 5VDC, thi gian p ng truy cp khong 150ns. Ng vo ra d liu c dng
chung, cc ng ra ny tng thch h TTL. Cng sut tiu tn trng thi ch rt
thp ch khong 0.1mW so vi khi hot ng bnh thng l 200mW.

Hnh 1.5 S khi SRAM 6264 [2]


IC UM6264 bao gm cc chn:
- Cc chn ngun VCC/GND

01/12/2009

TRANG 17

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

- Cc chn d liu D0 D7
- Cc chn a ch A0 A12
- Cc chn iu khin l WE, OE, CS1, CS2

Hnh 1.6 Cu to bn trong SRAM 6264


IC UM6264 l thit b lu tr d liu quan trng trong h thng, y l loai chip
c s dng trong PLC lm b nh. Vi h thng ny IC 6264 phi c chn
la loi tng thch th mch mi hot ng nh lu di. IC ny c mt khuyt
im l khi chng ta ngng cp ngun th d liu t ng s xa, do ta cn c mt
ngun pin 3V cp vo chn Back up d liu ca h thng.

01/12/2009

TRANG 18

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

CHNG II
GII THIU L THUYT V MCH IU KHIN T
XA CA THIT B
2.1

Chi tit v chip AVR Atmega8 [1]


2.1.1 Tng quan
Nhng tnh nng chnh ca Atmega8
- Rom: 8Kbyte
- Sram: 4Kbytes
- EEPROM: 4Kbytes
- 64 thanh ghi I/O
- 160 thanh ghi vo ra m rng
- 32 thanh ghi a mc ch
- 2 b nh thi 8 bit (0,2)
- 2 b nh thi 16 bit (1,3)
- B nh thi watchdog
- B dao ng ni RC tn s 1MHz, 2MHz, 4MHz, 8MHz
- ADC 8 knh vi phn gii 10 bit ( dng Xmega ln ti 12 bit)
- 2 knh PWM 8 bit
- 6 knh PWM c th lp trnh thay i phn gii t 2 ti 16 bit
- B so snh tng t c th la chn ng vo
- Hai khi USART lp trnh c
- Khi truyn nhn ni tip SPI
- Khi giao tip ni tip hai dy TWI
- H tr Boot loader
- 6 ch tit kim nng lng
- La chn tn s hot ng bng phn mm
- ng gi 64 chn kiu TQFP
- Tn s ti a 16MHz
- in th: 4,5V 5,5V
..
Vi iu khin AVR do hng Atmel (Hoa k) sn xut c gii thiu ln u
tin vo nm 1996, AVR c rt nhiu dng khc nhau bao gm dng Tiny AVR ( nh
AT tiny 13, AT tiny 22) c kch thc b nh nh, t b phn ngoi vi, ri n
dng AVR (chn hn AT90S8535, AT90S8515.) c kch thc b nh vo loi
trung bnh v mnh hn l dng MEGA ( nh AT mega 32, At mega 128) vi b
nh c kch thc vi Kbyte n vi trm Kb cng vi cc b ngoi vi a dng c
tch hp trn chip, cng c dng tch hp c b LCD trn chip (dng LCD AVR). Tc
ca dng Mega cng cao hn so vi cc dng khc. S khc nhau c bn gia cc
dng chnh l cu trc ngoi vi, cn nhn th vn nh nhau. t bit nm 2008.
ATMEL li tip tc cho ra i dng AVR mi l XmegaAVR, vi nhng tnh nng

01/12/2009

TRANG 19

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

mnh m cha tng c cc dng AVR trc . C th ni XmegaAVR l dng


MCU 8 bit mnh nht hin nay. [3]

Hnh 2.1 Hnh nh cc loi AVR [2]


Cu trc c bn ca vi iu khin AVR nh sau

Hnh 2.2 S khi cu trc vi iu khin AVR

[4]

2.1.2 Cu trc b nh v cng vo ra


2.1.2.1 Cu trc b nh
B nh vi iu khin AVR c cu trc Harvard l cu trc c ng Bus ring cho b
nh chng trnh v b nh d liu. B nh AVR c chia lm 2 phn chnh: B
nh chng trnh (program memory) v b nh d liu (Data memory)
B nh chng trnh:

01/12/2009

TRANG 20

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

B nh chng trnh ca AVR l b nh Flash c dung lng 128K bytes. B


nh chng trnh c rng Bus l 16 bit. Nhng a ch u tin ca b nh chng
trnh c dng trong bng vecto ngt. i vi Atmega 8 b nh chng trnh c th
chia lm 2 phn: phn boot loader (Boot loader program section)v phn ng dng
(Application program section).
Phn boot loader cha chng trnh boot loader. Chng trnh boot loader
l mt phn mm nh np trong vi iu khin v c chy lc khi ng. Phn mm
ny c th ti vo trong vi iu khin chng trnh ca ngi s dng v sau thc
thi chng trnh ny. Mi khi reset vi iu khin CPU s nhy ti thc thi chng
trnh boot loader trc, chng trnh boot loader s d xem c chng trnh no cn
np vo vi iu khin hay khng, nu c chng trnh cn np, boot loader s np
chng trnh vo vng nh ng dng (Application program section), ri thc thi
chng trnh ny. Ngc li, boot loader s chuyn ti chng trnh ng dng c sn
trong vng nh ng dng thc thi chng trnh ny.
Phn ng dng (Application program section) l vng nh cha chng trnh ng
dng ca ngi dng. Kch thc ca phn boot loader v phn ng dng c th ty
chn.

Hnh 2.3 Tng quan ch hot ng boot loader


Hnh trn th hin cu trc b nh chng trnh c s dng boot loader v
khng s dng boot loader, khi s dng phn boot loader ta thy 4 word u tin thay
v ch th cho CPU chuyn ti chng trnh ng dng ca ngi dng (l chng
01/12/2009

TRANG 21

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

trnh c nhn Start) th ch th CPU nhy ti phn chng trnh boot loader thc
hin trc ri mi quay tr li thc hin chng trnh ng dng.
B nh d liu: B nh d liu ca AVR c chia lm hai phn chnh l b nh
SRAM v b nh EEPROM. Tuy cng l b nh d liu nhng hai b nh ny li
tch bit nhau v c nh a ch ring
- B nh SRAM: c dung lng 4K bytes, b nh SRAM c hai ch
hot ng l ch thng thng v ch tng thch vi AT mega 8 mun thit
lp b nh SRAM hot ng theo ch no ta s dng bit cu ch M103C.
- B nh EEPROM: y l b nh d liu c th ghi xa ngay trong lc vi
iu khin ang hot ng v khng b mt d liu khi ngun cung cp b mt. Vi vi
iu khin AT mega8, b nh EEPROM c kch thc l 4K byte. EEPROM c
xem nh l mt b nh vo ra c nh a ch c lp vi SRAM. iu khin
vo ra d liu vi EEPROM ta s dng ba thanh ghi:
+ Thanh ghi EEAR (EEARL):

y l thanh ghi 16 bit lu gi a ch cc nh ca EEPROM, thanh ghi


EEAR c kt hp t 2 thanh ghi 8 bit l EEARH v thanh ghi EEARL. V b nh
EEPROM ca Atmega8 c dung lng 4Kbyte = 4069 byte = 212 byte nn ta ch cn
12 bit ca thanh ghi EEAR, 4 bit t 15-12 c d tr ta nn ghi 0 vo cc bit d tr
ny.
+ Thanh ghi EEDR

y l thanh ghi d liu ca EEPROM, l ni cha d liu ta nh ghi vo hay ly ra


t EEPROM.

+ Thanh ghi EECR

01/12/2009

TRANG 22

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

y l thanh ghi iu khin EEPROM, ta ch s dng 4 bit u ca thanh ghi ny,


bn bit cui l d tr, ta nn ghi 0 vo cc bit d tr
Tm tt bn b nh bn trong atmega8

Hnh 2.4 [1]


2.1.3 Cng vo ra
2.1.3.1 Gii thiu
Cng vo ra l mt trong s cc phng tin vi iu khin giao tip vi cc
thit b ngoi vi. AT mega8 c tt c cc cng vo ra 8 bit l: PortA, PortB, PortC,
PortD Cc cng vo ra ca AVR l cng vo hai chiu c th nh hng, tc c th
chn hng ca cng l hng vo (input) hay hng ra (output). Tt c cc cng
vo ra ca AVR u c chc nng c Chnh sa Ghi (Read Modify Write)
khi s dng chng nh l cc cng vo ra s thng thng. iu ny c ngha l khi
ta thay i hng mt chn no th n khng lm nh hng ti hng ca cc
chn khc. Tt c cc chn ca cc Port u c in tr ko ln (pull-up) ring, ta c
th cho php hay khng cho php in tr ko ln ny hot ng.

01/12/2009

TRANG 23

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

in tr ko ln l mt in tr c dng khi thit k cc mch in t logic.


N c mt u c ni vi ngun in p dng (VCC Vdd) v u cn li c
ni vi tn hiu li vo/ra ca mt mch logic chc nng.
2.1.3.2 Cch hot ng
Khi kho st cc cng nh l cc cng vo ra s thng thng th tnh cht
ca cc cng (PortA, PortB, ) l tng t nhau, nn ta ch cn kho st mt cng
no trong s 7 cng ca vi iu khin l .
Mi mt cng vo ra ca vi iu khin c lin kt vi ba thanh ghi:
PORTx, DDRx, PINx. ( x thay th cho A,B.). Ba thanh ghi ny s c phi hp
vi nhau iu khin hot ng ca cng, chng hn thit lp cng thnh li vo c
s dng in tr ko ln Sau y l nguyn l chi tit vai tr ca ba thanh ghi trn:

Thanh ghi DDRx.


y l thanh ghi 8 bit (c th c ghi) c kh nng iu khin hng ca cng
(l li vo hay li ra). Khi mt bit ca thanh ghi ny c set ln 1 th chn tng
ng vi n c cu hnh thnh ng ra. Ngc li, nu bit ca thanh ghi DDRx l 0
th chn tng ng vi n c thit lp thnh ng vo.
V d: Khi ta set tt c 8 bit ca thanh ghi DDRA u l 1, th 8 chn tng
ng ca PortA, l PA1, PA2, . PA7 (tng ng vi cc chn ca vi iu khin)
c thit lp thnh ng ra.

Thanh ghi PORTx


PORTx l thanh ghi 8 bit c th c ghi. y l thanh ghi d liu ca PORTx.
Nu thanh ghi DDRx thit lp cng l li ra, khi gi tr ca thanh ghi PORTx cng
l gi tr ca cc chn tng ng ca PORTx, ni cch khc, khi ta ghi mt gi tr
logic ln 1 bit ca thanh ghi ny th chn tng ng vi bit cng c cng mc
logic. Khi thanh ghi DDRx thit lp cng thnh li vo th thanh ghi PORTx ng vai
tr nh mt thanh ghi iu khin cng.
C th, nu mt bit ca thanh ghi ny c ghi thnh 1 th in tr treo chn
tng ng vi n s c kch hot, ngc li nu bit c ghi thnh 0 th in tr
treo chn tng ng s khng c kch hot, cng trng thi cao tr (HI-Z).

01/12/2009

TRANG 24

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

Thanh ghi PINx


PINx khng phi l mt thanh ghi tht s, y l a ch trong b nh I/O kt
ni trc tip vi cc chn ca cng. Khi ta c PORTx tc ta c d liu c cht
trong PORTx, cn khi c PINx th gi tr logic hin thi chn ca cng tng ng
c c. V th i vi thanh ghi PINx ta c th c m khng th ghi.

2.1.4 B nh thi ca AT mega8 [1]


AT mega8 c 4 b nh thi, b nh thi 1 v 3 l b nh thi 16 bit, b nh
thi 0 v 2 l b nh thi 8 bit. Sau y l m t chi tit ca 4 b nh thi.
2.1.4.1 B nh thi 1

Hnh 2.5 S b nh thi 1

01/12/2009

TRANG 25

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

B nh thi 1 v 3 l b nh thi 16 bit, b nh thi 1 s dng 13 thanh ghi lin


quan, cn b nh thi 3 s dng 11 thanh ghi lin quan vi nhiu ch thc thi
khc nhau. V b nh thi 1 v 3 hot ng ging nhau nn bi vit ny em ch trnh
by v b nh thi 1.
Cc nh ngha sau s c s dng trong b nh thi 1:
BOTTOM: B m t n gi tr BOTTOM khi n c gi tr 0000h.
MAX: B m c gi tr MAX khi n bng FFFFh.
TOP: B m t gi tr TOP khi n bng vi gi tr cao nht trong chui m, gi tr
cao nht trong chui m khng nht thit l FFFFh m c th l bt c gi tr no
c qui nh trong thanh ghi OCRnX (X=A,B,C) hay ICRn, ty theo ch thc
thi.
B nh thi 1 bao gm cc thanh ghi:
Thanh ghi TCCR1A (Timer/Cuonter 1 Control Register)
Thanh ghi TCCR1B
Thanh ghi TCCR1C
Thanh ghi Timer/Counter TCNT1H and TCNT1L
Thanh ghi Output Compare Register 1A OCR1AH and OCR1AL
Thanh ghi Output Compare Register 1B OCR1BH and OCR1BL
Thanh ghi Output Compare Register 1C OCR1CH and OCR1CL
Thanh ghi Input Capture Register 1 ICR1H and ICR1L
Thanh ghi Timer/Cuonter Interrupt Mask Register TIMSK
Thanh ghi Extended Timer/Cuonter Interrupt Mask Register ETIMSK
Thanh ghi Timer/Cuonter Interrupt Flag Register TIFR
Thanh ghi Extended Timer/Cuonter Interrupt Flag Register ETIFR
Thanh ghi Special Function IO Register SFIOR
2.1.4.2 B nh thi 3
Do b nh thi 3 c cu trc ging b nh thi 1, nn y ch trnh by cc
thanh ghi c lin quan ti b nh thi 3.
Thanh ghi TCCR3A
Thanh ghi TCCR3B
Thanh ghi TCCR3C
Thanh ghi Timer/Cuonter1 TCNT3H and TCNT3L
Thanh ghi Output Compare Register 3A OCR3AH and OCR3AL
Thanh ghi Output Compare Register 3B OCR3BH and OCR3BL
Thanh ghi Output Compare Register 3C OCR3CH and OCR3CL
Thanh ghi Extended Timer/Cuonter Interrupt Mask Register ETIMSK
Thanh ghi Extended Timer/Cuonter Interrupt Flag Register ETIFR
Thanh ghi Special Funtion IO Register SFIOR

01/12/2009

TRANG 26

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

Ng ra khi Compare Match Output Unit

Hnh 2.6 S ng ra khi


Nhn hnh ta thy Pin OcnX (chn hn pin 15 ca IC tng ng vi OC1A), l ng
ra ca khi Compare Match Output Unit, c th c ni vi 3 thanh ghi l OCnX,
PortX v DDRX. Thanh ghi no c ni vi Ocn l ph thuc vo cc bit COMn1:0
(tc l ty theo ch hot ng ca b nh thi). Nu ta thit lp b nh thi hot
ng ch thng ( tc khng s dng chc nng so snh khp) th chn Ocn tr
thnh chn vo ra s thng thng. Ng ra khi Compare Match Output Unit ca b
nh thi 1 cng ging nh b nh thi 3.
2.1.4.3 B nh thi 0

Hnh 2.7 S khi b nh thi 0

01/12/2009

TRANG 27

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

B nh thi 0 l b nh thi 8 bit, b nh thi 0 lin quan ti 7 thanh ghi vi nhiu


ch thc thi khc nhau.
Cc nh ngha
Cc nh ngha sau s c s dng cho b nh thi 0 v 2
BOTTOM: B m t ti gi tr BOTTOM khi n c gi tr 00h.
MAX: B m t ti gi tr Max khi n bng FFh.
TOP: B m t gi tr TOP khi n bng vi gi tr cao nht trong chui
m, gi tr cao nht trong chui m khng nht thit l FFh m c th l bt k gi
tr no c qui nh trong thanh ghi OCRn (n=0,2), tuy theo ch thc thi.
B nh thi 0 c vi c im chnh nh: B m n knh, xa b nh thi
khi c s kin so snh khp (compare match) v t np li, c th m t b giao
ng 32 KHz bn ngoi, ch PWM hiu chnh phaCc thanh ghi trong b nh
thi 0 bao gm:
Thanh ghi Timer/Cuonter Control Register TCCR0
Thanh ghi Timer/Cuonter Register - TCNT0
Thanh ghi Output Compare Register OCR0
Thanh ghi Timer/Cuonter Intertupt Mask Register TIMSK
Thanh ghi Timer/Cuonter Interrupt Flag Register TIFR
Thanh ghi Special Function IO Register SFIOR
Thanh ghi Asynchronous Status Register ASSR
2.1.4.4 B nh thi 2

Hnh 2.8 S khi b nh thi 2

01/12/2009

TRANG 28

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

B nh thi 2 l b nh thi 8 bit, b nh thi 2 lin quan ti 5 thanh ghi vi


nhiu ch thc thi khc nhau. Thuc tnh chnh ca b nh thi 2 gm: B m
n knh, xa b nh thi khi c s kin so snh khp v t ng np li, PWM
hiu chnh pha, m s kin bn ngoi.
CC THANH GHI B NH THI 2
Thanh ghi Timer/Cuonter Cuontrol Register TCCR2
Thanh ghi Timer/Cuonter Register TCNT2
Thanh ghi Output Compare Register OCR2
Thanh ghi Timer/Cuonter Interrupt Mask Register TIMSK
Thanh ghi Timer/Cuonter Interrupt Flag Register TIFR

2.2 Cu trc ngt ca ATmega8


2.2.1 Khi nim v ngt
Ngt l mt s kin bn trong hay bn ngoi lm ngt b vi iu khin bo cho
n bit rng thit b cn dch v ca n.
Mt b vi iu khin c th phc v mt vi thit b, c hai cch thc hin iu
ny l s dng cc ngt (interrupt) v thm d (polling). Trong phng php s
dng cc ngt th mi khi c mt thit b bt k cn n dch v ca n th n bo cho
b vi iu khin bng cch gi mt tn hiu ngt. Khi nhn c tn hiu ngt th b
vi iu khin ngt tt c nhng g n ang thc hin chuyn sang phc v thit b.
Chng trnh i cng vi ngt c gi l dch v ngt ISR (Interrupt Service
Routine) hay cn gi l trnh qun l ngt (Interrupt handler). Cn trong phng php
thm d th b vi iu khin hin th lin tc tnh trng ca mt thit b cho v iu
kin tha mn th n phc v thit b. Sau chuyn sang hin th trng thi ca thit
b k tip cho n khi tt c u c phc v.
Mc d phng php thm d c th hin th tnh trng ca mt vi thit b v
phc v mi thit b khi cc iu kin nht nh c tha mn nhng n khng tn
dng ht cng dng ca b vi iu khin. im mnh ca phng php ngt l b vi
iu khin c th phc v rt nhiu thit b (tt nhin l khng ti cng mt thi
im). Mi thit b c th nhn c s ch ca b vi iu khin da trn mc u
tin cho cc thit b v n kim tra tt c cc thit b theo kiu xoay vng. Quan trng
hn l trong phng php ngt th b vi iu khin cng c th che hoc lm l mt
yu cu dch v ca thit b. iu ny li mt ln na khng th thc hin c trong
phng php thm d. L do quan trng nht m phng php ngt c a chung
nht l v phng php thm d lm hao ph thi gian ca b vi iu khin bng cch
hi d tng thit b k c khi chng khng cn n dch v.
2.2.2 Trnh phc v ngt ca bng Vector ngt.
i vi mi ngt th phi c mt trnh phc v ngt ISR (Interrupt Service
Ruotine) hay trnh qun l ngt (Interrupt handler). Khi mt ngt c gi th b vi
iu khin phc v ngt. Khi mt ngt c gi th b vi iu khin chy trnh phc
v ngt. i vi mi ngt th c mt v tr c nh trong b nh gi li a ch ISR
ca n. Nhm cc v tr nh c dnh ring gi cc a ch ca cc ISR c gi
l bng vc t ngt.
01/12/2009

TRANG 29

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

Khi kch hot mt ngt th b vi iu khin i qua cc bc sau:


Vi iu khin kt thc lnh ang thc hin v lu a ch ca lnh k tip (PC)
vo ngn xp.
N nhy n mt v tr c nh trong b nh c gi l bng vc t ngt ni lu
gi a ch ca mt trnh phc v ngt.
B vi iu khin nhn a ch ISR t bng vc t ngt v nhy ti . N bt u
thc hin trnh phc v ngt cho n lnh cui cng ca ISR l RETI (tr v t ngt).
Khi thc hin lnh RETI b vi iu khin quay tr v ni n b ngt. Trc ht
n nhn a ch ca b m chng trnh PC t ngn xp bng cch ko hai byte trn
nh ca ngn xp vo PC. Sau bt u thc hin cc lnh t a ch .
2.2.3 Bng Vector ngt ca ATmega8
y l bng vc t ngt ca Atmega8, cng vi a ch ca n trong b nh
chng trnh.
S vector
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28

01/12/2009

a ch
$0000
$0002
$0004
$0006
$0008
$000A
$000C
$000E
$0010
$0012
$0014
$0016
$0018
$001A
$001C
$001E
$0020
$0022
$0024
$0026
$0028
$002A
$002C
$002E
$0030
$0032
$0034
$0036

Ngun (im gc)


RESET
INT0
INT1
INT2
INT3
INT4
INT5
INT6
INT7
TIMER2 COMP
TIMER2 OVF
TIMER1 COMPA
TIMER1 COMPA
TIMER1 COMPB
TIMER1 OVF
TIMER0 COMP
TIMER0 OVF
SPI.STC
USART0. RX
USART0.UDRE
USART0.TX
ADC
EE READY
ANALOG COMP
TIMER1 COMPC
TIMER3 CAPT
TIMER3 COMPA
TIMER3 COMPB

TRANG 30

ngha
Reset AVR
Ngt ngoi 0
Ngt ngoi 1
Ngt ngoi 2
Ngt ngoi 3
Ngt ngoi 4
Ngt ngoi 5
Ngt ngoi 6
Ngt ngoi 7
So snh Timer/Cuonter 2
Bo trn Timer/Cuonter 2
S dng Timer/Cuonter 1
So snh Timer/Cuonter1 (A)
So snh Timer/Cuonter1 (B)
Bo trn Timer/Cuonter 1
So snh Timer/Cuonter0
Bo trn Timer/Cuonter0
Khi truyn nhn ni tip
B truyn d liu ni tip 0 RX
B d liu trng USART0
B truyn d liu ni tip TX
B chuyn i ADC
B nh EEPROM
So snh tn hiu tng t
So snh Timer/Cuonter1 (C)
S dng Timer/Cuonter3
So snh Timer/Cuonter3 (A)
So snh Timer/Cuonter3 (B)

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009


29
30
31
32
33
34
35

GVHD: Th.S NGUYN V QUNH

$0038
TIMER3 COMPC
So snh Timer/Cuonter3 (C)
$003A
TIMER3 OVF
Bo trn Timer 3
$003C
USART1.RX
B truyn d liu ni tip 1 RX
$003E
USART1.UDRE
B d liu rng USART1
$0040
USART1.TX
B truyn d liu ni tip 1 TX
$0042
TWI
Hai gi tr bn ngoi
$0044
SPM READY
B nh chng trnh
Hnh 2.9 Bng vector ngt ca Atmega8 [3]

2.2.4

Th t u tin ngt
Khng nh vi iu khin h 8051, th t u tin ca cc ngt c th thay
i c bng cch lp trnh. Vi vi iu khin AVR th t u tin cc ngt l khng
th thay i v theo qui tc: Mt vc t ngt c a ch thp hn trong b nh
chng trnh c mc u tin cao hn. Chn hn ngt ngoi 0 (INT0) c mc
u tin cao hn ngt ngoi 1 (INT1).
cho php mt ngt ngi dng cn cho php ngt ton cc (set bit 1 trong
thanh SREG) v cc bit iu khin tng ng.
Khi mt ngt xy ra v ang c phc v th bit I trong thanh ghi SREG b
xa, nh th khi c mt ngt khc xy ra th n s khng c phc v, do cho
php cc ngt trong mt ISR (interrupt service routine) khc ang thc thi, th trong
chng trnh ISR phi c lnh SEI set li bit I trong SREG.

2.2.5

Ngt trong ngt.


Khi AVR ang thc hin mt trnh phc v ngt thuc mt ngt no th li
c mt ngt khc c kch hot. Trong nhng trng hp nh vy th mt ngt c
mc u tin cao hn c th ngt mt ngt c mc u tin thp hn. Lc ny ISR ca
ngt c mc u tin cao hn s c thc thi. Khi thc hin xong ISR ca ngt c
mc u tin cao hn th n mi quay li phc v tip ISR ca ngt c mc u tin
thp hn trc khi tr v chng trnh chnh. y gi l ngt trong ngt.

Hnh 2.10 Cc ngt lng nhau

01/12/2009

TRANG 31

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

Ch :
Gi nh l khi mt ISR no ang thc thi th xy ra mt yu cu ngt t
mt ISR khc c mc u tin thp hn th ISR c mc u tin thp hn khng c
phc v, nhng n s khng b b qua lun m trng thi ch. Ngha l ngay sau
khi ISR c mc u tin cao hn thc thi xong th n lt ISR c mc u tin thp
hn s c phc v.
2.2.6 Cc ngt ngoi [3]
AT mega8 c 8 ngt ngoi t INT0 n INT7 ( y cha k ti ngt Reset).
Tm ngt ny tng ng vi 8 chn ca MCU la INT0, INT1INT7. l ngay
c khi cc chn INT0, INT1,INT7 ca MCU c cu hnh nh l chn li ra, th
cc ngt ngoi vn c tc dng nu c cho php.
Cc ngt ngoi c th bt mu theo kiu cnh ln (Rising), cnh xung
(Falling) hay mc thp (Low level). iu ny c qui dnh trong hai thanh ghi
EICRA v EICRB. Di y l m t chi tit 2 thanh ghi EICRA v EICRB v cc
thanh ghi lin quan ti ngt ngt ngoi.
Thanh ghi External Interrupt Control Register A EICRA

Tm bit ca thanh ghi EICRA s iu khin kiu bt mu cho 4 ngt INT3, INT2,
INT1, INT0. Qui nh c th c th hin trong bng sau:
ISCn1
0
0
1
1

ISCn0
0
1
0
1

Kiu bt mu
Mc thp s to yu cu ngt
D tr
Cnh xung (Falling) s to yu cu ngt
Cnh ln (Rising) s to yu cu ngt

Hinh 2.11 Bng iu khin kiu bt mu ngt

Thanh ghi External Interrupt Control Register B EICRB

01/12/2009

TRANG 32

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

Tm bit ca thanh ghi EICRA s iu khin kiu bt mu cho 4 ngt INT7, INT6,
INT5, INT4. Qui nh c th c th hin trong bng sau:
ISCn1
ISCn0
Kiu bt mu
0
0
Mc s to yu cu ngt
0
1
Bt c s thay i mc logic no
chn INTn s to ra mt yu cu ngt.
1
0
Cnh xung (Falling) gia hai mu s
to yu cu ngt.
1
1
Cnh ln (Rising) gia hai mu s to
yu cu ngt.
Vi n = 7,6,5,4
Thanh ghi External Interrupt Mask Register - EIMSK

Thanh ghi External Interrupt Flag Register EIFR

Thanh ghi MCU Control Register MCUCR

01/12/2009

TRANG 33

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

2.3 Cc b phn ngoi vi khc [3] [4]


Ngoi cc b phn ngoi vi c gii thiu trn nh: B nh thi, cc
cng vo ra, EEPROM . Vi iu khin AT mega8 c nhiu b phn ngoi vi khc,
cc b ngoi vi ny rt tin li trong cc ng dng iu khin (b PWM) x l s liu
(b ADC, b so snh Analog), giao tip (b USART, SPI, I2C). Vic tch hp cc
b ngoi vi ny vo trong chip gip cho cc thit k tr nn thun tin hn, kch
thc bo mch cng gn gng hn.
2.3.1 B so snh tng t
S n gin ca b so snh tng t (Analog Comparator). Nh hnh bn
di b so snh c hai ng vo tng t l AIN0 v AIN1 v mt ng ra s ACO.
Nguyn tc hot ng ca b so snh tng t l: Khi ng vo AIN0 c in th cao
hn ng vo AIN1 th ng ra ACO s mc cao (tng ng vi mc logic 1), ngc
li khi ng vo AIN0 c in th thp hn ng vo AIN1 th ng ra ACO s mc
thp (tng ng vi mc logic 0). Thng th trong hai ng vo, c mt ng vo c
in th c gi c nh dng lm in th tham chiu (Vref), in th ng cn
li c th thay i c th tham chiu vi ng vo Vref. Trng thi ca ng ra ACO
ca b so snh c th c dng to ra mt ngt, kt ni vi b nh thi 1 s
dng chc nng input capture ca b nh thi ny.

Hnh 2.12 S gin lt ca b so snh tng t


y c s khc bit v chi tit b so snh tng t i vi cc dng AVR
khc nhau, chn hn b so snh tng t ca AT90S8535 hi khc vi b so snh
tng t AT mega8, tuy nhin cu trc c bn th vn nh nhau. Ta thy hai ng
vo AIN0 v AIN1 tng ng vi hai chn PBx v PBy (x=2, y=3, i vi
AT90S8535). Atmega8 ta c nhiu la chn ng vo hn, cc thanh ghi ch trong
b nh s gip ta thit lp cc la chn ny.
2.3.2

B bin i ADC

2.3.2.1 Gii thiu b ADC ca Atmega 8


B bin i ADC c chc nng bin i tn hiu tng t (analog signal) c gi
tr thay i trong mt di bit trc thnh tn hiu s (digital signal). B ADC ca
Atmega8 c phn gii 10 bit, sai s tuyt i l 2LSB, di tn hiu ng vo t 0V-

01/12/2009

TRANG 34

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

Vcc, tn hiu ng vo c nhiu la chn nh: c 8 ng vo a hp n hng


(Multiplexed Single Ended), 7 ng vo vi sai (Differential Input), B ADC ca AT
mega8 l loi ADC xp x lin tip vi hai ch c th la chn l chuyn i lin
tc (Free Running) v chuyn i tng bc (Single Conversion).
- Chuyn i lin tc: l ch m sau khi khi ng th b ADC thc hin chuyn
i lin tc khng ngng.
- Chuyn i tng bc: l b ADC sau khi hon thnh mt chuyn i th s
ngng, mt chuyn i tip theo ch c bt u khi phn mm c yu cu chuyn
i tip.
S khi n gin ca mt b ADC c th hin nh sau:

Hnh 2.13 S khi n gin b ADC [5]


Nguyn tc hot ng ca khi ADC: Tn hiu tng t a vo cc ng ADC0:
7 c ly mu v bin i thnh tn hiu s tng ng. Tn hiu s c lu hnh
trong hai thanh ghi ACDH v ADCL. Mt ngt c th c to ra khi hon thnh mt
chu trnh bin i ADC. B ADC ca Atmega8 phc tp hn nhiu, tuy nhin c s
vn da vo nguyn tc trn.

01/12/2009

TRANG 35

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

Hnh 2.14 S ng vo vi sai [5]


V d: on chng trnh nh sau cho php b ADC hot ng ch bin i
tng bc, ng vo l chn ADC3, khng dng ngt.
ldi r16,3 ;
out ADMUX, r16 // Chn ng vo ADC 3, in th tham chiu Vref
ldi r16, 0b10000101
out ADCSRA, r16 // khng dng ngt, h s chia clock l 32, chy tng
bc
sbi ADCSRA, ADSC // khi ng b ADC
Wait:
Sbis ADCSRA, ADIF // i ADC hon thnh
rjmp Wait
in r16, ADCL
in r17, ADCH

01/12/2009

// lu kt qu ADC

TRANG 36

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

2.3.3 B truyn d liu ni tip USART


2.3.3.1 Tm lc v USART
USART (Universal Synchronous and Asynchronous serial Receiver and
Transmitter): B iu khin ng b v bt ng b, y l khi chc nng dng cho
vic truyn thng gia vi iu khin vi cc thit b khc. Trong vn truyn d liu
s, c th phn chia cch thc truyn d liu ra hai ch c bn l: Ch nhn
ng b (Synchronous) v ch truyn nhn bt ng b (Asynchronous). Ngoi ra,
nu gc phn cng th c th phn chia theo cch khc l: Truyn nhn d liu
theo kiu ni tip (serial) v song song (paralell).
Truyn ng b: l kiu truyn d liu trong b truyn (Transmitter) v b
nhn (Receiver) s dng mt xung ng h (clock). Do , hot ng truyn v nhn
gi liu ra ng thi.
Truyn bt ng b: L kiu truyn d liu trong mi b truyn v b nhn
c b dao ng xung clock ring, tc xung clock hai khi ny c th khc nhau,
nhng thng khng qu 10%. Do khng dng chung xung clock, nn ng b
qu trnh truyn v nhn d liu, ngi ta phi truyn cc bit ng b (Start, Stop.)
i km vi cc bit d liu.
Gii thiu b USART ca Atmega 8
AT mega8 c hai b USART l USART0 v USART1. Hai b USART ny l c
lp nhau, iu ny c ngha l hai khi USART0 v USART1 c th hot ng cng
mt lc. Bn di l s khi n gin ca khi USART.

Hnh 2.15 S khi b USART


01/12/2009

TRANG 37

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

2.4 H thng xung CLOCK v lp trnh b nh ON CHIP


2.4.1 H thng xung CLOCK
H thng xung clock Atmega8 c chia thnh nhiu khi khc nhau, mi khi
(modul) s cung cp xung clock cho cc khi ngoi vi ng dng tng ng.

Hnh 2.16 S h thng xung clock cho Atmega8

01/12/2009

TRANG 38

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

CHNG III
NGN NG C CHO AVR
3.1 Khi nim
3.1.1 Cc ch thch v tin x l (PreProcessor) [1]
Cc ch thch.
Thng thng bt u mt chng trnh l cc ch thch v project cch ch
thch phi bt u bng du // hay /* cc ch thch */ v c trnh bin dch b qua
khi bin dch, chn hn:
//***********************************
// comments placed in there
// File: demo.c
// Au thor: Pham Ngoc Dang Khoa
// Date:
2007
Cc tin x l.
#include: Dng chn cc file cn thit vo project, cc file ny nn trong th
mc inc ca trnh bin dch CodeVisionAVR.
V d:
#include <mega8.h> cho php s dng cc thanh ghi ca Atmega8. Tc bo cho trnh
bin dch bit chng ta ang s dng vi iu khin Atmega8. y s l dng code u
tin trong chng trnh C.
#define: Dng nh ngha mt gi tr no bng cc k t.
V d:
#define max 0xff
nh ngha max c gi tr l 0xff. Ch khng c du chm phy (;) cui cu v
define ch l mt macro ch khng phi l mt lnh. Macro cng c th c tham s.
V d:
#define SUM(a,b) a+b
Main( )
{
// cc lnh khc
Int I = SUM(2,3)
// cc lnh khc
01/12/2009

TRANG 39

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

};
Th i s c gn thnh i = 2+3 = 5

Cc kiu d liu (Data Types)

Ngoi cc kiu d liu ca C, CodeVisionAVR cn c kiu d liu bit l


kiu d liu 1 bit, nn gii gi tr ch c 0 v 1. Kiu bit ch h tr i vi khai bo
bin ton cc l chnh. Vi bin bit cc b, trnh bin dch ch cho khai bo ti a 8
bin bit.
V d:
Bit a; //a l bin kiu bit
Cc kiu khc c cho trong bng di.
Kiu d liu
Bit
Char
Unsigned char
Signed char
Int
Short int
Unsigned int
Sunged int
Long int
Unsign long int
Signed long int
Float
double

Kch c (bit)
1
8
8
8
16
16
16
16
32
32
32
32
32

Gii hn
0,1
-128 n 127
0 n 225
-128 n127
-32768 n 32767
-32768 n 32767
0 n 65535
-32768 n 32767
-2147483648 n 2147483647
0 n 4294967295
-2147483648 n 2147483647
1.175e38 n 3.402e38
1.175e38 n 3.402e38

Hng
- Cc hng s c t trong b nh FLASH, ch khng t trong RAM.
- Khng c khai bo hng trong chng trnh con.
- Gi tr 100 c hiu l s thp phn (decimal), 0b101 ch gi tr nh phn
(binary) v 0xff ch gi tr thp lc (hexadecimal)
V d:
Const char a = 128; // hng s a c kiu char v c gi tr l 128.

01/12/2009

TRANG 40

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

Bin
- Bin gm c bin ton cc (global) l bin m hm no cng c th truy xut, v
bin cc b (local) l bin m ch c th truy xut trong hm m n c khai bo.
- Bin ton cc, nu khng c gi tr khi to s c mt nh l 0. Bin cc b,
nu khng c gi tr khi to s c gi tr khng bit trc.
- Bin ton cc c lu tr trong cc thanh ghi Rn, nu dng ht cc thanh ghi th
s chuyn sang lu tr trong vng SRAM. ngn cn cc bin ton cc c lu
vo cc thanh ghi Rn, d cc thanh ghi ny vn cn t do, ta dng t kha volatile.
- Bin ton cc nu khng lu trong cc thanh ghi a chc nng th c lu tr
trong b nh SRAM, cn bin cc b, nu khng lu trong cc thanh ghi a chc
nng, th c lu tr trong vng data STACK. Khi chng trnh tr v gi tr cui
cng cho hm th cc bin cc b c lu tr trong stack s b kha. bin cc b
khng b xa khi thot khi hm ta dng t kha static.
- Bin bit ton cc c cp pht cc thanh ghi R2 ti R14 ca vi iu khin, cc
bit c cp pht t R2 ti R14 theo th t khai bo, nhc li l Atmega8 c 32 thanh
ghi a chc nng R0 n R31.
- Trong chng trnh C, ni bt u thc thi chng trnh l im bt u ca hm
Main. Thc t, khi bin dch sang hp ng (assembly), im bt u ca chng trnh
vn l v tr vector reset (a ch 0000h). Trc khi chy ti v tr chng trnh main,
chng trnh hp ng s thc hin khi to cc bin ton cc,. Do , khi chy vo
hm main, cc bin ton cc, m thc cht l cc nh (byte hay word), c gi tr
khi to sn. Vi cc bin cc b, trnh hp ng khng khi to trc gi tr.

V d: khai bo bin cc b nh sau:


Main ( )
{ unsigned char test = 9;
Test+=1;
}
S dch sang hp ng l
LDI Rn, 0x09 ;// n ty theo dng chip v chng trnh
SUBI Rn, 0xFF ;// trnh ta vit, R17 chn hn

Nh vy, vi bin cc b, khi no s dng th mi khi to.


V d 1:
/* khai bo bin ton cc */
char a;
int b;
/* c th khi to gi tr */
Long c = 0b1111;
/* chng trnh con */
Int increment (void)

01/12/2009

TRANG 41

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

{
/* khai bo bin static */
Static int n ;
Return n++ ;
}
/* chng trnh chnh */
Void main (void) {
/* khai bo bin cc b */
Char d;
Int e;
/* c th khi to gi tr */
Long f = 16;
d = increment () ;
/* d = 1 */
e = increment () ;
/* e = 2, v khi thot khi hm increment th gi tr ca bin static n vn
khng b xa */
V d 2:
bit bit_mot ; // bit 0 ca thanh ghi R2 c cp cho bin bit_mot
bit bit_hai ; // bit 1 ca thanh ghi R2 c cp cho bin bit_hai
l cc bin kiu bit trn l bin ton cc, i vi bin bit cc b, trnh bin
dch s ct trong thanh ghi R15. Cc thanh ghi R2 ti R14 cng c th c cp pht
cho bin thanh ghi (register variable), ty vo cc ty chn khi cu hnh cho trnh
bin dch.
Bin volatile:
- tng thch vi cc thit b ngoi vi khi ghp ni vi vi iu khin, chn hn
b ADC, ghp ni vi RTC. Ngi ta dng cc bin volatile.
Bin Volatile l bin m gi tr ca n khng c thay i bi chng trnh,
nhng c th c thay i bi phn cng.
Chuyn i kiu d liu
Trong mt biu thc ton hc, cc ton hng c th c kiu d liu khc nhau, khi
trnh bin dch s t ng chuyn tt c cc ton hng v cng mt kiu duy nht.
Th t u tin chuyn i l:
Char -> unsigned char -> int -> unsigned int -> long -> unsigned long -> float

01/12/2009

TRANG 42

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

V d 1.
int a ;
long c, b;
c = a*b ; // a s c t ng chuyn thnh long
V d 2.
Php nhn sau y cho kt qu sai:
int a, b = 30000;
long c ;
c = a*b ;
Php ton trn s nhn a vi b trc, vi tch thu c l int b trn, ri mi chuyn
tch thu c sang long, ri gn tch b trn ny cho c. khng b trn, ta sa li
biu thc trn nh sau:
int a,b = 30000;
long c ;
c = (long) a*b ;
Lc ny a,b c chuyn thnh long trc khi nhn, nn tch s l long khng b trn,
ri gn kt qu cho c.
3.1.2

Mng (Array)

Mng l mt dy cc bin xp lin tc nhau. K hiu [ ] dng khai bo mng.


Mng khai bo ngoi hm gi l mng ton cc (global array), mng khai bo trong
hm gi l mng cc b (local array).
V d:
int global_array [4] = {1,2,3,4}
// mng c 4 phn t (dng nguyn) c khi to gi tr ban u.
global_array [0] = 9 ;
// ghi gi tr 9 vo phn t u tin ca mng
int multidim_array [2] [3] = {{1,2,3},{4,5,6}}
// mng a chiu c khi to gi tr ban u.
3.1.3 Hm (Function)
- Hm l on chng trnh thc hin trn vn mt cng vic nht nh.
- Hm chia ct vic ln bng nhiu vic nh. N gip cho chng trnh sng sa,
d sa, nht l i vi cc chng trnh ln.
- Chng trnh phc v ngt (ISR) cng c th xem l mt hm, nhng khng c
tham s truyn vo m cng khng c tham s tr v.
- Gi tr tr v ca hm c lu trong cc thanh ghi R30, R31, R22, R23.

01/12/2009

TRANG 43

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

Con tr (Pointer)
Nhng bin lu tr a ch ca mt bin khc gi l con tr (pointer). C hai ton
t lin quan ti con tr l: & v *.
&: l ton t ly a ch, c ngha l a ch ca.
* : l ton t tham chiu, c ngha l Gi tr c tr bi.
s dng con tr ta phi khai bo n. Kiu khai bo nh sau:
Type * pointer_name
V d:
Int *con_tro ;
l du sao (*) m chng ta t khi khai bo mt con tr ch c ngha rng:
l mt con tr v hon ton khng lin quan n ton t tham chiu * m chng ta
ni trn. n gin ch l hai tc v khc nhau c biu din bi cng mt
du.
Khi mt bin con tr c khai bo, n cha cha ng gi tr no c, ging nh
cc kiu bin khc. gn a ch cho con tr chng ta cn phi gn gi tr cho con
tr (tc khi to con tr).
V d:
Int number;
int *con_tro;// khai bo bin con tr l mt con tr nguyn
con_tro = &number ;// bin con_tro ti bin number
Sau khi khi to, ta c th s dng con tr bnh thng trong cc biu thc.
V d:
int value1 = 5 ;
int value2 = 15 ;
int * mypointer;
mypointer = &valuel; // con tr mypointer tr ti bin value1
*mypointer = 10; // gi tr ca bin valuel = 10
mypointer = &value2; // con tr mypointer tr ti bin value2
*mypointer = 20; // gi tr ca bin value2 = 20
3.1.3

Truy xut cc thanh ghi vo ra


(accessing the i/o registers)
Vic truy xut cc thanh ghi I/O ca AVR kh n gin, tt c cc thanh ghi I/O
ca AVR c khai bo trong file io.h. (hoc file header cho tng chip c th,

01/12/2009

TRANG 44

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

mega8.h) vo chng trnh l c th s dng cc thanh ghi ny. Ch l vic truy


xut bit trong cc thanh ghi c a ch 5Fh tr ln trong vng nh SRAM l khng th
thc hin c.
V d:
include<io.h>
char temp ;
temp = PIND; // c gi tr cng D vo bin temp
TCCR0 = 0x4F; // ghi gi tr 4Fh vo thanh ghi TCCR0
DDRD = 0x0c; // set bit 2 v 3 ca thanh ghi DDRD

3.2

Tm tt cu trc iu khin [1] [6]


3.2.1

Cu trc iu kin: if v else.


if (condition 1)
{
Khi lnh 1
}
else if (codition 2)
{
Khi lnh 2
}
else
{
Khi lnh khc
}

V d.
if (input ==KEY_1) PORTD = 0x01;
else if (input == KEY_2) PORTD = 0x02;
else if (input == KEY_3) PORTD = 0x03;
else
PORTD = 0x00
3.2.2

Vng lp While v do While


while (expression) starement ; // (1)
do statement while (condition); // (2)

Chc nng ca (1) n gin ch l lp li statement khi iu kin


expression cn tha mn.
Chc nng ca (2) hon ton ging vng lp white ch tr mt iu l iu
kin iu khin vng lp c tnh ton sau khi statement c thc hin, v

01/12/2009

TRANG 45

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

vy statement s c thc hin t nht mt ln ngay c khi condition khng


bao gi c tha mn.
V d:
int i ;
while (I < 128)
{
PORD = I;
i = i*2 ;
}
c th lp v hn, ta dng cu trc:
While (1)
{
Statement
}
3.2.3

Vng lp for

for (initialization; condition; increase) statement;


Chc nng chnh ca n l lp li statement chng no condition cn
mang gi tr ng nh trong vng lp while. Nhng thm vo , for cung cp
ch dnh cho lnh khi to v lnh tng. V vy vng lp ny c thit k t
bit lp li mt hnh ng vi mt s ln nht nh.
Initialization c thc hin. Ni chung n t mt gi tr ban u cho bin iu
khin. Lnh ny c thc hin ch mt ln.
Condition c kim tra, nu n l ng vng lp tip tc cn nu khng vng
lp kt thc v statement c b qua.
Statement c thc hin. N c th c mt lnh n hoc l mt khi lnh c
bao trong mt cp ngoc nhn.
Cui cng, increase c thc hin tng bin iu khin v vng lp quay tr
li kim tra.
V d:
For (int i = 1; I <= 128; i = i*2)
{
PORD = I ;
}
Cu trc sau s lp v hn ging nh cu trc while (1)
for (;;)
{
// Statement
}

01/12/2009

TRANG 46

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009


3.2.4

GVHD: Th.S NGUYN V QUNH

Lnh r nhnh break v continue [1]

- S dng break chng ta c th thot khi vng lp ngay c khi iu kin n kt


thc cha c tha mn. Lnh ny c th c dng kt thc mt vng lp
khng xc nh hay buc n phi kt thc gia chng thay v kt thc mt cch
bnh thng.
- Lnh continue lm cho chng trnh b qua phn cn li ca vng lp v nhy
sang ln lp tip theo.
V d 1:
int n;
for (n=10; n>0; n--)
{
PORD = n ;
if (n== 7)
{
break;
}
}
Chng trnh trn s cho PORTD = 10, 9, 8, 7.
Ch , nu sa li on code trn nh sau:
int n;
for (n=10; n >0; n--)
{
if (n== 7)
{
break;
}
PORTD = n ;
}
Th PORTD = 10, 9, 8.
V d 2.
For (int n =10; n>0; n--)
{
if (n==5) continue;
PORTD = n ;
Kt qu l PORTD = 10, 9, 8, 7, 6, 4, 3, 2, 1.
Ch , nu sa li on code trn nh sau:
For (int n = 10; n>0; n--)
{
PORTD = n
if (n == 5) continue;
}
Th PORTD = 10, 9, 8, 7, 6, 5, 4, 3, 2, 1

01/12/2009

TRANG 47

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

Lnh nhy goto


Lnh goto cho php nhy v iu kin vi bt k im no trong chng trnh.
V d:
int n = 10;
loop :
PORTD = n ;
n-- ;
if (n>0) goto loop;
PORTD = 10, 9, 8, 7, 6, 5, 4, 3, 2, 1.
Loop l nhn ca chng trnh, ging cch vit trong hp ng.
, lnh n--, lnh ny s gim n i 1. Ta c th vit gn hai cu lnh:
PORTD = n ;
n-- ;
thnh: PORTD = n--; lnh ny c hiu l thc hin php gn trc ri mi gim n
i 1. Nu sa li thnh PORTD = --n ; th s gim n i 1 ri mi thc hin php gn.
Tc tng ng vi:
n-- ;
PORTD = n ;
Lc ny PORTD = 9, 8, 7, 6, 5, 4, 3, 2, 1.
Trng hp ++n v n++ cng hiu tng t, vi du + ch s tng ln.
3.2.5

01/12/2009

Cu trc la chn Switch


Switch (expression) {
case constant1 :
block of instructions 1
break;
case constant2 :
block of instructions 2
break;

default
default block of instructions
}

TRANG 48

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

Switch hot ng theo cch sau: switch tnh biu thc v kim tra xem n c bng
constant1 hay khng, nu ng th n thc hin block of instructions 1 cho n khi
tm thy t kha break, sau nhy n phn cui ca cu trc la chn switch. Cn
nu khng, switch s kim tra xem biu thc c bng constant 2 hay khng. Nu ng
n s thc hin block of instructions 2 cho n khi tm thy t kha break. Cui cng,
nu gi tr biu thc khng bng bt k hng no c ch nh trn th chng
trnh s thc hin cc lnh trong phn default nu n tn ti v phn ny khng bt
buc phi c.
C s tng t gia lnh Switch v cu trc if else
Switch (x) {
case 1:
PORTD = 0x01 ;
break;
case 2:
PORTD = 0x02;
break;
default:
PORTD = 0x00;
}
Tng ng vi:
If (x == 1)
{
PORTD = 0x01;
Else if (x == 2)
{
PORTD = 0x02;
}
else
{
PORTD = 0x00;
}

3.3 Chng hp ng vo trong chng trnh C


c th vit hp ng trong chng trnh C, ta dng ch th #asm v #endasm.
Cc thanh ghi R0, R1, R22 R23, R24, R25, R26, R27, R30, R31 c th s dng trong
on chng trnh hp ng.
V d:
#asm
Sei // cho php ngt ton cc

01/12/2009

TRANG 49

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

#endasm
Nu ch vit trn mt dng th c th vit gn l:
#asm (sei)

3.4 T chc b nh SRAM [1]


Trnh bin dch phn chia v qun l b nh SRAM ca AVR nh sau: truy
xut trc tip ti mt a ch no trong cc vng nh ca AVR ta dng cch sau,
cch ny thch hp khi ta mun qun l mt khi nh cho mt chc nng no :
Truy xut b nh RAM
Unsigned char *Pointer;
Pointer= (unsigned char *) 0x90h ; // truy xut vo a ch 0x90h ca SRAM
Truy xut b nh Flash
Flash unsigned char *Pointer;
Pointer= (flash unsigned char *) 0x90h ; //truy xut vo a ch 0x90h ca flash
Truy xut b nh Eeprom
Eeprom unsigned char *Pointer;
Pointer = (eeprom unsigned char *) 0x90h; truy xut vo a ch 0x90h ca eeprom

01/12/2009

TRANG 50

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

3.5 Phn mm lp trnh cho b iu khin t xa AVR Atmega8


Gii thiu phn mm CODEVISIONAVR [3]

Hnh 3.1 Chng trnh lp trnh ATmega8


CodeVisionAVR l phn mm chuyn dng lp trnh chip AVR, ngn ng
lp trnh C hay Asm v mt s ngn ng thng dng khc u c th chy trn nn
Code Vision AVR. Trong nghin cu khoa hc ny em s dng chng trnh C
tin hnh lp trnh trn chip AVR giao tip v truyn tn hiu t xa thng qua sng
RF (mt dng tn hiu truyn ca Atmega 8). [3]
Gii thiu s lc v phn mm Codevision

Hnh 3.2 Giao din lp trnh ca phn mm CodeVisionAVR

01/12/2009

TRANG 51

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

To mt chng trnh mi FILE >> NEW

Hnh 3.3 Cc to mt project trn CodeVision


Nhn OK tip tc cc bc to project cho phn mm:

Hnh 3.4 Cc bc thc hin


Check vo nt Project >>> OK

Hnh 3.5 Cc bc thc hin

01/12/2009

TRANG 52

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

Chn th Chip chn loi AVR cn lp trnh v tc xung Clock

Hnh 3.6 Cch chn loi AVR


Gn cc trng thi cho Port cn lp trnh

Hnh 3.7 Cc bc thc hin


Sau cc bc ny l ta c th tin hnh lp trnh trn CodeVision AVR

01/12/2009

TRANG 53

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

3.6 Phng php v phn mm np cho ATmega8 [4]


Phn mm AVR Pro c s dng trong vic np d liu cho b thu v pht ca
ti: iu khin thit b bng ging ni t xa. y l phn mm c tch hp
cho cng Com 9 chn, v cng USB ca mch np tng ng. Trong qu trnh thc
hin ti th em dng mch np cng USB a d liu vo chip Atmega 8.
3.6.1 Tnh nng mch np [6]
Mch np USB AVR s dng tt nht trn nn h iu hnh Windows XP
Professional v Vista.
Np c hu ht cc dng AVR v mt s chip 89S ca Atmel.
H tr y cc tc v np chip thng thng nh: Ghi/xa/c ni dung trong
chip, kim tra li sau khi np.
H tr kha chip v lp trnh fuse bit .
Header np ISP chun ICE 5x2 nh dng KIT th nghim STK ca ATMEL gip
kt ni thun tin.
Tc np cao, s dng c vi hu ht cc trnh bin dch: Code Vision, AVR
Studio...
Cc k n gin trong kt ni, ci t v s dng.
3.6.2

Cch ci t Driver v np chng trnh cho ATmega8 [5]

qu trnh ci t driver cho mch np AVR din ra sun s cn lu : khng nn


kt ni mch np vi KIT cha chip cn np trc khi hon tt qu trnh ci t
driver.
Trnh t ci t nh sau:
a da CD km theo sn phm vo CD.
Cm mch np AVR vo cng USB trn PC.
Trn mn hnh hin ra thng bo tm thy phn cng mi di gc phi v hp thoi
yu cu ngi dng ch ra driver tng ng cho phn cng mi ny.

Ch nh c th ng dn n th mc cha driver nm trn a CD theo cc bc


nh hnh di y:
( ng dn mc nh l [Tn CD]\[Driver]\ )

01/12/2009

TRANG 54

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

01/12/2009

TRANG 55

GVHD: Th.S NGUYN V QUNH

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

Trong qu trnh ci t, nu hp thoi di y xut hin, chn Continue


anyway...

01/12/2009

TRANG 56

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

* Hp thoi sau y thng bo qu trinh ci t thnh cng.

01/12/2009

TRANG 57

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

Sau khi ci t xong driver, thit b s c PC xc nhn di hnh thc cng


COM o, do cn tinh chnh thng s cng COM ny ti u nht.
Vo Start Control Panel System...

Nhp chn nh trn vo chng trnh qun l thit b trn PC (Device


Manager)... [1]

01/12/2009

TRANG 58

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

Hiu chnh cc thng s nh hnh bn di:

Mt s trng hp mch np vn cha hot ng, nhp chn Advanced.. trn hnh
trn...

01/12/2009

TRANG 59

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

Chn COM Port Number khc, lu nu trong danh sch cc cng COM, cng
no ang b chim dng (in use) th khng c chn cng COM ny.
Nh vy l hon tt bc ci t driver cho mch np USB AVR 910.

3.6.3 Phn mm np
Cc phn mm np tng thch bao gm AVR Studio v Code Vision.
Chng trnh AVRProg tuy giao din n gin nhng c u im l np rt nhanh,
cn CodeVision th ngc li.
Sau y s hng dn Cc bc np chip s dng chng trnh AVR Prog trong
AVR Studio:

Cm mch np vo cng USB.


Khi ng chng trnh AVR Prog.
Cm cable np gia mch np vi KIT cha chip cn np tng ng.
Chn loi chip tng ng trn tab Device, nhp chn Advanced test xem mch
np nhn ra chip cha...Nu khng xut hin bt k thng bo li no m hin ngay
ln ca s Advanced, trong khung nh du nh bn di hin th r rng thng s
ca chip (khng c du ?) c ngha l mch np hot ng tt v nhn ra chip.

01/12/2009

TRANG 60

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

Nh vy l c th bt u s dng mch np chip.


Cc mode, ty chn trong ca s Advanced cn tm hiu k trong datasheet ca nh
sn xut c s thit t ng.
3.6.4

Cch khc phc li khi np

Chng trnh np khng nhn ra phn cng mch np tng thch:


Khi khi ng chng trnh np xut hin thng bo li nh sau

01/12/2009

TRANG 61

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

Cc bc khc phc:
+ Tt chng trnh np v rt mch np ra khi PC. Lp li thao tc trong Cc
bc np chip s dng chng trnh AVR Prog trong AVR Studio ln na.
+ Nu cha c, kim tra driver ci t cha. Nu ci t thnh cng, vo
chng trnh qun l thit b, xem cng USB (COM) ang s dng cho mch np
c b chim dng khng v th i sang cng USB (COM) khc v tin hnh th
li.

Chng trnh nhn ra phn cng tng ng v vo c chng trnh np,


nhng khi nhp Advanced th khng nhn ra chip, thay vo l bng thng
bo:

Cc bc khc phc:

- Hy rt mch np ra khi my tnh, tt chng trnh np, refresh v lp li thao tc


trong Cc bc np chip s dng chng trnh AVR Prog trong AVR Studio ln
na.
- Nu khng c, kim tra chun kt ni phn cng trn mch cha chip cn np.
- Khi cm mch np vo cng USB khc trn my, PC yu cu ci li driver cho thit
b.
- Thng thng, vic ci driver ch c tc dng i vi mch np cm ng vi mt
cng USB nht nh trn PC. V vy, khi bn cm mch np trn cng USB khc
trn my, bn vn phi ci driver s dng mch np trn cng USB ny.

01/12/2009

TRANG 62

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

PHN B

THIT K
THI CNG

01/12/2009

TRANG 63

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

CHNG 4
THIT K V THI CNG MCH X L GING NI
4.1 S nguyn l mch iu khin tn hiu ging ni
4.1.1 S nguyn l

Hnh 4.1 S nguyn l mch x l ging ni [2]

01/12/2009

TRANG 64

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

BN THIT K NGUYN L TRN ORCAD

Hnh 4.2 Mch nguyn l dng ic HM2007 trong Capture (phn mm Orcad)

01/12/2009

TRANG 65

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

4.1.2 S mch in 2 lp
Board mch 2 lp thit k ln 1

Hnh 4.3 Board HM 2007 (ln 1)


Board mch 2 lp thit k ln hai (sn phm cho thit b hon chnh)

Hnh 4.4 Board HM2007 ln 2

01/12/2009

TRANG 66

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

4.2 Cc board mch IC HM2007 thc hin th nghim


Board mt lp thc hin th nghim ln u tin

Hnh 4.5: Board 1 lp thit k th nghim


Board hai lp thc hin ln u tin

Hnh 4.6: Board mch 2 lp thc t

01/12/2009

TRANG 67

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

Board mch in 2 lp thit k ci tin ln 2.

Hnh 4.7 Board cho sn phm hon chnh

01/12/2009

TRANG 68

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

CHNG 5
THIT K MCH IU KHIN T XA CHO CHIP AVR
ATMEGA8
5.1 S nguyn l mch iu khin t xa

Hnh 5.1 S mch ATmega8 trn Capture (phn mm Orcad)

01/12/2009

TRANG 69

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

5.2 S thit k mch in v thi cng


Mch n gin gm ngun vo 5V cp cho vi x l v t bit trung tm l mt
chip ATmega 8 vi cc jack ng ra iu khin cc thit b.

Hnh 5.2 S mch in trn layout

Hnh 5.3 Mch thc t

5.3 Hnh nh thc t b Atmega8 ca thit b

Hnh 5.4 B thu (pht) t xa ca thit b


Do mch chn s dng l ic dn, nn khi thit k bn v chi tit v nguyn
l em cng mnh dng s dng cc linh kin dn nh (led, ic n p,) gim
kch thc mch v tng tnh thm m cho h thng iu khin.
Mt h thng thu (hoc pht) s dng 2 chip AVR Atmega8 x l d liu
v truyn i, do ton h thng s dng ng lot 4 chip Atmega8 cho c b
phn nhn v thu tn hiu. y l bc ci tin mi cho vic iu khin thit b
khon cch t xa, dem li s tin li, an ton cho ngi s dng.

01/12/2009

TRANG 70

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

CHNG 6
QU TRNH THIT K CC MODUL NG RA CA SN PHM
6.1 Mc ch thit k cc Modul ng ra.
V tn hiu sau khi x l v a ra i dng cc s nh phn 0 v 1 s dng
in p 5VDC. Do iu khin c cc thit b c mc in p cao hn ta phi
thit k cc mch ng lc cho thit b (cc modul ng ra). Nhn thy nc ta th
cc thit b phn ln s dng cc mc in p sau:
5VDC: dnh cho cc IC v vi iu khin.
24VDC: dnh cho cc cm bin, van kh nn, ng c robot
220VAC: Cho cc thit b in dn dng, s dng trong cuc sng con ngi
nh, n, qut, bp in .
Qua cc kho st trn th em mnh dn thit k mch nguyn l v board 2
lp cho cc modul ng ra ca thit b. Modul ng ra 5VDC v 24 VDC c thnh
cng v a vo iu khin cc robocon hot ng n nh ti xng robocon trng
i hc Lc Hng, cc tay gp phn loi sn phm, cc board thc hnh kh nn u
c chy n nh bng tn hiu ging ni.
t bit ti ch trng pht trin mnh vic iu khin cc thit b trong nh
s dng mc in p 220VAC, do Modul 220VDC c th ni l quan trng nht
ca thit b, Modul c thit k gm 1 b iu khin t xa v mch ng lc, cng
vi thit k c kh v hp m quan lm tng kh nng ng dng v dn dn a
sn phm vo phc v cuc sng.

6.2 Hnh nh thc t thit k v board mch ng ra.

Hnh 6.1 Bn thit k 1 modul ng ra 220VAC trn Capture

01/12/2009

TRANG 71

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

Hnh 6.2 S mch in modul 220VAC vi 6 ng ra

Hnh 6.3 S mch in thit k vi 4 ng ra 220VAC

01/12/2009

TRANG 72

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

Hnh 6.4 Modul ng ra 24VDC thc t


Modul s dng in 24VDC c tch hp thm cc chc nng ca ATMEL
89C51 c th d dng iu khin thit b, hay c th ly thng tn hiu nhn
t mch pht iu khin m khng thng qua 89C51.

Hnh 6.5 Board 2 lp ca Modul 220VAC (vi 6 ng ra)

01/12/2009

TRANG 73

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

CHNG 7
THIT K MU V HP BN NGOI CHO THIT B
7.1 tng thit k
Nhn thy y l mt ti c kh nng pht trin v ng dng cao, nn khi thc
hin ti em dnh thi gian ln bn v v thit k v hp cho thit b mt cch
hon chnh c th nhanh chng a sn phm vo s dng thc t. Phn v ngoi
s bao gm 2 thit b:
B v ca mch iu khin c kch thc 12 x 15 x 6 (cm), bn trong s cha
ng board x l ging ni HM2007, mch pht ATmega 8, bn phm, pin c thit
k nh hnh bn di. B v s c thit k trn cht liu g, m bo m quan cho
thit b thu pht.

Hnh 7.1 Thit k c kh khung v ca mch iu khin trn phn mm Unigrafic


B v ca mch ng lc cng c thit k bng g nhm tng tnh m quan v
sang trng ca thit b kt hp vi cc loi cm c sn trn th trng hon
thin sn phm. Khi thc hin ti em ch thit k khung v cho modul 220VAC,
v vi cc modul 5VDC hay 24VDC ta khng cn thit phi thit k khung v khi s
dng cc modul ny ngi ta thng gn trc tip trn thit b s dng.
01/12/2009

TRANG 74

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

Hnh 7.2 Thit k c kh Modul mch ng lc 220VAC trn phn mm


Unigrafic

7.2 Sn phm hon chnh trn phn mm

Hnh 7.3 Sn phm hon chnh trn thit k.

01/12/2009

TRANG 75

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

PHN C

SN PHM

01/12/2009

TRANG 76

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

H THNG IU KHIN ROBOT S DNG MODUL 24VDC

Hnh B. iu khin robot bng ging ni


Vi 40 tn hiu ging ni c th ci t trong thit b. Do robot s c
iu khin mt cch linh hot v m bo thc hin c mi chc nng nh
ngi iu khin mong mun. Vi cng ngh iu khin thit b bng ging
ni truyn t xa ngi iu kin c th ra lnh thc thi nhim v i vi robot
trong phm vi bn knh 200m, do c th bao qut c qu trnh hot ng.
Vi kt cu n gin, gn nh, truyn t xa khng cn dy kt ni m ra cho
ti nhiu hng pht trin mnh. t bit l cc ng dng iu khin cc thit
b v dy chuyn t ng ha hin i.

01/12/2009

TRANG 77

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

B IU KHIN THIT B 220VAC BNG GING NI T XA

Hnh C. B iu khin ging ni v modul 220VAC

01/12/2009

TRANG 78

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

KH NNG NG DNG THNH QU BC U CA TI

Khng ch dng li vic truyn ti tn hiu i xa ti cn c thit k thm


cc Modul ng ra thch ng vi nhiu thit b iu khin t ng. Gi y chng ta
ch cn kt ni l c th dng ging ni iu khin chng trnh ca mt con chip vi
x l hot ng in p 5VDC thc thi chng trnh vi modul ng ra 5VDC, c
th iu khin cc motor, relay, van kh nn thy lc. s dng 24VDC bng ging
ni mt ni cch n vi trm mt vi modul ng ra 24VDC. V mt ngy mt mi
sau khi i lm v, bn bc vo cn nh ca mnh, ton b cc thit b in 220VAC
u lm vic theo nhng g bn ni s lm cho bn cm thy thoi mi khi v nh.
Ch vi mt b iu khin kch thc 8x12 cm trong tay, bn c th iu khin rt
nhiu ng dng ca cuc sng. Mt vi ng dng trong giai on u hon thnh ca
thit b.
+ Dng ging ni ngi t xa iu khin h thng tay gp phn loi sn phm, thit
b iu khin l cc xy lanh kh nn, cc van o chiu mt v hai cun coil, v cc
cm bin cng nghip. H thng hot ng n nh nh ta iu khin thit b trn
PLC Omron CPU 21.
+ iu khin h thng MPS trng i hc LC HNG
+ H thng c kt ni t b phn pht n b phn thu tn hiu v iu khin
robot ti xng robocon hot ng chy v thc thi cc nhim v theo yu cu ging
ni ca ngi iu khin.
+ Vi ng ra 220VAC, h thng d dng iu khin cc thit b dn dng trong
cuc sng gia nh nh qut, n, ni em b, ng m ca....
+ Ch to cc thit b in an ton (ngi dng khng tip xc gn vi in th
cao) nhng vn s dng v ra lnh ng ngt ngun in mt cch d dng.
+ H thng c th dng trong iu khin cc robot t hnh nhng vng nguy
him, m con ngi khng th n c.

01/12/2009

TRANG 79

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

KT LUN KIN NGH


Kt lun
Sau hn mt nm thc hin th ti iu khin thit b bng ging ni
truyn t xa thu c rt nhiu thnh cng. H thng tuy khng phi ln u
tin c tm hiu v nghin cu Vit Nam, nhng thnh cng ca mch nhn
dng v x l ging ni trong ti ny vt xa cc nghin cu khoa hc ca
sinh vin cc trng i hc khc n nh v kh nng x l cng nh tnh
m quan ca thit b.
ti khng ch dng li mc nhn din ging ni, sau xut tn hiu
ng ra, vic thit k, lp trnh ng dng c cc b thu pht t xa s dng chip
AVR Atmega8 l mt thnh cng kh ln ca ti. Nh dy mt ngi iu
khin c th ngi trong phng v iu khin cc thit b m mnh mong mun m
khng phi i bt cng tc, hay cn mng internet phc tp. Kh nng thu pht t
xa c th ln ti 300m nhng ni iu kin l tng (khng c vt che khut),
i vi mi trng lm vic cng s v i sng th khong cch thu v nhn
tn hiu gia b phn iu khin v cc modul ng ra l trong phm vi bn knh
200m. iu ny gip ti c nhiu im mnh m cc thit b in dn dng
khc khng thc hin c:
- Ngi iu khin ch ngi v ra lnh vi b iu khin s dng in p
5VDC, trnh cho ngi tiu dng tip xc trc tip vi li in 220VAC, c
th gy nguy him cho con ngi khi tip cn vi cm r r in.
-

Gim c s lng ln dy ni khi cc thit b khong cch xa.

- Mt thit b iu khin c th iu khin mt lc nhiu modul ng ra cng


lc trong phm vi 40 lnh ging ni c thu vo. y l nt t bit ca
ti, trn thc t tnh ton th, mi modul ng ra thit k 6 Jack cm in
220VAC, do ch cn 1 b iu khin s dng chip HM 2007 l c th iu
khin tng ng 6 modul ng ra bng sng RF truyn t xa.
Nhng kh khn trong qu trnh thc hin ti
Dng ging ni iu khin thit b cn l vn kh mi m Vit Nam
v c rt t thng tin ni v vic cu thnh thit b, do khi tin hnh thc hin
ti bn thn em tri qua rt nhiu kh khn c th hon thnh thit b.
- IC HM2007 l mt IC ch sn xut v c bn ti mt s ca hng ti
M, vic tm v t hng vi s lng ln l mt kh khn ca ti.
Hn 4 thng, tm hiu qua internet v cc mi quan h bn b th em mi c
c sn phm HM2007. y l mt giai on kh cn thit thc hin
ti, vic ny gip ti c tin hnh tt giai on u v dn i su
01/12/2009

TRANG 80

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

vo cc h thng quan trng ca sn phm. HM2007 l sn phm m rt


nhiu sinh vin v dn in t mong mun c c thc hin cc tng
to bo ca mnh. Vic a c hm 2007 v Vit Nam c th ni l mt
thnh cng bc u ca ti ni ring, v phc v nhu cu ca nhng
ngi tiu dng Vit Nam ni chung.
- Cc ti liu v IC HM2007 cn mang tnh gii hn, hu ht cc chc
nng phi do mnh tm ti v th nghim c c mt chnh xc cao.
Ngay c datasheet ca IC HM2007 down trn mng cng ch l bn nhp
c nh my v sa cha bng vit tay bi ngi sn xut ra n. S
nguyn l ca IC cng ch l s khi ca cc thit b, khng c mt s
kt ni c th o rt kh thit k board thnh cng ngay ln u tin. Bn
thn em khi thc hin ti cng mt hn 2 thng lm board v thit
k thnh board 2 lp hon chnh phc v nhu cu ca ti.
- Tuy nhin, thit k vo hon thnh board x l ging ni ch l thnh
cng bc u ca ti. y ch l mt trong bn phn cn hon thin ca
ti iu khin thit b bng ging ni t xa. y l mt ti ln
mang tnh cng ngh, i hi ngi thc hin thng tho v c kin thc
tt c cc lnh vc:
+ Kh nng s dng thnh tho my tnh v mng internet.
+ Kh nng giao tip v linh hot trong cuc sng.
+ Kh nng thit k board mch 2 lp.
+ Kh nng s dng phn mm, v lp trnh trn ngn ng C.
+ Kh nng thit k bn v c kh phn v hp
+ Tnh sng to v kh nng pht trin t duy to ra sn phm.
Trn thc t, y l mt ti c rt nhiu ngi hng n thc
hin, nhng h ch dng li mc tm hiu l thuyt hoc hon thnh board
iu khin nhn dng ging ni iu khin cc thit b n gin qua cp
tn hiu. y ti c pht trin thm b iu khin t xa, giao tip trn
mt sng truyn ring, v cc modul ng ra c thit k dn hon thin
sn phm, phc v cho nhiu ng dng trong cuc sng.

01/12/2009

TRANG 81

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

u im, khuyt im cn ci tin ca thit b

+ u im:
- H thng c th iu khin bng ging ni hoc iu khin bng tay nh
mt remote iu khin t xa
- Sn phm c thit k nh gn, c th mang theo v s dng mi ni.
- Thit b iu khin s dng pin 9V, c bn ph bin trn th trng. Vi mt
pin 9V sn phm c th s dng v hot ng lin tc c trn 2 ting. V
thi gian ch ln ti 8 ting. Hoc c th kt ni ngun trc tip vi
Adapter.
- Ch cn mt thit b iu khin 40 lnh, c th lp trnh v iu khin 6
modul ng ra iu khin thit b.
- B iu khin gn nh, thit k mi ngi c th s dng mt cch d
dng. (ch cn thi gian 5 pht l ngi s dng c th a cc lnh bng
ging ni ca mnh vo iu khin mt cch d dng).
- Ton b thit b chy trn mch in 2 lp nn kh nng hot ng n nh
cao.
- C th s dng micro khng dy tin li cho vic di chuyn ca ngi
dng.
- Thit k v vi vn g mang li v sang trng cho thit b, ng thi tng
kh nng cch in ca cc thit b vi nhau.
- y l mt sn phm mi, hon ton cha bn trn th trng Vit Nam.
+ Khuyt im:
- ti c hon thnh v c pht trin thnh mt sn phm hon
chnh, nn vic a sn phm ra th trng l mt vn thit yu cn thc
hin, tuy nhin vi kh nng ca mt sinh vin nm cui th vic bn sn
phm ch dng li vic bn l cc Modul (t bit l b modul iu khin
bng ging ni)
- mch iu khin bng ging ni IC nh SRAM 6264 c th b mt d liu
khi mt ngun 5V cp vo (ht pin). Tuy nhin, vic nhp li d liu cho
SRAM 6264 ch mt ca ngi s dng khon 5 pht thit lp li tn hiu
ging ni ca mnh.
- Tn hiu ging ni a vo khon cch gn, v phm vi hp.

Kin ngh
ti iu khin thit b bng ging ni truyn t xa sau khi hon thnh
vo thng 11 nm 2009 m ra mt hng iu khin thit b mi cho cuc
sng cng nh trong sn xut cng nghip. Tuy nhin a c vo phc
v nhu cu cuc sng ti cn rt nhiu s ci tin v mt k thut cng nh
s gip trn nhiu phng din t trng i hc LC HNG v cc n
v c trch nhim.

01/12/2009

TRANG 82

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

DANH MC TI LIU THAM KHO


[1] Ti liu chip AVR v lp trnh C ca tc gi L Trung Thng.
[2] Ti liu v IC HM2007 ca sinh vin Nguyn Minh Tr thc hin nm 1998
[3] Phn mm lp trnh CodeVisionAVR Help c pht trin bi Pavel
Haiduc and HP InfoTech.
[4] Ti liu tham kho vit bo co c dch t datasheet ting Anh ca thit b
(HM 2007, Sram 6264, ATmega 8,) trn trang:
www.alldatasheet.com
Cc t kha : HM2007, 6264, Atmega8, 74LS373, 74LS47,
Moc3402, BTA06, A1015.
[5] www.google.com , www.wikipedia.org
T kha: iu khin bng ging ni, Voice command
[6] Cc trang web tham kho ti liu.
www.diendandientu.com
www.dientuvienthong.net
www.dientuvietnam.net
www.5giay.vn

01/12/2009

TRANG 83

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

PH LC
Hnh nh ci tin board mch ch ca thit b.

Board mch sn phm c thit k li nhiu ln tng tnh nng s dng v


gim kch thc ca sn phm iu khin thit b bng ging ni truyn t xa

Chng trnh chnh lp trnh cho b iu khin t xa


Chng trnh chnh mch pht tn hiu:
While (1)
{
if (PINB.0==1 && PINB.1==0 && PINB.2==0 && PINB.3==0) //
putchar ( a);
if (PINB.0==0 && PINB.1==1 && PINB.2==0 && PINB.3==0) //
putchar ( b);
if (PINB.0==1 && PINB.1==1 && PINB.2==0 && PINB.3==0) //
putchar ( c);
if (PINB.0==0 && PINB.1==0 && PINB.2==1 && PINB.3==0) //
putchar ( d);
if (PINB.0==1 && PINB.1==0 && PINB.2==1 && PINB.3==0) //
putchar ( e);
01/12/2009

TRANG 84

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

GVHD: Th.S NGUYN V QUNH

if (PINB.0==0 && PINB.1==1 && PINB.2==1 && PINB.3==0) //


putchar ( f);
if (PINB.0==1 && PINB.1==1 && PINB.2==1 && PINB.3==0) //
putchar ( g);
if (PINB.0==0 && PINB.1==0 && PINB.2==0 && PINB.3==1) //
putchar ( h);
if (PINB.0==1 && PINB.1==0 && PINB.2==0 && PINB.3==1) //
putchar ( i);
};
Chng trnh chnh mch thu tn hiu
While (1)
{
Char ;
h = getchar ( ) ;
switch 9 (h)
{
case a
PORTB = 0 x FE;
break;
case b
PORTB = 0 x FD;
break;
case c
PORTB = 0 x FB;
break;
case d
PORTB = 0 x F7;
break;
case e
PORTB = 0 x EF;
break;
case f
PORTB = 0 x DF;
break;
case g
PORTB = 0 x FF;
break;
case h
PORTB = 0 x FF;
break;
case i
PORTB = 0 x FF;
break;
};

01/12/2009

TRANG 85

SVTH: PHM NGC NG KHOA

NGHIN CU KHOA HC 2009

01/12/2009

TRANG 86

GVHD: Th.S NGUYN V QUNH

SVTH: PHM NGC NG KHOA

You might also like