DocRCTS

download DocRCTS

of 9

Transcript of DocRCTS

  • 7/25/2019 DocRCTS

    1/9

    PROIECTLA DISCIPLINA

    SISTEME DE CALCUL IN TIMP REAL

    ANUL UNIVERSITAR 2010/2011

    Profesori: Patrascu Constantin

    Popescu Bogdan

    Studenti: Nitu Alina

    http://www.cs.ucv.ro/staff/aneatu/lab_rtcs.phphttp://www.cs.ucv.ro/staff/aneatu/lab_rtcs.php
  • 7/25/2019 DocRCTS

    2/9

    Popescu Cezar

    Stanca Patricia

    Grupa: 10406

    1. TEMA PROIECTULUI

    Sistemul de functionare al unui lift

    Se cere modelarea unui i!em de con!rol al unui li"!#en!ru un imo$il cu 4 e!a%e& Se #leaca de la #remi'a caace!a nu #oa!e #leca cu uile dec(ie i "ara a i e indicae!a%ul la care !re$uie a a%un)a& Numarul e!a%ului e!e indica!"oloin! in!rarile numerice DI0*+DI, de #e #laca PC-,.1&Pen!ru imularea inc(iderii uilor e "oloe!e DI4 de #eaceeai #laca& A#lica!ia !re$uie a mai cu#rinda i unal)ori!m de o#!imi'are #en!ru !ra!area comen'iilor #rimi!e&In!er"a!a )raca !re$uie a cu#rinda cele 4 e!a%e im$olicdeena!e #rin!r*un dre#!un)(i care a demon!re'e"unc!ionali!a!ea& Li"!ul !re$uie a e o#reaca la e!a%ul indica!de numarul in!rarii di)i!ale care a "o! comu!a!a&

  • 7/25/2019 DocRCTS

    3/9

    2. IMPLEMENTAREA SOLUTIEI

    Im#lemen!area de mai %o #reu#une ini!ial ericareare#e!a!a a inc(iderii uilor #rin a#elarea "unc!ieiReadDataAndDisplay(). Du#a ce aem conrmarea ca uile

    un! inc(ie #reluam in aria$ila nr_et_nou numarul e!a%ului la

    care !re$uie a a%un)a li"!ul i !a$ilim numarul de e!a%e care!re$uie #arcure #ana la de!ina!ie& Urmea'a mai a#oiimularea de#laarii li"!ului care a #arcur)e un e!a% ina#roima!i 2 ecunde& Du#a ce li"!ul a a%un la de!ina!ie ea!ea#!a 3 ecunde #en!ru ca #aa)erii a #oa!a #araii li"!ul ie a relua in!re)ul al)ori!m&

    /* ***************************************************************************************** Program : DIO_SOF.!PP ** Des"ription : Demo program #or digital input$output #un"tion** APIs used : DR%_De&i"eOpen'DR%_De&i"e!lose' DR%_DioReadit.DR%_Dioriteit ** DR%_et+rror,essage *

    *****************************************************************************************/-in"lude indos.01-in"lude inde#.01-in"lude stdio.01-in"lude "onio.01-in"lude mat0.01

    -in"lude 2In"lude3dri&er.02

    /******************************* 4o"al #un"tion de"laration * ******************************/

    -de#ine FA4S+ 5-de#ine R6+ 7

    -de#ine OARD_8P+_P!,97; 5-de#ine OARD_8P+_P!,9;5 7

    &oid +rror

  • 7/25/2019 DocRCTS

    4/9

    64O@ ulData4engt0=DORD dPort,ode9B=DORD d+&ent!ount=OO4 >Print=6Sle+&ent +&entSetting=P_!0e"C+&ent pt!0e"C+&ent=

    int nr_et?5=int nr_et_nou?5=

    6S

  • 7/25/2019 DocRCTS

    5/9

    OpenAnd!on#igureoard(OARD_8P+_P!,97;)= read_operation_P!,97; ? R6+=

    0ile(7) E int C ? ReadDataAndDisplay()=

    0ile(CJ?7) E C ? ReadDataAndDisplay()=

    int i=

    #or(i?5=iK=iLL) E i#(port_&aliB??7) nr_et_nou?i=

    int nr_pasi?a>s(nr_et$nr_et_nou)=

    #or(i?7=i?nr_pasi=iLL)

    E Sleep(M555)= i#(nr_et1nr_et_nou) nr_et$$= else nr_etLL=

    print#(24i#tul se a#la la etaNul Hd.3n2'nr_et)=

    print#(24i#tul a aNunsJ2)= Sleep(555)=

    read_operation_P!,97; ? FA4S+= // !lose de&i"e d+rr!de ? DR%_De&i"e!lose(lDri&erer ("0e"C t0e de&i"e installation utility): 2)= s"an#(2Hd2' lDe&@um)=//Step 9: Open de&i"e d+rr!de ? DR%_De&i"eOpen(lDe&@um' lDri&eru##er ? de&Features=

  • 7/25/2019 DocRCTS

    6/9

    ptDe&etFeatures.siGe ? siGeo#(D+%F+A6R+S)= d+rr!de ? DR%_De&i"eetFeatures(lDri&eroard_type ?? OARD_8P+_P!,9;5)E // "0oose t0e port #or I/O operation

    i#(read_operation_P!,9;5)E usPort ? 5 = // POR A only #or R+AD

    i#(Jread_operation_P!,9;5)E usPort ? 7 =// POR only #or RI+

    // end i#

    //////////////////// t0is >ig 2i#2 is only #or P!, 9;5 >oard ////////////////////// i#(e&et_"ount_#lag)E // Set Port DI mode ulData4engt0 ? siGeo#(dPort,ode)= d+rr!de ? DR%_De&i"eetProperty(lDri&er

  • 7/25/2019 DocRCTS

    7/9

    // end OpenAnd!on#igureoard

    /*********************************************************************** Fun"tion: ReadDataAndDisplay* Read t0e >its #rom t0e "0osen Digital In port and* displays t0e read &alues #rom t0e pins

    * Paramaters: none** return: none**********************************************************************/int ReadDataAndDisplay()E

    // Step 7: Read state #rom t0e spe"i#ied "0annel#or(int N?5=N=NLL)E

    ptDioReadit.port ? 7= // input portptDioReadit.>it ? N= // input "0annelptDioReadit.state ? usState= // returned data

    d+rr!de ? DR%_DioReadit(lDri&erits #rom a sele"ted ports* it0 logi"al 5 or 7 = and displays t0e output &alue* Paramaters: none** return: none**********************************************************************/&oid riteDataAndDisplay()E

    doE

    print#(23nOutput !0annel (5 to ): 2)=s"an#(2Hd2' us!0an)=print#(23nOutput State (5 or 7): 2)=s"an#(2Hd2' usState)=

    // Step 7: urn on/o## t0e spe"i#ied "0annelptDioriteit.port ? usPort= // output portptDioriteit.>it ? us!0an= // output "0annelptDioriteit.state ? usState= // output state

    d+rr!de ? DR%_Dioriteit(lDri&er

  • 7/25/2019 DocRCTS

    8/9

    "0Iput ? get"0()=0ile("0IputJ?%Q_+S!AP+)=

    // end riteDataAndDisplay

    /*********************************************************************** Fun"tion: Read+&entOnDI

    * Read an +&ent o""ured on POR A 'pin 5 and in"rement a* "ounter to report t0e e&ents. 0e "ounter is displayed.* Paramaters: none** return: none**********************************************************************/&oid Read+&entOnDI()E

    // Step 7: +na>le DI o# "0annel it0 interrupt >y DR%_+na>le+&ent +&entSetting.+&entype ? ADS_+%_I@+RR6P_DI5 L us!0an L usPort * ;= // e&ent type: DIit0 interrupt

    +&entSetting.+na>led ? 7= // e&ent DI it0 interrupt +&entSetting.!ount ? 7= // ea"0 interrupt generates an e&ent

    d+&ent!ount ? 5= d+rr!de ? DR%_+na>le+&ent( lDri&erPrint ? #alse=

    i# (C>0it()) get"0()=

    // Step 9: Disa>le e&ent >y DR%_+na>le+&ent+&entSetting.+&entype ? ADS_+%_I@+RR6P_DI5 L us!0an L usPort*;= // e&ent type: DIit0 interrupt

  • 7/25/2019 DocRCTS

    9/9

    +&entSetting.+na>led ? 5= // e&ent DI it0 interrupt+&entSetting.!ount ? 7= // ea"0 interrupt generates an e&entd+rr!de ? DR%_+na>le+&ent( lDri&er