You are on page 1of 25

Lm quen vi vi iu khin 8051 - cu trc phn cng v cch lp trnh phn mm

Cu trc bus
Bus a ch ca h vi iu khin 8051 gm 16 ng tn hiu (thng gi l bus a ch 16 bit). Vi s lng bit a ch nh trn, khng gian nh ca chip c m rng ti a l 216 = 65536 a ch, tng ng 64K. Bus d liu ca h vi iu khin 8051 gm 8 ng tn hiu (thng gi l bus d liu 8 bit), l l do ti sao ni 8051 l h vi iu khin 8 bit. Vi rng ca bus d liu nh vy, cc chip h 8051 c th x l cc ton hng 8 bit trong mt chu k lnh.

B nh chng trnh
Vi iu khin h 8051 c khng gian b nh chng trnh l 64K a ch, cng l dung lng b nh chng trnh ln nht m mi chip thuc h ny c th c c. B nh chng trnh ca cc chip h 8051 c th thuc mt trong cc loi: ROM, EPROM, Flash, hoc khng c b nh chng trnh bn trong chip. Tn ca tng chip th hin chnh loi b nh chng trnh m n mang bn trong, c th l vi v d sau: STT Tn chip ROM EPROM Flash 1 8051 4 Kbyte x x 2 8052 8 Kbyte x x 3 8031 x x x 4 8032 x x x 5 87C51 x 4 Kbyte x 6 87C52 x 8 Kbyte x 7 AT89C51 / AT89S51 x x 4 Kbyte 8 AT89C52 / AT89S52 x x 8 Kbyte

B nh d liu
Vi iu khin h 8051 c khng gian b nh d liu l 64K a ch, cng l dung lng b nh d liu ln nht m mi chip thuc h ny c th c c (nu phi ghp mt cch chnh tc, s dng cc ng tn hiu ca bus a ch v d liu). B nh d liu ca cc chip h 8051 c th thuc mt hay hai loi: SRAM hoc EEPROM. B nh d liu SRAM c tch hp bn trong mi chip thuc h vi iu khin ny, c dung lng khc nhau ty loi chip, nhng thng ch khong vi trm byte. y chnh l ni cha cc bin trung gian trong qu trnh hot ng ca chip. khi mt in, do bn cht ca SRAM m gi tr ca cc bin ny cng b mt theo. Khi c in tr li, ni dung ca cc nh cha cc bin ny cng l bt k, khng th xc nh trc. Bn cnh b nh loi SRAM, mt s chip thuc h 8051 cn c thm b nh d liu loi EEPROM vi dung lng ti a vi Kbyte, ty tng loi chip c th. Di y l mt vi v d v b nh chng trnh ca mt s loi chip thng dng thuc h 8051. STT Tn chip B nh SRAM B nh EEPROM 1 AT89C51 128 byte 0 2 AT89C52 256 byte 0 3 AT89C2051 128 byte 0 4 AT89S51 128 byte 0 5 AT89S52 256 byte 0 6 AT89S8252 256 byte 2048 byte

Nguyn Xun Kin MicroStudy Group

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

Lm quen vi vi iu khin 8051 - cu trc phn cng v cch lp trnh phn mm

Tng qut v b nh ca 8051, ta c th thy mi chip 8051 gm c nhng b nh sau:

64 Kbyte

Phn khng gian a ch cho b nh chng trnh cn trng, bng 64 Kbyte tr i lng b nh onchip

Phn khng gian a ch cho b nh d liu (hon ton trng rng 64K byte, dnh cho b nh d liu ghp thm bn ngoi nu c) B nh SRAM

B nh chng trnh onchip

Dung lng ty loi chip

i vi cc chip c b nh SRAM 128 byte th a ch ca cc byte SRAM ny c nh s t 00h n 7Fh. i vi cc chip c b nh SRAM 256 byte th a ch ca cc byte SRAM c nh s t 00h n FFh. c hai loi chip, SRAM c a ch t 00h n 7Fh c gi l vng RAM thp, phn c a ch t 80h n FFh (nu c) c gi l vng RAM cao. Bn cnh cc b nh, bn trong mi chip 8051 cn c mt tp hp cc thanh ghi chc nng c bit (SFR Special Function Register). Cc thanh ghi ny lin quan n hot ng ca cc ngoi vi onchip (cc cng vo ra, timer, ngt ...). a ch ca chng trng vi di a ch ca vng SRAM cao, tc l cng c a ch t 80h n FFh.

Vng RAM cao, c a ch t 80h n FFh

Vng SFR, cng c a ch t 80h n FFh

Vng RAM thp c a ch t 00h n 7Fh

Nguyn Xun Kin MicroStudy Group

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

Lm quen vi vi iu khin 8051 - cu trc phn cng v cch lp trnh phn mm

Vy khi truy cp vo mt a ch thuc di t 00h n 7Fh th s truy cp n nh thuc vng RAM thp. Tuy nhin khi truy cp n mt a ch x thuc di t 80h n FFh th xy ra vn cn gii quyt: s truy cp n thanh ghi SFR a ch x hay truy cp n nh a ch x ca vng RAM cao? Nh sn xut quy nh rng, trong trng hp ny, nu kiu truy cp s dng ch a ch trc tip th s truy cp vo vng SFR, ngc li nu kiu truy cp s dng ch a ch gin tip th s truy cp vo vng RAM cao.

Bn cc thanh ghi SFR

Nguyn Xun Kin MicroStudy Group

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

Lm quen vi vi iu khin 8051 - cu trc phn cng v cch lp trnh phn mm

Nhc li v b nh ca 8501
8051 c 2 khng gian a ch dnh cho b nh chng trnh v b nh d liu ring bit. C 2 khng gian ny u c 16bit a ch, do c th cha c ti a 216 = 64K = 65536 nh mi loi. B nh onchip ca 8051 gm c 4 Kbyte b nh chng trnh (ROM, EPROM, EEPROM hoc Flash ty loi bin th) v 128byte b nh d liu (RAM). 4 Kbyte b nh chng trnh onchip nm trong khng gian a ch 64 Kbyte dnh cho b nh chng trnh (thuc di a ch t 0x0000 n 0x0FFF).

64K

4K

Ngc li, 128 byte RAM onchip li khng nm trong khng gian a ch 64 Kbyte dnh cho b nh d liu. Ta c th tng tng khng gian b nh chng trnh l mt chic thng c lp y 1/16 dung tch bi 4 Kbyte b nh onchip, cn khng gian b nh d liu l mt thng to dung tch 64 Kbyte rng hon ton v mt hp nh dung tch 128 byte (a ch t 0x00 n 0x7F) nm ring r bn cnh.

64K

128 byte B nh chng trnh dng cha m ca chng trnh np vo chip. Mi lnh c m ha bi 1 hay vi byte, dung lng ca b nh chng trnh phn nh s lng lnh m b nh c th cha c. a ch u tin ca b nh chng trnh (0x0000) chnh l a ch Reset ca 8051. Ngay sau khi reset (do tt bt ngun, do mc in p ti chn RESET b ko ln 5V...), CPU s nhy n thc hin lnh t ti a ch ny trc tin, lun lun l nh vy. Phn cn trng trong khng gian chng trnh khng dng lm g c. Nu mun m rng b nh chng trnh, ta phi dng b nh chng trnh bn ngoi c dung lng nh mun. Tuy nhin khi dng b nh chng trnh ngoi, b nh chng trnh onchip khng dng c na, b nh chng trnh ngoi s chim di a ch ngay t a ch 0x0000. B nh d liu RAM onchip thng dng cha cc bin tm thi trong qu trnh vi iu khin hot ng, cng l ni dnh cho ngn xp hot ng.

Nguyn Xun Kin MicroStudy Group

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

Lm quen vi vi iu khin 8051 - cu trc phn cng v cch lp trnh phn mm

Khng gian d liu 64Kbyte c trng hon ton v ch dng c khi ghp ni vi b nh d liu bn ngoi. Khi ghp ni thm b nh d liu bn ngoi, dung lng ca cc b nh ny s chim dn cc v tr trong khng gian, tuy nhin khng h nh hng n 128byte RAM onchip. Ngn xp trong 8051 lin quan n mt thanh ghi tn l con tr ngn xp SP (Stack Pointer). Thanh ghi ny lun tr vo nh ca ngn xp, tc l n cha a ch ca v tr ngay st v tr c th lu a ch/d liu tip theo vo. Khi ct 1 byte a ch/d liu vo ngn xp, SP t ng tng ln 1 n v sau mi ct a ch/d liu vo nh c a ch bng vi gi tr ca SP sau khi tng. Khi ly 1 byte a ch/d liu ra khi ngn xp, gi tr s c ly ra sau SP mi t ng tr i 1 n v. Gi tr sau khi reset ca SP l 0x07, do quy nh ngn xp s ct d liu t a ch 0x08 tr i. Tuy nhin do c tnh hot ng bnh trng theo chiu tng a ch m ngn xp thng c b tr ln vng trn cng ca b nh RAM onchip trnh tranh chp vi cc bin lu trong RAM.

M t b nh chng trnh ca 8051:

Thn chng trnh (chng trnh chnh, chng trnh con, chng trnh x l ngt, bng cc hng s ...) Vector ngt th n ... Vector ngt th 1 a ch reset

0x0FFF

0x0030

0x0003 0x0000

Nguyn Xun Kin MicroStudy Group

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

Lm quen vi vi iu khin 8051 - cu trc phn cng v cch lp trnh phn mm

M t b nh d liu RAM ca 8051:

0x7F Vng RAM thng (khng nh a ch bit c) 0x30 Vng RAM 16 byte c th nh a ch bit t 0x00 n 0x7F 4 bng thanh ghi mi bng c 8 thanh ghi R0..7 0x2F

0x20 0x1F 0x00

8052 c thm vng RAM cao (a ch cng t 0x80 n 0xFF) nhng truy nhp phi theo ch a ch gin tip phn bit vi vng SFR

y l vng cc thanh ghi chc nng c bit SFR (Special Function Register) c c 8051 v 8052. Truy nhp (ghi/c) vng ny l truy nhp vo cc a ch t 0x80 n 0xFF nhng phi theo ch a ch trc tip

Nguyn Xun Kin MicroStudy Group

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

Lm quen vi vi iu khin 8051 - cu trc phn cng v cch lp trnh phn mm

Cng vo/ra song song (Parrallel I/O Port) trong 8051


8051 c 4 cng vo ra song song, c tn ln lt l P0, P1, P2 v P3. Tt c cc cng ny u l cng vo ra hai chiu 8bit. Cc bit ca mi cng l mt chn trn chip, nh vy mi cng s c 8 chn trn chip. Hng d liu (dng cng lm cng ra hay cng vo) l c lp gia cc cng v gia cc chn (cc bit) trong cng mt cng. V d, ta c th nh ngha cng P0 l cng ra, P1 l cng vo hoc ngc li mt cch ty , vi c 2 cng P2 v P3 cn li cng vy. Trong cng mt cng P0, ta cng c th nh ngha chn P0.0 l cng vo, P0.1 li l cng ra ty . Lin quan n mi cng vo/ra song song ca 8051 ch c mt thanh ghi SFR ( thanh ghi chc nng c bit) c tn trng vi tn ca cng. Ta c cc thanh ghi P0 dng cho cng P0, thanh ghi P1 dng cho cng P1 y l cc thanh ghi nh a ch n tng bit (bit addressable), do ta c th dng cc lnh tc ng bit i vi cc bit ca cc thanh ghi ny. Mi thanh ghi ny gm 8 bit tng ng vi cc chn (bit) ca cng . Khi mt chn (bit) cng no c dng lm cng vo th trc bit tng ng trong thanh ghi SFR phi c t mc 1. Nu mt chn (bit) cng no c dng lm cng ra th gi tr ca bit tng ng trong thanh ghi SFR s l gi tr lgic mun a ra chn cng . Nu mun a ra mc lgic cao (in p gn 5V), bit tng ng trong thanh ghi phi c t bng 1, hin nhin nu mun a ra mc lgic thp (in p gn 0V) th bit tng ng trong thanh ghi phi c t bng 0. Nh ni trn, cc bit trong thanh ghi cng c th c t bng 1/0 m khng lm nh hng n cc bit cn li trong cng bng cch dng cc lnh setb (t ln 1) hay clr (t v 0). Sau khi t mt chn cng lm cng vo, ta c th dng cc lnh kim tra bit c vo v kim tra cc mc lgic ca mch ngoi ang p vo l mc 0 hay mc 1. Cc lnh ny l jb (nhy nu bit bng 1), jnb (nhy nu bit bng 0). Mi cng c cu trc gm mt latch (chnh l cc bit ca thanh ghi cng), mch li u ra (output driver) v mch m u vo (input buffer). Ngoi chc nng vo/ra thng thng, mt s cng cn c tch hp thm chc nng ca mt s ngoi vi khc. Xem bng lit k sau:

Cc chn cng P1.0 v P1.1 c tch hp vi cc tn hiu ca timer2 trong trng hp chip l 8052. Khi dng vi cc chc nng ca cc ngoi vi, chn cng tng ng phi c t ln 1. Nu khng cc tn hiu s lun b ghim mc 0.

Nguyn Xun Kin MicroStudy Group

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

Lm quen vi vi iu khin 8051 - cu trc phn cng v cch lp trnh phn mm

S ca mch ca mt chn cng:

Cng P0 khng c in tr treo cao (pullup resistor) bn trong, mch li to mc cao ch c khi s dng cng ny vi tnh nng l bus dn knh a ch/d liu. Nh vy vi chc nng ra thng thng, P0 l cng ra open drain, vi chc nng vo, P0 l cng vo cao tr (high impedance). Nu mun s dng cng P0 lm cng vo/ra thng thng, ta phi thm in tr pullup bn ngoi. Gi tr in tr pullup bn ngoi thng t 4K7 n 10K. Cc cng P1, P2 v P3 u c in tr pullup bn trong, do c th dng vi chc nng cng vo/ra thng thng m khng cn c thm in tr pullup bn ngoi. Thc cht, in tr pullup bn trong l cc FET, khng phi in tr tuyn tnh thng thng, tuy vy nhng kh nng phun dng ra ca mch li khi u ra mc cao (hoc khi l u vo) rt nh, ch khong 100 micro Ampe. Trong datasheet ca AT89S5x (mt trong nhng bin th ca h 8051 do Atmel sn xut) c thng k s liu nh sau:

Theo , nu ta thit k cc cng phi cung cp cho ti u ra mc cao mt lng dng in IOH = 60 micro Ampe th mc in p u ra VOH s b ko st xung, ch c th m bo t 2.4V tr ln bi nh sn xut, khng th cao st vi 5V nh l thuyt.

Nguyn Xun Kin MicroStudy Group

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

Lm quen vi vi iu khin 8051 - cu trc phn cng v cch lp trnh phn mm

Trong khi , kh nng nut dng ca mch li khi u ra mc thp li cao hn rt nhiu, c th t t vi n hng chc mili Ampe.

Nh vy, khi thit k vi cc phn t bn ngoi, ta nn n c tnh vo/ra ca cc chn cng. V d khi dng ghp ni vi LED n hoc LED 7 thanh, ta nn thit k chn cng nut dng t LED lm LED sng (cng ni vi Cathode ca LED), khng nn thit k chn cng phun dng cho LED lm LED sng (cng ni vi Anode ca LED).

C ch ngt ca 8051
8051 ch c mt s lng kh t cc ngun ngt (interrupt source) hoc c th gi l cc nguyn nhn ngt. Mi ngt c mt vector ngt ring, l mt a ch c nh nm trong b nh chng trnh, khi ngt xy ra, CPU s t ng nhy n thc hin lnh nm ti a ch ny. Bng tm tt cc ngt trong 8051 nh sau: STT Tn ngt M t C ngt IE0 Thanh ghi cha c TCON Vector ngt 0x0003

1 INT0

2 Timer0

3 INT1

4 Timer1

5 Serial Port

Ngt ngoi 0 khi c tn hiu tch cc theo kiu chn chn P3.2 Ngt trn timer0 khi gi tr timer0 trn t gi tr max v gi tr min Ngt ngoi 1 khi c tn hiu tch cc theo kiu chn chn P3.3 Ngt trn timer1 khi gi tr timer1 trn t gi tr max v gi tr min Ngt cng ni tip khi vi iu khin nhn hoc truyn xong mt byte bng cng ni tip

TF0

TCON

0x000B

IE1

TCON

0x0013

TF1

TCON

0x001B

TI, RI

SCON

0x0023

Vi 8052, ngoi cc ngt trn cn c thm ngt ca timer2 (do vi iu khin ny c thm timer2 trong s cc ngoi vi onchip).

Nguyn Xun Kin MicroStudy Group

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

Lm quen vi vi iu khin 8051 - cu trc phn cng v cch lp trnh phn mm

Mi ngt c dnh cho mt vector ngt ko di 8byte. V mt l thuyt, nu chng trnh ngn, m to ra cha trong 8 byte, ngi lp trnh hon ton c th t phn chng trnh x l ngt ngay ti vector ngt. Tuy nhin trong hu ht cc trng hp, chng trnh x l ngt c dung lng m to ra ln hn 8byte nn ti vector ngt, ta ch t lnh nhy ti chng trnh x l ngt nm vng nh khc. Nu khng lm vy, m chng trnh x l ngt ny s ln sang, vo vector ngt k cn. Lin quan n ngt ch yu c hai thanh ghi l thanh ghi IE v thanh ghi IP.

cho php mt ngt, bit tng ng vi ngt v bit EA phi c t bng 1. Thanh ghi IE l thanh ghi nh a ch bit, do c th dng cc lnh tc ng bit tc ng ring r ln tng bit m khng lm nh hng n gi tr cc bit khc. C ngt hot ng c lp vi vic cho php ngt, iu c ngha l c ngt s t ng t ln bng 1 khi c s kin gy ngt xy ra, bt k s kin c c cho php ngt hay khng. Do vy, trc khi cho php mt ngt, ta nn xa c ca ngt m bo sau khi cho php, cc s kin gy ngt trong qu kh khng th gy ngt na. V d trc khi cho php ngt timer0 m timer 0 chy v trn (d l trn mt hay nhiu ln) th c TF0 s bng 1, nu sau ta cho php ngt timer0 th s gy ra ngt ngay do c trn ang bng 1 (s kin trn gy ngt trong trng hp ny l trn trong qu kh, khng phi s kin ta quan tm n). V vy hy xa c TF0 trc khi cho php ngt trn timer0. Ngoi tr c ca ca ngt ni tip (v c ca ngt timer2 trong 8052), cc c ngt khc u t ng c xa khi CPU thc hin chng trnh phc v ngt. L do l ngt cng ni tip (v ngt timer2 trong 8052) c gy ra bi 2 nguyn nhn (c 2 c cho mi ngt), khi xy ra ngt, ngi lp trnh cn phi kim tra xem c no c t bng 1 phn bit nguyn nhn gy ra ngt l nguyn nhn no x l thch hp. V d ngt cng ni tip l ngt c gy ra bi 1 trong 2 nguyn nhn: vi iu khin nhn xong hoc truyn xong mt byte d liu qua cng ni tip. Xy ra s kin no th c ngt tng ng s t ng c t ln bng 1, nu nhn xong th c RI bng 1, nu truyn xong th c TI bng 1. Trong chng trnh x l ngt, ngi lp trnh phi kim tra c TI hay c RI bng 1 quyt nh x l ngt truyn hay x l ngt nhn. Sau khi kim tra,

Nguyn Xun Kin MicroStudy Group

10

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

Lm quen vi vi iu khin 8051 - cu trc phn cng v cch lp trnh phn mm

ngi lp trnh phi vit lnh xa c v vic ny khng c CPU thc hin t ng nh cc c ngt khc. Ni n ngt khng th khng ni n mc u tin ca ngt. Mc u tin ca ngt y c th c hiu l s phn bc, quyt nh x l ngt no khi hai hay nhiu ngt xy ra. C 2 c ch phn bc u tin. Th nht l c ch phn bc dnh cho cc ngt xy ra ng thi, hai ngt A v B xy ra cng mt thi im nhn t pha vi iu khin. Th hai l c ch phn bc dnh cho cc ngt xy ra xen k nhau, trong khi ang x l ngt A th ngt B xy ra, vy th trong tng trng hp, CPU s x l ra sao? Hy xem di y. Vi trng hp cc ngt xy ra ng thi, CPU s xem xt mc u tin ca cc ngt , t quyt nh x l ngt c mc u tin cao hn trc. Mc u tin trong trng hp ny l mc u tin cng (c quy nh bi nh sn xut, bi cu trc sn c ca 8051 v ngi lp trnh khng th thay i c).

Nhn vo bng trn ta thy ngt INT0 l ngt c mc u tin cao nht v ngt timer2 l ngt c mc u tin thp nht trong s cc ngt. Nh vy nu ngt ngoi 1 v ngt timer0 cng xy ra mt lc, ngt ngoi 1 s c CPU x l trc, sau mi x l ngt timer0. Vi trng hp xy ra ngt xen k, khi CPU ang x l ngt A m ngt B xy ra, CPU s gii quyt theo 2 hng: tip tc x l ngt A nu mc u tin ca ngt B khng cao hn mc u tin ca ngt A, hoc s dng vic x l ngt A li, chuyn sang x l ngt B nu mc u tin ca ngt B cao hn mc u tin ca ngt A. Mc u tin cho cc ngt trong trng hp ny khng phi l mc u tin cng do nh sn xut quy nh (tc l khng cn c vo bng trn) m l do ngi lp trnh t. Ngi lp trnh c th dng thanh ghi IP quy nh mc u tin cho cc ngt mt trong hai mc: mc cao v mc thp. t mc u tin ca mt ngt (trong trng hp xy ra xen k) mc cao, ta t bit tng ng vi ngt trong thanh ghi IP bng 1, mc thp ng vi gi tr bit = 0. Thanh ghi IP (Interrupt Priority) PT2

PS

PT1

PX1

PT0

PX0

Cc bit trong thanh ghi IP tng ng vi cc ngt ng nh trong thanh ghi IE (bit PX0 dnh cho ngt ngoi 0, bit PT0 dnh cho ngt timer 0)

Nguyn Xun Kin MicroStudy Group

11

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

Lm quen vi vi iu khin 8051 - cu trc phn cng v cch lp trnh phn mm

Mt iu d nhn ra l nu mt ngt c t mc u tin cao (bit tng ng trong thanh ghi IP bng 1) th s chng c ngt no c th xen vo qu trnh x l n c na. Ni v mc u tin ngt, c th dng mt v d tng qut sau, gi s hai ngt timer0 v ngt cng ni tip cng c cho php (cc bit tng ng v bit EA trong thanh ghi IE c t bng 1), bit PT0 = 0, bit PS = 1 th: - Nu hai ngt cng xy ra, ngt timer0 s thng th v c phc v trc. - Nu ngt cng ni tip xy ra trc v ang c x l th ngt timer0 nu c xy ra cng khng th chen vo, lm dng qu trnh x l ngt cng ni tip c. - Nu ngt timer0 xy ra trc v ang c x l m ngt cng ni tip xy ra th CPU s phi dng vic x l ngt timer0 li, chuyn sang x l ngt cng ni tip, x l xong mi quay li x l tip ngt timer0.

Ngt ngoi (External Interrupt)


Nh ni trn, 8051 c 2 ngt ngoi l INT0 v INT1. Ngt ngoi c hiu l ngt c gy ra bi s kin mc lgic 0 (mc in p thp, gn 0V) hoc sn xung (s chuyn mc in p t mc cao v mc thp) xy ra chn ngt tng ng (P3.2 vi ngt ngoi 0 v P3.3 vi ngt ngoi 1). Vic la chn kiu ngt c thc hin bng cc bit IT (Interrupt Type) nm trong thanh ghi TCON. y l thanh ghi iu khin timer nhng 4 bit LSB (bit0..3) c dng cho cc ngt ngoi.

Khi bit ITx = 1 th ngt ngoi tng ng c chn kiu l ngt theo sn xung, ngc li nu bit ITx = 0 th ngt ngoi tng ng c s c kiu ngt l ngt theo mc thp. Cc bit IE l cc bit c ngt ngoi, ch c tc dng trong trng hp kiu ngt c chn l ngt theo sn xung. Khi kiu ngt theo sn xung c chn th ngt s xy ra duy nht mt ln khi c sn xung ca tn hiu, sau khi tn hiu mc thp, hoc c sn ln, hoc mc cao th cng khng c ngt xy ra na cho n khi c sn xung tip theo. C ngt IE s dng ln khi c sn xung v t ng b xa khi CPU bt u x l ngt. Khi kiu ngt theo mc thp c chn th ngt s xy ra bt c khi no tn hiu ti chn ngt mc thp. Nu sau khi x l xong ngt m tn hiu vn mc thp th li ngt tip, c nh vy cho n khi x l xong ngt ln th n , tn hiu ln mc cao ri th thi khng ngt na. C ngt IE trong trng hp ny khng c ngha g c. Thng thng kiu ngt hay c chn l ngt theo sn xung.

Cc timer/counter trong 8051


8051 c 2 timer tn l timer0 v timer1. Cc timer ny u l timer 16bit, gi tr m max do bng 216 = 65536 (m t 0 n 65535). Hai timer c nguyn l hot ng hon ton ging nhau v c lp. Sau khi cho php chy, mi khi c thm mt xung ti u vo m, gi tr ca timer Nguyn Xun Kin MicroStudy Group 12

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

Lm quen vi vi iu khin 8051 - cu trc phn cng v cch lp trnh phn mm

s t ng c tng ln 1 n v, c nh vy cho n khi gi tr tng ln vt qu gi tr max m thanh ghi m c th biu din th gi tr m li c a tr v gi tr min (thng thng min = 0). S kin ny c hiu l s kin trn timer (overflow) v c th gy ra ngt nu ngt trn timer c cho php (bit ETx trong thanh ghi IE = 1). Vic cho timer chy/dng c thc hin bi cc bit TR trong thanh ghi TCON (nh a ch n tng bit).

Khi bit TRx = 1, timerx s m, ngc li khi TRx = 0, timerx s khng m mc d vn c xung a vo. Khi dng khng m, gi tr ca timer c gi nguyn. Cc bit TFx l cc c bo trn timer, khi s kin trn timer xy ra, c s c t ng t ln bng 1 v nu ngt trn timer c cho php, ngt s xy ra. Khi CPU x l ngt trn timerx, c ngt TFx tng ng s t ng c xa v 0. Gi tr m 16bit ca timerx c lu trong hai thanh ghi THx (byte cao) v TLx (byte thp). Hai thanh ghi ny c th ghi/c c bt k lc no. Tuy nhin nh sn xut khuyn co rng nn dng timer (cho bit TRx = 0) trc khi ghi/c cc thanh ghi cha gi tr m. Cc timer c th hot ng theo nhiu ch , c quy nh bi cc bit trong thanh ghi TMOD (khng nh a ch n tng bit).

xc nh thi gian, ngi ta chn ngun xung nhp (clock) a vo m trong timer l xung nhp bn trong (dnh cho CPU). Ngun xung nhp ny

Nguyn Xun Kin MicroStudy Group

13

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

Lm quen vi vi iu khin 8051 - cu trc phn cng v cch lp trnh phn mm

thng rt u n (c tn s n nh), do t s m ca timer ngi ta c th nhn vi chu k xung nhp tnh ra thi gian tri qua. Timer lc ny c gi chnh xc vi ci tn timer, tc b nh thi. m cc s kin bn ngoi, ngi ta chn ngun xung nhp a vo m trong timer l tn hiu t bn ngoi ( c chun ha v dng xung vung 0V/5V). Cc tn hiu ny s c ni vi cc bit cng c dn knh thm cc tnh nng T0/T1/T2. Khi c s kin bn ngoi gy ra thay i mc xung u vo m, timer s t ng tng ln 1 n v ging nh trng hp m xung nhp bn trong. Lc ny, timer c gi chnh xc vi ci tn khc: counter, tc b m (s kin). Nhn vo bng m t thanh ghi TMOD bn trn, ta c th nhn thy c 2 b 4 bit ging nhau (gm GATEx, C/Tx, Mx0 v Mx1) dnh cho 2 timer0 v 1. ngha cc bit l nh nhau i vi mi timer. Bit GATEx quy nh vic cho php timer m (run timer). Nu GATEx = 0, timerx s m khi bit TRx bng 1, dng khi bit TRx bng 0. Nu GATEx = 1, timerx s ch m khi bit TRx = 1 v tn hiu ti chn INTx = 1, dng khi mt trong hai iu kin trn khng cn tha mn. Thng thng ngi ta dng timer vi GATE = 0, ch dng timer vi GATE = 1 trong trng hp mun o rng xung v lc timer s ch m thi gian khi xung a vo chn INTx mc cao. Bit C/Tx quy nh ngun clock a vo m trong timer. Nu C/Tx = 0, timer s c cu hnh l b nh thi, nu C/Tx = 1, timer s c cu hnh l b m s kin. Hai bit cn li (Mx0 v Mx1) to ra 4 t hp cc gi tr (00,01,10 v 11) ng vi 4 ch hot ng khc nhau ca timerx. Trong 4 ch thng ch dng ch timer/counter 16bit (Mx1 = 0, Mx0 = 1) v ch Auto Reload 8bit timer/counter (Mx1 = 1, Mx0 = 0). Trong ch timer/counter 16bit, gi tr m (cha trong hai thanh ghi THx v TLx) t ng c tng ln 1 n v mi ln nhn c thm mt xung nhp. Khi gi tr m tng vt qu gi tr max = 65535 th s trn v 0, c ngt TFx c t ng t = 1. Ch ny c dng trong cc ng dng m thi gian v m s kin. Trong ch Auto Reload 8bit, gi tr m s ch c cha trong thanh ghi TLx, cn gi tr ca thanh ghi THx bng mt s n (t 0 n 255) do ngi lp trnh a vo. Khi c thm 1 xung nhp, gi tr m trong TLx ng nhin cng tng ln 1 n v nh bnh thng. Tuy nhin trong trng hp ny, gi tr m ln nht l 255 ch khng phi 65535 nh trng hp trn v timer/counter ch cn 8bit. Do vy s kin trn lc ny xy ra nhanh hn, ch cn vt qu 255 l gi tr m s trn. C ngt TFx vn c t ng t = 1 nh trong trng hp trn 16bit. im khc bit l thay v trn v 0, gi tr THx s c t ng np li (Auto Reload) vo thanh ghi TLx, do timer/counter sau khi trn s c gi tr bng n (gi tr cha trong THx) v s m t gi tr n tr i. Ch ny c dng trong vic to Baud rate cho truyn thng qua cng ni tip. s dng timer ca 8051, hy thc hin cc bc sau: - Quy nh ch hot ng cho timer bng cch tnh ton v ghi gi tr cho cc bit trong thanh ghi TMOD. - Ghi gi tr m khi u mong mun vo 2 thanh ghi m THx v TLx. i khi ta khng mun timer/counter bt u m t 0 m t mt gi tr no thi im trn gn hn, hoc chn hn trong tnh ton sau ny. V d nu cho timer m t 15535 th sau 50000 xung nhp (tc 50000 micro

Nguyn Xun Kin MicroStudy Group

14

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

Lm quen vi vi iu khin 8051 - cu trc phn cng v cch lp trnh phn mm

giy vi thch anh 12MHz) timer s trn, v thi gian mt giy c th d dng tnh ra kh chnh xc = 20 ln trn ca timer (ng nhin mi ln trn li phi np li gi tr 15535). t mc u tin ngt v cho php ngt trn timer (nu mun). Dng bit TRx trong thanh ghi TCON cho timer chy hay dng theo mun.

Cng ni tip (Serial Port) ca 8051


Cng ni tip trong 8051 ch yu c dng trong cc ng dng c yu cu truyn thng vi my tnh, hoc vi mt vi iu khin khc. Lin quan n cng ni tip ch yu c 2 thanh ghi: SCON v SBUF. Ngoi ra, mt thanh ghi khc l thanh ghi PCON (khng nh a ch bit) c bit 7 tn l SMOD quy nh tc truyn ca cng ni tip c gp i ln (SMOD = 1) hay khng (SMOD = 0). D liu c truyn nhn ni tip thng qua hai chn cng P3.0(RxD) v P3.1(TxD). Thanh ghi SBUF l thanh ghi 8bit cha d liu truyn hoc nhn. V thc cht c hai thanh ghi d liu khc nhau, mt dnh cha d liu truyn i, mt cha d li nhn c. C hai thanh ghi ny u c chung mt tn l SBUF, tuy nhin CPU hon ton phn bit c mt cch d dng. Khi ta mun truyn d liu i, ta phi ghi vo thanh ghi SBUF (v d vit lnh mov SBUF,a), cn khi mun c kim tra d liu nhn v ta phi c thanh ghi SBUF (v d vit lnh mov a,SBUF). CPU s cn c vo vic thanh ghi SBUF nm v tr ton hng ch (ton hng bn tri) hay ton hng ngun (ton hng bn phi) quyt nh s truy nhp (c/ghi) thanh ghi SBUF no. Ngi lp trnh khng cn phi quan tm x l vn ny. Thanh ghi quy nh ch hot ng v iu khin cng ni tip l thanh ghi SCON (nh a ch bit). SM0 SM1 SM2 REN TB8 RB8 TI RI

Bit SM0, SM1, SM2 quy nh ch hot ng ca cng ni tip. Thng thng truyn thng gia 2 vi iu khin hoc gia 1 vi iu khin v 1 my tnh, gi tr ca bit SM2 c t bng 0. Khi truyn thng theo kiu mng a vi x l (multiprocessor communication), SM2 c t bng 1. Hai bit SM0 v SM1 thc s l cc bit quy nh ch hot ng ca cng ni tip, chng to ra 4 t hp (00,01,10 v 11) ng vi 4 ch hot ng m t trong bng sau. SM0 0 0 1 1 SM1 0 1 0 1 Ch 0 - ng b 1 - D b 2 - D b 3 - D b Khung d liu Baud rate 8 bit SBUF Fosc/12 8 bit SBUF Thay i c 8bit SBUF + Fosc/32 hoc RB8/TB8 Fosc/64 8bit SBUF + Thay i c RB8/TB8

Ch 0: l ch truyn ng b duy nht. Chn RxD s l tn hiu truyn/nhn d liu, chn TxD l tn hiu xung nhp. Bit LSB (bit 0) ca d liu c truyn i trc tin. Tc truyn c nh v bng 1/12 gi tr thch anh.

Nguyn Xun Kin MicroStudy Group

15

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

Lm quen vi vi iu khin 8051 - cu trc phn cng v cch lp trnh phn mm

Ch 1: l ch truyn d b 8 bit. D liu 8 bit c ng khung bi mt bit Start (= 0) u v mt bit Stop (=1) cui trc khi c truyn i. Tc truyn thay i c theo ngi lp trnh. Ch 2: l ch truyn d b 9 bit. D liu 9 bit c ghp thnh bi 8bit trong thanh ghi SBUF v bit RB8 (trng hp nhn v) hoc TB8 (trng hp truyn i) trong thanh ghi SCON. Ngoi ra cc bit Start v Stop vn c gn bnh u v cui khung truyn. Trong ch ny, tc truyn ch c th chn c 1 trong 2 mc: 1/32 hoc 1/64 gi tr ca thch anh (ty thuc vo gi tr ca bit SMOD trong thanh ghi PCON ni trn). Ch 3: cng l ch truyn d b 9 bit, khc vi ch 2 ch tc truyn c th thay i c theo ngi lp trnh nh trong ch 1. Bit REN trong thanh ghi SCON l bit cho php nhn d liu. D liu ch c nhn qua cng ni tip khi bit ny = 1. Bit TB8 l bit d liu th 9 trong trng hp truyn i 9 bit (8 bit kia trong thanh ghi SBUF). Bit RB8 l bit d liu th 9 trong trng hp nhn v 9 bit (8 bit kia trong thanh ghi SBUF). Bit TI l c ngt truyn, bo hiu vic truyn 1 khung d liu hon tt. Bit RI l c ngt nhn, bo hiu vic nhn 1 khung d liu hon tt. to ra tc truyn (Baud rate) ca cng ni tip trong 8051, phi dng n timer1 ch Auto Reload 8bit. Gi tr np li cha trong thanh ghi TH1 c tnh ton theo cng thc sau (ph thuc vo Baud rate mong mun v gi tr ca thch anh).

Tm li s dng cng ni tip ca 8051, hy thc hin cc bc sau: - Chn ch cho cng ni tip (ng b/d b, 8bit/9bit...), t chn c gi tr cho cc bit trong thanh ghi SCON. Lu xa cc bit TI v RI. - Chn tc truyn mong mun, t tnh ra gi tr ca thanh ghi TH1. Cho timer1 chy ch Auto Reload 8bit (khng dng ngt trn timer1). - t mc u tin ngt v cho php ngt cng ni tip nu mun. - Bt u qu trnh truyn d liu bng mt lnh ghi d liu mun truyn vo thanh ghi SBUF. Qu trnh truyn kt thc th c TI s t ng t ln 1. - Khi mt khung d liu c nhn y , c RI s t ng t ln 1 v ngi lp trnh lc ny c th dng lnh c thanh ghi SBUF ly d liu nhn c ra x l.

Nguyn Xun Kin MicroStudy Group

16

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

Lm quen vi vi iu khin 8051 - cu trc phn cng v cch lp trnh phn mm

Tp lnh ca 8051
Trc khi ni v tp lnh ca 8051 phi nhc ti thanh ghi PSW, l thanh ghi c cc bit phn nh trng thi hin thi ca CPU.

Cc bit c trong thanh ghi ny c t ng cp nht thng xuyn ngay sau tng lnh c CPU thc hin. Ngoi cc bit c, cc bit RS0 v RS1 cho php ngi lp trnh chn bank thanh ghi R dng hin ti l bank 0, 1, 2 hay 3. Cc ch a ch Ch a ch trc tip: ch dng cho cc ton hng nm trong vng RAM thp v vng thanh ghi chc nng t bit SFR. Ch a ch gin tip: dng cho cc ton hng nm trong RAM (c vng cao, vng thp v RAM ngoi), khng dng cho vng SFR. a ch ca ton hng s c cha trong mt thanh ghi con tr (R0 hoc R1 i vi RAM trong, DPTR i vi RAM ngoi). Thay v xut hin trc tip ngay trong cu lnh nh ch trc tip, ton hng khng xut hin m ch c thanh ghi con tr i din ng ra. c im d nhn ra l cc thanh ghi ny xut hin lun km theo k t @ pha trc. Ch a ch thanh ghi: dng cho trng hp ton hng l 1 trong 8 thanh ghi Ri trong bank thanh ghi c chn. Cc thanh ghi R trong trng hp ny khng c k t @ pha trc. Ch a ch thanh ghi c th: l ch a ch p dng cho nhng lnh ch tc ng ln mt thanh ghi duy nht no .

Nguyn Xun Kin MicroStudy Group

17

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

Lm quen vi vi iu khin 8051 - cu trc phn cng v cch lp trnh phn mm

Ch a ch tc thi: l ch a ch khi m gi tr ca ton hng c nu ra r rng ngay trong cu lnh. c im d dng nhn ra l cc ton hng ny lun km theo k t # pha trc. Ch a ch ch s: ch dnh cho lnh movc, l lnh c b nh chng trnh, thng dng cho vic tra bng. Trong cu lnh ny cng xut hin k t @ nhng sau l mt ton hng to thnh bi php cng mt thanh ghi 16bit (PC hoc DPTR) vi thanh ghi Acc. Thanh ghi 16bit cha a ch ca u mng, cn thanh ghi A cha lch ca nh cn c so vi u bng. Gi tr c ra s c ghi vo thanh ghi A (xem m t tp lnh bit chi tit hn). Khi lp trnh hp ng cho 8051, lu cc iu sau: - vit ng m lnh m nh sn xut quy nh, ng bao gi ngh n chuyn sng tc m lnh. Trnh hp ng s khng chp nhn bt k mt bin tu no, d l nh nht.. - ch s dng mt trong cc ch a ch dnh cho lnh . Khng phi lnh no cng cho php s dng vi tt c 6 ch a ch k trn, thm ch c nhng lnh ch cho php s dng vi 1 ch a ch duy nht. - tun theo cc c php m ch a ch chn yu cu. - c bit lu cc lnh c lin quan n cc c nh cc lnh cng c nh (ADDC), lnh tr (SUBB), cc lnh nhy c iu kin (JZ, JNZ, JC, JNC, CJNE ...) Cc c lun c cp nht gi tr mi mt cch t ng sau mi lnh c thc hin, do cn nm c cc tnh hung ca gi tr cc c trc khi vit cc lnh trn. - vit ng th t ton hng. Ton hng ngun nm bn phi, ton hng ch nm bn tri, gia cc ton hng ngn cch nhau bi du ,.

Cc k hiu dng trong vic m t tp lnh


A: B: Ri: Rn: Dptr: Direct: #data: #data16: <rel>: <addr11>: <addr16>: <bit>: thanh ghi cha (Accumulator). thanh ghi B. thanh ghi R0 hoc R1 ca bt k bng thanh ghi no trong 4 bng thanh ghi trong RAM. bt k thanh ghi no ca bt k bng thanh ghi no trong 4 bng thanh ghi trong RAM. thanh ghi con tr d liu (c rng 16bit c kt hp t 2 thanh ghi 8 bit l DPH v DPL). l mt bin 8 bit(hay chnh l nh) bt k trong RAM (tr 32 thanh ghi Rn u RAM). mt hng s 8 bit bt k. mt hng s 16 bit bt k. a ch bt k nm trong khong [PC-128 ; PC+127] a ch bt k nm trong khong 0 2Kbyte tnh t a ch ca lnh tip theo. a ch bt k trong khng gian 64K (p dng cho c khng gian nh chng trnh v khng gian nh d liu). bit bt k c th nh a ch c (khng dng cho cc bit khng nh c a ch).

Nguyn Xun Kin MicroStudy Group

18

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

Lm quen vi vi iu khin 8051 - cu trc phn cng v cch lp trnh phn mm

Cc lnh tc ng n cc c trong thanh ghi trng thi


STT Lnh C CY 0 ADD X 1 ADDC X 2 SUBB X 3 MUL 0 4 DIV 0 5 DA X 6 RRC X 7 RLC X 8 SETB C 1 9 CLR C 0 10 CPL C X 11 ANL C,<bit> X 12 ORL C,<bit> X 13 MOV C,<bit> X 14 CJNE X 0: c b xa v 0. 1: c b set ln 1. X: c b thay i ty theo kt qu ca vic thc hin lnh. C OV X X X X X C AC X X X

Cc lnh tnh ton s hc


STT M lnh 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ADD ADD ADD ADD ADDC ADDC ADDC ADDC SUBB SUBB SUBB SUBB INC INC INC INC DEC DEC C php lnh Ton hng M t S byte m ha 1 2 1 2 1 2 1 2 1 2 1 2 1 1 2 1 1 1 S chu k clock 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12

A,Rn A,direct A,@Ri A,#data A,Rn A,direct A,@Ri A,#data A,Rn A,direct A,@Ri A,#data A Rn Direct @Ri A Rn

A = A + Rn A = A + direct A = A + @Ri A = A + #data A = A + Rn + C A = A + direct + C A = A + @Ri + C A = A + #data + C A = A Rn C A = A direct C A = A @Ri C A = A #data C A=A+1 Rn = Rn + 1 direct = direct + 1 @Ri = @Ri + 1 A=A1 Rn = Rn 1

Nguyn Xun Kin MicroStudy Group

19

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

Lm quen vi vi iu khin 8051 - cu trc phn cng v cch lp trnh phn mm

19 20 21 22 23 24

DEC DEC INC MUL DIV DA

Direct @Ri Dptr AB AB A

direct = direct 1 @Ri = @Ri 1 dptr = dptr + 1 B:A = A*B A/B = A(thng) + B (d) Hiu chnh thp phn s liu trong thanh ghi A

2 1 1 1 1 1

12 12 24 48 48 12

Cc lnh thc hin cc php ton lgic


STT M lnh 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 C php lnh Ton hng M t S byte m ha 1 2 1 2 2 3 1 2 1 2 2 3 1 2 1 2 2 3 1 1 1 1 1 1 1 S chu k clock 12 12 12 12 12 24 12 12 12 12 12 24 12 12 12 12 12 24 12 12 12 12 12 12 12

ANL ANL ANL ANL ANL ANL ORL ORL ORL ORL ORL ORL XRL XRL XRL XRL XRL XRL CLR CPL RL RLC RR RRC SWAP

A,Rn A,direct A,@Ri A,#data direct,A Direct,#data A,Rn A,direct A,@Ri A,#data direct,A Direct,#data A,Rn A,direct A,@Ri A,#data direct,A Direct,#data A A A A A A A

A = (A)and(Rn) A = (A)and(direct) A = (A)and(@Ri ) A = (A)and(#data) direct = (direct)and(A) direct = (direct)and(#data) A = (A)or(Rn) A = (A)or(direct) A = (A)or(@Ri ) A = (A)or(#data) direct = (direct)or(A) direct = (direct)or(#data) A = (A)xor(Rn) A = (A)xor(direct) A = (A)xor(@Ri ) A = (A)xor(#data) direct = (direct)xor(A) direct = (direct)xor(#data) A=0 A = not(A) Quay tri A Quay tri A qua c C Quay phi A Quay phi A qua c C Hon i 2 na ca A

Nguyn Xun Kin MicroStudy Group

20

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

Lm quen vi vi iu khin 8051 - cu trc phn cng v cch lp trnh phn mm

Cc lnh trao i d liu


STT M lnh 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOVC C php lnh Ton hng M t S byte m ha 1 2 1 2 1 2 2 2 2 3 2 3 1 2 2 3 1 S chu k clock 12 12 12 12 12 24 12 12 24 24 24 24 12 12 12 24 24

A,Rn A,direct A,@Ri A,#data Rn,A Rn,direct Rn,#data Direct,A Direct,Rn Direct,direct Direct,@Ri Direct,#data @Ri,A @Ri,direct @Ri,#data Dptr,#data16 A,@A+dptr

Copy gi tr ca ton hng bn phi cho vo ton hng bn tri (cc ton hng u l 8bit)

18

MOVC

A,@A+PC

19 20

MOVX MOVX

A,@Ri A,@dptr

21 22

MOVX MOVX

@Ri,A @dptr,A

23

PUSH

Direct

24 25

POP XCH

Direct A,Rn

a gi tr 16bit vo thanh ghi DPTR c gi tr b nh chng trnh ti a ch = A + DPTR, ct kt qu vo A c gi tr b nh chng trnh ti a ch = A + PC, ct kt qu vo A c vo A gi tr ca b nh ngoi ti a ch = Ri c vo A gi tr ca b nh ngoi ti a ch = DPTR Ghi gi tr ca A vo b nh ngoi ti a ch = Ri Ghi gi tr ca A vo b nh ngoi ti a ch = DPTR Ct ni dung ca bin trong RAM vo nh ngn xp Ly byte nh ngn xp cho vo bin trong RAM Hon i gi tr ca A v

24

1 1

24 24

1 1

24 24

24

2 1

24 12

Nguyn Xun Kin MicroStudy Group

21

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

Lm quen vi vi iu khin 8051 - cu trc phn cng v cch lp trnh phn mm

26 27 28

XCH XCH XCHD

A,direct A,@Ri A,@Ri

ton hng cn li Hon i 4 bit thp gia A v mt nh trong Ram ti a ch = Ri

2 1 1

12 12 12

Cc lnh thao tc x l i s Boolean


STT M lnh 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 C php lnh Ton hng M t S byte m ha 1 2 1 2 1 2 2 2 2 2 2 2 2 2 3 3 3 S chu k clock 12 12 12 12 12 12 24 24 24 24 12 24 24 24 24 24 24

CLR CLR SETB SETB CPL CPL ANL ANL ORL ORL MOV MOV JC JNC JB JNB JBC

C Bit C Bit C Bit C,bit C,/bit C,bit C,/bit C,bit Bit,C <rel> <rel> Bit, <rel> Bit, <rel> Bit, <rel>

Xa c C v 0 Xa bit v 0 t c C = 1 t bit = 1 o gi tr ca c C o gi tr ca bit C = (C)and(bit) C = (C)and(o ca bit) C = (C)or(bit) C = (C)or(o ca bit) C = bit Bit = C nhy n nhn <rel> nu C=1 nhy n nhn <rel> nu C=0 nhy n nhn <rel> nu bit= 1 nhy n nhn <rel> nu bit= 0 nhy n nhn <rel> nu bit = 1 v sau xa lun bit v 0

Nguyn Xun Kin MicroStudy Group

22

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

Lm quen vi vi iu khin 8051 - cu trc phn cng v cch lp trnh phn mm

Cc lnh r nhnh chng trnh


STT M lnh 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ACALL LCALL RET RETI AJMP LJMP SJMP JMP JZ JNZ CJNE CJNE CJNE CJNE <addr11> <addr16> <rel> @A+DPTR <rel> <rel> A,direct,<rel> A,#data,<rel> Rn,#data,<rel> @Ri,#data,<rel> C php lnh Ton hng M t S byte m ha 3 3 1 1 2 3 2 1 2 2 3 3 3 3 S chu k clock 24 24 24 24 24 24 24 24 24 24 24 24 24 24

<addr11> <addr16>

15

DJNZ

Rn,<rel>

16

DJNZ

direct,<rel>

17

NOP

gi chng trnh con gi chng trnh con tr v t chng trnh con tr v t chng trnh phc v ngt nhy n nhn nhy n nhn nhy n nhn nhy n a ch = A+DPTR nhy n nhn nu A = 0 nhy n nhn nu A 0 So snh v nhy n nhn nu A direct So snh v nhy n nhn nu A data So snh v nhy n nhn nu Rn data So snh v nhy n nhn nu byte c a ch = Ri c ni dung khc vi data Gim Rn i 1 v nhy n nhn nu cha gim v 0 Gim direct i 1 v nhy n nhn nu cha gim v 0 Khng lm g c

24

24

12

Nguyn Xun Kin MicroStudy Group

23

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

Lm quen vi vi iu khin 8051 - cu trc phn cng v cch lp trnh phn mm

Cu trc mt chng trnh hp ng cho 8051 (s dng trnh hp ng Reads51)


; u chng trnh, khai bo file cha a ch ca cc thanh ghi SFR #include <sfr51.inc> ; nh ngha tn gi cho cc chn cng vo/ra (nu mun) #define led1 P1.0 #define led2 P1.1 ... ; khai bo cc bin dng byte (nu c) var1 data 0x30 var2 data 0x31 ... ; khai bo cc bin dng bit (nu c) flag1 bit 0x00 flag2 bit 0x01 ... ; nh ngha cc hng s (nu c) constant1 equ 123 constant2 equ 456 ... ; to m t ti a ch reset org 0x0000 ajmp main ; to m t ti cc vector ngt (nu s dng ngt) org 0x0003 ljmp ChuongTrinhXuLyNgatNgoai0 org 0x000B ljmp ChuongTrinhXuLyNgatTimer0 ... ; t a ch u cho chng trnh chnh org 0x0030 main: ; bt u vit cc lnh cho chng trnh chnh t y mov SP,#0x6F ; vit cc th tc khi to h thng ... ; vit thn chng trnh chnh (vng lp chnh) main_loop: ... sjmp main_loop ; vit cc chng trnh con v cc chng trnh x l ngt (nu c) ChuongTrinhCon1: ; cc lnh x l ca chng trnh con 1 ... ; kt thc bng lnh ret ret ChuongTrinhCon2: Nguyn Xun Kin MicroStudy Group 24

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

Lm quen vi vi iu khin 8051 - cu trc phn cng v cch lp trnh phn mm

; cc lnh x l ca chng trnh con 2 ... ; kt thc bng lnh ret ret ... ChuongTrinhXuLyNgatNgoai0: ; cc lnh x l ca chng trnh x l ngt ngoi 0 ... ; kt thc bng lnh reti reti ChuongTrinhXuLyNgatTimer0: ; cc lnh x l ca chng trnh x l ngt timer 0 ... ; kt thc bng lnh reti reti ... ; nh ngha cc bng hng s lu sn trong b nh chng trnh Bang1: db 0,1,0x02,0x86 Bang2: db 156,235,8,9 ... ; ch dn bo hiu kt thc ton b on chng trnh end

Ch : - Cc ch vit st l, kt thc bng du : l cc nhn, c th l u mt chng trnh con hoc n gin ch l mt nhn ph trong thn mt chng trnh no . - cc ch mu l ch dn hoc m lnh nn phi vit ng theo. - Cc ch mu xanh l cc ch c t sau du ;, s c coi l cc cu ch thch v trnh hp ng s b qua, ni dung ty nhng phi trn mt dng, nu ko di xung dng khc th phi thm du ; khc vo trc phn ch thch ca dng . - Cc ch mu en hu ht l cc tn nhn hay tn bin v ngi lp trnh ty t. - Gia cc tn (nhn) phi s thng nht khi khai bo v lc s dng trong cu lnh, khng c khai bo mt kiu, dng trong lnh li kiu khc i.

Chc hc tt!

Nguyn Xun Kin MicroStudy Group

25

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

You might also like