Chuong 04_Lap Trinh Cong Vao Ra - Smith.N Studio

Embed Size (px)

Citation preview

  • 8/2/2019 Chuong 04_Lap Trinh Cong Vao Ra - Smith.N Studio

    1/9

    ch-ng 4

    Lp trnh cho cng vo - ra I/0

    4.1 M t chn ca 8051.Mc d cc thnh vin ca h 8051 (v d 8751, 89C51, DS5000) u c cc

    kiu ng v khc nhau, chng hn nh- hai hng chn DIP (Dual InLine Pakage)dng v dt vung QFP (Quad Flat Pakage) v dng chp khng c chn LLC(Leadless Chip Carrier) th chng u c 40 chn cho cc chc nng khc nhau nh-

    vo ra I/0, c RD , ghi WR, a ch, d liu v ngt. Cn phi l-u rng mt shng cung cp mt phin bn 8051 c 20 chn vi s cng vora t hn cho cc ngdng yu cu thp hn. Tuy nhin, v hu ht cc nh pht trin chnh s dng chpng v 40 chn vi hai hng chn DIP nn ta ch tp chung m t phin bn ny.

    Hnh 4.1: S b tr chn ca 8051.Trn hnh 4.1 l s b tr chn ca 8051. Ta thy rng trong 40 chn th c

    32 chn dnh cho cc cng P0, P1, P2 v P3 vi mi cng c 8 chn. Cc chn cnli -c dnh cho ngun VCC, t GND, cc chngiao ng XTAL1 v XTAL2 ti

    lp RST cho php cht a ch ALE truy cp -c a ch ngoi EA , cho php ctch-ng trnh PSEN . Trong 8 chn ny th 6 chn VCC , GND, XTAL1, XTAL2, RST

    v EA -c cc h 8031 v 8051 s dng. Hay ni cch khc l chng phi -c

    P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RST

    P0.0 (AD0)Vcc1

    23

    56

    4

    789

    1112

    10

    131415

    1718

    16

    1920

    403938

    3635

    37

    343332

    3029

    31

    282726

    2423

    25

    2221

    8051(8031)

    P0.1 (AD1)P0.2 (AD2)

    P0.4 (AD4)P0.5 (AD5)

    P0.3 (AD3)

    PSEN

    P0.6 (AD6)

    P2.5 (A13)

    P2.3 (A11)

    P2.1 (A9)

    P2.7 (A15)

    P2.4(A12)

    P2.6 (A14)

    P2.0 (AB)

    P2.2 (A10)

    (RXD) P3.0

    (TXD) P3.1(NT0) P3.2(NT1) P3.3

    (T0) P3.4(T1) P3.5

    (WR) P3.6(RD) P3.7

    XTAL2XTAL1

    GND

    P0.6 (AD6)EA/CPP

    ALE/PROG

    Smith Nguyen Studio.

  • 8/2/2019 Chuong 04_Lap Trinh Cong Vao Ra - Smith.N Studio

    2/9

    ni cho h thng lm vic m khng cn bit b vi iu khin thuc h 8051 hay

    8031. Cn hai chn khc l PSEN v ALE -c s dng ch yu trong cc h thngda trn 8031.

    1. Chn VCC: Chn s 40 l VCC cp in p ngun cho chp. Ngun in p l

    +5V.2. Chn GND: Chn GND: Chn s 20 l GND.3. Chn XTAL1 v XTAL2:

    8051 c mt b giao ng trn chp nh-ng n yu cu c mt xung ng hngoi chy n. B giao ng thch anh th-ng xuyn nht -c ni ti cc chnu vo XTAL1 (chn 19) v XTAL2 (chn 18). B giao ng thch anh -c niti XTAL1 v XTAL2 cng cn hai t in gi tr 30pF. Mt pha ca t in -cni xung t nh- -c trnh by trn hnh 4.2a.

    Cn phi l-u rng c nhiu tc khc nhau ca h 8051. Tc -c coinh- l tn s cc i ca b giao ng -c ni ti chn XTAL. V d, mt chp12MHz hoc thp hn. T-ng tnh- vy th mt b vi iu khin cng yu cu mt

    tinh th c tn s khng ln hn 20MHz. Khi 8051 -c ni ti mt b giao ngtinh th thch anh v cp ngun th ta c th quan st tn s trn chn XTAL2 bngmy hin sng. Nu ta quyt nh s dng mt ngun tn s khc b giao ngthch anh chng hn nh- l b giao ng TTL th n s -c ni ti chn XTAL1,cn chn XTAL2 th hkhng ni nh- hnh 4.2b.

    Hnh 4.2: a) Ni XTAL ti 8051 b) Ni XTAL ti ngun ng b ngoi.4. Chn RST.

    Chn s 9 l chn ti lp RESET. N l mt u vo v c mc tch cc cao(bnh th-ng mc thp). Khi cp xung cao ti chn ny th b vi iu khin s ti

    lp v kt thc mi hot ng. iu ny th-ng -c coi nh- l sti bt ngun. Khikch hot ti bt ngun s lm mt mi gi tr trn cc thanh ghi. Bng 4.1 cung cpmt cch lit k cc thanh ghi ca 8051 v cc gi tr ca chng sau khi ti btngun.

    Bng 4.1: Gi tr mt s thanh ghi sau RESET.

    C2

    C1

    30pF

    XTAL2

    XTAL1

    GND

    XTAL2

    XTAL1

    GND

    NC

    EXTERRNAL

    OSCILLATAORSIGNAL

    Smith Nguyen Studio.

  • 8/2/2019 Chuong 04_Lap Trinh Cong Vao Ra - Smith.N Studio

    3/9

    Register Reset ValuePC 0000ACC 0000B 0000PSW 0000

    SP 0000DPTR 0007

    0000

    L-u rng gi tr ca b m ch-ng trnh PC l 0 khi ti lp p CPU npm lnh u tin tb nhROM ti v tr ngn nh 0000. iu ny c ngha l taphi t dng u tin ca m ngun ti v tr ngn nh 0 ca ROM v y l mCPU tnh thc v tm lnh u tin. Hnh 4.3 trnh by hai cch ni chn RST vimch bt ngun.

    Hnh 4.3: a) Mch ti bt ngun RESET.b) Mch ti bt ngun vi Debounce.

    Nhm lm cho u vo RESET c hiu qu th n phi c ti thiu 2 chu kmy. Hay ni cch khc, xung cao phi ko di ti thiu 2 chu k my tr-c khi nxung thp.

    Trong 8051 mt chu k my -c nh ngha bng 12 chu k dao ng nh- ni ch-ng 3 v -c trnh by ti v tr 4.1.

    5. Chn EA :Cc thnh vin h 8051 nh- 8751, 98C51 hoc DS5000 u c ROM trn

    chp l-u ct ch-ng trnh. Trong cc tr-ng hp nh- vy th chn EA -c ni tiVCC. i vi cc thnh vin c h nh- 8031 v 8032 m khng c ROM trn chp thm ch-ng trnh -c l-u ct trn b nhROM ngoi v chng -c np cho

    8031/32. Do vy, i vi 8031 th chn EA phi -c ni t bo rng mch-ng trnh -c ct ngoi. EA c ngha l truy cp ngoi (External Access) lchn s 31 trn v kiu DIP. N l mt chn u vo v phi -c ni hoc vi VCChoc GND. Hay ni cch khc l n khng -c h.

    Vcc Vcc

    10mF

    8.2K

    RST

    30mFX2

    31EA/Vpp

    19

    9

    18

    +30mF

    31

    9

    EA/VppX1 X1

    X2

    RST

    8.2K

    10mF

    11.0592 MHz

    Smith Nguyen Studio.

  • 8/2/2019 Chuong 04_Lap Trinh Cong Vao Ra - Smith.N Studio

    4/9

    ch-ng 14 chng ta s trnh by cch 8031 s dng chn ny kt hp vi

    PSEN truy cp cc ch-ng trnh -c ct trn b nhROM ngoi 8031. Trongcc chp 8051 vi b nh ROM trn chp nh- 8751, 89C51 hoc DS5000 th

    EA-c ni vi VCC.

    V d 4:Hy tm chu k my i vi a) XTAL = 11.0592MHz b) XTAL = 16MHz.

    Li gii:a) 11.0592MHz/12 = 921.6kHz.Chu k my = 1/921.6kHz= 1.085ms.b) 16MHz/12 = 1.333MHzChu k my = 1/1.333MHz= 0.75ms.Cc chn m t trn y phi -c ni m khng cn thnh vin no -c s

    dng. Cn hai chn d-i y -c s dng ch yu trong h thng da trn 8031 vs -c trnh by chi tit ch-ng 11.

    6. Chn PSEN :y l chn u ra cho php ct ch-ng trnh (Program Store Enable) trong

    h thng da trn 8031 th ch-ng trnh -c ct b nhROM ngoi th chn ny-c ni ti chn OE ca ROM. Chi tit -c bn ch-ng 14.

    7. Chn ALE:Chn cho php cht a ch ALE l chn u ra v -c tch cc cao. Khi ni

    8031 ti b nh ngoi th cng 0 cng -c cp a ch v d liu. Hay ni cchkhc 8031 dn a ch v d liu qua cng 0 tit kim s chn. Chn ALE -c sdng phn knh a ch v d liu bng cch ni ti chn G ca chp 74LS373.iu ny -c ni chi tit ch-ng 14.

    8. Cc chn cng vo ra v cc chc nng ca chng.Bn cng P0, P1, P2 v P3 u s dng 8 chn v to thnh cng 8 bt. Tt c

    cc cng khi RESET u -c cu hnh nh- cc u ra, sn sng -c s dngnh- cc cng u ra. Mun s dng cng no trong s cc cng ny lm u vo thn phi -c lp trnh.

    9. Cng P0.Cng 0 chim tt c 8 chn (t chn 32 n 39). N c th -c dng nh-

    cng u ra, s dng cc chn ca cng 0 va lm u ra, va lm u vo thmi chn phi -c ni ti mt in tr ko bn ngoi 10kW. iu ny l do mtthc t l cng P0 l mt mng mkhc vi cc cng P1, P2 v P3. Khi nim mngm-c s dng trong cc chp MOS v chng mc no n ging nh- Clect

    h i vi cc chp TTL. Trong bt k h thng no s dng 8751, 89C51 hocDS5000 ta th-ng ni cng P0 ti cc in trko, Xem hnh 4.4 bng cch ny tac -c cc -u im ca cng P0 cho c u ra v u vo. Vi nhng in tr kongoi -c ni khi ti lp cng P0 -c cu hnh nh- mt cng u ra. V d, onm sau y s lin tc gi ra cng P0 cc gi tr 554 v AAH.

    MOV A, #554BACK: MOV P0, A

    ACALL DELAY

    Smith Nguyen Studio.

  • 8/2/2019 Chuong 04_Lap Trinh Cong Vao Ra - Smith.N Studio

    5/9

    CPL ASJMP BACK

    Hnh 4.4: Cng P0 vi cc in trko.a) Cng P0 u vo: Vi cc in tr-c ni ti cng P0 nhm to n thnh

    cng u vo th n phi -c lp trnh bng cch ghi 1 ti tt c cc bit.on m d-i y s cu hnh P0 lc u l u vo bng cch ghi 1 n nv sau d liu nhn -c tn -c gi n P1.

    b)MOV A,#FFH ; Gn A = FF dng HexMOV P0, A ; To cng P0 lm cng u vo bng cch

    ; Ghi tt c cc bit ca n.BACK: MOV A, P0 ; Nhn d liu t P0MOV P1, A ; Gi n n cng 1SJMP BACK ; Lp li

    b) Vai tr kp ca cng P0:Nh- trnh by trn hnh 4.1, cng P0 -c gn AD0 AD7 cho php n -c s dng va cho a ch, va cho d liu. Khi ni 8051/31 tib nh ngoi th cng 0 cung cp c a ch v d liu 8051 dn d liu v a chqua cng P0 tit kim s chn. ALE bo nu P0 c a ch hay d liu khi ALE 0 n cp d liu D0 D7. Do vy, ALE -c s dng tch a ch v d liu vistr gip ca cht 74LS373 m ta s bit c th ch-ng 14.

    10. Cng P1.Cng P1 cng chim tt c 8 chn (t chn 1 n chn 8) n c th -c sdng nh- u vo hoc u ra. So vi cng P0 th cng ny khng cn n in trko v n c cc in trko bn trong. Trong qu trnh ti lp th cng P1 -ccu hnh nh- mt cng u ra. V d, on m sau s gi lin tc cc gi tr 55 vAAH ra cng P1.

    MOV A, #55HBACK: MOV P1, A

    Vcc10K

    P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7

    DS500087518951

    Port0

    Smith Nguyen Studio.

  • 8/2/2019 Chuong 04_Lap Trinh Cong Vao Ra - Smith.N Studio

    6/9

    ACALL DELAYSJMP BACK

    Cng P1 nh- u vo: bin cng P1 thnh u vo th n phi -c lptrnh bng cch ghi mt n tt c cc bit ca n. L do v iu ny -c bn mc

    lc Appendix C.2. Trong on m sau, cng P1 lc u -c cu hnh nh- cng uvo bng cch ghi 1 vo cc bit ca n v sau d liu nhn -c tcng ny -cct vo R7, R6 v R5.

    MOV A, #0FFH ; Np A = FF dng hexMOV P1, A ; To cng P1 thnh cng u vo bng

    ; cch ghi 1 vo cc bit ca n.MOV A, P1 ; Nhn d liu t P1MOV R7, A ; Ct n vo thanh ghi R7ACALL DELAY ; ChMOV A, P1 ; Nhn d liu khc t P1

    MOV R6, A ; Ct n vo thanh ghi R6ACALL DELAY ; ChMOV A, P1 ; Nhn d liu khc t cng P1MOV R5, A ; Ct n vo thanh ghi R5

    11. Cng P2:Cng P2 cng chim 8 chn (cc chn t21 n 28). N c th -c s dng

    nh- u vo hoc u ra ging nh- cng P1, cng P2 cng khng cn in trko vn c cc in trko bn trong. Khi ti lp, th cng P2 -c cu hnh nh- mtcng u ra. V d, on m sau s gi lin tc ra cng P2 cc gi tr 55H v AAH. l tt c cc bit ca P2 ln xung lin tc.

    MOV A, #55HBACK: MOV P2,A

    ACALL DELAYCPL ASJMP BACK

    a) Cng P2 nh- u vo. to cng P2 nh- u vo th n phi -c lp trnh bng cch ghi cc s 1

    ti tt c cc chn ca n. on m sau y u tin cu hinh P2 l cng vo bngcch ghi mt n tt c cc chn ca n v sau d liu nhn -c tP2 -c gilin tc n P1.

    MOV A, 0FFH ; Gn A gi tr FF dng HexMOV P2, A ; To P2 l cng u vo bng cch

    ; ghi mt n cc chn ca nBACK: MOV A, 2 ; Nhn d liu t P2

    MOV P1, A ; Gi n n P1SJMP BACK ; Lp li

    b) Vai tr kp ca P2.

    Smith Nguyen Studio.

  • 8/2/2019 Chuong 04_Lap Trinh Cong Vao Ra - Smith.N Studio

    7/9

    Trong cc h thng da trn 8751, 89C51 v DS5000 th P2 -c dng nh-u ra n gin. Tuy nhin trong h thng da trn 80312 th cng P2 phi -cdng cng vi P0 to ra a ch 16 brt i vi b nh ngoi. Nh- ch ra trn hnh4.1 cng P2 cng -c ch nh nh- l A8 A15 bo chc nng kp ca n. V mtb 8031 c kh nng trung cp 64k byte b nh ngoi, n cn mt -ng a ch 16bt. Trong khi P.0 cung cp 8 bit thp qua A0 A7. Cng vic ca P2 l cung cpcc bt a ch A8 A15. Hay ni cch khc khi 8031-c ni ti b nh ngoi thP2 -c dng cho 8 bt ca a ch 16 bit v n khng th dng cho vo ra. iu nys -c trnh by chi tit ch-ng 14.

    T nhng trnh by trn y ta c th kt lun rng trong cc h thng datrn cc b vi iu khin 8751, 89C51 hoc DS5000 th ta c 3 cng P0, P1v P2 chocc thao tc vo ra v nh- th l c th cho cc ng dng vi hu ht cc b viiu khin. Cn cp P3 l dnh cho ngt v ta s cng bn d-i y.

    11 Cng P3:Cng P3 chim tng cng l 8 chn tchn 10 n chn 17. N c th -c

    s dng nh- u vo hoc u ra. Cng P3 khng cn cc in trko cng nh- P1v P2. Mc d cng P3 -c cu hnh nh- mt cng u ra khi ti lp, nh-ng ykhng phi l cch n -c ng dng ph bin nht. Cng P3 c chc nng b xungl cung cp mt s tn hiu quan trng c bit chng hn nh- cc ngt. Bng 4.2cung cp cc chc nng khc ca cng P3. Thng tin ny p dng cho c 8051 v8031.

    Bng 4.2: Cc chc nng khc ca cng P3

    Bt ca cng P3 Chc nng chn sP3.0P3.1

    P3.2P3.3P3.4P3.5P3.6P3.7

    Nhn d liu (RXD)Pht d liu (TXD)

    Ngt 0(INT0)Ngt 1(INT1)B nh thi 0 (TO)1 B nh thi 1(T1)Ghi (WR)c (RD)

    1011

    121314151617

    Cc bit P3.0 v P3.1 -c dng cho cc tn hiu nhn v pht d liu trongtruyn thng d liu ni tip. Xem ch-ng 10 t bit cc chng -c ni ghp nh-th no. Cc bit P3.2 v P3.3 -c dnh cho cc ngt ngoi v chng -c trnh bychi tit ch-ng 11. Bit P3.4 v P3.5 -c dng cho cc b nh thm 0 v 1v chi

    tit -c trnh by ch-ng 9. Cui cng cc bit P3.6 v P3.7 -c cp cho cc tnhiu ghi v c cc b nh ngoi -c ni ti cc h thng da trn 8031. Ch-ng14 s trnh by cch chng -c s dng nh- th no trong cc h thng da trn8031. Trong cc h thng da trn 8751, 89C51 hoc D35000 th cc chn P3.6 vP3.7 -c dng cho vo ra cn cc chn khc ca P3 -c s dng bnh th-ngtrong vai tr chc nng thay i.4.2 Lp trnh vo - ra: thao tc bit.4.2.1 cc cch khc nhau truy cp ton b 8 bit.

    Smith Nguyen Studio.

  • 8/2/2019 Chuong 04_Lap Trinh Cong Vao Ra - Smith.N Studio

    8/9

    Trong on m d-i y cng nh- trong nhiu v d vo ra tr-c y ton b8 bit ca cng P1 -c cp.

    BACK: MOV A, # 55HMOV P1,A

    ACALL DELAYMOV A, #0AAHMOV P1, AACALL DELAYSJMP BACK

    on m trn cht mi bit ca P1 mt cch lin tc. Chng ta thng mtbin th ca ch-ng trnh trn tr-c . By gi ta c th vit li on m trn theocch hiu qu hn bng cch truy cp trc tip cng m khng qua thanh ghi tngnh- sau:

    BACK: MOV P1, # 55HACALL DELAYMOV P1, #00HCALL DELAYSJMP BACK

    Ta c th vit mt dng khc ca on m trn bng k thut c sa ighi nh-mc 4.2.2 d-i y.4.2.2 c im c- sa i - ghi (Read - Modify Write).

    Cc cng trong 8051 c th -c truy cp bngk thut -c gi l csaighi. c im ny tit kim rt nhiu dng lnh bng cch kt hp tt c 3 thao

    tc: 1c cng, 2 sa i nv 3 ghi n ra cng vo mt lnh n. on m d-i ytr-c ht t 01010101(nh phn) vo cng 1. Sau lnh XLR P1, #0FFH thchin php lgch OR loi trl XOR trn cng p1 vi 1111 1111 ( nh phn ) v sau ghi kt qu trli cng P1.

    MOV P1, #55H ; P1 = 01010101AGAIN: XLR P1,# 0FFH ; EX - 0R P1 vi 1111 1111

    ACALL DELAYSJMP AGAIN

    L-u rng lnh X0R ca 55H v FFH s cho kt qu l AAH. T-ng tnh-

    vy lnh X0R ca AAH vi FFH li cho gi tr kt qu l 55H. Cc lnh lgch-c trnh by ch-ng 7.4.2.3. Kh nng nh a ch theo bt ca cc cng

    C nhiu lc chng ta cn truy cp ch 1 hoc2 bt ca cng thay v truy cpc 8 bit ca cng. Mt im mnh ca cc cng 8051 l chng c kh nng truy cptng bt ring r m khng lm thay i cc bt cn li trong cng v d, on md-i y cht bit P1.2 lin tc:

    BACK: CPL P1.2 ; Ly b 2 ch ring bit P1.2

    Smith Nguyen Studio.

  • 8/2/2019 Chuong 04_Lap Trinh Cong Vao Ra - Smith.N Studio

    9/9

    ACALL DELAYSJMP BACK

    Mt bin th khc ca on m trn l:

    AGACN: SETB P1.2 ; Ch thay i bt P1.2 ln caoACALL DELAYCLR P1.2 ; Xo bt P1.2 xung thpACALL DELAYSJMP AGAIN

    L-u rng bt P1.2 l bt th 3 ca cng P1, v bt th nht l P1.0 v bit thhai l P1.1 v.v...

    Bng 4.3 trnh by cc bt ca cc cng vo ra ca 8051. Xem v d 4.2 vthao tc bt ca cc bt vo ra. L-u rng trong v d 4.2 cc bit khng dng nl khng b nh h-ng. y l kh nng nh a ch theo bit ca cc cng vo ra

    v l mt trong nhng im mnh nht ca b vi iu khin 8051.V d 4.2: hy vit ch-ng trnh thc hin cc cng vic sau:a) Duy tr hin th bit P1.2 cho n khi n ln cpb) Khi P1.2 ln cao, hy ghi gi tr 45H vo cng P0c) Gi mt xung cao xung thp (HtoL) ti P2.3

    Li gii:

    SET P1.2 ; To bit P1.2 l u voMOV A, #45H ; Gn A = 45H

    AGAIN: JNB P1.2, AGAIN ; Thot khi P1.2 = 1MOV P0, A ; Xut A ti cng P0

    SETB P2.3 ; -

    a P2.3 ln caoCLR P2.3 ; To P2.3 xung thp c xung H-T0-L

    Trong ch-ng trnh ny lnh JNB P1.2, AGCN (JNB c ngha l nhy nukhng bit) li vng lp cho n khi P1.2 ch-a ln cao. Khi P1.2 ln cao n thot rakhi vng lp ghi gi tr 45H ti cng P0 v to ra xung HtoL bng chui cc lnhSETB v CLR.

    Smith Nguyen Studio.