You are on page 1of 11

Basic Knowledges Of Microprocessor Technique

VI

I"U C$ B%N TRONG K( THU+T VI X- L

I. C U TRC PH#N C$NG C'A M*T VI X- L Nh ng ki#n th'c )!*c di-n )/ t trong ti li1u ny l nh ng ki#n mang tnh ch2 quan m ng!5i vi#t mu7n san s9 v:i cc b/n );c c cng m7 i quan tm v ch< lin quan )#n nh ng v>n )? c+ b@n c2a kA thuCt vi xD l ni chung, khng ph@i l ki#n th'c p dEng cho mFt lo/ i vi xD l cE thG. Tr !c h$t () trnh nh+ng b-n kho-n (ng ti$c trong khi nghin c0u ti li1u, ti xin ( 3c gi!i thi1u (i cht v4 02 khi ni1m vi x5 l (microprocessor) v vi (i4u khi)n (microcontroller). V 4 c" b7n hai khi ni1m ny khng khc nhau nhi4u, vi x5 l l thu8t ng+ chung dng () (4 c8p ($n k9 thu8t 0ng d;ng cc cng ngh1 vi ( i1n t5, cng ngh1 tch h3p v kh7 n-ng x5 l theo ch "ng trnh vo cc l=nh v?c khc nhau. Vo nh+ng giai (o@n (Au trong qu trnh pht tri)n cBa cng ngh1 vi x5 l, cc chip (hay cc vi x5 l) ( 3c ch$ t@o chC tch h3p nh+ ng phAn c0ng thi$t y$u nh CPU cng cc m@ch giao ti$p gi+ a CPU v cc phAn c0 ng khc. Trong giai (o@n ny, cc phAn c0ng khc (k) c7 bD nh!) th Fng khng ( 3c tch h3p trn chip m ph7i ghp nH i thm bn ngoi. Cc phAn c0ng ny ( 3c gIi l cc ngo@i vi (Peripherals). V 4 sau, nhF s? pht tri)n v 3t b8c cBa cng ngh1 tch h3p, cc ngo @i vi cJng ( 3c tch h3p vo bn trong IC v ng Fi ta gIi cc vi x 5 l ( ( 3c tch h3p thm cc ngo@i vi l cc vi (i4u khi)n. Vi1c tch h3p thm cc ngo@i vi vo trong cng mD t IC v!i CPU t@o ra nhi4u l3i ch nh lm gi7m thi)u cc ghp nHi bn ngoi, gi7m thi)u sH l 3ng linh ki1n (i1n t5 ph;, gi7m chi ph cho thi$t k$ h1 thH ng, ("n gi7n ha vi1c thi$t k$, nng cao hi1u suKt v tnh linh ho@t. Trong ti li1u ny, ranh gi!i gi+a hai khi ni1m vi x5 l v vi ( i4u khi)n th?c s? khng cAn ph7i phn bi1t r rng. Chng ti sL dng thu8t ng+ vi x5 l khi (4 c8p ($n cc khi ni1m c" b7n cBa k9 thu8t vi x5 l ni chung v sL dng thu8t ng+ vi (i4u khi)n khi (i su nghin c0u mD t hI chip c; th). V4 c" b7n ki$n trc cBa mDt vi x5 l gMm nh+ng phAn c0ng sau: - N"n vO x5 l trung tm CPU (Central Processing Unit). - Cc bD nh! (Memories). - Cc cQng vo/ra song song (Parallel I/O Ports). - Cc cQng vo/ra nHi ti$p (Serial I/O Ports). - Cc bD ($m/bD (Onh thFi (Timers). Ngoi ra v!i mRi lo@i vi ( i4u khi)n c; th) cn c th) c thm mD t sH phAn c0ng khc nh bD bi$n (Qi t "ng t?-sH ADC, bD bi$n (Qi sH-t "ng t? DAC, cc m@ch (i4u ch$ d@ng sng WG, (i4u ch$ (D rDng xung PWM BD no cBa mRi vi x5 l chnh l CPU, cc phAn c0ng khc chC l cc c" quan chKp hnh d !i quy4n cBa CPU. MRi c" quan ny (4u c mDt c" ch$ ho@t (Dng nhKt (Onh m CPU ph7i tun theo khi giao ti$p v!i chng. N) c th) giao ti$p v (i4u khi)n cc c" quan chKp hnh (cc ngo@i vi), CPU s5 d;ng 03 lo @i tn hi1u c" 1
PDF created with pdfFactory Pro trial version www.pdffactory.com

Written by Nguyen Xuan Kien

Basic Knowledges Of Microprocessor Technique b7n l tn hi1u (Oa chC (Address), tn hi1u d+ li1u (Data) v tn hi1u ( i4u khi)n (Control). V4 mTt v8t l th cc tn hi1u ny l cc ( Fng nhU dVn (i1n nHi tW CPU ($n cc ngo@i vi ho Tc th8m ch l gi+a cc ngo@i vi v!i nhau. T8p h3p cc ( Fng tn hi1u c cng ch0c n-ng gIi l cc bus. Nh v8y ta c cc bus )Ia ch <, bus d+ li1u v bus .i/u khi2n. C th) m t7 s" bD cKu trc phAn c0ng cBa m Dt vi x5 l theo hnh sau: BD nh! CQng vo/ra song song Ngo @i vi B Ngo @i vi D

Bus (Oa chC n bit (n ( Fng tn hi1u) CPU Bus d+ li1u m bit (m ( Fng tn hi1u) Bus (i4u khi)n (x tn hi1u) CQng vo/ra nHi ti$p BD ($m Ngo @i vi A Ngo @i vi C

Sau ( y l m t7 s" bD v4 cc phAn c0ng bn trong mDt vi x5 l. 1. !n v" x% l trung tm CPU: CPU c cKu t@o gMm c ("n vO x 5 l sH hIc v lgic (ALU), cc thanh ghi, cc khHi lgic v cc m@ch giao ti$p. Ch0c n-ng cBa CPU l ti$n hnh cc thao tc tnh ton x5 l, ( a ra cc tn hi1u (Oa chC, d+ li1u v (i4u khi)n nhXm th?c hi1n mD t nhi1m v; no ( do ng Fi l8p trnh ( a ra thng qua cc l1nh (Instructions). 2. B( nh+: Nhn chung c hai lo @i bD nh! l bD nh! ch "ng trnh v bD nh! d+ li1u. BD nh! ch "ng trnh dng () ch0a m ch "ng trnh h !ng dVn CPU th?c hi1n mDt nhi1m v; no (. Thng th Fng th bD nh! ch "ng trnh l cc lo@i bD nh! khng bay h"i (non-volatile), ngh=a l khng bO mKt nDi dung ch0a bn trong khi ngWng cung cKp nguMn nui. C th) k) ra mDt sH bD nh! thuD c lo @i ny nh : ROM, PROM, EPROM, EEPROM, Flash. BD nh! d+ li1u l b D nh! dng () ch0a d+ li1u (bao gMm cc tham sH , cc bi$n t@m thFi). Ty thuDc lo @i d+ li1u m bD nh! lo@i ny c th) l lo@i khng bay h"i hoTc bay h"i (mKt d+ li1u khi cYt nguMn nui). Lo@i bay h"i th Fng thKy l cc bD nh! SRAM.

2
PDF created with pdfFactory Pro trial version www.pdffactory.com

Written by Nguyen Xuan Kien

Basic Knowledges Of Microprocessor Technique 3. C-ng vo/ra song song: Ny l cc ( Fng tn hi1u ( 3c nHi v!i mD t sH chn cBa IC dng () giao ti$p v!i th$ gi!i bn ngoi IC. Giao ti$p Z (y l ( a ( i1n p ra hoTc (I c vo gi trO (i1n p t@i chn cQng. Cc gi trO (i1n p ( a ra hay (I c vo chC c th) (wocj bi)u di[n b Zi mDt trong hai gi trO lgic (0 hoTc 1). Trong k9 thu8t vi x5 l, ng Fi ta th Fng dng quy !c lgic d "ng: gi trO lgic 0 0ng v!i m0 c (i1n p thKp xKp xC 0VDC, gi trO lgic 1 0ng v!i m0c (i1n p cao xKp x C +5VDC. Ty lo@i vi x5 l m kho7ng xKp x C ( l khc nhau nh ng nhn chung l t "ng thch v!i m0 c lgic TTL. MRi cQng vo/ra song song th Fng gMm 08 ( Fng vo/ra khc nhau v gIi l cc cQng 08 bit. Cc ( Fng tn hi1u vo/ra cBa cc cQng v thuDc cng mDt cQng l (Dc l8p v!i nhau. Ni4u ( c ngh=a l ta c th) ( a ra hay (Ic vo cc gi trO lgic khc nhau (Hi v!i tWng chn cQ ng (tWng ( Fng tn hi1u vo/ra). MDt (i4u cAn ch n+a (Hi v!i cc cQ ng vo/ra ( l chng c th) ( 3c tch h3p thm (ni (ng h"n l kim thm) cc ch0c n-ng (Tc bi1t lin quan ($n cc ngo@i vi khc. 4. C-ng vo/ra n/i ti1p: Khc v!i cQng song song, v!i cQng nHi ti$p cc bit d+ li1u ( 3c truy4n lAn l 3t trn cng mD t ( Fng tn hi1u thay v truy4n cng mDt lc trn cc ( Fng tn hi1u khc nhau. Thng th Fng th vi1c truy4 n d+ li1u bXng cQng nHi ti$p ph7i tun theo mDt c" ch$, mD t giao th0c hay mDt nguyn tYc nhKt (Onh. C th) k) ra mDt sH giao th0c nh SPI, I2C, SCI CKng n7i ti#p c 02 kiGu truy?n d li1u chnh: Truy4n (Mng bD (synchronous): thi$t b O truy4n v thi$t bO nh8n (4u dng chung mDt xung nhOp (clock). Truy4n dO b D (asynchronous): thi$t b O truy4n v thi$t bO nh8n s5 d;ng hai nguMn xung nhOp ring. Tuy nhin hai nguM n xung nhOp ny khng ( 3c khc nhau qu nhi4u. Xung nhOp l y$u tH khng th) thi$u trong truy4n d+ li1u nHi ti$p v n c vai tr xc (Onh gi trO cBa bit d+ li1u (hay ni (ng h"n l xc (Onh thFi ( i)m (I c m0c lgic trn ( Fng truy4n d+ li1u). CKng n7i ti#p c thG c mFt trong cc tnh nLng sau: N+n cng: thi$t bO chC c th) hoTc truy4n ho Tc nh8n d+ li1u. Bn song cng: thi$t bO c th) truy4n v nh8n d+ li1u nh ng t@i mDt thFi ( i)m chC c th) lm mD t trong hai vi1c (. Song cng: thi$t bO c th) truy4n v nh8n d+ li1u (Mng thFi. 5. B( 31m/B( 3"nh th4i: Ny l cc ngo@i vi ( 3c thi$t k$ () th?c hi1n m Dt nhi1m v; ("n gi7n: ($m cc xung nhOp. MR i khi c thm mDt xung nhOp t@i (Au vo ($m th gi trO cBa bD ($m sL ( 3c t-ng ln 01 ("n vO (trong ch$ (D ($m ti$n/($m ln) hay gi7m ( i 01 ("n vO (trong ch$ (D ($m li/($m xuHng). Xung nhIp )!a vo )#m c thG l mFt trong hai lo/i: Xung nhOp bn trong IC. N l xung nhOp ( 3c t@o ra nhF k$t h3p m@ch dao (Dng bn trong IC v cc linh ki1n ph; bn ngoi nHi v!i IC. Ta c th) v ( l nhOp tim () ton bD cc phAn c0ng bn trong vi x5 l (bao gMm c7 CPU v cc 3
PDF created with pdfFactory Pro trial version www.pdffactory.com

Written by Nguyen Xuan Kien

Basic Knowledges Of Microprocessor Technique ngo@i vi) c th) ho@t (D ng ( 3c. Trong tr Fng h3p s5 d ;ng xung nhOp lo@i ny, ng Fi ta gIi l cc bD (Onh thFi (timers). Do xung nhOp bn lo@i ny th Fng (4u (Tn nn ta c th) dng () ($m thFi gian mDt cch kh chnh xc. Xung nhOp bn ngoi IC. N l cc tn hi1u lgic thay (Qi lin t;c gi+a 02 m0c 0-1v khng nhKt thi$t ph7i l (4u (Tn. Trong tr Fng h3p ny ng Fi ta gIi l cc bD ($m (counters). \ng d;ng phQ bi$n cBa cc bD ($m l ($m cc s? ki1n bn ngoi nh ($m cc s7n phAm ch@y trn b-ng chuy4n, ($m xe ra/vo kho bi MD t khi ni1m quan trIng cAn ph7i ni ($n l s? ki1n trn (overflow). N ( 3c hi)u l s? ki1n bD ($m ($m v 3t qu gi trO tHi (a m n c th) bi)u di[n v quay trZ v4 gi trO 0. V!i bD ($m 8 bit, gi trO tHi (a l 255 v l 65535 v!i bD ($m 16 bit. Ngoi cc phAn c0ng nu trn cn ph7i k) ($n mDt khHi lgic khc l khHi giao ti4p bus. KhH i ny c ch0c n-ng ghp nHi gi+a cc bus bn trong chip v cc chn ( a ra ngoi chip. M;c (ch cBa vi1c ( a cc tn hi1u (Oa chC, d+ li1u v (i4u khi)n ra ngoi l nhXm mZ rDng kh7 n-ng phHi ghp thm cBa vi x5 l v!i cc ngo@i vi khc (chB y$u l cc bD nh! ngoi) ngoi cc ngo@i vi ( 3c tch h3p trn IC. Thng th Fng th sH l 3ng cc ( Fng tn hi1u l gi+ nguyn khi ( a ra ngoi chip, tuy nhin trong mDt sH tr Fng h3p sH l 3ng cc ( Fng tn hi1u c th) nhU h"n sH l 3ng th?c bn trong (v d ; nh tr Fng h3p cBa vi x5 l 8088, bus d+ li1u bn trong l 16 bit nh ng ( a ra ngoi chC c 8 bit). Khi ( a ra ngoi, cc tn hi1u (Oa chC v d+ li1u c th) ( 3c ghp v!i nhau (cng s5 d;ng chung mDt sH chn no () hoTc ( 3c tch ring (tn hi1u (Oa chC dng mDt sH chn, tn hi1u d+ li1u dng mDt sH chn khc). Ng Fi ta th Fng dMn knh (multiplex), t0c l ghp ch0c n-ng, gi+a bus (Oa chC v bus d+ li1u () gi7m thi)u sH chn cAn thi$t. Trong tr Fng h3p ny, tn hi1u (Oa chC sL xuKt hi1n tr !c, sau ( l tn hi1u d+ li1u trn cng mDt t8p h3p cc ( Fng tn hi1u. N) tch ( 3c 2 lo @i tn hi1u ( th nh s7n xuKt cung cKp cho ng Fi s5 d ;ng m Dt ( Fng tn hi1u ( i4u khi)n c tn l tn hi1u chHt (Oa chC (th Fng k hi1u l ALE). Tn hi1u ny sL tch c?c khi tn hi1u (Oa chC xuKt hi1n v khng tch c?c khi tn hi1u d+ li1u xuKt hi1n trn bus. Cc IC thch h3p v!i vi1c tch tn hi1u (Oa chC v d+ li1u l cc IC thuD c hI 74xx373/374 hoTc 74xx573/574. Trn (y l m t7 s" bD cKu trc phAn c0ng cBa mDt vi x5 l. Tr !c khi (i ti$p, ti xin chia s^ v!i b@n mD t kinh nghi1m qu bu khi nghin c0u k9 thu8t vi x5 l. N l b @n ph7i bi$t ch6p nh8n. Nng! K 9 thu8t vi x 5 l khng ph7i l mDt ci g ( tm linh, ( l mDt mn khoa hIc c c7 c" sZ l thuy$t v minh ch0 ng th?c t$ r rng, )ng )Pn . Tuy nhin sL l khng sai n$u ti ni rXng n cJng rKt trQu t!*ng. NHi v!i b@n, khi cc b @n (ang (Ic nh+ng dng ch+ trong ti li1u ny, chng ta ngAm hi)u rXng b@n m!i chC bYt (Au qu trnh nghin c0u. N l mDt l=nh v?c c th) ni t nhi4u m!i m ^ v b@n chYc chYn hAu nh ch a c nhi4u hnh dung v4 ci g (ang di[n ra trong mDt con chip chC b bXng (Au ngn tay! Ni4u ( lm b@n cJng nh ti tr !c (y, v ti ngh= l (ng v!i tKt c7 nh+ng ai ( tWng nghin c0u k9 thu8t vi x5 l, c7m thKy c ci g ( th8t trQu t!*ng, kh hiGu, rKt gy t m trong cc khi ni1m (d l khi ni1m ("n gi7n) lin quan ($n l=nh v?c ny. Chng ta khi m!i b Yt (Au (4u t? ( a ra nh+ng cu hUi cho mnh (@i lo @i nh : t@i 4
PDF created with pdfFactory Pro trial version www.pdffactory.com

Written by Nguyen Xuan Kien

Basic Knowledges Of Microprocessor Technique sao vi x5 l c th) lm ( 3c nhi4u vi1c ($n v8y? ci g di[n ra bn trong chip khi chng ta cKp nguMn nui cho n? t@i sao ta l@i c th) tc (Dng ($n timer hay cc ngo@i vi khc thng qua cc dng l1nh vi$t cho CPU? ho Tc th8m ch l m@ch (i1n bn trong mD t vi x5 l, mDt ngo@i vi, mD t cQng vo/ra nh th$ no? Nh ng b @n c bi$t n$u (i tm cu tr7 lFi cho nh+ng thYc mYc (, b@n sL c th) m Kt rKt nhi4u thFi gian, cng s0 c m hi1u qu7 nghin c0u sL khng cao, v cho ($n khi tm thKy cu tr7 lFi thUa mn cho mD t vKn (4 m b @n b-n kho-n, c th) b@n ( qun mKt mDt vi hay tKt c7 nh+ng ki$n th0c cn l@i! Nh ti ( ni, khi m!i bYt (Au nghin c0u, b@n hy ch6p nh8n nh+ng ki$n th0c c" b7n nh ch6p nh8n cc tin (4. Hy coi ( l nh+ng ci m ng Fi ta ( xy d? ng nn m Dt cch (ng (Yn, giF (y b@n khng ph7i m Kt cng tm ti, ch0ng minh s? ( ng (Yn cBa chng. Thay vo (, b@n chC cAn ti#p thu v thQa h!Rng. Hy cng nhCn chng nh mDt (i4u g ( hi)n nhin. MDt cch ("n gi7n, b@n khng cAn ph7i tm hi)u vKn (4 ($n m0c r rng tWng ( Fng tn hi1u trong mD t m@ch (i1n ( ( 3c tch h3p b xu trong chip. Vo lc ny (vng, ti ni l vo lc ny!), b@n chC cAn bi$t, ci m@ch ( i1n ( ng Fi ta gIi l ci bD ($m, l ci cQng vo/ra, ch0 c n-ng cBa chng l g, nguyn l ho@t (Dng ra sao v () (i4u khi)n ( 3c chng th cAn ph7i lm nh+ng g (c; th) l ph7i vi$t nh+ng g trong khi l8p trnh). Tuy nhin, ni nh v8y khng c ngh=a ti khuyn cc b@n hIc mDt cch hQng, khng cAn ($n ki$n th0c c" b7n. N $u b@n l ng Fi ( c t nhi4u ki$n th0c (i1n t5 ((Tc bi1t l (i1n t5 sH ), b@n qu7 l may mYn khi ( c mDt n4n t7ng ki$n th0c v+ ng chYc khi ti$p c8n v!i k9 thu8t vi x5 l. B@n c th) hi)u d[ dng cKu t@o cBa mDt bD ($m, nguyn l ho@t (Dng cBa n v chYc chYn b@n thKy d[ dng ti$p thu h"n n$u nh trong bi hIc ti ni v!i b@n rXng trong vi (i4u khi)n hI 8051 c tch h3p t nhKt 02 ngo@i vi gIi l cc bD ($m. N l v b@n ( c nh+ng khi ni1m c" b 7n, nh+ng hnh dung v4 nh+ng ci gI i l bD ($m. N$u ch a c nh+ng khi ni1m c" b7n, ch a c nh+ng m Fng t 3ng s" bD, b@n sL c7m thKy kh hi)u, nh ng s? kh hi)u ( chnh l l do () chng ta lm vi1c v!i nhau! ChC cAn kin nhVn ( i cht, nh+ng g b @n ph7i chKp nh8n mDt cch g 3ng p v (i khi c v^ nh v l vo lc ny, b@n sL nh8n l@i ( 3c cu tr7 lFi thUa mn trong qu trnh tm hi)u k9 thu8t vi x5 l cng ti, (Tc bi1t khi b@n nghin c0u v th?c hnh v!i cc vi (i4u khi)n c; th). II. NGUYN L HO9 T :*NG C'A M*T VI X- L Tr !c h$t, ti sL ni qua v4 m Dt khi ni1m rKt hay ( 3c nhYc t!i trong k9 thu8t vi x5 l khng gian (Oa chC. N ( 3c hi)u l sH l 3ng (Oa chC m CPU c th) phn bi1t ( 3c. Trong mD t bD nh! c rKt nhi4u nh! v CPU th Fng ph7i truy nh8p (ghi hoTc (Ic) ($n tWng nh! c; th), do ( CPU tKt nhin ph7i phn bi1t ( 3c cc nh! ring rL v!i nhau. MRi nh! cAn ph7i c mDt (Oa chC gYn v!i n. NOa chC ny chC dnh ring cho nh! (, khng trng v!i (Oa chC cBa mDt nh! no khc, khi truy nh8p t!i (Oa chC ( t0c l truy nh8p ($n nh! (. Ngoi nh!, trong vi x5 l cn c mD t sH phAn c0ng khc cJng cAn c m Dt (Oa chC dnh ring cho n nh cc thanh ghi (i4u khi)n, cc thanh ghi d+ li1u Th Fng th hAu nh tKt c7 nh+ng phAn c0ng cAn ( 3c truy nh8p hay tc (D ng ($n (4u ph7i ( 3c gYn v!i mD t hay nhi4u (Oa chC. LKy v d;, () c th) giao ti$p v (i4u khi)n mDt bD ($m (timer/counter), CPU cAn ph7i tc (Dng ($n cc thanh ghi quy (Onh ch$ (D ho @t 5
PDF created with pdfFactory Pro trial version www.pdffactory.com

Written by Nguyen Xuan Kien

Basic Knowledges Of Microprocessor Technique (Dng, thanh ghi ch0a sH ($m cBa bD ($m (. Cc thanh ghi ny (4u c (Oa chC gn ring cho chng v nhF cc (Oa chC ( m CPU c th) ghi/(Ic gi trO cBa cc thanh ghi, qua ( tc (Dng ln bD ($m. Vi x; l ho>t .?ng theo m?t sA nguyn tBc cD bEn sau: Cc thao tc tnh ton xD l sS )!*c vi xD l, hay ni )ng h+n l CPU, thTc hi1n theo cc ch < dUn (chnh l cc l1nh) )Vt trong bF nh: ch!+ng trnh. N "ng nhin trong bD nh! ch "ng trnh khng c nh+ng chC dVn ki)u nh hy ( a (i1n p +5VDC ra chn cQng A! hay dWng ci bD ($m ( l@i, (Wng cho n ($m thm mDt xung nhOp no n+a! hay hy t@m thFi chF Z (y cho ($n khi no (i1n p t@i chn B c gi trO lgic bXng 0!. N l ngn ng+ cBa con ng Fi, cc vi x5 l khng nghe ( 3c v ( "ng nhin khng hi)u ( 3c nh+ng cu (, chng chC c th) nh8n bi$t ( 3c hai v chC hai gi trO lgic tri ng 3c nhau m thi. Hai gi trO lgic tri ng 3c nhau c th) l (en-trYng, khng-c, cao-thKp N i4u ( khng quan trIng, ci quan trIng l v4 mTt v8t l (( i1n hIc), nhF mD t c" ch$ no ( m khi (Ic nDi dung cBa bD nh! hay (Ic gi trO lgic cBa mDt cQng vo ra, vi x 5 l c th) phn bi1t ( 3c khi no gi trO (I c ( 3c l gi trO lgic th0 nhKt v khi no th khng ph7i th$. Theo truy4n thHng ng Fi ta quy (Onh chung rXng cc gi trO lgic ( l 0 v 1. Bi)u thO cc gi trO lgic ( theo quy !c lgic d "ng l (i1n p cao (xKp xC +5VDC) cho gi trO 1 v (i1n p thKp (x Kp x C 0VDC) cho gi trO 0. Nh v8y, thay v ni v!i vi x5 l rXng hy ( a ra gi trO lgic 1 t@i chn cQ ng A!, ng Fi ta m ho cu ni ( thnh mDt chuRi cc bit lgic 01 (v d; 00001010 ch_ng h@n) rMi (Tt trong bD nh! ch "ng trnh cBa IC. CPU khi cKp nguMn nui sL (Ic v tKt nhin n hi)u ci chuRi 0-1 ( c ngh=a l g v n sL th?c hi1n theo ngh=a cBa l1nh n dOch ra tW chuRi 0-1 (. VCy t/i sao n hiGu )!*c? Xin tr7 lFi l b@n l@i lan man rMi (Ky! N hi)u ( 3c ("n gi7n v ng Fi ta ch$ t@o ra ( nh th$ rMi. Hy bi$t ch6p nh8n nh v8y vo lc ny! Vi1c th Tc hi1n cc l1nh sS di-n ra tuW n tT (l1nh R )Ia ch< th>p h+n )!*c thTc hi1n tr!:c) bPt )Wu tQ )Ia ch< reset. NOa chC reset l (Oa chC cBa bD nh! ch "ng trnh m t@i ( , sau khi ( 3c cKp nguMn nui, CPU sL bYt (Au (Ic v th?c hi1n theo chC dVn ( 3c m ha (Tt t@i (. MR i lo@i vi x5 l c mDt (Oa chC reset ring (th Fng l tW 0000H) do nh s7n xuKt quy (Onh. Cc l1nh )!*c thTc hi1n tuWn tT l nh5 c thanh ghi bF )#m ch!+ng trnh(PC). Thanh ghi ny ch0a (Oa chC cBa nh! ch0 a m cBa l1nh ti$p theo sL ( 3c th?c hi1n. Khi CPU tm n@p ( 3c m cBa l1nh n, thanh ghi PC sL t? (D ng t-ng ln 1 ("n vO () trU vo nh! ch0a m cBa l1nh (n+1). 6
PDF created with pdfFactory Pro trial version www.pdffactory.com

Written by Nguyen Xuan Kien

Basic Knowledges Of Microprocessor Technique CPU thTc hi1n mFt l1nh theo cc b!:c nh X. Th Fng th cc b !c ( bao gMm: tm n@p m l1nh (fetch-t0c l truy c8p bD nh! ch "ng trnh, (Ic lKy gi trO t@i nh! c (Oa chC trU b Zi thanh ghi PC, l u vo mDt thanh ghi chuyn dng ch0a m l1nh trong CPU), gi7i m l1nh (decode-gi7i m gi trO ( lKy ( 3c v (ang (Tt trong thanh ghi ch0a m l1nh trong CPU), cuHi cng l th?c hi1n l1nh (execute-th?c hi1n chC dVn ( 3c gi7i m ra tW m l1nh (Ic ( 3c). Nh+ng vi x5 l (Au tin ( 3c thi$t k$ v!i ph "ng th0c th?c hi1n l1nh m Dt cch thuAn tuAn t?, ngh=a l th?c hi1n tuAn t? 3 b !c (Hi v!i l1nh th0 n rMi m!i th?c hi1n 3 b !c ti$p theo cBa l1nh th0 (n+1).

N@p m l1nh n

Gi7i m l1nh n

Th?c hi1n l1nh n

N@p m l1nh n+1

Gi7i m l1nh n+1

Th?c hi1n l1nh n+1

Sau ny, cc vi x5 l ( 3c thi$t k$ v!i CPU ( 3c module ha thnh tW ng phAn ring bi1t c ho@t (Dng kh (Dc l8p v!i nhau, do ( m cKu trc x5 l ( Fng Hng (pipeline) ra (Fi. V!i cKu trc ny, cc b !c nhU trong vi1c th?c hi1n cc l1nh sL ( 3c gHi ln nhau, trong khi m Dt phAn c0ng cBa CPU th? c hi1n b !c 3 (th?c hi1n l1nh) cBa l1nh n th mDt phAn c0ng khc cBa CPU th?c hi1n vi1c gi7i m l1nh ti$p theo (l1nh th0 n+1), v (Mng thFi mDt phAn c0ng khc n+a trong CPU tm n@p m cBa l1nh th0 (n+2).
N@p m l1nh n Gi7i m l1nh n N@p m l1nh n+1 Th?c hi1n l1nh n Gi7i m l1nh n+1 N@p m l1nh n+2 Th?c hi1n l1nh n+1 Gi7i m l1nh n+2 N@p m l1nh n+3 Th?c hi1n l1nh n+2 Gi7i m l1nh n+3 Th?c hi1n l1nh n+3

V!i cKu trc x5 l ( Fng Hng, tHc (D x5 l cBa CPU ( ( 3c nng cao r r1t v tKt c7 nh+ng vi x5 l ngy nay (4u ( 3c thi$t k$ v!i CPU theo cKu trc x5 l ny. NgLn x#p(Stack): L mDt (o@n bD nh! (th Fng (Tt trong RAM) dng () ch0a (Oa chC trZ v4 cBa trong cc tr Fng h3p ch "ng trnh con hoTc ch "ng trnh ph;c v; ngYt ( 3c gIi. Ngoi ra ng-n x$p cn dng () l u cc d+ li1u t@m thFi. Ng-n x$p ho@t (Dng theo c" ch$ vo sau ra tr!:c (LIFO-Last In First Out). Thanh 7
PDF created with pdfFactory Pro trial version www.pdffactory.com

Written by Nguyen Xuan Kien

Basic Knowledges Of Microprocessor Technique ghi con trU ng-n x$p (SP-Stack Pointer) l thanh ghi c nDi dung l (Oa chC cBa nh! trn cng cBa ng-n x $p. Gi trO cBa SP ( 3c t-ng gi7m mDt cch t? (Dng. Ng-n x$p l phAn c0 ng v cng quan trIng trong vi x5 l, n tham gia vo cc thao tc rL nhnh (trW thao tc nh7y) cBa ch "ng trnh. Ng Fi l8p trnh ph7i h$t s0c c`n th8n khi gn gi trO khZi t@o cho SP () trnh s? cH trn ng-n x$p hoTc ng-n x $p trng v!i cc vng nh! l u d+ li1u khc. Khi x7y ra mDt trong cc s? cH trn, sL khng c cch no ki)m sot ( 3c ho @t (Dng cBa vi x 5 l v c th) gy thi1t h@i l!n (Hi v!i h1 thHng. GiHng nh mDt tr ch"i, khi b @n tham gia v v mDt l do no ( ph@m vo mDt trong hai lRi (, tKt c7 nh+ng g b@n sL nh8n ( 3c trn mn hnh l dng ch+ GAME OVER! VC y th# no l )Ia ch < trR v?? Nh ( ni Z trn, vi x5 l th?c hi1n cc l1nh mDt cch tuAn t?: l1nh 1, l1nh 2,, l1nh n, l1nh n+1Tuy nhin (i khi n gTp ph7i mD t l1nh gIi ch "ng trnh con v do ( ph7i chuy)n sang th?c hi1n ch "ng trnh con (. No@n m l1nh cBa ch "ng trnh con th Fng nXm Z mDt n"i khc trong bD nh! ch "ng trnh, t0 c l c (Oa chC khng lin ti$p v!i l1nh gIi ch "ng trnh con. NhYc l@i rXng thanh ghi PC lc ny (ang ch0a (Oa chC cBa l1nh ti$p sau l1nh gIi ch "ng trnh con. CPU chC bi$t th?c hi1n nh+ng g c t@i (Oa chC ch0a trong PC, do v8y m PC cAn ph7i ( 3c n@p gi trO m!i l (Oa chC cBa m l1nh (Au tin cBa ch "ng trnh con. Vi1c n@p gi trO m!i cho PC ( 3c th?c hi1n mD t cch t? (D ng khi b@n gIi mDt ch "ng trnh con, ngoi ra (Oa chC cBa l1nh ti$p sau l1nh gIi ch "ng trnh con trong ch "ng trnh chnh cJng ( 3c t? (Dng l u l@i () sau khi th?c hi1n xong ch "ng trnh con, CPU sL c th) quay l@i th?c hi1n ti$p ch "ng trnh chnh mDt cch (ng chR, tuAn t? nh khng c chuy1n g x7y ra. N"i l u gi+ m Dt cch t? (Dng (Oa chC trZ v4 ((Oa chC cBa l1nh ti$p sau l1nh gIi ch "ng trnh con) Ky chnh l ng Ln x#p . Ng Fi ta th?c hi1n vi1c chia ch "ng trnh chnh thnh cc ch "ng trnh con (l cc (o@n ch "ng trnh th?c hi1n m Dt nhi1m v; c; th)) () d [ dng cho vi1c l8p trnh v d lRi. B@n sL dAn c ( 3c k9 n-ng chia nhU ch "ng trnh chnh thnh cc ch "ng trnh con mDt cch h3p l trong qu trnh l8p trnh cho vi x5 l. NgLn x#p cYng c vai tr t!+ng tT nh! )7 i v:i ngPt. VCy ngPt l g? N l nh+ng yu cAu do cc ngo@i vi (l cc phAn c0ng tch h3p trn IC hoTc cc tc (Dng tW bn ngoi) g5i t!i CPU nhXm (i hUi nh+ng (p 0ng nhKt (Onh. M;c (ch cBa vi1c thi$t k$ c" ch$ ngYt trong vi x 5 l l nhXm ti#t ki1m th5i gian cho CPU. Trong hAu h$t cc tr Fng h3p, vi x5 l cAn ph7i th?c hi1n nhi4u nhi1m v; trong thFi gian rKt ngYn v lin t;c. N) c th) (p 0ng kOp thFi v!i cc s? ki1n cAn x 5 l, CPU c th) ti$n hnh th-m d (polling) lin t;c cc s? ki1n () xem khi no chng x7y ra th x 5 l, ( p 0 ng l@i. Tuy nhin n$u lm v8y th lng ph rKt nhi4u thFi gian cBa CPU trong khi cn c rKt nhi4u nhi1m v; khc ( ang chF ( 3c th?c hi1n, ngoi ra CPU khng th) th-m d nhi4u s? ki1n cng mDt lc ( 3c. Ng Fi ta t@o ra ngYt () 8
PDF created with pdfFactory Pro trial version www.pdffactory.com

Written by Nguyen Xuan Kien

Basic Knowledges Of Microprocessor Technique CPU khng ph7i th-m d lin t;c mDt hay nhi4u s? ki1n (. BXng cch ghp cc s? ki1n cAn (p 0ng v!i cc c" ch$ ngYt khc nhau, khi mDt s? ki1n no ( x7y ra, phAn c0ng ph; trch ngYt tch h 3p trn CPU sL t? (Dng bo cho CPU bi$t rXng s? ki1n ( x7y ra. CPU sL dWng cng vi1c (ang lm l@i (nh ng ph7i th?c hi1n xong l1nh (ang ( 3c th?c hi1n, d m!i chC Z giai (o@n tm n@p m l1nh), v chuy)n sang (p 0ng bXng cch th?c hi1n ch "ng trnh ph;c v; ngYt t "ng 0ng. Np 0ng xong, t0c l x5 l xong s? ki1n gy ra ngYt, CPU sL ti$p t;c quay l@i lm ti$p cng vi1c (ang dang dZ ()!+ng nhin l nh5 ho/ t )Fng c2a ngLn x#p). Ni )#n ngPt khng thG khng ni )#n m'c !u tin c2a cc lo/ i ngPt khc nhau. C 02 lo@i m 0c u tin ngYt c" b7n l u tin gi+a cc ngYt x 7y ra (Mng thFi (ngYt A v ngYt B x7y ra (Mng thFi cng mDt lc) v u tin gi+a cc ngYt x7y ra khc thFi (i)m (( ang th?c hi1n ch "ng trnh ph;c v; ngYt A th l@i x 7y ra ngYt B). Trong c7 hai tr Fng h3p, ngYt c m0c u tin cao h"n sL lun ( 3c ph;c v; ngay l8p t0c. Ty lo@i vi x5 l m m0c u tin c th) thay (Qi ( 3c linh ho@t hoTc cH (Onh. Khc v:i ch!+ng trnh con, th5i )iGm thTc hi1n ch !+ng trnh phE c vE ngP t trong hWu h#t cc tr!5ng h*p l nZm ngoi sT kiGm sot c2a ng!5i lCp trnh do ngPt c thG x@y ra b>t k[ th5i )iGm no, khi CPU )ang thTc hi1n b>t k[ mFt l1nh no trong ch !+ng trnh chnh. V th$ c" ch$ ho@t (Dng m Dt cch t? (Dng cBa ng-n x$p l khng th) thi$u trong mD t vi x5 l. CJng v th$ m cAn ph7i xem xt k9 l ang vi1c s5 d;ng cc ti nguyn (thanh ghi, nh!, bi$n, th8m ch l cc ngo @i vi) cBa cc ch "ng trnh ph;c v; ngYt () trnh tranh chKp v!i ch "ng trnh chnh. Thng th Fng th khi vo (Au ch "ng trnh ph;c v; ngYt, ng Fi ta l u l@i nh+ng ti nguyn dng chung ( tr !c khi thay (Qi chng. K$t thc ch "ng trnh ph;c v; ngYt, cc ti nguyn sL ( 3c khi ph;c l@i gi trO cBa chng tr !c khi trZ v4 ch "ng trnh chnh. Th?c hi1n cc thao tc l u tr+ v khi ph;c ny ( "ng nhin lin quan ($n ng-n x$p, chC c (i4u khng ph7i th?c hi1n m Dt cch t? (D ng bZi CPU m ph7i do ng Fi l8p trnh chB (Dng th? c hi1n b Xng cc l1nh. Ng Fi l8p trnh ph7i quy$t (Onh cKt nh+ng g v lKy ra nh+ng g! CJng ph7i ch ($n c" ch$ ho@t (Dng vo sau ra tr!:c cBa ng-n x $p v cKt ( i bao nhiu th ph7i lKy ra b Ky nhiu. N $u khng b @n sL ph@m ph7i mDt lRi t "ng t? nh trn ng-n x$p v chC c Cha m!i bi$t ( 3c chuy1n g sL x 7y ra khi (Oa chC trZ v4 khng ( 3c n@p (ng vo thanh ghi PC. MDt trong nh+ng ti nguyn hay b O thay (Qi khi th?c hi1n ch "ng trnh ph;c v; ngYt l cc cF tr@ng thi cBa CPU. N l cc bit th) hi1n tr@ng thi hi1n thFi cBa CPU v cBa k$t qu7 th?c hi1n cc l1nh. Cc cF ny th Fng ( 3c ghp v!i nhau thnh mD t thanh ghi v ( 3c gIi l thanh ghi tr@ng thi. III. LFP TRNH CHO M*T VI X- L Sau khi thi$t k$ xong phAn c0 ng, b@n ph7i ti$n hnh l8p trnh cho vi x5 l () hon thi1n s7n ph`m cBa mnh. Vi x5 l c th) ( 3c l8p trnh b Xng ngn ng+ b8c cao hay ngn ng+ b 8c thKp. Ngn ng+ b 8c thKp l ngn ng+ ( 3c thi$t k$ ring 9
PDF created with pdfFactory Pro trial version www.pdffactory.com

Written by Nguyen Xuan Kien

Basic Knowledges Of Microprocessor Technique cho tWng lo@i vi x5 l v th Fng ( 3c gIi l h3p ng+ (Assembly). Ngn ng+ b8c cao l cc ngn ng+ gAn v!i ngn ng+ cBa con ng Fi v giHng nhau cho nhi4u lo @i vi x5 l. MRi lo@i ngn ng+ (4u c u v nh 3c (i)m ring. V!i nh+ng ng Fi m!i bYt (Au nghin c0u v4 k9 thu8t vi x 5 l, theo kinh nghi1m cBa ring b7n thn, ti cho rXng nn bYt (Au v!i ngn ng+ b8c thKp. C mDt sH (i)m (ng l u khi b@n l8p trnh cho mDt vi x5 l. N l: Tr!:c tin b/n ph@i hiGu r )!*c cc ch# )F )Ia ch< c2a vi xD l ). Ch$ (D (Oa chC chnh l cch chC ra ton h@ng nXm Z (u. Ton h@ng l cc tham sH, cc hXng sH , cc nh!, cc thanh ghi, cc bit, cc cFhay ni chung l cc (Hi t 3ng tham gia vo vi1c th?c hi1n l1nh. Thng th Fng th mDt ton h@ng (v d; nh mDt thanh ghi) c th) ( 3c trU ($n bXng mDt vi ch$ (D (Oa chC khc nhau. MR i ch$ (D (Oa chC c th$ m@nh ring cBa n v ty tWng tr Fng h3p m ta nn chIn ch$ (D thch h3p khi l8p trnh. Sau ) b/n ph@i nPm bPt )!*c tCp l1nh (Instruction Set) c2a vi xD l ). T8p l1nh l tKt c7 nh+ng l1nh m vi x 5 l c th) hi)u ( 3c, c th) th?c hi1n ( 3c. MR i l1nh (4u ( 3c m ha (hay ( 3c quy !c) bZi mDt chuRi cc bit 0 v 1. Cc vi x5 l khc nhau th c t8p l1nh khc nhau do nh s7n xuKt chip cung cKp. Tr!:c khi bPt )Wu vi#t cc l1nh cE thG, b/n nn vi#t l!u )\ thuCt ton thTc hi1n cc nhi1m vE cE thG. L u (M thu8t ton l s" (M di[n gi7i trnh t? th?c hi1n cc nhi1m v; mDt cch lgic v li4n m@ch. Vi$t l u (M thu8t ton ngay c7 cho cc ch "ng trnh h$t s0 c ("n gi7n l mD t thi quen rKt tHt ngay c7 khi b@n ( l mDt cao thB trong l8p trnh vi x5 l. ChC cAn mKt cht thFi gian th? c hi1n cng vi1c ny, b@n sL c ( 3c ci nhn vWa bao qut vWa chi ti$t (Hi v!i ch "ng trnh mnh (Onh vi$t, nhF ( m b@n l8p trnh nhanh h"n, hi1u qu7 h"n v d[ dng pht hi1n ra lR i v4 thu8t ton x5 l n$u ch "ng trnh ch@y khng nh muHn. NHi v!i b7n thn ti m ni, ti cho rXng vi$t cc dng l1nh cho mDt vi x5 l khng ph7i l kh, ng 3c l@i n rKt d[, ci kh l b@n ph7i bi$t ( 3c mnh ph7i vi$t nh+ng g hay ni (ng h"n l ph7i tm ra mD t l u (M thu8t ton (ng (Yn. Khi ( tm ra con ( Fng ( i (ng v hi1u qu7, tKt c7 nh+ng g cn l@i ph7i lm l th) hi1n cc thao tc x5 l ( bXng cch l1nh cBa vi x 5 l - m Dt cng vi1c m bKt c0 ai nYm r t8p l1nh cBa vi x5 l ( (4u c th) lm tHt. Khi l u (M thu8t ton b @n l8p ra l (ng, n$u sau khi l8p trnh m vi x5 l ho@t (Dng khng nh mong muHn th lRi chC c th) l do b@n ch a th) hi1n bXng cc dng l1nh m Dt cch (ng (Yn nh+ng g ( l8p ra m thi. DAn dAn, kinh nghi1m tch lJy ( 3c sL chC cho b@n cch th) hi1n (ng mDt l u (M bKt kb th8m ch ngay Z lAn (Au tin v theo nh cch chng ti vVn ni (a trong chuyn mn, trnh (D l8p trnh cBa b@n ( (@t ($n cKp (D plug and play!

10
PDF created with pdfFactory Pro trial version www.pdffactory.com

Written by Nguyen Xuan Kien

Basic Knowledges Of Microprocessor Technique Ch!+ng trnh sS )!*c vi#t trong mFt file m ngu\n (th!5ng c )ui l ASM). Ph Wn m ?m trn my tnh c tn l Trnh bin dIch (Compiler) sS dIch file m ngu\n sang mFt file c )ui l OBJ. File ny ch0a thng tin cAn thi$t () c th) chuy)n (Qi sang file c ( ui HEX hay file c (ui BIN (l cc file ch0a m ch "ng trnh ( ( 3c chuy)n sang d@ng Hexa hay Binary) () c th) n@p vo trong bD nh! ch "ng trnh cBa vi x5 l. Trong khi lCp trnh, hy )V c bi1t l!u )#n cc tnh hu7ng rS nhnh c2a ch!+ng trnh. Cc tnh huHng ( bao gMm cc l1nh nh7 y v (i4u ki1n, cc l1nh nh7y c (i4u ki1n, cc l1nh gI i ch "ng trnh con, cc tnh huH ng x7y ra ngYt v ( "ng nhin ph7i ch ($n cc phAn c0ng lin quan nh ng-n x$p hay cc cF tr@ng thi. V:i m]i lo/i vi xD l/vi )i?u khiGn l/i c nhi?u hng cung c>p cc phWn m?m trn my tnh dng )G so/n th@o v bin dIch. Cc phAn m4m ny c cc tW kha khc nhau m ng Fi l8p trnh ph7i tun thB khi s5 d ;ng. TW kha l cc k hi1u ( 3c th) hi1n bXng cc k t?, ( 3c vi$t trong file m nguMn nh ng n khng ph7i l l1nh cBa vi x5 l, ( "ng nhin khng ( 3c dOch ra m my, ( chC l cc chC dVn cho phAn m 4m trn my tnh th?c hi1n bin d Och cc file m nguMn sang m my mDt cch chnh xc.

11
PDF created with pdfFactory Pro trial version www.pdffactory.com

Written by Nguyen Xuan Kien

You might also like