báo cáo đồ án vđk

  • Upload
    cxuhoa

  • View
    226

  • Download
    0

Embed Size (px)

Citation preview

  • 8/8/2019 bo co n vk

    1/13

    Bo co n mn vi iu khin nhm 13Lp CDT K9Khoa C Kh

    ti: iu khin tc ng c hin th trn mnhnh my tnh

    Nhm thc hin: Cao Xun HaNguyn Vn ThoNguyn Quang Huy

  • 8/8/2019 bo co n vk

    2/13

    Phn I: C S L thuyt

    Nm 1981 h vi iu khin 8051 c hng intel gii thiu. H vi

    iu khin ny gm 128 byte RAM, 4 byte ROM, hai b nh thi, mtcng ni tip v bn cng vo/ra song song( rng 8bit ). Cho n bygi th c rt nhiu cc bin th ca 8051 do cc hng khc trn thgii sn xut. Vi iu khin AT89S52 l mt trong nhng bin th ca8051. V trong bi ny chng ta dng vi iu khin AT89S52 iukhin tc ca ng c.

    Gii thiu v AT89S52

    Cu trc dng s khi tng qut

    CPU

    B nhchngtrnh

    B nh

    d liu

    Vo/rasongsong

    Vo/ra

    ni tipNgt

    B nhinh

    thi/b m

    Time1

    Timer0

    P3

    P2

    P1

    P0

  • 8/8/2019 bo co n vk

    3/13

    Cu trc busBus a ch ca h vi iu khin 8051 gm 16 dng tn hiu ( thng

    gi l bus a ch 16 bit ). Vi s lng bt a ch nh trn, khng giannh ca chip c m rng ti a 65536 a ch. Bus d liu ca h vi

    iu khin 8051 gm 8 ng tn hiu ( thng gi l bus d liu 8 bit )v th 8051 l h vi iu khin 8bit. Vi rng ca bus d liu nh vy,cc chip ca h 8051 c th x l cc ngun d liu 8bit trog mt chu klnh, nu ln hn 8 bt th dc chia thnh nhiu d liu 8bit x l.

    CPU ( Central processing Unit )

    CPU l n v x l trung tm, l b no ca ton b h thng viin t c tch hp trn chip vi iu khin. CPU ca cu to chnh l

    mt n v x l s hc v logic ALU ( Arithmethic Logic Unit ) l nithc hin tt c cc php ton s hc v php logic cho qu trnh x l.

    B nh chng trnh ( Program Memory )

    Khng gian b nh chng trnh ca AT89 l 64K, tuy nhin hu htcc vi iu khin AT89 trn th trng ch tch hp sn trn chip mtlng b nh chng trnh nht nh v chim di a ch t 0000h tr i.AT89s52 c 4k b nh chng trnh loi Flash tch hp sn bn trongchip. y l b nh cho php ghi/xa nhiu ln. B nh chng trnhc dng cha m chng trnh np vo chip. Mi lnh c m ha

    bi mt hoc vi byte, dung lng ca b nh chng trnh phn nh slng lnh m b nh c th cha c. b nh u tin ca b nhchng trnh l 0x0000 chnh l a ch RESET ca 8051. Ngay sau khireset( do tt/bt ngun, do mc in p ti chn reset b ko ln 5V),CPU s chy n thc hin lnh dt ti a ch ny trc tin, lun lunl nh vy. phn cn trng trong khng gian chng trnh khng cdng. Nu mun m rng b nh chng trnh ta phi dng b nhngoi. Khi dng b nh ngoi th b nh trong ca chip s khng c

    dng na v n chim di a ch ngay t 0x0000.

    B nh d liu ( Data Memory )8051 c b nh d liu l 64ka ch, cng l dung lng b nh

    d liu ln nht trong h 8051. y chnh l ni cha cc bin trung giantrong qu trnh chip hot ng ca.

  • 8/8/2019 bo co n vk

    4/13

    i vi cc chip c b nh SRAM128 byte th a ch ca ccbyte SRAM ny c nh s t 00H n 7FH. i vi cc chip c bnhSRAM256 byte th a ch ca cc byte trong SRAM c nh st 00H n FFh. SRAM c a ch t 00H 7FH l vng RAM thp v

    phn c a ch t 80H FFH l vng RAM cao.

    Cng vo/ra song song( I/O Port )

    8051 c 4 cng vo/ra song song l P0,P1,P2,P3. Tt c cc cng nyu l cng vo/ra c hai chiu 8bit. Cc bit ca mi cng l mt chntrn chip, nh vy mi cng s c 8 chn trn chip.

    Cng P0 khng c in tr treo cao bn trong, mch li to mccao ch c khi s dng cng ny vi tnh nng l bus dn knh a ch/dliu. nh vy vi chc nng ra thng thng th P0 l cng ra cn vichc nng vo th P0 l cng vo cao tr. Nu mun s dng P0 lmcng vo/ra thng thng ta phi thm in tr bn ngoi. Gi tr in tr

    bn ngoi thng l 4k 10k.Cc cng p1, p2, p3 u c in tr bn trong, do c th dng

    vi cc chc nng cng vo/ra thng thng m khng cn thm in trngoi. Thc cht in tr bn ngoi cc FET khng phi in tr tuyn

    STT Tn chip B nh SRAM B nh EEROM1 AT89C51 128byte 02 AT89C52 256byte 03 AT89C2051 128byte 04 AT89S51 128byte 05 AT89S52 256byte 06 AT89S52 256byte 2048byte

  • 8/8/2019 bo co n vk

    5/13

    tnh thng thng nhng kh nng to dng ra ca mch li khi u ra mc cao( hoc khi l u vo ) rt nh, ch khong 100 micro Ampe.

    Cng vo ra ni tip ( Serial Port )

    Cng ny thng ch c s sng khi giao tip vi my tnh hocgiao tip vi vi iu khin khc. Cng ni tip c hai thanh ghi SCON,SBUF v PCON. Thanh ghi PCON khng nh a ch bit v c bt 7 lSMOD quy nh tc truyn ca cng ni tip ( tc gp i nuSMOD = 1 v khng gp i nu SMOD = 0).

    Ngt ( Interrupt)8051 ch c mt s t cc ngun ngt hay gi l nguyn nhn ngt.

    Mi ngt c mt vector ngt ring l mt a ch c nh nm trong b

    nh chng trnh. Khi sy ra ngt th CPU s t ng chuyn n thchin lnh ti a ch ny.Cc ngun ngt

    STT Tn ngt M t C ngt Thanh ghicha c ngt

    Vectorngt

    1 INT0 Ngt ngoi 0khi co tn hiu

    tch cc theokiu chn chn P3.2

    IE0 TCON 0x0003

    2 Timer0 Ngt trntimer0 khi gitr timer0trn t gi trmax v gi trmin

    TF0 TCON 0x000B

    3 INT1 Ngt ngoi 1khi c tn hiu

    tch cc theokiu chn chn P3.3

    IE1 TCON 0x0013

    4 Timer2 Ngt trntimer1 khi gitr timer1trn t maxn min

    TF1 TCON 0x001B

    5 Por nitip

    Khi vi iukhin nhnhoc truyn

    xong 1byte

    TI, RI SCON 0x0023

  • 8/8/2019 bo co n vk

    6/13

    Thanh ghi cho php ngt IE (interrupt Enable)

    Bit K hiu a chbit

    M t

    IE.7 EA AFH Cho php hoc cm ton bIE.6 AEH Khng c nh nghaIE.5 ET5 ADH Cho php ngt t timer2

    IE.4 ES ACH Cho php ngt t port ni tipIE.3 ET1 ABH Cho php ngt t timer1IE2 EX1 AAH Cho pht ngt ngoi 1IE1 ET0 AH9 Cho php ngt t timer0IE.0 EX0 A8H Cho php ngt ngoi 0

    cho php mt ngt ngoi th bit tng ng vi ngt v bitEA phi c t bng 1. Thanh ghi IE l thanh nh a ch bit nn cth dng cc lnh tc ng bit tc ng ring l ln tng bit m khnglm anh hng n cc gi tr bit khc. C ngt hot ng c lp vivic cho php ngt, iu c ngha l c ngt s t ng t ln bng 1khi c s kin gy ngt sy ra bt k s kin c c cho php ngthay khng. Do vy, trc khi cho php mt ngt ta nn xa c ngt m bo sau khi cho php cc s kin gy ngt trong qu kh khngth gy ngt na.

    8051 c hai ngt ngoi l INT0 v INT1. Ngt ngoi c hiu lngt c gy ra bi s kin mc logic 0 ( mc in p thp gn v 0V)

    hoc sn xung ( s chuyn mc in p t mc cao v mc thp ) syra chn ngt tng ng ( P3.2 vi ngt ngoi 0 v P3.3 vi ngt ngoi1). Vic la chn kiu ngt c thc hin bng cc bit IT ( InterruptType ) nm trong thanh ghi TCON. y l thanh ghi iu khin timernhng 4 bit LSB ( bit 0 - 3) c dng cho cc ngt ngoi.

    TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0

    Khi ITx = 1 th ngt ngoi tng ng c chn kiu l ngt theo

    sn xung, ITx = 0 th ngt theo mc thp. Cac bit IE l cc bit c ngtngoi ch c tac dng trong trng hp ngt theo sn xung. khi kiu

  • 8/8/2019 bo co n vk

    7/13

    ngt theo sn xung c chn th ngt s sy ra duy nht mt ln khic sn xung ca tn hiu, sau khi tn hiu mc thp hoc sn lnhay mc cao cng khng sy ra ngt cho n khi c sn xung tiptheo. C ngt IE s c khi c sn xung v t ng b xa khi CPU bt

    u x l ngt. Nu kiu ngt mc thp c chn th ngt s sy rabt k khi no tn hiu ti chn ngt mc thp v c ngt IE khngc s dng. Thng thng th ngi ta chn ngt theo sn xung.

    B nh thi/ b m (Timer/Counter)

    AT89S52 c 3 b nh thi 16bit l Timer0, Timer1, Timer2. Gi trm max l 65536. Cc b nh thi hot ng c lp vi nhau. Sau khicho php hot ng th c c thm mt xung ti u vo m th gi tr

    ca Timer tng thm mt n v. Khi tng n gi tr max th timer tng c a v gi tr min ( thng thng min = 0 ). S kin gi ltrn timer v c th gy ra ngt nu trn timer c cho php ( bit ETx =1). Vic cho Timer hot ng hay dng c thc hin b cc bt TRtrong thanh ghi TCON ( nh a ch tng bit ).

    TRx = 1 th Timer hot ng, TRx = 0 th Timer khng hot ng dvn c xung vo. Khi dng m, gi tr ca timer gi nguyn. Cac bitTFx l cc c bo trn ca timer, khi s kin trn say ra c trn s tng c t bng 1 v nu ngt trn timer c cho php th ngt ssy ra. Khi CPU x l ngt trn timer c ngt TFx tng ng s t ngc xa bng phn mm. Gi tr m 16bit ca timer c lu trongthanh ghi THx ( byte cao) v thanh TLx ( byte thp ). Hai thanh ghi nyc th ghi c bt k lc no. Tuy nhin nn dng timer ( TRx = 0) trckhi ghi/c cc thanh ghi cha gi tr m. cc timer c th hot ngtheo nhiu ch c quy inh bi cc bit trong thanh TMOD.

    xc nh thi gian ngi ta chn ngun xung nhp (clock) a vom trong timer l xung nhp bn trong( dnh cho CPU). Ngun xungclock ny thng c tn s n nh, do t s m ca timer ta c thxc nh thi gian thc.

    m cc s kin bn ngoi ta chn xung vung a vo timer(0V/5V). Cc tn hiu ny s c ni vi cc bit cng dn knh thmcc tnh nng T0/T1/T2. Khi c s thay i mc xung th timer s tngthm mt dn v cho n lc trn. V lc ny ngi ta gi timer lcounter.

    Giao tip vi my tnh

    Nh ni trn th AT89S52 c th giao tip vi bn ngoi qua cng

    ni tip. Do mc logic vi iu khin v cng COM ca my tnh khc

  • 8/8/2019 bo co n vk

    8/13

    nhau nn chng ta phi s dng vi mch MAX232 chun ha mclogic ny.

    So snh in p ca cc mc logic gia RS232C v TTL

    i tng Mc logic Mc in pCng COM(mc RS232C)

    1 -12V n -3V0 +3V n +12

    AT89S52( mc TTL) 1 +5V0 0V

    Vi mch MAX232 cha hai b chuyn i mc logic TTL sangRS232C v ngc li.

  • 8/8/2019 bo co n vk

    9/13

  • 8/8/2019 bo co n vk

    10/13

    B giao tip vi my tnh

    IC MAX 232 thc hin bin i s - tng t giao tip vi my tnhqua cng CON 9 (Cng ny c 9 chn)

    B dao ng to xung

    Thch anh ( crystal) dao ng vi tn s 12MHz cp xung cho

    AT89S52

  • 8/8/2019 bo co n vk

    11/13

    B iu khin tc ng c

    Thay i tc ca ng c bng cch thay i dng in vo ng cthng qua iu chnh bin tr R2

    Mch nguyn l

  • 8/8/2019 bo co n vk

    12/13

  • 8/8/2019 bo co n vk

    13/13

    TR0=1; EX1=1;while(dem