DocRCTS
-
Upload
valeriu-marius-nitu -
Category
Documents
-
view
221 -
download
0
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