Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Програмно-апаратний комплекс управління та обліку информации

Реферат Програмно-апаратний комплекс управління та обліку информации





erCount, d);// скидання буферів датчиків _delay_ms (50);// Start System Timer TCCR0=(1 lt; lt; CS02) | (0 lt; lt; CS01) | (0 lt; lt; CS00);// Clk/256 TIMSK |=(1 lt; lt; TOIE0);// Запускаємо ОС OS :: Run (); return 0; }//--------------------------------------------------------------------------- namespace OS {char STATUS; TMutex MutexData; template lt; gt; OS_PROCESS void TProc1 :: Exec () {char Err []= 00000000 raquo ;; TData data; STATUS=1; for (;;) {Sleep (200); if (data.a == s )//start {STATUS=1; } If (STATUS == 2) {MutexData.Lock (); MyUart.sendMass ( previos0: , 10); itoa (d [0] .data, Err, 10); MyUart.sendMass (Err, 4); MyUart.sendByte (0x0D); MyUart.sendByte (0x0A); MyUart.sendMass ( previos1: , 10); itoa (d [1] .data, Err, 10); MyUart.sendMass (Err, 4); MyUart.sendByte (0x0D); MyUart.sendByte (0x0A); MyUart.sendMass ( previos2: , 10); itoa (d [2] .data, Err, 10); MyUart.sendMass (Err, 4); MyUart.sendByte (0x0D); MyUart.sendByte (0x0A); MyUart.sendMass ( previos3: , 10); itoa (d [3] .data, Err, 10); MyUart.sendMass (Err, 4); MyUart.sendByte (0x0D); MyUart.sendByte (0x0A); MyUart.sendMass ( previos4: , 10); itoa (d [4] .data, Err, 10); MyUart.sendMass (Err, 4); MyUart.sendByte (0x0D); MyUart.sendByte (0x0A); MyUart.sendMass ( ========== , 10); MyUart.sendByte (0x0D); MyUart.sendByte (0x0A); MutexData.Unlock (); } else if (STATUS == 3) {MyUart.sendMass ( ===== Error ===== , 15); MyUart.sendByte (0x0D); MyUart.sendByte (0x0A); }}}//TProc1 :: Exec ()//процес опитує датчики template lt; gt; OS_PROCESS void TProc2 :: Exec () {// STATUS == 1 - старт//STATUS == 2 - постійне опитування датчиків//STATUS == 3 - помилка//STATUS == 4 - простий char Err []= 00000000 raquo ;; for (;;) {// Очікування події початку вимірювань if (STATUS == 1)//Початок вимірювань {TCritSect cr;// критична секція. Encoder.readPosition (EncoderCount, d);// отримання первинних даних//ініціалізація for (char i=0; i lt; EncoderCount; i ++) {d [i] .zero=d [i] .data;// засікаємо точку нуля d [i] .res=0;// Скидаємо результати вимірювань d [i] .previos=0;// попереднє значення //MyUart.sendByte(laquo;1raquo;); } STATUS=2;// початок обробки даних cr. ~ TCritSect ();// кінець критичної секції} else if (STATUS == 2) {char err=0; TCritSect cr; Encoder.readPosition (EncoderCount, d);// читання даних cr. ~ TCritSect ();// обробка даних MutexData.Lock (); err=Encoder.correctData (EncoderCount, d); MutexData.Unlock (); }//Sleep (500); }}//TProc2 :: Exec ()}//----------------------- OS_INTERRUPT void USART_RXC_vect () {OS :: TISRW_SS ISRW; TData data; data.a=UDR; RXChannel.push (data); }//------ End of file main.cpp -------------------------------------------

Додаток I. Програма верхнього уровня


using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using ZedGraph; using System.IO.Ports; using System.IO; using System.Threading; namespace Bokaev {public partial class Form1: Form {// створюємо графіки GraphPane pane0, pane1, pane2, pane3, pane4;// перевірочні графіки GraphPane paneControl0, paneControl1, paneControl2, paneControl3, paneControl4;// Створюємо списки точок PointPairList list0=new PointPairList (); PointPairList list1=new PointPairList (); PointPairList list2=new PointPairList (); PointPairList list3=new PointPairList (); PointPairList list4=new PointPairList ();// списки перевірочних точок PointPairList listControl0=new PointPairList (); PointPairList listControl1=new PointPairList (); PointPairList listControl2=new PointPairList (); PointPairList listControl3=new PointPairList (); PointPairList listControl4=new PointPairList ();// координата Х (час) double x=0;// CSV Writer (Excel) private StreamWriter m_CSVWriter; private StreamWriter m_CSVWriter1; private StreamWriter m_CSVWriter2; private StreamWriter m_CSVWriter3; private StreamWriter m_CSVWriter4; private StreamWriter global_CSVWriter;// Для визначення часу вимірювання DateTime data1, data2; public Form1 () {InitializeComponent ();// csv додаємо пункт меню zedGraph.ContextMenuBuilder +=new ZedGraphControl.ContextMenuBuilderEventHandler (MyContextMenuBuilder); zedGraph1.ContextMenuBuilder +=new ZedGraphControl.ContextMenuBuilderEventHandler (MyContextMenuBuilder1); zedGraph2.ContextMenuBuilder +=new ZedGraphControl.ContextMenuBuilderEventHandler (MyContextMenuBuilder2); zedGraph3.ContextMenuBuilder +=new ZedGraphControl.ContextMenuBuilderEventHandler (MyContextMenuBuilder3); zedGraph4.ContextMenuBuilder +=new ZedGraphControl.ContextMenuBuilderEventHandler (MyContextMenuBuilder4); }//============================== 0//добавлееніе меню (Excel) private void MyContextMenuBuilder (ZedGraphControl control, ContextMenuStrip menuStrip , Point mousePt, ZedGraphControl.ContextMenuObjectState objState...


Назад | сторінка 16 з 21 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Аналіз даних за допомогою технології Data Mining
  • Реферат на тему: Технології аналізу даних (Text Mining, Data Mining)
  • Реферат на тему: Результати дослідження верхнього відділу дихальних шляхів, огляду та пальпа ...
  • Реферат на тему: Status and rights of refugees in Kazakhstan
  • Реферат на тему: Data mining