Professional Documents
Culture Documents
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
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
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
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
n tt nghip
i hc vinh
CHNG I:
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
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
cng nghip
dng vic
trong nghip
him (1983)
1990
robot minh
khin
2000
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
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:
L Cng Hoi
n tt nghip
i hc vinh
L Cng Hoi
10
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
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
n tt nghip
i hc vinh
L Cng Hoi
14
n tt nghip
i hc vinh
L Cng Hoi
15
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
n tt nghip
i hc vinh
CHNG II:
L Cng Hoi
17
n tt nghip
i hc vinh
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
n tt nghip
i hc vinh
L Cng Hoi
19
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
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
n tt nghip
i hc vinh
CHNG III:
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
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
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
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
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.
L Cng Hoi
30
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
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
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
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
MCU s dng b nh chng trnh trong chp, tch cc. Khi s dng b nh chng trnh ngoi, cao sang thp
khng thng
L Cng Hoi
35
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
E A
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
n tt nghip
i hc vinh
L Cng Hoi
39
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-
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
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
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
TF2
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
L Cng Hoi
43
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.
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
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
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
EQU
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
;===========================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
49
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
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
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
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
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
n tt nghip
i hc vinh
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.
L Cng Hoi
56
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
(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.
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
(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
L Cng Hoi
61
n tt nghip
i hc vinh
(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
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
63
n tt nghip
i hc vinh
@Ri #data
CJNE rel
@Ri,
#data,
L Cng Hoi
64
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
n tt nghip
i hc vinh
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
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.
Gin xung quy c truyn d liu gia module giao tip v Gamepad nh sau:
L Cng Hoi
67
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
n tt nghip
i hc vinh
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
L Cng Hoi
70
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
n tt nghip
+5 +5 +5
i hc vinh
+5
+5 QA QB QC QD QE QF QG QH
+5 4 5 3 QA QB QC QD 7 1 2 6 8 GND
+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
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
20 GND
VSS P89V51RD2FN
L Cng Hoi
72
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
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
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
6 5
6 5
6 5
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
L Cng Hoi
74
n tt nghip
i hc vinh
L Cng Hoi
75
n tt nghip
i hc vinh
L Cng Hoi
76
n tt nghip
i hc vinh
L Cng Hoi
77
n tt nghip
i hc vinh
L Cng Hoi
78
n tt nghip
i hc vinh
L Cng Hoi
79
n tt nghip
i hc vinh
L Cng Hoi
80
n tt nghip
i hc vinh
L Cng Hoi
81
n tt nghip
i hc vinh
L Cng Hoi
82
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).
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
L Cng Hoi
84
n tt nghip
i hc vinh
L Cng Hoi
85
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
L Cng Hoi
86
n tt nghip
i hc vinh
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
; *** 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
n tt nghip
i hc vinh
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
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
L Cng Hoi
90
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
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
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
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
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
;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
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
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
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
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
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
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
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
; 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
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
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
L Cng Hoi
110
n tt nghip
i hc vinh
L Cng Hoi
111
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
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]
[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