You are on page 1of 113

n tt nghip

i hc vinh

MC LC
Trang M U CHNG I: GII THIU CHUNG V ROBOT 1.1. Lch s ra i 1.2. Cc m hnh robot v ng dng ca n 1.3. La chn ti v phm vi nghin cu 1.4. Tm tt ti 1.4.1. Nhim v 1.4.2. Mc tiu 1.4.3. Yu cu thit k chng ii: gii thiu phn C kh 2.1. Robot vi bnh xe 2..2. Phn ng c (ng c in mt chiu) 2..3. B khung 2.4. M hnh robot bng tay chng iii: cc phng php iu khin motor 3.1. Gii thiu hot ng ca motor 3.2. iu khin ng c vi cu H (H-Bridge) 3.2.1. Nguyn l hot ng ca cu H 3.2.2. Relay H-Bridges 3.2.3. Cu H dng relay kt hp vi FET 3.2.4. Cu Bridges) H bn dn (Semiconductor H4 6 6 8 9 11 11 13 13 14 14 15 16 16 18 18 19 19 20 21 23 24 24 26 26 nng cc chn 27

3.2 .5. Cu H tch hp 3.3. Phng php iu ch xung PWM iu khin tc ng c chng iv: vi iu khin p89v51rd2 4.1. c im ca P89V51RD2. 4.2. S P89V51RD2.
L Cng Hoi

chn

chc

Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

4.3. Cu trc bn trong vi iu khin P89V51RD2. 1. T chc b nh. 2. Cc thanh ghi chc nng c bit. 4.4. Cc chc nng chnh ca P89V51RD2. 1. Hot ng nh thi (Timer) P89V51RD2. 2. Hot ng ca port ni tip. 3. Hot ng ca ngt. 4. Hot ng reset. 5. PCA 6. Phng php iu ch xung iu khin ng c 4.5. Tm tt tp lnh MCS - 51. 1. Ch nh a ch. 2. Thanh ghi a ch 3. a ch trc tip 4. a ch gin tip 5. a ch tc thi 6. a ch tng i 7. a ch tuyt i 8. a ch di 9. a ch tham chiu 4.5.2. Cc nhm lnh h P89V51RD2 1. Nhm lnh x l s hc 2. Nhm lnh lun l 3. Nhm lnh chuyn d liu 4. Nhm iu khin 5. Cc lnh r nhnh Chng V: thit k mch in t 5.1. S khi tng qut 5.2. Khi iu khin bng tay (MCU) 5.3. Khi bn phm
L Cng Hoi
2

29 29 31 32 32 33 34 34 35 36 42 42 42 43 43 44 44 44 45 45 46 46 47 49 50 51 52 52 53 54

Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

5.4. Khi Motor Drive 5.5. Khi hin th 5.6. Khi ngun CHNG VI: Ch to mch in t v gii thut chng trnh cho robot 6.1. S nguyn l 6.1.1. S nguyn l phn iu khin 6.1.2. S nguyn l phn cng sut 6.2. Thit k mch in 6.2.1. S b tr linh kin board iu khin 6.2.2. S mch in lp Bottom ca board iu khin 6.2.3. S mch in lp Top Overlay ca board iu khin 6.2.4. S b tr linh kin board cng sut 6.2.5. S mch in lp TOP ca board cng sut 6.2.6. S mch in lp Bottom ca board cng sut 6.3. Thi cng mch in 6.4. Phm bm iu khin 6.5. Chng trnh chnh cho robot bng tay 1. Lu thut ton 2. Chng trnh gii thut cho robot bng tay Kt lun Ti liu tham kho

55 56 58 58 58 59 61 61 62 63 64 65 66 67 68 69 69 70 71 91 92

L Cng Hoi

Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

Li ni u
Vo nhng nm u th k 20, robot l mt khi nim ht sc mi m. Thut ng robot xut hin u tin trong mt v kch khi tc gi m t v nhng c my c kh nng lm vic thay th con ngi. Tri qua nhiu giai on pht trin, ngy nay, c l hnh nh ca nhng ch robot tr nn quen thuc v gn gi vi chng ta hn bao gi ht. Gi l ch robot, chng ta d lin tng n nhng con ngi c lm bng my. iu ny ch ng giai on s khai khi khi nim robot va mi ra i bi cc nh pht minh hu nh ch hng n nhng robot mang dng dp con ngi. Kt qu l h cho ra i nhng ch robot ging ngi v c th thc hin nhng ng tc n gin. im hn ch ca nhng robot ny l khng c thng minh v cng khng c ng dng nhiu. cng v sau, con ngi cng tr nn thc t hn. H khng t nng vn hnh dng na. h cn nhng robot c th thc thi mt cng vic r rt, mt cng vic m con ngi khng th hoc khi thc hin s gp khng t tr ngi. Chnh v vy, a s nhng robot ngy nay ch mang hnh dng mt b phn no ca con ng i hoc thm ch hon ton khng ging con ngi. Cnh tay my cng nghip l mt v d. ta gi y l th h robot thng minh. Trong cuc sng ca chng ta, robot c vai tr ngy cng ln v ngy cng thng minh theo s pht trin ca khoa hc k thut. Tuy nhin nc ta, do mt s hn ch nht nh v mt cng ngh cng nh yu cu cha cao, vic
L Cng Hoi
4 Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

nghin cu robot ch mi bt u khong chc nm gn y. Bng chng l chng ta c thm mt s ngnh thuc lnh vc c in t m trc y cha h c. Trong xu hng pht trin k thut hin nay, l ngi hot ng trong lnh vc in t, nhng kin thc c bn v robot l hon ton cn thit. Vi suy ngh trn, cng vi nim yu thch robot, ti cm thy tht th v khi thc hin ti Thit k, ch to robot iu khin bng tay. mc d phm vi ti rt nh v khim tn, nhng vi ti, y l bc khi u quan trng khi ln u tin bc vo th gii robot, mt th gii hp dn, a dng v y th thch. Em xin chn thnh cm n cc thy c gio trong b mn in t - Vin Thng, khoa Cng ngh ging dy cho chng em nhng kin thc v chuyn mn, nh hng s hiu bit cng nh kh nng chng em thc hin tt lun vn tt nghip v to iu kin thun li cho chng em hon thnh tt nhim v. Em xin chn thnh cm n thy gio PGS.TS. Nguyn Quc Trung tn tnh hng dn gip em hon thnh n ny! Sinh vin thc hin: L Cng Hoi

L Cng Hoi

Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

CHNG I:

GII THIU CHUNG V ROBOT


1.1. lch s ra i ca robot Khi nim Robot theo ngha chung th ng ngha vi khi ng c hiu nim t ng ho cng nghip, iu

ny ch ng mt phn bi v: th nht, Robot ch l mt thnh phn trong h thng t ng ho, th hai l t thn vic trnh by, miu t Robot trong sinh hot x hi t nhiu phng i. Nhng Robot xut hin ln u tin NewYork vo ngy 9/10/1922 trong v kchRossums Universal Robot ca nh son kch ng i Tip Khc l Karen Chapek, cn t Robot l mt cch gi khc ca t Robota-theo ting Tip c ngha l cng vic lao dch. Khi , Karen Chapek cho rng Robot l nhng ng i my c kh nng lm vic nhng khng c kh nng suy ngh. Gn mt th k tip theo, khi nim robot lin tc c pht trin, ng gp thm bi nhiu nh nghin cu, nhiu cng ty chuyn v lnh vc robot. D i y l bng tm tt qu trnh lch s hnh thnh v pht trin ca cng ngh ch to robot, v nhng tc ng ca khoa hc cng nh tng thi k. Tm tt lch s pht trin ca robot : Mc thi gian 1920 1940 Nghin cu v pht trin Khi nim robot xut hin trong tiu thuyt Pht minh ra cnh
Lp 45K2 TVT - Khoa Cng ngh

x hi i vi

ng dng trong cng nghip

K thut h tr

L Cng Hoi

n tt nghip

i hc vinh

tay my 1950 Pht sinh khi nim robot thng minh Gii v vng My trin dng trong transitor v vi khin Robot 1970 Robot c tr thng minh nhn to nghip cng thc K thut s v k thut t quang K thut s v k thut t quang ng ng iu thiu b nh tnh

Gii thiu v robot Pht 1960 iu khin bng robot my tnh

cng nghip

t v cc ng dung rng ri khc Robot cng thc

Robot 1980 nhng

dng vic

trong nghip

nguy t v cc ng dung rng ri khc Gii thiu v

him (1983)

1990

robot minh

thng iu trong logic

khin

2000

sn xut Robot ging Cc tin b con ngi v c kh

Trc nhng nm 1970, ngi ta ch tp trung vo vic pht trin nhng robot tay my hot ng trong cc nh my cng nghip. Sau mi xut hin nhng khi nim v robot thng minh, v cc nghin cu bt u tp trung hn vo robot di ng. Mt trong nhng chuyn gia u ngnh v robot di ng l Hans P.
L Cng Hoi
7

Moravec (bt au

Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

nghin cu t nm 1964), v hin nay, chuyn nghin cu v robot di ng l Sebastien Thruns. Cc robot di ng c ngi iu khin c dng cho cc mc ch qun s, cc nhim v nguy him nh ph mn, thm d y i dng, hm m, kim tra cc ng ng ngm, hay thm d sao Ho . Sn phm robot di ng c sn xut i tr v a vo th tr ng ln u tin l robot ht bi Roomba v Trilobite ca hng Electrolux nm 2003. K t khi khi nim robot ra i, vic thit k v ch to robot tri qua nhiu giai on vi nhiu th h khc nhau. C 5 th h robot ra i k t nm 1960. Th h th nht: Bao gm cc loi robot hot ng lp li theo mt chu trnh khng thay i. Chng trnh iu khin c hai dng: - Chng trnh cng, ngha l khng thay i hoc khng sa c tr khi thay i phn cng. - Chng trnh c th thay i c thng qua cc panel iu khin hoc thng qua my tnh. Cc robot th h ny s dng c cu iu khin servo vng h (open-loop nonservo controlled system ). y l h thng khng s dng thng tin phn hi t mi trng v iu khin robot. Th h th hai: Robot c trang b cc sensor cho php robot giao tip vi mi trng bn ngoi. Cc thit b ny thc cht l cc b bin i nng lng. N chuyn cc i lng khng in thnh i lng in m qua b iu khin robot c th bit c trng thi ca mi trng xung quanh n. Nh cc sensor ny robot c th chn cc phng n khc nhau mt cch linh hot nhm thch nghi vi mi trng bn ngoi. Dng robot vi trnh iu khin ny cn c gi l robot iu khin thch nghi cp thp. y gi l c
L Cng Hoi
8 Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

cu iu khin servo vng kn (closed-loop servo controller system). Th h th ba: Cc b iu khin logic kh trnh PLC (Programmable Logic Controller) c s dng trong robot vi nhiu chc nng chuyn bit. Th h th t: Khc vi PLC b gii hn trong chng trnh ca chng, th h robot ny s dng cc my tnh c trang b cc ngn ng lp trnh c bit hoc ngn ng chun nh Basic, C, C++...., to ra nhiu ng dng CAD/CAM v CIM hoc chng trnh khng trc tuyn. Th h th nm: Cc b iu khin ca robot s dng tr tu nhn to (artificial intelligence). Robot c trang b cc k thut nh nhn dng ting ni, hnh nh, xc nh khong cch, cm nhn i tng tip xc x l, ra nhng quyt nh hp l. Ngoi ra robot c trang b mng Neuron gip n c kh nng t hc, t xy dng kin thc. 1.2. Cc m hnh robot v ng dng ca n C rt nhiu loi robot c ch to v c ng dng trong thc t:

Hnh 1.1. Robot t hnh Sojourner v thm him sao ha

L Cng Hoi

Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

Hnh 1.2. Robot d mn

Hnh 1.3.Tay my dng trong cng nghip

Hnh 1.4. Robot hi bi Trilobite 1.3. La chn ti v phm vi nghin cu

L Cng Hoi

10

Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

Trong cc ngnh cng nghip, vic s dng robot iu khin kh ph bin. Ngy nay, nghin cu v ch to cc loi robot mi l nhu cu thit yu trong cc lnh vc nh chm sc sc kho cho ngi gi v ngi khuyt tt; hay cng vic gii cu trong nhng tnh hung khn cp. Nhng loi robot mi yu cu phi c kh nng tr thnh mt phn khng th thiu trong cuc sng hng ngy ca chng ta v c kh nng chm sc cho chng ta. Chng phi c nhng tnh cch ging nh con ngi v d nh lng tt v s hp tc, ngoi yu t tc , sc mnh v s chnh xc nhng vn c i hi i vi cc robot truyn thng. Nhng con robot c thit k theo nhng tiu ch ny hi vng s p ng c nhu cu ngy cng cao ca con ngi trong nhng nm ti. Cuc thi Robocon Chu Thi Bnh Dng 2009 ti Tokyo c xem nh mt bc tin hng ti mc tiu v s hp tc cht ch gia robot bng tay (nhng con robot do con ngi trc tip iu khin) v robot t ng. y l mt th thch khng h d dng nhng cng l mt n lc thc s c gi tr. Cng hnh trnh ti ting trng chin thng l mt tr chi da trn mt cuc hnh trnh tng tng s dng kiu (Kago) ca ngi Nht thi cn i. mt robot t ng khing kiu pha trc v mt robot bng tay khing kiu pha sau s phi hp vi nhau khing mt chic kiu (Kago), c mt robot t ng trn - vi vai tr nh mt khch l hnh vi mc tiu hon thnh chuyn i trc cc i khc. Nhng vt cn khc nhau nm trn ng i gm c mt ngn ni (mountain pass) v mt khu rng.
Lp 45K2 TVT - Khoa Cng ngh

L Cng Hoi

11

n tt nghip

i hc vinh

Trong chuyn i, khng c kiu hay khch l hnh trn b ri. Robot t ng l hnh s phi nh vo 3 chic trng chin thng khi ti khu vc ghi im (goal zone). 3 chic trng Nht c s c t thng trn sn thi u. i u tin nh c c 3 chic trng ny s l i chin thng. hng ng cuc thi sng to robot Vit Nam 2009, trng i hc vinh c mt i tham d. V vy em chon ti Thit k, ch to robot iu khin bng tay. L mt sinh vin trong ngnh in t vin thng cho nn em nghin cu su v phn in iu khin v vi x l.

L Cng Hoi

12

Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

1.4. Tm tt ti 1.4.1. Nhim v Thit k mt robot iu khin bng tay c kh nng di chuyn theo mi hng bt k. N c th iu khin mt cc d dng v phi hp nhp nhng vi con robot t ng i trc v phi d vng robot l hnh. Robot bng tay l loi robot do ngi chi iu khin thng qua mt b iu khin bng tay (c dy ni hoc bng hng ngoi). Robot bng tay c kch thc ti a cho php l 1.5m x 1.5m x 2m2. Nhim v ca robot bng tay l gi cn bng cho robot l hnh v i theo robot d ng. Robot bng tay l loi t b va chm nh ng cn phi gn, nh, di chuyn linh hot, n nh v d iu khin. iu khin robot, ta s dng mt gamepad loi thng dng (ca Sony) ri thit k li mch giao tip v lp trnh li chc nng ca cc phm iu khin (cc loi gamepad u thit k cho my chi game). Sau y l sn thi u v hnh nh v ng i ca robot bng tay trong cuc thi Sng to 2009: robot Vit Nam

L Cng Hoi

13

Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

Hnh 1.5. Sn thi u

L Cng Hoi

14

Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

L Cng Hoi

15

Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

Hnh 1.6. ng i ca robot bng tay 1.4.2. Mc tiu Thit k, ch to Robot c th di chuyn theo mi hng mt cch d dng v c kh nng phi hp nhp nhng vi con robot t ng i trc v phi d vng robot l hnh. 1.4.3. Yu cu thit k - Dng vi iu khin h 8051(P89V51RD2) - i tng iu khin: ng c - Khi hi tip Gamepad - C kh vng chc.

L Cng Hoi

16

Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

CHNG II:

Gii thiu Phn c kh


2.1. Robot vi bnh xe u tin phi ni mt robot quan trng nht vn l phn , phn ny c th v nh i chn ca robot, phn chuyn ng chnh, i chn phi vng th mi m bo s hot ng n nh ca cc kt cu bn trn. Phi ni thm trong cuc thi robocon phn robot l phn m a s cc i b thi gian nghin cu nhiu nht. - Chun b: + Khoan (tay hoc my ) + Bu-lng ai c + My ct (hoc ca tay), km, tua vt + Dy in - Phn gm cc phn: + Phn truyn ng (ng c in DC) + Bnh xe:

Hnh 2.1. Bnh xe chu ti

L Cng Hoi

17

Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

Hnh 2.2 Bnh xe mi - Ngun nui (c qui, pin , cc loi khc...)

Hnh 2.3. c qui. 2.2. Phn ng c (ng c din mt chiu) C rt nhiu loi ng c c bn trn th trng. Chn loi no cho ph hp vi thit k l rt quan trng. Mt s loi ng c tiu biu sau:

L Cng Hoi

18

Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

Hnh 2.4. ng c DC.

Hnh 2.5. ng c Pitman

L Cng Hoi

19

Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

Hnh 2.6. Cu tau ca mt ng c DC. 2.3 B khung y l phn kh quan trng, phi chn cho ph hp cc yu t nh cng vng, khch thc trng lng ,v quan trng l khng c sn bn phi t gia cng cho ph hp vi thit k ca mnh. Phn khung cn lu v kch thc (mt chn ) , hnh dng sao cho d gn t cc b phn khc nh ng c, bnh xe, c - qui v mt s c cu khc. 2.4. M hnh robot bng tay Trong n ny, chng ta s xt ti m hnh Newt. c im m hnh nh sau: gm 4 bnh ch ng iu khin. Dng 4 bnh tng ng vi 4 ng c. Phng php ny kh iu khin nhng b li l n chy vi vn tc cc nhanh.

L Cng Hoi

20

Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

Hnh 2.7. M hnh robot ng c c dng l 4 ng c c dng l 4 ng c c qun li cho ph hp vi mch in iu khin.

L Cng Hoi

21

Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

CHNG III:

cc phng php iu khin motor


3.1. Gii thiu hot ng ca motor + iu khin hng chuyn ng dng mch cu H hoc RELAY + iu khin DC motor nh dng FET v RELAY + iu khin tc DC Motor dng mch chnh rng xung (PWM) + Phn cng Pulse Width Modulation (PWM) + Phn mm Pulse Width Modulation (PWM) cho motor 1 chiu hot ng, chng ta cn t 1 in p 1 chiu vo motor v 1 dng in 1 chiu s chy qua motor, motor s quay theo 1 chiu no .

Hnh 3.1. Motor quay thun Khi chng ta i chiu ca in p mt chiu ny, motor s quay ngc li.

L Cng Hoi

22

Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

Hnh 3.2. Motor quay theo chiu ngc Ch : in p V khng vt qu gi tr c ghi trn motor, nu khng motor s b hng. Tuy nhin nu ta t 1 in p thp hn V hoc 1 dngthp hn I, th tc v chu ti ca motor s gim theo. iu khin hng quay ca motor 1 chiu, chng ta cn t in p ln motor. C 1 mch ph bin dng iu khin motor gi l cu H. N c gi nh vy bi v mch ny trng ging hnh ch H. Mt trong nhng kh nng cc hay ca mch ny l n cho php iu khin motor tin ln hoc li li bt k tc no, ngoi ra n c th dng 1 ngun in c lp . 3.2. iu khin ng c vi cu H (H-Bridge) Trong qu trnh di chuyn ca robot, c nhng lc chng ta mun ng c quay thun, i khi li mun ng c quay ngc li. i vi ng c DC, cng vic o chiu ng c tht n gin. Chng ta ch vic tro hai u dy ngun cp cho ng c. Nu ch n gin nh trn th tht s khng c g tho lun trong phn ny. Vn y l khi ng c c kt ni vi b iu khin, lm th no thc hin c cng vic o chiu m khng cn phi tho r dy ngun
L Cng Hoi
23 Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

cp cho ng c? s dng mt cu H l gii php tng i ph bin. Vy cu H hot ng nh th no? Lm th no cu H c th iu khin ng c quay cng nh o chiu? Phn tip theo s cho chng ta cu tr li. 3.2.1. Nguyn l hot ng ca cu H: Mt cu H n gin c dng nh sau:

Hnh 3.3. Mt cu H n gin. Theo s trn, ta thy cu H gm 1 motor, 2 dy cp ngun (1 ngun v 1 GND) cng vi 4 kho. ta c th tc ng ng kha bt c lc no. chng ta c 4 kha, vy s c 16 trng thi. tuy nhin ch c khong 4 trng thi c s dng. nhng trng thi cn li s khng hot ng hoc s gy chy n. trong qu trnh iu khin, chng ta phi lun trnh cc trng thi khng mong mun . Cch thc hot ng ca cu H c tm tt trong bng sau: A1 B1 A2 B2 Trng thi ca ng c 1 0 1 0 Quay thun 0 1 0 1 Quay ngc 1 1 0 0 Hm ng c 0 0 1 1 Hm ng c 1 0 0 1 Chp in 0 1 1 0 Chp in y ta xt: A,Bx = 1 l ng cng tc; A,Bx = 0 l m cng tc.
L Cng Hoi
24 Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

T bng trn, chng ta nhn thy cu H ch c dng vi 4 trng thi u tin c lit k trong bng. do , khi s dng cu H, s cn thn l cn thit khng b ri vo cc trng cn li. 3.2.2. Relay H-Bridges Trn thc t c nhiu cch to ra cc kha A1 B1 A2 B2. Gi s dng qua ng c tng i ln, chng ta nn chn kha ng ngt l RELAY.

Hnh 3.4. Relay H-Bridges Cch thc hot ng ca RELAY H-Bridge cng t ng t nh s nguyn l. Tuy nhin, khi s dng s ny, cn ch mc thm diode vo cun ht ca mi RELAY nhm ngn chn dng in t cun ht phng ngc v b x l, s lm gim tui th ca vi iu khin.

L Cng Hoi

25

Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

Hnh 3.5. Relay H-Bridge c diode bo v 3.2.3. Cu H dng relay kt hp vi FET Vi nhng g trnh by trn th cu H dng cho robot l s la chn ti u hn c. Tuy nhin mch cu H kh phc tp v chng ta cn n cu H khi c yu cu tc o chiu ng c nhanh. Tc o chiu ng c cho robot khng nht thit phi nhanh. V vy chng ta c mch o chiu ng c t phc tp hn dng relay kt hn vi FET. S nguyn l:

Hnh 3.6. Cu H dng relay kt hp vi FET Trong s trn, chng ta s dng 2 knh, 1 knh iu khin IRF540 v mt knh iu khin relay. Khi IRF c ng ng c quay theo chiu thun. Khi ng relay kt hp vi ng FET ng c DC s quay theo chiu ngc li. Hai diode D52 v D54 dng bo v cho IRF540 v cun dy ca relay. Mch cu H iu khin ng c s dng 4 MOSFET IRF540 khuch i cng sut v ng m.

L Cng Hoi

26

Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

Hnh 3.7. IRF 540 Mosfet l loi transitor hiu ng trng (MOSFET = metal-oxide emiconductor field-effect transistor), MOSFET l m hnh ngun dng ph thuc P. Nh vy kch dn MOSFET cn a in P vo hai cc Vgs. Mt im khc ca MOSFET na l MOSFET c Vds khng n nh nh Vce (BJT) m n ph thuc vo gi tr n nh khc l Rds-on ( ch ng ngt). Nh vy cng sut tiu th trn MOSFET ch yu ph thuc vo Rds. C hai loi MOSFET knh P v knh N. Loi knh N thng c Rds nh hn knh P. Loi knh N cn Vgs > 0 dn. Loi knh P cn Vgs < 0 dn. a s cc MOSFET bt u dn khi Vgs xp x 5. Thng gi tr l 10V. Khi in P ln hn 15V bt u c nguy c nh thng Vgs. Khi nguy him l khi b thng MOSFET thng dn d n. Trong m hnh ca MOSFET c mt t k sinh t gi l Cgs cn quan tm n t ny khi thit k mch s dng PWM. Khi lm Robot thng dng IRF540 cch ly ng c DC hoc dng mch cu IRF540 iu khin hng. Mch cu H iu khin ng c c 2 tn hiu iu khin . 2 chn tn hiu ny c ni vi 2 chn vi iu khin. Gi s 2
L Cng Hoi
27 Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

tn hiu iu khin l A, B (tng ng 2 chn P1.0 ,P1.1); iu khin ng c DC c cc trng iu khin: ng c quay, o chiu, dng v iu khin tc ng c. Ta c bng trng thi: P1.0 1 0 1 1 P1.1 0 1 1 1 Trng thi ng c quay xui ng c quay ngc Dng ng c Dng ng c

3.2.4. Cu H bn dn (Semiconductor H-Bridges ) i vi cu H bn dn, kho A1 A2 B1 B2 l cc cp Transistor hoc FET b ph. Cch thc iu khin v hot ng hon ton ging Relay H-Bridges.

Hnh 3.7. Cu H bn dn Cp Transistor hoc FET pha ngun +12V c chc nng l ngun dng (Current source), chn transistor PNP hoc FET knh P s tt hn. Cp Transistor hoc FET pha mass c chc nng thot dng (cuurent sink), Transistor NPN hoc FET knh N. s ny, chng ta s phi bo v cc kho bn dn khng b nh hng bi dng in pht ra t ng c. chn

L Cng Hoi

28

Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

Hnh 3.8. Cu H bn dn hon chnh 3.2 .5. Cu H tch hp Hin nay, vi nhu cu s dng cu H ngy cng cao, cc tp on bn dn c sn xut cc ic tch hp cu h, thch hp iu khin ng c cng sut nh. Sau y l mt s ic thng dng, c th tm thy trn th trng Vit Nam: l293: Gm 2 cu H tch hp, dng 1A, dng nh 2A (l293D c diode trong bo v) l298: Gm 2 cu H tch hp, dng 1A, dng nh 3A ta7291P: Gm 1 cu H, 4 bit iu khin, 4 ch , dng 1A, dng nh 2A mt s IC tt hn, nhng cha c Vit Nam. 3.3. Phng php iu ch xung PWM iu khin TC ng c Trong phn ny, em s trnh by mt cch khi qut nht, s dng trong ti ny. Mun hiu r hn v phng php, xin xem thm gio trnh k thut in 2 hoc in t cng sut 1. Trong qu trnh di chuyn ca robot, c nhng lc chng ta cn robot chy tht nhanh, i khi ta li cn chy chm. v d: nhng on ng chy thng, ta c th cho robot chy nhanh m khng lo ngi v tnh thiu chnh xc
L Cng Hoi
29 Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

do c s h tr ca encoder; giai on khi ng robot, khng xy ra hin tng git khi tng tc t ngt, chng ta li cn tc thp..... tht ra chng ta c th dng c kh n thun thay i tc ng c nh: bnh rng gim tc, hp s.... nhng cch ny khng c linh hot v c th gp khng t kh khn. tht may mn, chng ta c th dng in thay i tc ng c mt cch linh hot hn nhiu. Em mun ni n phng php iu ch xung PWM. Nguyn tc chung ca phng php ny, l: Khi thay i in p cp cho ng c, tc ng c cng thay i theo. Vi in p cp cho ng c l analog, vic thay i in p rt bt tin. nhng hin nay, a s cc b iu khin l dng s, do , chng ta d dng thc hin iu ny. Mt chui xung c chu k nhim v (duty cycle) thay i s to ra mt in p trung bnh thay i v c tc dng nh mt in p analog cung cp cho ng c.

Hnh 3.9. Duty cycle ca cc chui xung khc nhau

L Cng Hoi

30

Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

Hnh 3.10. Khi thay i duty cycle, ta s c in p trung bnh thay i Phng php iu ch rng xung c th thc hin bng phn mm.

Hnh 3.11. minh ha gii thut phng php iu bin rng xung

L Cng Hoi

31

Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

CHNG IV:

Vi iu khin P89V51RD2
4.1. Cc c im ca P89V51RD2 P89V51RD2 l mt b vi iu khin do hng Philips sn xut vi cng ngh CMOS c tc cao v cng sut thp vi b nh flash c th lp trnh c. Tng thch vi chun cng nghip ca hc 8051 v 8052 v chn ra v tp lnh.

Hnh 4.1. S khi p89V51RD2 Cc c im ca P89V51RD2 c tm tt nh sau: + 64 Kbyte code flash. + 1 Kbyte ram ni. + 4 Port xut/nhp 8 bit. + Giao tip ni tip. + 64 Kbyte vng nh m ngoi. + 64 Kbyte vng nh d liu ngoi. + X l Boolean (hot ng trn bit n). + Tn s hot ng t: 0Hz - 40Mhz.
Lp 45K2 TVT - Khoa Cng ngh

L Cng Hoi

32

n tt nghip

i hc vinh

+ 3 b Timer/counter 16 bit. 4.2. S chn v chc nng cc chn P89V51RD2 4.2.1. S chn P89V51RD2

Hnh 4.2. S chn IC P89V51RD2 4.2.2. Chc nng cc chn p89V51RD2 c tt c 40 chn c chc nng nh cc ng xut nhp. Trong c 24 chn c tc dng kp (c ngha l 1 chn c 2 chc nng), mi ng c th hot ng nh ng xut nhp hoc nh ng iu khin hoc l thnh phn ca cc bus d liu v bus a ch.
Lp 45K2 TVT - Khoa Cng ngh

L Cng Hoi

33

n tt nghip

i hc vinh

a. Cc cng xut nhp - Port 0: Port 0 l port c 2 chc nng cc chn 32-39 ca P89V51RD2. Trong cc thit k c nh khng dng b nh m rng n c chc nng nh cc ng I/O. i vi cc thit k c ln c b nh m rng, n c kt hp gia bus a ch v bus d liu. - Port 1: Port 1 l port I/O trn cc chn 1-8. Cc chn c k hiu P1.0, P1.1,...P1.7 c th dng cho giao tip vi cc thit b ngoi nu cn. + P1.0/T2: Ng vo counter cho Timer/counter2 hoc ng ra cho Counter/Timer2. + P1.1/T2EX: iu khin hng v cnh kch chc nng Capture cho Timer/counter2. + P1.2/ECI: Ng vo xung nhp. Tn hiu ny l ngun xung nhp ngoi cho chc nng PCA. + P1.3/CEX0: Ng vo xung nhp cho chc nng Capture/Compare modul 0. + P1.4 CEX1:
S S

: Chn cng ph vo cho SPI. vo xung nhp cho chc nng

Ng

Capture/Compare modul + P1.5 MOSI: Phc v SPI. CEX2: Ng vo xung nhp cho chc nng Capture/Compare modul + P1.6 MISO: Phc v SPI. CEX3: Ng vo xung nhp cho chc nng Capture/Compare modul + P1.7 SCK: Phc v SPI.

L Cng Hoi

34

Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

CEX4:

Ng

vo

xung

nhp

cho

chc

nng

Capture/Compare modul - Port 2: Port 2 l mt port c tc dng kp trn cc chn t 21 n 28 c dng nh cc ng xut nhp hoc l byte cao ca bus a ch i vi cc thit b dng b nh m rng. - Port 3: L port c tc dng kp trn cc chn 10-17. Cc chn ca port ny c nhiu chc nng, cc cng dng chuyn i c lin h vi cc c tnh c bit ca P89V51RD2 nh bng sau: Bng 4.1. Chc nng cc chn ca port3 Bit P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 Tn RXT TXD INT0\ INT1\ T0 T1 WR\ RD\ Chc nng chuyn i Ng vo d liu ni tip Ng xut d liu ni tip Ng vo ngt 0 Ng vo ngt 1 Ng vo ca Timer/counter 0 Ng vo ca Timer/counter 1 Tn hiu ghi d liu ln b nh ngoi Tn hiu c b nh d liu

ngoi b. Cc ng tn hiu iu khin +


PE SN

: Cho php dng b nh chng trnh ngoi. Khi


PE SN
PE SN

MCU s dng b nh chng trnh trong chp, tch cc. Khi s dng b nh chng trnh ngoi, cao sang thp

khng thng

mc tch cc 2 ln trong mi chu k my. S chuyn mc trn


PE SN

cng bc t bn ngoi khi ng vo

RST ang mc cao trong hn 10 chu k my s a MCU vo ch lp trnh host t bn ngoi.

L Cng Hoi

35

Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

+ RST: Khi ngun dao ng ang hot ng, mc cao trn chn RST trong t nht 2 chu k my s reset li h thng Nu chn
PE SN

chuyn mc

trong

khi RST vn cn

mc cao, MCU s vo ch lp trnh host t bn ngoi, nu khng, s hot ng bnh thng. +


E A

E A

: Cho php s dng b nh chng trnh ngoi.

= 0 --> S dng b nh ngoi. = 1 --> S dng b nh trong chip.

E A

+ ALE/ PROG : Cho php kha a ch (nh 8051 c in) ngoi ra, chn ny cn c dng a vo ch lp trnh FLASH. 4.3. Cu trc bn trong ca vi iu khin P89V51RD2 1. T chc b nh Cc chip vi iu khin dng lm thnh phn trung tm trong cc thit b hng iu khin. B nh thng c dung lng b hn nhiu so vi mt h vi x l. N cn khng c a v h iu hnh. Chng trnh iu khin phi thng tr trong Rom. Do vy, chng trnh vn c lu tr ngay c khi mt in. Do l do trn, chp P89V51RD2 c khng gian b nh ring cho chng trnh v d liu. C b nh chng trnh v b nh d liu u nm trong chip. Tuy nhin ta c th m rng b nh chng trnh v b nh d liu bng cch s dng cc chip nh bn ngoi vi dung lng ti a l 64Kbyte cho b nh chng trnh v 64Kbyte cho b nh d liu. B nh chng trnh (ROM): B nh chng trnh lu gia chng trnh iu khin chip P89V51RD2. C 2 vng nh ni flash trong MCU, block 0
L Cng Hoi
36 Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

c 64Kbytes v c t chc thnh 512 sector, mi sector cha 128bytes. Block 1 cha chng trnh ISP/IAP v c kch hot khi chn kt hp bit reset mm (SWR) v bit chn bank (BSEL). Sau khi reset, CPU bt u thc hin chng trnh t a ch 0000H. Khi chng trnh ln qu kch thc b nh chng trnh bn trong chip, chng trnh ny phi c np vo b nh chng trnh ngoi. Nu chng trnh nm trong ROM ni, chn /EA ca P89V51RD2 phi c treo ln 5V. Nu chng trnh ROM ngoi, chn /EA phi ni t. Vic truy xut chng trnh b nh ngoi phi kt hp vi chn tn hiu truy xut b nh ngoi /PSEN. B nh d liu (RAM): P89V51RD2 c 1 Kbytes ram bn trong chip. RAM trong P89V51RD2 bao gm nhiu thnh phn: phn lu tr a dng, phn lu tr a ch ha tng bit, cc bank thanh ghi v cc thanh ghi chc nng c bit. Hai c tnh cn ch l: Cc thanh ghi v cc port xut nhp c nh v (xc nh) trong b nh v c th truy xut trc tip ging nh cc a ch b nh khc. Ngn xp bn trong Ram ni nh hn so vi Ram ngoi nh trong cc b Microcontroller khc. Ram bn trong P89V51RD2 c phn chia nh sau: Cc bank thanh ghi c a ch t 00H n 1FH. Ram a ch ha tng bt c a ch t 20H - 2FH.
L Cng Hoi
37 Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

Ram a dng t 30H - 7FH. Cc thanh ghi chc nng c bit t 80H FFH.

Hnh 4.3. S khi b nh data trn chip P89V51RD2 2. Cc thanh ghi chc nng c bit

L Cng Hoi

38

Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

L Cng Hoi

39

Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

4.4.

Cc

chc

nng

chnh

ca

vi

iu

khin

P89V51RD2 1. Hot ng nh thi ca P89V51RD2 Cc b nh thi dng to ra cc khong thi gian khc nhau, dng m s kin hoc dng to tc baud cho vic truyn thng ni tip. Trong P89V51RD2 c hai b nh thi l T0 v T1. Vic la chn ch hot ng cho cc Timer ny nh vo thanh ghi TMOD. Cn vic iu khin cc Timer hot ng nh vo thanh ghi TCON. C 4 mode hot ng cho cc Timer. Mode 0 l ch nh thi 13 - bit, Mode 1 l ch nh thi 16-bit, Mode 2 l ch nh thi t np li 8 - bit, Mode 3 l ch nh thi chia x v c hot ng khc nhau cho tng b nh thi. Cc Timer ca 8951 c truy xut bi vic dng 6 thanh ghi chc nng c bit nh sau : Bng 4.2. 6 Thanh ghi chc nng c bit nh sau . Timer
L Cng Hoi

Purpose
40

Address

Bit-

Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

SFR TCON TMOD TL0 TL1 TH0 TH1 Control Mode Timer byte Timer byte 0 1 lowlow88H 89H 8AH 8BH

Addressable YES NO NO NO NO NO

Timer 0 high8CH byte Timer 1 high8DH byte

2. Hot ng ca port ni tip Chc nng c bn ca port ni tip l chuyn i d liu t song song thnh ni tip khi pht v t ni tip thnh song song khi thu. D liu c truyn i hoc nhn v thng qua b m d liu ni tip SBUF (Serial data Buffer). Khi truyn i, d liu c chuyn t song song sang ni tip thng qua chn TXD. Khi thu, d liu c chuyn t ni tip sang song song thng qua hn RXD. Thanh ghi SBUF c a ch 99H. Vic ghi d liu cho SBUF tc l pht d liu, vic ng SBUF tc truy xut d liu nhn c. iu khin port ni tip thng qua thanh ghi SCON c a ch l 98H, thanh ghi ny l thanh ghi nh a ch tng bit cho ta xc nh c cc ch lm vic ca port ni tip. Port ni tip cho hot ng song cng (full duplex) v m thu (receiver buffering) cho php mt k t s c thu v c gi trong khi k t th hai c nhn. 3. Hot ng ca ngt

L Cng Hoi

41

Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

C 6 nguyn nhn to ra ngt trong P89V51. l 2 ngt ngoi, ba ngt do b nh thi v mt ngt do port ni tip. Khi ta thit lp trng thi ban u (sau khi reset), tt c cc ngt u b v hiu ha v sau chng c cho php ring r bng phn mm. Khi chng trnh ang thc hin, nu c ngt vi u tin cao xut hin, chng trnh phc v ngt cho ngt c mc u tin thp tm dng. Ta khng th tm dng mt chng trnh ngt c mc u tin cao hn. Khi c 2 ngt khc nhau xut hin ng thi, ngt c mc u tin cao s c phc v trc. Chui vng ny s l ngt ngoi 0, ngt ngoi 1, ngt do b nh thi 0, ngt do b nh thi 1, ngt do port ni tip, ngt do b nh thi 2. Khi mt ngt c chp nhn, gi tr c np cho b m chng trnh c gi l vector ngt. Vector ngt l a ch bt u ca trnh phc v ngt ca cc ngt tng ng. Cc vector ngt c cho bng sau: Bng 4.3. Cc vector ngt Ngun ngt Reset h thng Ngt ngoi 0 Ngt do Timer 0 Ngt ngoi 1 Ngt do Timer1 RST IE0 TF0 IE1 TF1 C a ch vector ngt 0000H 0003H 000BH 0013H 001BH 0023H 002BH

Ngt do port ni RI hoc TI tip Ngt do Timer2 4. Hot ng Reset


L Cng Hoi
42

TF2

Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

P89V51RD2 c reset bng cch gia chn RST mc cao ti thiu hai chu k my v sau chuyn v mc thp. Khi reset h thng thanh ghi PC c np a ch 0000H, khi chng trnh s bt u t a ch u tin trong b nh chng trnh. Ni dung ca RAM trn chip khng b nh hng khi ta reset h thng. Trng thi ca tt c cc thanh ghi sau khi reset h thng nh sau: Bng 4.4. Trng thi thanh ghi Thanh ghi B m chng trnh PC Thanh cha A Thanh ghi B PSW SP DPRT Port 0 n Port 3 IP IE Cc thanh ghi nh thi SCON SBUF PCON (HMOS) PCON (CMOS) Ni dung 0000H 00H 00H 00H 07H 0000H FFH xxx00000 B 0xx00000 B 00H 00H 00H 0xxxxxxx B 0xxx0000

B 5. Mng m lp trnh c (Programmable Counter Array - PCA)

L Cng Hoi

43

Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

PCA l mt b nh thi c bit 16 bit bao gm 5 modul Thu nhn/So snh 16 bit kt hp vi nhau. Mi mt modul c th lp trnh hot ng mt trong bn ch : + Rising and/or falling edge capture. + nh thi bng phn mm + u ra tc cao. + iu ch rng xung. Mi mt modul th c ni vi mt chn ca port1. Modul 0 ni vi chn P1.3 (CEX0), modul 1 ni vi chn P1.4 (CEX1), ...Thanh ghi CH v CL cha byte cao v byte thp ca b nh thi trong PCA. B nh thi ca mng m lp trnh c l thi gian chun duy nht cho c 5 modul v n c th lp trnh chy 1/6 tn s dao ng thch anh, 1/2 tn s dao ng thch anh, the Timer 0 overflow hay ng nhn tn hiu trn ECI chn P1.2. Ngun m b nh thi c xc nh t bit CPS1 v CPS0 trong thanh ghi chc nng c bit CMOD.

Hnh 4.5. Ngun m b nh thi


L Cng Hoi
44 Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

6. Phng php iu ch rng xung Chc nng PWM ch l mt trong 4 chc nng t dy m lp trnh c PCA ( Programmable Counter Array). Thc s, PCA cng ch l mt timer 16-bit kt hp vi mt s thanh ghi c bit thc hin mt s chc nng mi. Cc thanh ghi t bit c th k n l CMOD, CCON, CCAPMn (n = 0...4), CCAPnL, CH, CL. H tr cho PCA cn c 5 module c ni tng ng vi cc chn t P1.3 n P1.7. Sau y l chc nng chnh ca cc thanh ghi k trn. + Thanh ghi CH, CL: hai thanh ghi cha 2 byte cao, byte thp ca timer PCA ( tng t nh thanh ghi TH0, TL0 ca timer0 v TH1, TL1 ca timer1). + Thanh ghi CCAPnH, CCAPnL (n = 0..4): Thanh ghi cha byte cao, byte thp ca gi tr cn np cho mi module. + Thanh ghi CCAPMn (n = 0...4): thanh ghi chc nng iu khin cc module. Chng ta s chn ch hot ng cho mi module bng cch tc ng vo cc bit thuc cc thanh ghi ny. + Thanh ghi CMOD: (a ch D9H, khng c nh a ch bit) CIDL BIT 7 6 5 -> 3 WDTE CPS1 CPS0 ECF Bng 4.5. Tm tt chc nng cc bit ca thanh ghi CMOD K hiu Chc nng CIDL Cho php PCA dng khi vo ch ngh Watchdog timer enable. Set bit ny ln 1 s cho WDTE php chc nng Watchdog timer ca module4. Ngc li s kha Bit d tr
Lp 45K2 TVT - Khoa Cng ngh

L Cng Hoi

45

n tt nghip

i hc vinh

2 1 0

CPS1 CPS0 ECF

Bit cao chn ngun xung nhp cho PCA Bit thp chn ngun xung nhp cho PCA PCA cho php m c ngt. Nu set bit ny ln 1 s cho php bit CF trong thanh ghi CCON to ngt.

+ Thanh ghi CCON: (a chit D8H, nh a ch tng bit) CF CR K hiu CF CCF4 CCF3 CCF2 CCF1 CCF0 Bng 4.6. Tm tt chc nng cc bit ca thanh ghi CCON BIT Chc nng Khi b m trn, CF t ng c set ln 1. 7 6 5 4 3 2 1 0 Nu bt ECF ca thanh ghi CMOD c set trc , khi CF = 1 s to ngt. CR PCA counter run control. Bt tt PCA counter. Bit d tr CCF4 C ngt module 4 CCF3 C ngt module 3 CCF2 C ngt module 2 CCF1 C ngt module 1 CCF0 C ngt module 0 Cch thc hot ng ca chc nng iu xung c tm

tt n gin nh sau:

L Cng Hoi

46

Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

Hnh 4.6. Chc nng iu xung PWM vi P89V51RD2xx Tt c cc module u c tn s ra nh nhau do ch c mt timer PCA. Duty cycle ca chui xung ra ph thuc gi tr np cho thanh ghi CCAPnL. Khi gi tr ca thanh ghi CL nh hn gi tr lu trong CCAPnL, ng ra s mc thp. Ngc li, nu ln hn hay bng, ng ra s mc co. Khi CL b trn t FF sang 00, CCAPnL c np li gi tr t CCAPnH. Lu l khi mun dng chc nng PWM, bit ECOM v bit PWM ca thanh ghi CCAPMn phi c set ln 1. V d: xung ; ***** DINH NGHIA CAC THANH GHI CHUC NANG DAC BIET ***** TCON T2CON PCON TMOD TL0 TL1 TH0 TH1
L Cng Hoi

iu khin ng c chy trong 10s, c iu

EQU

88h EQU EQU EQU c8h 87h 89h

EQU EQU EQU EQU

8ah 8bh 8ch 8dh


47 Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

RCAP2L RCAP2H TL2 TH2 SP IE IP P0 P1 P2 P3 ACC B ***** CCAP0H CCAP1H CCAP2H CCAP3H CCAP4H CCAP0L CCAP1L CCAP2L CCAP3L CCAP4L CCON CR CMOD

EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU

cah cbh cch cdh 81h a8h b8h 80h 90h a0h b0h E0h F0h

; ***** KHAI BAO THANH GHI DIEU KHIEN DO RONG XUNG EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU BIT EQU FAh FBh FCh FDh FEh EAh EBh ECh EDh EEh D8h DEh D9h
Lp 45K2 TVT - Khoa Cng ngh

L Cng Hoi

48

n tt nghip

i hc vinh

CCAPM0 CCAPM1 CCAPM2 CCAPM3 CCAPM4

EQU EQU EQU EQU EQU

DAh DBh DCh DDh DEh BIT

;===========================DEFINE ================== ;----MOTOR MOTOR1 MOTOR2 MOTOR3 MOTOR4 MOTOR5 ;------START BIT_START PWM_COUNT ; BIT BIT P2.6 50H ;NUT NHAN START ;0-255 ;------GIA TRI DIEU XUNG DATA DATA DATA DATA DATA CCAP0H CCAP1H CCAP2H CCAP3H CCAP4H ;P1.3 ;P1.4 ;P1.5 ;P1.6 ;P1.7

==============================MAIN==== ============= ORG MAIN: ;CHO PHEP DIEU XUNG 5 KENH P1.3 - P1.7 MOV SETB MOV MOV MOV
L Cng Hoi

0000H

CMOD,#00h CR CCAPM0,#01000010B CCAPM1,#01000010B CCAPM2,#01000010B ;P1.3 ;P1.4 ;P1.5

49

Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

MOV MOV

CCAPM3,#01000010B CCAPM4,#01000010B

;P1.6 ;P1.7

;CHUONG TRINH DIEU KHIEN VAN TOC DONG CO TU 0 -> MAX VA ; TU MAX -> 0 TREN KENH P1.3 ;VAN TOC DONG CO TU 0 -> MAX UNG VOI PWM_COUNT TU 0 ->255 ; VA NGUOC LAI MOV JB RUN_UP: INC MOV MOV LCALL MOV CJNE RUN_DOWN: DEC MOV MOV LCALL MOV CJNE SJMP DELAY200MS: MOV LOOP200_1: MOV
L Cng Hoi

PWM_COUNT,#0 BIT_START,$ PWM_COUNT MOTOR2,PWM_COUNT MOTOR3,PWM_COUNT DELAY200MS A,PWM_COUNT A,#255,RUN_UP PWM_COUNT MOTOR2,PWM_COUNT MOTOR3,PWM_COUNT DELAY200MS A,PWM_COUNT A,#0,RUN_DOWN RUN_UP R2,#2 R0,#200
50

;DONG CO DUNG

Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

LOOP200_2: MOV DJNZ DJNZ DJNZ RET END 4.5. Tm tt tp lnh P89V51RD2 Tp lnh ca MCS-51 c ti u ha cho tc dng iu khin 8 bit. Nhiu kiu nh a ch ch c ng v nhanh, dng truy xut RAM ni c dng n nhm to thun li cho cc thao tc trn cc cu trc d liu nh. Tp lnh cng h tr cc bin 1 bit cho php qun l bit trc tip trong cc h logic v iu khin c yu cu x l bit. Cng nh trong cc vi x l 8 bit, cc lnh ca 8051 c cc opcode (m thao tc) 8 bit, do s lnh c th ln n 256 lnh ( thc t c 255 lnh, mt lnh khng c nh ngha). Ngoi opcode, mt s lnh cn c thm 1 hay 2 byte na cho d liu hoc a ch. Tp lnh c 139 lnh 1 byte, 94 lnh 2 byte v 24 lnh 3 byte. 1. Ch nh a ch Khi mt lnh c thc thi v lnh ny cn d liu, mt cu hi c t ra l D liu c cha u. Cu tr li cho cu hi ny to ra cc kiu nh a ch ca 8051. C nhiu kiu nh a ch do vy c nhiu kiu cu tr li cho cu hi trn chng hn nh: trong byte th 2 ca 1 lnh, trong thanh ghi R4, trong a ch trc tip hoc trong b nh ngoi a ch cha trong con tr d liu.
Lp 45K2 TVT - Khoa Cng ngh

R1,#250 R1,$ R0,LOOP200_2 R2,LOOP200_1

L Cng Hoi

51

n tt nghip

i hc vinh

Cc kiu nh a ch l phn cn thit cho ton b tp lnh ca mi mt b vi x l, vi iu khin. Cc kiu nh a ch cho php ta xc nh r ngun v ch ca d liu theo nhiu cch khc nhau ph thuc vo tnh hung lp trnh. C 8 kiu nh a ch nh sau: 2. Thanh ghi a ch 8051 c 4 bank thanh ghi, mi bank c 8 thanh ghi nh s t R0 n R7. Ti mi thi im ch c mt bank thanh ghi c tch cc. Mun chn bank thanh ghi no ta ch cn gn cc bt nh phn thch hp vo RSI (PSW.4) v RS0 (PSW.3) trong thanh ghi trng thi chng trnh (PSW). Cc lnh s dng kiu nh a ch thanh ghi c m ha bng cch dng 3 bit thp nht ca opcode ch ra mt thanh ghi bn trong ca khng gian a ch logic ny.

Ngoi ra, mt s thanh ghi c bit nh thanh ghi tch ly, con tr d liu...cng c xc nh trong cc lnh nn khng cn cc bit a ch. Trong cc lnh ny thanh ghi tch ly c xc nh l A, con tr d liu l DPTR, thanh ghi m chng trnh l PC, c nh l C, cp thanh ghi tch ly B l AB. 3. a ch trc tip Kiu nh a ch trc tip c s dng truy xut cc bin nh hoc cc thanh ghi trn chip. Mt byte thm vo tip theo opcode dng xc nh a ch.

L Cng Hoi

52

Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

Trong ch ny, cc thanh ghi bn trong 8051 c nh a ch trc tip bng 8 bit a ch nm trong byte th hai ca m lnh.

D vy, trnh dch cho php gi tn cc thanh ghi chc nng c bit (c a ch trc tip t 80H n FFH) v d: P0 cho port0, TMOD cho thanh ghi ch Timer... 4. a ch gin tip Lm cch no nhn bit mt bin khi a ch ca bin c xc nh, c tnh ton hoc c sa i trong khi mt chng trnh ang chy? Tnh hung ny ch pht sinh khi ta qun l cc v tr nh lin tip, cc im nhp c chui k t. Cc kiu nh a ch thanh ghi hay trc tip khng s dng c cho cc tnh hung ny, do vy ta cn c cc a ch ton hng c bit trong thi gian hp dch. Gii php ca 8051 l dng kiu nh a ch gin tip. Cc thanh ghi R0 v R1 c th hot ng nh cc con tr (pointer) v ni dung ca chng ch ra a ch trong RAM, ni m d liu c c hay ghi. Bit c ngha thp nht ca opcode xc nh thanh ghi no (R0 hay R1) c dng lm con tr. Trong hp ng ca 8051, kiu nh a ch gin tip c nhn bit da vo k t @ t trc R0 hay R1. R0 v R1 c dng cha a ch nh m lnh tc ng n. Ngi ta quy c dng du @ trc R0 hoc R1.

L Cng Hoi

53

Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

5. a ch tc thi Ngi ta dng # trc cc ton hng tc thi. Cc ton hng c th l mt hng s, mt k s hay mt biu thc ton hc ... Trnh hp dch s t ng tnh ton v thay th d liu trc tip vo m lnh.

6. a ch tng i a ch tng i c dng trong cc lnh nhy 8051/8031 dn gi tr 8 bit c du cng thm vo thanh ghi m chng trnh (PC). Tm nhy c lnh trong khong t - 128 n 127 nh. Trc khi cng, thanh ghi PC s tng n a ch theo sau lnh nhu ri tnh ton a ch offset cn thit nhy n a ch yu cu. Nh vy a ch mi l a ch tng i so vi lnh k tip ch khng phi l bn thn lnh nhy. Thng lnh ny c lin quan n nhn c nh ngha trc.

7. a ch tuyt i a ch tuyt i ch dng trong cc lnh ACALL v JIMP. Cc lnh 2 byte ny dng r nhnh vo mt trang 2 Kbyte ca b nh chng trnh bng cch cp 11 bit a ch
L Cng Hoi
54 Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

thp (A0-A10) xc nh a ch ch trong trang m. Cn 5 bit cao ca a ch ch (A11-A15) chnh l 5 bit cao hin hnh trong thanh ghi m chng trnh. V vy a ch ca lnh theo sau lnh r nhnh v a ch ch ca lnh r nhnh cn phi cng trang m 2 kbyte.

8. a ch di a ch di ch dng cho lnh LCALL v LJIMP. Cc lnh ny chim 3 byte v dng 2 byte sau (byte 2 v byte 3) nh a ch ch ca lnh (16bit). u im ca lnh ny c th s dng trong ton b vng nh 64 Kbyte. Tuy nhin, lnh ny chim nhiu byte v l thuc vo v tr vng nh.

9. a ch tham chiu a ch tham chiu dng mt thanh ghi c bn (hoc thanh ghi m chng trnh PC hoc thanh ghi con tr d liu DPTR) v a ch offset (trong thanh thi tch ly A) to a ch c tc ng cho cc lnh JMP hoc MOVC. Cc

L Cng Hoi

55

Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

bng nhy v bng tm kim d dng c to ra s dng a ch tham chiu.

4.6.2. Cc nhm lnh h P89V51RD2 Tp lnh ca 8051 c chia thnh 5 nhm: - Rn S hc. Logic. Chuyn d liu. Chuyn iu khin. Nhm lnh r nhnh : Thanh ghi R0 n R7 ca bank thanh ghi c chn. - Data : 8 bit a ch vng d liu bn trong. N c th l vng RAM d liu trong (0 - 127) hoc cc thanh ghi chc nng c bit. - @Ri : 8 bit vng RAM d liu trong (0-125) c nh gi a ch gin tip qua thanh ghi R0 hoc R1. - #data - Addr16 - Addr11 : Hng 8 bit chc trong cu lnh. : 16 bit a ch ch c dng trong lnh LCALL v LJMP. : 11 bit a ch ch c dng trong lnh LCALL v AJMP. - #data 16 : Hng 16 bit cha trong cu lnh.

Cc chi tit thit lp lnh:

L Cng Hoi

56

Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

- Rel - Bit

: Byte offset 8 bit c du c dng trong lnh SJMP v nhng lnh nhy c iu kin. : Bit c nh a ch trc tip trong RAM d liu ni hoc cc thanh ghi chc nng c bit.

1. Nhm lnh x l s hc ADD A,Rn (1byte, 1 chu k my) : cng ni dung thanh ghi Rn vo thanh ghi A. ADD A,data ADD A,@Ri ADD A,#data ADD A,Rn ADD A,data vo A. ADDC A,@Ri vo A. ADDC A,#data (2,1): Cng d liu tc thi v c nh vo A. SUBB A,Rn SUBB A,data SUBB A,@Ri nh. INC A INC Rn INC data INC @Ri DEC A (1,1): Tng ni dung thanh ghi A ln 1. (1,1): Tng ni dung thanh ghi Rn ln 1. (2,1): Tng d liu trc tip ln 1. (1,1): Tng gin tip ni dung vng RAM ln 1. (1,1): Gim ni dung thanh ghi A xung 1.
Lp 45K2 TVT - Khoa Cng ngh

(2,1): Cng trc tip 1 byte vo thanh ghi A. (1,1): Cng gin tip ni dung RAM cha ti (2,1):Cng d liu tc thi vo A. (1,1): Cng thanh ghi v c nh vo A. (2,1): Cng trc tip byte d liu v c nh (1,1): Cng gin tip ni dung RAM v c nh

a ch c khai bo trong Ri vo thanh ghi A.

(1,1): Tr ni dung thanh ghi A cho ni (2,1): Tr trc tip A cho mt s v c nh. (1,1): Tr gin tip A cho mt s v c nh.

dung thanh ghi Rn v c nh.

SUBB A,#data (2,1): Tr ni dung A cho mt s tc thi v c

L Cng Hoi

57

n tt nghip

i hc vinh

DEC Rn DEC data DEC @Ri 1. INC DPTR MUL AB thanh ghi B. DIV AB thanh ghi B. DA A

(1,1): Gim ni dung thanh ghi Rn xung 1. (2,1): Gim d liu trc tip xung 1 (1,1): Gim gin tip ni dung vng RAM xung (1,2): Tng ni dng con tr d liu ln 1. (1,4): Nhn ni dung thanh ghi A vi ni dung (1,4): Chia ni dung thanh ghi A cho ni dung (1,1): hiu chnh thp phn thanh ghi A.

2. Nhm lnh lun l ANL A,Rn (1,1): AND ni dung thanh ghi A vi ni dung thanh ghi Rn. ANL A,data trc tip. ANL A,@Ri ANL A,#data thi. ANL data,A (2,1): AND mt d liu trc tip vi A. (3,2): AND mt d liu trc tip vi A ANL data,#data ANL C,bit ANL C,/bit ORL A,Rn ORL A,data ORL A,@Ri ORL A,#data (1,1): AND ni dung thanh ghi A vi d liu (2,1): AND ni dung thanh ghi vi d liu tc gin tip trong RAM. (2,1): AND ni dung thanh ghi A vi d liu

mt d liu tc thi. (2,2): AND c nh vi 1 bit trc tip. (2,2): AND c nh vi b 1 bit trc tip. (1,1): OR thanh ghi A vi thanh ghi Rn. (2,1): OR thanh ghi A vi mt d liu trc tip. (1,1): OR thanh ghi A vi mt d liu gin tip. (2,1): OR thanh ghi A vi mt d liu tc thi.
Lp 45K2 TVT - Khoa Cng ngh

L Cng Hoi

58

n tt nghip

i hc vinh

ORL data,A ghi A. ORL data,#data d liu tc thi. ORL C,bit ORL C,/bit tip. XRL A,Rn XRL A,data tip. XRL A,@Ri tip. XRL A,#data XRL data,A ghi A. XRL dara,#data d liu tc thi. SETB C SETB bit CLR A CLR C CPL A CPL C CPL bit RL A RLC A nh. RR A

(2,1): OR mt d liu trc tip vi thanh (3,1) :OR mt d liu trc tip vi mt

(2,2): OR c nh vi mt bit trc tip. (2,2): OR c nh vi b ca mt bit trc (1,1): XOR thanh ghi A vi thanh ghi Rn. (2,1): XOR thanh ghi A vi m d liu trc (1,1): XOR thanh ghi A vi mt d liu gin (2,1): XOR thanh ghi A vi m d liu tc thi. (2,1): XOR mt d liu trc tip vi thanh (3,1): XOR mt d liu trc tip vi mt

(1,1): t c nh. (2,1): t mt bit trc tip. (1,1): Xa thanh ghi A. (1,1): Xa c nh. (1,1): B ni dung thanh ghi A. (1,1): B c nh. (2,1): B mt bit trc tip. (1,1): Quay tri ni dung thanh ghi A. (1,1): Quay tri ni dung thanh ghi A qua c (1,1): Quay phi ni dung thanh ghi A.
Lp 45K2 TVT - Khoa Cng ngh

L Cng Hoi

59

n tt nghip

i hc vinh

RRC A nh. SWAP (1/2byte).

(1,1): Quay phi ni dung thanh ghi A qua c (1,1): Quay tri ni dung thanh ghi A 1 nibble

3. Nhm lnh chuyn d liu MOV A,Rn ghi A. MOV A,data A. MOV A,@Ri A. MOV A,#data A. MOV Rn,data Rn. MOV Rn,#data (2,1): Chuyn d liu tc thi vo thanh ghi Rn. MOV data,A MOV data,Rn (2,1): Chuyn ni dung thanh ghi A vo mt (2,2): Chuyn ni dung thanh ghi Rn vo mt d liu trc tip. d liu trc tip. MOV data,data (3,2): Chuyn mt d liu trc tip vo mt d liu trc tip. MOV data,@Ri (2,2): Chuyn mt d liu gin tip vo mt d liu gin tip. MOV data,#data MOV @Ri,A (3,2): Chuyn mt d liu tc thi vo mt d liu trc tip. (1,1): Chuyn ni dung thanh ghi A vo mt d liu gin tip.
L Cng Hoi
60 Lp 45K2 TVT - Khoa Cng ngh

(1,1):Chuyn ni dung thanh ghi Rn vo thanh (2,1): Chuyn d liu trc tip vo thanh ghi (1,1): Chuyn d liu gin tip vo thanh ghi (2,1): Chuyn d liu tc thi vo thanh ghi (2,2): Chuyn d liu trc tip vo thanh ghi

n tt nghip

i hc vinh

MOV @Ri,data (2,2): Chuyn mt d liu trc tip vo mt d liu gin tip. MOV @Ri,#data liu gin tip. MOV DPTR,#data (3,2): Chuyn mt hng 16 bit vo thanh ghi con tr d liu. MOV C,bit MOV bit,C c a ch l MOVC A,@A+PC MOVX A,@Ri (2,1): Chuyn mt bit trc tip vo c nh. (2,2): Chuyn c nh vo mt bit trc tip. (1,2): Chuyn byte b nh chng trnh (1,2): Chuyn byte b nh chng @A+DPRT vo thanh ghi A. (2,1): Chuyn d liu tc thi vo d

MOV A,@A+DPTR

trnh c a ch l @A+PC vo thanh ghi A. (1,2): Chuyn d liu ngoi (8 bit a ch) (1,2): Chuyn d liu ngoi (16 bit a vo thanh ghi A. MOVX A,@DPTR MOVX @Ri,A bit a ch). MOVX @DPTR,A PUSH data xp v tng SP. POP data v gim SP. XCH A,Rn thanh ghi A. XCH A,data liu trc tip.
Lp 45K2 TVT - Khoa Cng ngh

ch) vo thanh ghi A. (1,2): Chuyn ni dung A ra d liu ngoi (8 (1,2): Chuyn ni dung A ra d liu bn (2,2): Chuyn d liu trc tip vo ngn (2,2): Chuyn d liu trc tip vo ngn xp (1,1): Trao i d liu gia thanh ghi Rn v2 (2,1): Trao i gia thanh ghi A v mt d

ngoi (16 bit a ch).

L Cng Hoi

61

n tt nghip

i hc vinh

XCH A,@Ri liu gin tip. XCHD A,@R

(1,1): Trao i gia thanh ghi A v mt d (1,1): Trao i gia nibble thp (LSN) ca

thanh ghi A v LSN ca d liu gin tip. 4. Nhm lnh chuyn iu khin ACALL addr11 tuyt i. LCALL addr16 di. RET con. RET1 AJMP addr11 LJMP addr16 SJMP rel JMP @A+DPTR JZ rel JNZ rel JC rel JNC rel JB bit,rel c t. JNB bit,rel tip khng c t. JBC bit,rel CJNE A,data,rel (3,2): Nhy tng i nu bit trc (3,2): So snh d liu trc tip vi A v tip c t , ri xa bit. nhy nu khng bng.
Lp 45K2 TVT - Khoa Cng ngh

(2,2): Gi chng trnh con dng a ch (3,2): Gi chng trnh con dng a ch (1,2): Tr v t lnh gi chng trnh (1,2): Tr v t lnh gi ngt. (2,2): Nhy tuyt i. (3,2): Nhy di. (2,2):Nhy ngn. (1,2): Nhy gin tip t con tr d liu. (2,2): Nhy nu A=0. (2,2): Nhy nu A khng bng 0. (2,2): Nhy nu c nh c t. (2,2): Nhy nu c nh khng c t. (3,2): Nhy tng i nu bit trc tip (3,2):Nhy tng i nu bit trc

L Cng Hoi

62

n tt nghip

i hc vinh

CJNE A,#data,rel

(3,2): So snh d liu tc thi vi A v

nhy nu khng bng. CJNE Rn,#data,rel (3,2): So snh d liu tc thi vi ni dung thanh ghi Rn v nhy nu khng bng. CJNE @Ri,#data,rel (3,2): So snh d liu tc thi vi d liu gin tip v nhy nu khng bng. DJNZ Rn,rel bng. DJNZ data,rel khng bng. 5. Cc lnh r nhnh C nhiu lnh iu khin ln chng trnh bao gm vic gi hoc tr li t chng trnh con hoc chia nhnh c iu kin hay khng c iu kin. Tt c cc lnh r nhnh u khng nh hng n c. Ta c th nh nhn cn nhy ti m khng cn r a ch, trnh bin dch s t a ch ni cn nhy ti vo ng khu lnh a ra. Nhy c iu kin: Condition C=1 Bit = 1 A=0 Rn = 0 Direct = 0 A # direct A # #data Rn # #data
L Cng Hoi

(2,2): Gin thanh ghi Rn v nhy nu khng (3,2): Gim d liu trc tip v nhy nu

Jump If Not <Condition> JNC rel JNB bit, rel JNZ rel DJNZ Rn, rel DJNZ direct, rel CJNE A, direct, rel CJNE A, #data, rel CJNE Rn, #data, rel

Jump If <Condition> JC rel JB bit, rel / JBC bit, rel JZ rel

63

Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

@Ri #data

CJNE rel

@Ri,

#data,

Nhy khng iu kin: ALJMP, LJMP, SJMP

L Cng Hoi

64

Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

CHNG V:

THIT K MCH IN T
5.1. S khi tng qut Mch iu khin bao gm cc khi chnh c lin kt vi nhau nh sau:

Hnh 5.1. S tng qut v phn cng 5.2. Khi iu khin bng tay (MCU) S cu trc ca board iu khin bng tay nh sau:

L Cng Hoi

65

Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

Hnh 5.2. S khi S chi tit :

Hnh 5.3. Khi iu khin MCU c th dng 89C51 ca hng ATMEL hoc P89V51RD2XX do hng philips sn xut. khi ny tch hp sn ch np cho MCU P89V51RD2XX. 5.3. Khi phm bm

L Cng Hoi

66

Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

Hnh 5.4. Gampark C tt c 8 phm iu khin cho robot bng tay. Cc phm ny kch trc tip vo chn ca vi iu khin p89V51RD2.

Bng m t chc nng ca gamepad:

Gin xung quy c truyn d liu gia module giao tip v Gamepad nh sau:

5.4. Khi Motor Drive

L Cng Hoi

67

Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

Hnh 5.5. S nguyn l iu khin ng c Tn hiu iu khin l DK PWM1 c ni vo 1 trong 5 module ca PCA xut ra chui xung iu khin in p i qua ng c. Opto quang 4N35 dng cch ly gia tn hiu iu khin v phn cng sut v phn iu khin dng ngun 5V cn phn cng sut dng ngun 12V v 24V. Cp transistor C2383 v A1013 lm nhim v y ko to xung kch cho MOSFET. Gate/MOSFET khi ng m khng dt khot th tnh in tn d trn mi ni s lm cho MOSFET d b cht, cp transistor ny m bo ng m dt khot, an ton cao cho chuyn mch MOSFET. Thm vo l lp thm in tr cng sut 220 2W bo v FET. Ngoi ra nh em ni trn, s dng cu H o chiu ng c qu phc tp. Chng ta c th kt hp FET v relay o chiu ng c s n gin hn nhiu. Tn hiu iu khin o chiu l DK RELAY 1. Khi DK RELAY 1 c xut mc 1, ng c quay thun. Ngc li, khi DK RELAY 1 c xut mc 0, ng c quay ngc. 5.5. Khi hin th
L Cng Hoi
68 Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

Hnh 5.6. Khi hin th tit kim cng, em s dng 2 chn TXD v RXD, dng IC 74LS164 m rng cng. IC 74164 c chc nng nh mt thanh ghi dch, RXD ng vai tr nh chn d liu ni tip cn TXD l chn CLK. Cc LED 7 on c gii m dng IC 7447. Tn hiu iu khin khi hin th l t (word) 1 byte theo th t: MSB O0 O1 O2 O3 O4 O5 O6 O0,O1,O2,O3: Cc gi tr a vo 7447 gii m O4,O5,O6,O7: Cc bit chn led 5.6. Khi ngun Khi ny c vai tr rt quan trng do chi phi hot ng ca mi khi khc. Nu ngun yu s dn n vi iu khin b reset lin tc, ng c khng chy ng cng sut. Ngun cho robot s gm: + Ngun 5V cp cho khi iu khin, khi hin th v khi cm bin. + Ngun 12V v 24V cp cho ng c. LSB O7

L Cng Hoi

69

Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

Hnh 5.7. S mch khi ngun 5V

Hnh 5.8. S mch khi ngun 12V v 24V in p u vo khi ngun 5V l mt acqui 12V, c nn dng bi mt diode. Trong s mch ny em dng IC n p LM7085 a ra in p chun 5V cung cp cho khi iu khin. Do dng ca LM 7805 nh (500mA) nn em dng B688 nng dng cho LM 7805, s c mc nh hnh v. Ta bit B688 m khi in p gia cc E v cc B l 0,7V m dng qua LM 7805 l 250mA (dng vy bo v 7805) nn ta d dng tnh c gi tr in tr dng phn p cho B688.
R= U 0,7 = = 3 I 0,25

Ngun 24V cung cp cho ng c c to ra bng cch ni ni tip 2 acqui 12V.

L Cng Hoi

70

Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

Chng VI: thit k ch to mch in v chng trnh gii thut cho robot Do s mch in cho robot kh phc tp, bao gm phn iu khin v phn cng sut. Nu v hai phn cng trn mt bn mch th khi thit k mch in s kh khn, do em tch s mch ra lm hai phn: + Phn iu khin: Gm khi hin th, khi cm bin, khi ngun v khi iu khin. + Phn cng sut: Gm 5 knh iu khin ng c dng FET v relay kt hp. 6.1. S nguyn l 6.1.1. S nguyn l phn iu khin

L Cng Hoi

71

Lp 45K2 TVT - Khoa Cng ngh

n tt nghip
+5 +5 +5

i hc vinh
+5

U3 VCC RXD +5 TXD 1 2 9 8 7 GND A B CLR CLK GND QA QB QC QD QE QF QG QH 14 3 4 5 6 10 11 12 13

+5 QA QB QC QD QE QF QG QH

+5 4 5 3 QA QB QC QD 7 1 2 6 8 GND

U2 BI/RBO VCC RBI LT a A b B c C d D e f GND g SN7447AN 16 13 12 11 10 9 15 14

+5

QE

T1 C1815

QF

T2 C1815

QG

T3 C1815

QH

T4 C1815

A B C D E F G R1 - R7 : 330

A B C D E F G

SN74164N

7 6 4 2 1 9 10 5

a b c d e f g DP LED 1

A A

3 8

A B C D E F G

7 6 4 2 1 9 10 5

a b c d e f g DP LED 2

A A

3 8

A B C D E F G

7 6 4 2 1 9 10 5

a b c d e f g DP LED 3

A A

3 8

A B C D E F G

7 6 4 2 1 9 10 5

a b c d e f g DP LED 4

A A

3 8

U1 VCC XTAL 1 XTAL 2 19 18 XTAL1 XTAL2 P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 P1.0/T2 P1.1/T2EX P1.2/ECI P1.3/CEX0 P1.4/CEX1 P1.5/CEX2 P1.6/CEX3 P1.7/CEX4 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15

40 39 38 37 36 35 34 33 32 1 2 3 4 5 6 7 8 21 22 23 24 25 26 27 28

+5 CAM BIEN 1 CAM BIEN 2 CAM BIEN 3 CAM BIEN 4 CAM BIEN 5 DK CB 1 DK CB 2 DK CB 3 DK RELAY 1 DK RELAY 2 DK RELAY 3 DK PWM 1 DK PWM 2 DK PWM 3 DK PWM 4 DK PWM 5 P 2.0 P 2.1 P 2.2 P 2.3 P 2.4 P 2.5 P 2.6 P 2.7

RESET EA/VPP PSEN

9 31 29 30 10 11 12 13 14 15 16 17

RST EA/VPP PSEN ALE/PROG P3.0/RxD P3.1/TxD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD

RXD TXD DK RELAY 4 DK RELAY 5 CT HT 1 CT HT 2 CT HT 3 CT HT 4

20 GND

VSS P89V51RD2FN

L Cng Hoi

72

Lp 45K2 TVT - Khoa Cng ngh

n tt nghip
C1 XTAL 1 2 RESET 104 C2 GND 104 +5 R22 10K H3 1 2 3 4 HEADER 4 GND TXD RXD +5 GND GND 1 2 SW DIP-2 SW1 4 3 PSEN P 2.7 EA/VPP X1 12 MHz C12 104 4 3 2 1 P1
+

i hc vinh
+5

C13

XTAL 2

10uF RESET R21 10K

R20 100

H4 DK RELAY 1 1 DK RELAY 2 2 DK RELAY 3 3 DK RELAY 4 4 DK RELAY 5 5 DK PWM 1 6 DK PWM 2 7 DK PWM 3 8 DK PWM 4 9 DK PWM 5 10 11 +5 12 HEADER 12 H7 1 2 3 4 5 6 7 8 HEADER 8 P 2.0 P 2.1 P 2.2 P 2.3 P 2.4 P 2.5 P 2.6 P 2.7

H5 1 2 3 4 5 6 HEADER 6

CT HT 1 CT HT 2 CT HT 3 CT HT 4 +5 GND

+5 H6 1 2 HEADER 2 GND

Hnh 6.1. S nguyn l phn iu khin 6.1.2. S nguyn l phn cng sut
HDC 2 1 2 3 4 5 6 7 8 9 10 11 12 DONG CO DK ROLE 1 DK ROLE 2 DK ROLE 3 DK ROLE 4 DK PWM 1 DK PWM 2 DK PWM 3 DK PWM 4 +12 1 AR10 2 3 4 5 6 7 8 9 ARRAY RES 4K7 C PWM 1 C ROLE 1 C PWM 2 C ROLE 2 C PWM 3 C ROLE 3 C PWM 4 C ROLE 4 1 2 3 4 5 6 7 8 9 U9 IN1 IN2 IN3 IN4 IN5 IN6 IN7 IN8 GND ULN2803A OUT1 OUT2 OUT3 OUT4 OUT5 OUT6 OUT7 OUT8 K AR9 18 17 16 15 14 13 12 11 10 +12 PWM 1 ROLE 1 PWM 2 ROLE 2 PWM 3 ROLE 3 PWM 4 ROLE 4 PWM 1 PWM 2 PWM 3 PWM 4 2 3 4 5 6 7 8 9 1 +12

+5

ARRAY RES 1K

L Cng Hoi

73

Lp 45K2 TVT - Khoa Cng ngh

n tt nghip
OPTO1 OPTO 1 DK PWM 1 LD DC1 1 2 4N35 LD DC3 6 5 C PWM 1 4 OPTO 3 DK PWM 2 1 2 4N35 OPTO3 OPTO5 6 5 C PWM 2 4 OPTO 5 DK PWM 3 LD DC5 1 2 4N35 6 5 C PWM 3 4 OPTO 7 DK PWM 4

i hc vinh
OPTO7 1 2 LD DC7 4N35 6 5 C PWM 4 4

OPTO2 OPTO 2 DK ROLE 1 LD DC2 1 2 4N35

6 5

OPTO4 +12 OPTO 4 DK ROLE 2 LD DC4 1 2 4N35

6 5

OPTO6 +12 OPTO 6 DK ROLE 3 LD DC6 1 2 4N35

6 5

OPTO8 +12 OPTO 8 DK ROLE 4 LD DC8 1 2 4N35

6 5

+12

4 C ROLE 1

4 C ROLE 2

4 C ROLE 3

4 C ROLE 4

ROLE 1 +12 RL1 T DC 1 Dxxx D1 PWM 1 QDC 1 IRF540 T DC 2 Bxxx RDC 1 300/2W 5 D5 9 +24 1 8 4 RELAY JQX-4453 12 C DC 1 104 14 13 D9

+12

DC 1 1 2 HEADER 2

ROLE 2 +12 RL2 T DC 3 Dxxx D2 PWM 2 QDC 2 IRF540 T DC 4 Bxxx RDC 2 300/2W D6 +24 5 9 1 8 12 4 RELAY JQX-4453 C DC 2 104 14 13 D10

+12

DC 2 1 2 HEADER 2

ROLE 3 +12 RL3 T DC 5 Dxxx D3 PWM 3 QDC 3 IRF540 T DC 6 Bxxx RDC 3 300/2W 5 D7 9 +24 1 8 4 RELAY JQX-4453 12 C DC 3 104 14 13 D11

+12

DC 3 1 2 HEADER 2

ROLE 4 +12 RL4 T DC 7 Dxxx D4 PWM 4 QDC 4 IRF540 T DC 8 Bxxx RDC 4 300/2W D8 +24 5 9 1 8 12 4 RELAY JQX-4453 C DC 4 104 14 13 D12

+12

DC 4 1 2 HEADER 2

Hnh 6.2. S nguyn l phn cng sut

L Cng Hoi

74

Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

L Cng Hoi

75

Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

6.2. Thit k mch in 6.2.1. S b tr linh kin board iu khin

Hnh 6.3. S b tr linh kin

L Cng Hoi

76

Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

6.2.2. S mch in lp TOP ca board iu khin

Hnh 6.4. Mch in lp TOP ca board iu khin

L Cng Hoi

77

Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

6.2.3. S mch in lp Bottom ca board iu khin

Hnh 6.5. Mch in lp Bottom ca board iu khin

L Cng Hoi

78

Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

6.2.4. S b tr linh kin board cng sut

Hnh 6.6. S b tr linh kin

L Cng Hoi

79

Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

6.2.5. S mch in lp TOP ca board cng sut

Hnh 6.7. Mch in lp TOP ca board cng sut

L Cng Hoi

80

Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

6.2.6. S mch in lp Bottom ca board cng sut

Hnh 6.8. Mch in lp Bottom ca board cng sut

L Cng Hoi

81

Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

6.3. Thi cng mch in

Hnh 6.9. Bn thit k mch in 2 lp board iu khin

L Cng Hoi

82

Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

Hnh 6.10. Bn thit k mch in 2 lp board cng sut 6.4. phm bm Thng thng khi phm bm hay dng loi Gamepad loi thng dng (SONY Playstation Controller).

Hnh 6.11. Gamepad


L Cng Hoi
83 Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

6.5.Gii thut v chng trnh cho robot 1. cc lu gi thut cho robot Trc khi bt u lp trnh chng ta phi quy nh cc phm bm c Cc phm chc nng sau: - Tin 1, Tin 2, Tin 3, Tin 4 - Li 1, Li 2 - Phm nng, Phm h

Hnh 6.12. Lu gii thut i thng

L Cng Hoi

84

Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

Hnh 6.13. Lu gii thut i li

Hnh 6.14. Lu gii thut r phi

Hnh 6.15. Lu gii thut r tri

L Cng Hoi

85

Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

Hnh 6.14. Lu gii thut nng h kago 2. chng trnh gii thut cho robot bng tay Da vo cu trc phn cng thit k kt hp vi yu cu v chc nng, hot ng ca h thng chng ta s tin hnh lp trnh chng trnh iu khin cho vi iu khin P89V51RD2 bng ngn ng ASSEBLY vi trnh bin dch READS51. Chng trnh iu khin ny s c trnh bin dch READS51 chuyn thnh file .HEX v c np vo b nh chng trnh ca P89V51RD2. ; ***** DINH NGHIA CAC THANH GHI CHUC NANG DAC BIET ***** TCON PCON TMOD TL0 TL1 TH0 EQU 88h EQU 87h EQU 89h EQU 8Ah EQU 8Bh EQU 8Ch
Lp 45K2 TVT - Khoa Cng ngh

T2CON EQU c8h

L Cng Hoi

86

n tt nghip

i hc vinh

TH1 RCAP2L TL2 TH2 SP IE IP P0 P1 P2 P3 ACC B CCAP0H CCAP1H

EQU 8Dh EQU CAh EQU CCh EQU CDh EQU 81h EQU A8h EQU B8h EQU 80h EQU 90h EQU A0h EQU B0h EQU E0h EQU F0h EQU FAh EQU FBh

RCAP2H EQU CBh

; *** KHAI BAO THANH GHI DIEU KHIEN DO RONG XUNG ***

CCAP2H EQU FCh CCAP3H EQU FDh CCAP4H EQU FEh CCAP0L EQU EAh CCAP1L EQU EBh CCAP2L EQU ECh CCAP3L EQU EDh CCAP4L EQU EEh CCON CR CMOD EQU D8h BIT DEh EQU D9h
Lp 45K2 TVT - Khoa Cng ngh

L Cng Hoi

87

n tt nghip

i hc vinh

CCAPM0 EQU DAh CCAPM1 EQU DBh CCAPM2 EQU DCh CCAPM3 EQU DDh CCAPM4 EQU DEh ;================ DEFINE BIT ================= ;-------- MOTOR MOTOR_0 MOTOR_1 MOTOR_2 MOTOR_3 MOTOR_4 BIT_ACC7 *** DK_CHIEU_DC_LEFT_F DK_CHIEU_DC_RIGHT_F DK_CHIEU_DC_LEFT_R DK_CHIEU_DC_RIGHT_R DK_CHIEU_DC_RAISE BUTTON EQU BIT BIT BIT BIT BIT P2 BIT BIT BIT BUTTON.5 BUTTON.3 BUTTON.2 P3.4 P1.1 P1.2 P3.2 P3.3 DATA CCAP0H ; P1.3 DATA CCAP1H ; P1.4 DATA CCAP2H ; P1.5 DATA CCAP3H ; P1.6 DATA CCAP4H ; P1. BIT E7h

DK_CHIEU_DC_RIGHT_F

DK_CHIEU_DC_RIGHT_R

; *** DINH NGHIA CAC CHAN CHUC NANG DIEU KHIEN ROLE

; ****** DINH NGHIA CAC PHIM DIEU KHIEN ****** BUTTON_GO_RIGHT BUTTON_RIGHT_RIGHT BUTTON_BACK_RIGHT

L Cng Hoi

88

Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

BUTTON_LEFT_RIGHT BUTTON_RIGHT_LEFT BUTTON_BACK_LEFT BUTTON_GO_LEFT BUTTON_LEFT_LEFT FLAG_BUTTON FLAG_BUTTON.0 FLAG_BUTTON_GO_RIGHT

BIT BIT BIT BIT EQU

BUTTON.4 BUTTON.0 BUTTON.1 BIT BUTTON.7 BUTTON.6 BIT BIT BIT BIT BIT BIT BIT BIT

20H

FLAG_BUTTON_RIGHT_RIGHT FLAG_BUTTON.1 FLAG_BUTTON_BACK_RIGHT FLAG_BUTTON.2 FLAG_BUTTON_LEFT_RIGHT FLAG_BUTTON.3 FLAG_BUTTON_RIGHT_LEFT FLAG_BUTTON.4 FLAG_BUTTON_BACK_LEFT FLAG_BUTTON.5 FLAG_BUTTON_GO_LEFT FLAG_BUTTON.6 FLAG_BUTTON_LEFT_LEFT FLAG_BUTTON.7 ENABLE_BUTTON ENABLE_BUTTON.0 ENABLE_BUTTON_RIGHT_RIGHT BIT ENABLE_BUTTON.1 EQU 21H BIT ENABLE_BUTTON_GO_RIGHT

L Cng Hoi

89

Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

ENABLE_BUTTON_BACK_RIGHT ENABLE_BUTTON.2 ENABLE_BUTTON_LEFT_RIGHT ENABLE_BUTTON.3 ENABLE_BUTTON_RIGHT_LEFT ENABLE_BUTTON.4 ENABLE_BUTTON_BACK_LEFT ENABLE_BUTTON.5 ENABLE_BUTTON_GO_LEFT ENABLE_BUTTON.6 ENABLE_BUTTON_LEFT_LEFT ENABLE_BUTTON.7 LAST_ACTION_R LAST_ACTION_R.0 LAST_ACTION_RIGHT_RIGHT LAST_ACTION_R.1 LAST_ACTION_BACK_RIGHT LAST_ACTION_R.2 LAST_ACTION_LEFT_RIGHT LAST_ACTION_R.3 LAST_ACTION_STOP_RIGHT LAST_ACTION_R.4 LAST_ACTION_L LAST_ACTION_L.0 LAST_ACTION_RIGHT_LEFT LAST_ACTION_L.1 EQU 23H LAST_ACTION_GO_LEFT EQU 22H LAST_ACTION_GO_RIGHT

BIT BIT BIT BIT BIT BIT

BIT BIT BIT BIT BIT

BIT BIT

L Cng Hoi

90

Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

LAST_ACTION_BACK_LEFT LAST_ACTION_L.2 LAST_ACTION_LEFT_LEFT LAST_ACTION_L.3 LAST_ACTION_STOP_LEFT LAST_ACTION_L.4 LAST_ACTION_RAISE LAST_ACTION_RAISE_UP LAST_ACTION_RAISE.0 EQU

BIT BIT BIT 24H BIT

LAST_ACTION_RAISE_DOWN BIT LAST_ACTION_RAISE.1 LAST_ACTION_RAISE_STOP LAST_ACTION_RAISE.2 ; ****** DINH NGHIA CHAN DIEU KHIEN HIEN THI LED ****** DATA_LED CLK_LED BIT BIT P3.0 P3.1 EQU 30H ; 0-FFh -> co 256 31H ; 0-FFh -> co 256 BIT

; **** DINH NGHIA BYTE NHO TOC DO DIEU RONG XUNG **** PWM_MOTO_LEFT_SPEED muc toc do PWM_MOTO_RIGHT_SPEED EQU muc toc do ; ****** DINH NGHIA CAC BIEN PHUC VU HIEN THI LED COUNTER_BIT_LED quay vong 8 Bit ; khi dich thanh ghi A de xuat du lieu ra INDEX_CURRENT_LED EQU 41h ; EQU 40h ; Ho tro dem

L Cng Hoi

91

Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

INDEX_RAM_DISPLAY vung nho LED_1 LED_1 LED_2 LED_3 LED_4 LED_4, DRIVER_LED_1 EQU EQU EQU

EQU

42h ; Chi vi tri dau

43h ; Nho gia tri hien thi 44h ; Nho gia tri hien thi LED_2, 45h ; Nho gia tri hien thi LED_3, 46h ; Nho gia tri hien thi EQU 47h ; Nho gia tri 4 EQU 48h ; Nho EQU

EQU

BIT dieu khien vi tri DRIVER_LED_2 gia tri 4 BIT dieu khien vi tri EQU 49h ; Nho gia tri 4 BIT dieu khien vi tri COUNTER_BUTTON_GO_RIGHT COUNTER_BUTTON_BACK_RIGHT COUNTER_BUTTON_LEFT_RIGHT COUNTER_BUTTON_RIGHT_LEFT COUNTER_BUTTON_BACK_LEFT COUNTER_BUTTON_GO_LEFT COUNTER_BUTTON_LEFT_LEFT INC_MOTO_LEFT_SPEED INC_MOTO_RIGHT_SPEED DEC_MOTO_LEFT_SPEED DEC_MOTO_RIGHT_SPEED ADJ_MOTO_LEFT_SPEED ADJ_MOTO_RIGHT_SPEED EQU

DRIVER_LED_3

DRIVER_LED_4 EQU 60h EQU 62h EQU 63h EQU 64h EQU 65h EQU 66h EQU 67h EQU EQU EQU EQU EQU 76H 71H 72H 73H 74H 75H

4Ah ; Nho gia tri 4 BIT dieu khien vi tri COUNTER_BUTTON_RIGHT_RIGHT EQU 61h

; --*-----*--------MAIN------*--------*

L Cng Hoi

92

Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

ORG 0000H trinh LJMP BEGIN ORG 000BH ORG 001BH trinh con phim bam

; dia chi nap rom bat dau cua chuong

; dia chi nap rom bat dau cua chuong ; dia chi nap rom bat dau cua chuong

trinh con ;LJMP PWM_MOTO_LEFT

;LJMP PWM_MOTO_RIGHT ORG 002BH trinh con hien thi LJMP DISPLAY ORG 0030H chuong trinh chinh BEGIN: ;****** KHOI TAO CAC BIEN GIA TRI VA PORT IN/OUT ****** MOV P0,#FFh MOV P1,#FFh MOV P2,#FFh MOV P3,#FFh ; ****** INPUT CHO CAC DONG CO ****** MOV CMOD,#00h SETB CR MOV CCAPM0,#01000010B ; P1.3 PCA HOAT DONG THEO CHE DO PWM 8bits MOV CCAPM1,#01000010B ; P1.4 PCA HOAT DONG THEO CHE DO PWM 8bits MOV CCAPM2,#01000010B ; P1.5 PCA HOAT DONG THEO CHE DO PWM 8bits
Lp 45K2 TVT - Khoa Cng ngh

; dia chi nap rom bat dau cua chuong

; dia chi nap rom bat dau cua

L Cng Hoi

93

n tt nghip

i hc vinh

MOV CCAPM3,#01000010B ; P1.6 PCA HOAT DONG THEO CHE DO PWM 8bits MOV CCAPM4,#01000010B ; P1.7 PCA HOAT DONG THEO CHE DO PWM 8bits ; ****** INPUT CHO CAC LED HIEN THI ****** MOV DRIVER_LED_1,#00010000B MOV DRIVER_LED_2,#00100000B MOV DRIVER_LED_3,#01000000B MOV DRIVER_LED_4,#10000000B MOV LED_1,#01h MOV LED_2,#02h MOV LED_3,#03h MOV LED_4,#04h MOV INDEX_CURRENT_LED,#00h MOV INDEX_RAM_DISPLAY,#43h ; ****** INPUT CHO CAC PHIM AN ****** MOV ENABLE_BUTTON,#00h ; KHONG CHO PHEP TAT CA CAC PHIM DUOC AN MOV LAST_ACTION_L,#00H; =0 MOV LAST_ACTION_R,#00H; =0 MOV LAST_ACTION_RAISE,#00H; LAST ACTION TAT CA = 0 ; ****** INPUT CAC BO DINH THOI ****** MOV TMOD,#00010001b ; Che do dinh thoi 16bit bo dinh thoi 0 va 1 MOV TH0,#FFh ; Dat -50000 bo dinh thoi 0
Lp 45K2 TVT - Khoa Cng ngh

LAST ACTION TAT CA LAST ACTION TAT CA

L Cng Hoi

94

n tt nghip

i hc vinh

MOV TL0,#FFh MOV TH1,#FCh MOV TL1,#14h MOV RCAP2H,#FEh cho hien thi MOV RCAP2L,#6Fh ;SETB TCON.4 ;SETB TCON.6 MOV IE,#AAh va 1 MOV IP,#02h

; nhu tren ; Dat -20000 bo dinh thoi 1 ; nhu tren ; Dat -1000 bo dinh thoi 2 ; nhu tren

MOV T2CON,#00000100b ; che do dinh thoi ; Cho phep bo dinh thoi 0 ; Cho phep bo dinh thoi 1 ; Cho phep ngat - bo dinh thoi 0 ; Dat muc uu tien nhat cho ngat

dem thoi gian - cua bo dinh toi 0 MOV MOTOR_4,#00H LCALL DELAY_STOP ************************************************************ ***************CHUONGTRINHCHINH;********************** ************************************************************ * MAIN: CONTROL_RIGHT: JNB FLAG_BUTTON_GO_RIGHT,CHECK_BUTTON_RIGHT_RIGHT JB LAST_ACTION_GO_RIGHT,END_CONTROL_RIGHT MOV PWM_MOTO_RIGHT_SPEED,#A0h LCALL UPDATE_SPEED_RIGHT DONG CO MOV LAST_ACTION_R,#00h
Lp 45K2 TVT - Khoa Cng ngh

; CAP NHAT TOC DO

L Cng Hoi

95

n tt nghip

i hc vinh

SETB LAST_ACTION_GO_RIGHT LJMP END_CONTROL_RIGHT CHECK_BUTTON_RIGHT_RIGHT: JNB FLAG_BUTTON_RIGHT_RIGHT,CHECK_BUTTON_BACK_RIGHT JB LAST_ACTION_RIGHT_RIGHT,END_CONTROL_RIGHT MOV PWM_MOTO_RIGHT_SPEED,#C0h LCALL UPDATE_SPEED_RIGHT DONG CO MOV LAST_ACTION_R,#00h SETB LAST_ACTION_RIGHT_RIGHT LJMP END_CONTROL_RIGHT CHECK_BUTTON_BACK_RIGHT: JNB FLAG_BUTTON_BACK_RIGHT,STOP_SPEED_RIGHT JB LAST_ACTION_BACK_RIGHT,END_CONTROL_RIGHT MOV PWM_MOTO_RIGHT_SPEED,#50h LCALL UPDATE_SPEED_RIGHT ; CAP NHAT TOC DO DONG CO MOV LAST_ACTION_R,#00h SETB LAST_ACTION_BACK_RIGHT LJMP END_CONTROL_RIGHT STOP_SPEED_RIGHT: JB LAST_ACTION_STOP_RIGHT,END_CONTROL_RIGHT MOV PWM_MOTO_RIGHT_SPEED,#80h
Lp 45K2 TVT - Khoa Cng ngh

; CAP NHAT TOC DO

L Cng Hoi

96

n tt nghip

i hc vinh

LCALL UPDATE_STOP_RIGHT MOV LAST_ACTION_R,#00h SETB LAST_ACTION_STOP_RIGHT END_CONTROL_RIGHT: CONTROL_LEFT: JNB FLAG_BUTTON_GO_LEFT,CHECK_BUTTON_LEFT_LEFT JB LAST_ACTION_GO_LEFT,END_CONTROL_LEFT MOV PWM_MOTO_LEFT_SPEED,#A0h LCALL UPDATE_SPEED_LEFT ; CAP NHAT TOC DO DONG CO MOV LAST_ACTION_L,#00h SETB LAST_ACTION_GO_LEFT LJMP END_CONTROL_LEFT CHECK_BUTTON_LEFT_LEFT: JNB FLAG_BUTTON_LEFT_LEFT,CHECK_BUTTON_BACK_LEFT JB LAST_ACTION_LEFT_LEFT,END_CONTROL_LEFT MOV PWM_MOTO_LEFT_SPEED,#C0h LCALL UPDATE_SPEED_LEFT ; CAP NHAT TOC DO DONG CO MOV LAST_ACTION_L,#00h SETB LAST_ACTION_LEFT_LEFT LJMP END_CONTROL_LEFT CHECK_BUTTON_BACK_LEFT: JNB FLAG_BUTTON_BACK_LEFT,STOP_SPEED_LEFT

L Cng Hoi

97

Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

JB LAST_ACTION_BACK_LEFT,END_CONTROL_LEFT MOV PWM_MOTO_LEFT_SPEED,#50h LCALL UPDATE_SPEED_LEFT ; CAP NHAT TOC DO DONG CO MOV LAST_ACTION_L,#00h SETB LAST_ACTION_BACK_LEFT LJMP END_CONTROL_LEFT STOP_SPEED_LEFT: JB LAST_ACTION_STOP_LEFT,END_CONTROL_LEFT MOV PWM_MOTO_LEFT_SPEED,#80h LCALL UPDATE_STOP_LEFT MOV LAST_ACTION_L,#00h SETB LAST_ACTION_STOP_LEFT END_CONTROL_LEFT: CONTROL_RAISE: JNB FLAG_BUTTON_LEFT_RIGHT,CHECK_BUTTON_RIGHT_LEFT JB LAST_ACTION_RAISE_UP,END_CONTROL_RAISE CLR DK_CHIEU_DC_RAISE NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP MOV MOTOR_4,#FFH MOV LAST_ACTION_RAISE,#00H SETB LAST_ACTION_RAISE_UP LJMP END_CONTROL_RAISE
Lp 45K2 TVT - Khoa Cng ngh

L Cng Hoi

98

n tt nghip

i hc vinh

CHECK_BUTTON_RIGHT_LEFT: JNB FLAG_BUTTON_RIGHT_LEFT,STOP_CONTROL_RAISE JB LAST_ACTION_RAISE_DOWN,END_CONTROL_RAISE MOV MOTOR_4,#00H SETB DK_CHIEU_DC_RAISE NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP MOV MOTOR_4,#FFH MOV LAST_ACTION_RAISE,#00H SETB LAST_ACTION_RAISE_DOWN LJMP END_CONTROL_RAISE STOP_CONTROL_RAISE: JB LAST_ACTION_RAISE_STOP,END_CONTROL_RAISE MOV MOTOR_4,#00H NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP MOV LAST_ACTION_RAISE,#00H SETB LAST_ACTION_RAISE_STOP END_CONTROL_RAISE LJMP MAIN ************************************************************ **************************CHUONTRINHCON**************** ************************************************************ INC_SPEED: CJNE A,#C0h,INC_A
Lp 45K2 TVT - Khoa Cng ngh

L Cng Hoi

99

n tt nghip

i hc vinh

SJMP TOP_SPEED INC_A: INC A DJNZ B,INC_SPEED TOP_SPEED: RET DEC_SPEED: CJNE A,#2Fh,DEC_A SJMP ZERO_SPEED DEC_A: DEC A DJNZ B,DEC_SPEED ZERO_SPEED: RET CONVERT_SPEED: JB ACC.7,GO_AHEAD GO_BACK: CPL A RL A CLR C RET GO_AHEAD: RL A SETB C RET UPDATE_SPEED_RIGHT: MOV A,PWM_MOTO_RIGHT_SPEED LCALL CONVERT_SPEED
Lp 45K2 TVT - Khoa Cng ngh

L Cng Hoi

100

n tt nghip

i hc vinh

MOV MOTOR_1,#00H MOV MOTOR_3,#00H NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP MOV DK_CHIEU_DC_RIGHT_R,C MOV DK_CHIEU_DC_RIGHT_F,C NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP ADD A,#14H MOV MOTOR_1,A MOV MOTOR_3,A RET UPDATE_SPEED_LEFT: MOV A,PWM_MOTO_LEFT_SPEED LCALL CONVERT_SPEED MOV MOTOR_0,#00H MOV MOTOR_2,#00H NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP MOV DK_CHIEU_DC_LEFT_R,C MOV DK_CHIEU_DC_LEFT_F,C NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP ADD A,#18H MOV MOTOR_0,A MOV MOTOR_2,A RET UPDATE_STOP_LEFT: MOV A,PWM_MOTO_LEFT_SPEED
Lp 45K2 TVT - Khoa Cng ngh

L Cng Hoi

101

n tt nghip

i hc vinh

LCALL CONVERT_SPEED MOV MOTOR_0,#00H MOV MOTOR_2,#00H NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP MOV DK_CHIEU_DC_LEFT_F,C MOV DK_CHIEU_DC_LEFT_R,C NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP RET UPDATE_STOP_RIGHT: MOV A,PWM_MOTO_RIGHT_SPEED LCALL CONVERT_SPEED MOV MOTOR_1,#00H MOV MOTOR_3,#00H NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP MOV DK_CHIEU_DC_RIGHT_F,C MOV DK_CHIEU_DC_RIGHT_R,C NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP MOV MOTOR_1,A MOV MOTOR_3,A RET ; ********************************************************** SEND_BYTE_LED: MOV CLR COUNTER_BIT_LED,#08H CLK_LED
Lp 45K2 TVT - Khoa Cng ngh

MOV MOTOR_0,A

MOV MOTOR_2,A

; Set

counter for 8-Bits

L Cng Hoi

102

n tt nghip

i hc vinh

LOOP_SEND_BIT: MOV MOV SETB CLR RL DJNZ RE ; ; CHUONG TRINH CON HIEN THI DEN LED 7 THANH * 15 BANG NGAT CUA BO DINH THOI 2 - T2CON DEN DISPLAY: ; ****** STORE R0 & A ****** PUSH 00h MOV R0,A PUSH 00h MOV R0,B PUSH 00h ; TINH TOAN GIA TRI HIEN THI 4 LED MOV A,PWM_MOTO_LEFT_SPEED MOV B,#05h DIV AB MOV B,#0Ah DIV AB MOV LED_1,A MOV LED_2,B MOV A,PWM_MOTO_RIGHT_SPEED MOV B,#05h
Lp 45K2 TVT - Khoa Cng ngh

C,ACC.7 DATA_LED,C CLK_LED CLK_LED A COUNTER_BIT_LED,LOOP_SEND_BIT

; CAT THANH GHI R0 ; CAT THANH GHI A ; CAT THANH GHI B

L Cng Hoi

103

n tt nghip

i hc vinh

DIV AB MOV B,#0Ah DIV AB MOV LED_3,A MOV LED_4,B ; Tinh toan vi tri LED hien thoi theo gia tri trong INDEX_CURRENT_LED MOV R0,INDEX_CURRENT_LED INC R0 theo CJNE R0,#04h,Jmp_display ; Neu tang len qua so den -> lap lai cho den MOV R0,#00h Jmp_display: MOV INDEX_CURRENT_LED,R0 vi tri MOV A,INDEX_RAM_DISPLAY con tro ADD A,R0 vung nho voi gia tri thu tu hien thi ; -> Gia tri dia chi o nho du lieu can hien thi luu trong A MOV R0,A trong R0 MOV B,@R0 vao thanh ghi A ADD A,#04h MOV R0,A MOV A,B ADD A,@R0
Lp 45K2 TVT - Khoa Cng ngh

; Tang chi sang den tiep

; Thanh ghi chi ; Chuyen gia tri

; Cong vi tri con tro

; Dia chi o nho can hien thi duoc luu ; Chuyen gia tri can hien thi BCD

L Cng Hoi

104

n tt nghip

i hc vinh

LCALL SEND_BYTE_LED

; Goi chuong trinh

chuyen ma BCD - 7 THANH -> Gia tri ra luu trong A ;***** Doan chuong trinh nhan phim long vao phan hien thi luon ******** SUB_GO_RIGHT: JB BUTTON_GO_RIGHT,NOT_GO_RIGHT INC COUNTER_BUTTON_GO_RIGHT MOV A,COUNTER_BUTTON_GO_RIGHT CJNE A,#03h,SUB_RIGHT_RIGHT MOV COUNTER_BUTTON_GO_RIGHT,#00H SETB FLAG_BUTTON_GO_RIGHT LJMP SUB_RIGHT_RIGHT NOT_GO_RIGHT: MOV COUNTER_BUTTON_GO_RIGHT,#00H CLR FLAG_BUTTON_GO_RIGHT SUB_RIGHT_RIGHT: JB BUTTON_RIGHT_RIGHT,NOT_RIGHT_RIGHT bit = 0 -> NHAY ( phim lua chon duoc an, nhay den "lua chon") INC COUNTER_BUTTON_RIGHT_RIGHT MOV A,COUNTER_BUTTON_RIGHT_RIGHT CJNE A,#03h,SUB_BACK_RIGHT ( Muc dich chong nhieu xung) MOV COUNTER_BUTTON_RIGHT_RIGHT,#00H SETB FLAG_BUTTON_RIGHT_RIGHT co bao co phim MENU vua duoc an
Lp 45K2 TVT - Khoa Cng ngh

; bit =

0 -> NHAY ( phim lua chon duoc an, nhay den "lua chon")

; Kiem

tra xem da dem duoc 16 lan dem la cho phep nhan phim

; Bat

L Cng Hoi

105

n tt nghip

i hc vinh

LJMP SUB_BACK_RIGHT NOT_RIGHT_RIGHT: MOV COUNTER_BUTTON_RIGHT_RIGHT,#00H CLR FLAG_BUTTON_RIGHT_RIGHT SUB_BACK_RIGHT: JB BUTTON_BACK_RIGHT,NOT_BACK_RIGHT INC COUNTER_BUTTON_BACK_RIGHT MOV A,COUNTER_BUTTON_BACK_RIGHT CJNE A,#03h,SUB_LEFT_RIGHT dem duoc ; 16 lan dem la cho phep nhan phim ; ( Muc dich chong nhieu xung) MOV COUNTER_BUTTON_BACK_RIGHT,#00H SETB FLAG_BUTTON_BACK_RIGHT ; Bat co bao co phim MENU vua duoc an LJMP SUB_LEFT_RIGHT NOT_BACK_RIGHT: MOV COUNTER_BUTTON_BACK_RIGHT,#00H CLR FLAG_BUTTON_BACK_RIGHT ; Bat co bao co phim MENU vua duoc an SUB_LEFT_RIGHT: JB BUTTON_LEFT_RIGHT,NOT_LEFT_RIGHT ; bit = 0 -> NHAY ( phim lua chon duoc an, nhay den "lua chon") INC COUNTER_BUTTON_LEFT_RIGHT
Lp 45K2 TVT - Khoa Cng ngh

; Kiem tra xem da

L Cng Hoi

106

n tt nghip

i hc vinh

MOV A,COUNTER_BUTTON_LEFT_RIGHT CJNE A,#03h,SUB_GO_LEFT ; Kiem tra xem da dem duoc 16 lan dem la cho phep nhan phim ( Muc ; dich chong nhieu xung) MOV COUNTER_BUTTON_LEFT_RIGHT,#00H SETB FLAG_BUTTON_LEFT_RIGHT ; Bat co bao co phim MENU vua duoc an LJMP SUB_GO_LEFT NOT_LEFT_RIGHT: MOV COUNTER_BUTTON_LEFT_RIGHT,#00H CLR FLAG_BUTTON_LEFT_RIGHT ; Bat co bao co phim MENU vua duoc an SUB_GO_LEFT: JB BUTTON_GO_LEFT,NOT_GO_LEFT INC COUNTER_BUTTON_GO_LEFT MOV A,COUNTER_BUTTON_GO_LEFT CJNE A,#03h,SUB_RIGHT_LEFT ; Kiem tra xem da dem duoc 16 lan dem la cho phep nhan phim ; ( Muc dich chong nhieu xung) MOV COUNTER_BUTTON_GO_LEFT,#00H SETB FLAG_BUTTON_GO_LEFT ; Bat co bao co phim MENU vua duoc an LJMP SUB_RIGHT_LEFT
Lp 45K2 TVT - Khoa Cng ngh

L Cng Hoi

107

n tt nghip

i hc vinh

NOT_GO_LEFT: MOV COUNTER_BUTTON_GO_LEFT,#00H CLR FLAG_BUTTON_GO_LEFT ; Bat co bao co phim MENU vua duoc an SUB_RIGHT_LEFT: JB BUTTON_RIGHT_LEFT,NOT_RIGHT_LEFT INC COUNTER_BUTTON_RIGHT_LEFT MOV A,COUNTER_BUTTON_RIGHT_LEFT CJNE A,#03h,SUB_BACK_LEFT ; Kiem tra xem da dem duoc 16 lan dem la cho phep nhan phim ; ( Muc dich chong nhieu xung) MOV COUNTER_BUTTON_RIGHT_LEFT,#00H SETB FLAG_BUTTON_RIGHT_LEFT ; Bat co bao co phim MENU vua duoc an LJMP SUB_BACK_LEFT NOT_RIGHT_LEFT: MOV COUNTER_BUTTON_RIGHT_LEFT,#00H CLR FLAG_BUTTON_RIGHT_LEFT ; Bat co bao co phim MENU vua duoc an SUB_BACK_LEFT: JB BUTTON_BACK_LEFT,NOT_BACK_LEFT INC COUNTER_BUTTON_BACK_LEFT MOV A,COUNTER_BUTTON_BACK_LEFT CJNE A,#03h,SUB_LEFT_LEFT
Lp 45K2 TVT - Khoa Cng ngh

L Cng Hoi

108

n tt nghip

i hc vinh

; Kiem tra xem da dem duoc 16 lan dem la cho phep nhan phim ; ( Muc dich chong nhieu xung) MOV COUNTER_BUTTON_BACK_LEFT,#00H SETB FLAG_BUTTON_BACK_LEFT ; Bat co bao co phim MENU vua duoc an LJMP SUB_LEFT_LEFT NOT_BACK_LEFT: MOV COUNTER_BUTTON_BACK_LEFT,#00H CLR FLAG_BUTTON_BACK_LEFT ; Bat co bao co phim MENU vua duoc an SUB_LEFT_LEFT: JB BUTTON_LEFT_LEFT,NOT_LEFT_LEFT INC COUNTER_BUTTON_LEFT_LEFT MOV A,COUNTER_BUTTON_LEFT_LEFT CJNE A,#03h,END_GET_KEY ; Kiem tra xem da dem duoc 16 lan dem la cho phep nhan phim ; ( Muc dich chong nhieu xung) MOV COUNTER_BUTTON_LEFT_LEFT,#00H SETB FLAG_BUTTON_LEFT_LEFT ; Bat co bao co phim MENU vua duoc an LJMP END_GET_KEY NOT_LEFT_LEFT: MOV COUNTER_BUTTON_LEFT_LEFT,#00H
Lp 45K2 TVT - Khoa Cng ngh

L Cng Hoi

109

n tt nghip

i hc vinh

CLR FLAG_BUTTON_LEFT_LEFT ; Bat co bao co phim MENU vua duoc an END_GET_KEY: POP 00h MOV B,R0 POP 00h MOV A,R0 POP 00h CLR T2CON.7 Delay1s: Mov R2,#0Fh ; -F -> Delay 2s D1: Mov R3,#FFh D2: Mov R4,#FFh Djnz R4,$ Djnz R3,D2 Djnz R2,D1 ret DELAY_STOP: Mov R2,#06h D3: Mov R3,#64h D4: Mov R4,#64h Djnz R4,$ Djnz R3,D4 Djnz R2,D3 ret END ; Ket thuc hoan toan chuong trinh
Lp 45K2 TVT - Khoa Cng ngh

; Xoa co khoi tao lai ngat

RETI ; Ket thuc chuong trinh ngat quet hien thi

L Cng Hoi

110

n tt nghip

i hc vinh

L Cng Hoi

111

Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

Kt lun
Sau mt thi gian nghin cu, thit k em ch to c mt robot tha mn yu cu t ra. Cng vi robot t ng v robot l hnh tham d cuc thi sng to robot Vit Nam nm 2009. Vic ch to thnh cng mt ch robot dng vi iu khin 8051 s to iu kin cho vic ng dng lp trnh vi iu khin cho vic nghin cu cc cng ngh vi iu khin hin i hn vo ch to cc sn phm cng nghip v dn dng khc. c bit l trong cc ngnh t ng ha v cc dy chuyn cng nghip hin i. n tt nghip cn c nhiu hn ch v thiu st v vy em rt mong nhn c kin ng gp ca cc thy c gio cng nh cc bn sinh vin em c th hon thin hn v mt kin thc cng nh n tt nghip ca mnh. Cui cng em xin chn thnh cm n s quan tm gip ca cc thy c gio to iu kin tt nht em c th hon thnh n. c bit em xin gi li cm n chn thnh v su sc ti thy gio hng dn PGS.TS Nguyn Quc Trung gp , gip em trong sut thi gian lm n. Mt ln na em xin chn thnh cm n! Sinh vin thc hin: L Cng Hoi
L Cng Hoi
112 Lp 45K2 TVT - Khoa Cng ngh

n tt nghip

i hc vinh

Ti LIU THAM KHO


[1] Tng Vn On, Hng c Hi, H vi iu khin 8051, NXB Lao ng - X hi 2005.
[2]

Nguyn Tng Cng, Phan Quc Thng, Cu trc v lp trnh h vi iu khin 8051. NXB khoa hc k thut, 2004. Xun Tin, K thut vi x l v lp trnh Assembly cho h vi x l, NXB Khoa hc k thut, 2001. Ng nh Tp, "Lp trnh bng hp ng, Nh xut bn khoa hc k thut, H Ni 1998. J. Ayala, The 8051 Microcontroller:

[3]

[4]

[5] Kenneth

Architecture, Programming, and Applications. [6] Myke Predko, Programming and Customizing the 8051 Microcontroller.
[7]

Philips Semiconductors, I2C Bus Specification, Version 2.1, 2000.

[8] Atmel Corporation, AT89C51 datasheet, 2000. [9] Intel Corporation, MCS 51 Microcontroller Family Users Manual, February 1994. [10] Dallas Semiconductors, DS1307 64 x 8 Serial RealTime Clock datasheet .

L Cng Hoi

113

45K2 TVT - Khoa Cng ngh

You might also like