DevioLabавтоматичне керування капіталом
ПРАЦЮЄ 24/7
КРИПТОВАЛЮТИ · АКЦІЇ · 10 БІРЖ

Портфель, який керується автоматично

DevioLab підбирає стратегії, відстежує ринки та автоматизує купівлю і продаж активів. Кількість доступних криптовалют, акцій і торгових можливостей зростає щодня.

10підключених біржCrypto + Stocksв одному портфелі24/7автоматичний контроль

Моделювання послідовного інтерфейсу RS-232C

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут комп’ютерних наук та інформаційних технологій
Факультет:
Комп’ютерні науки
Кафедра:
Електронні обчислювальні машини

Інформація про роботу

Рік:
2005
Тип роботи:
Лабораторна робота
Предмет:
Периферійні пристрої
Група:
КІ-4
Коротко про документ

Про що ця робота

У роботі виконано програмну емуляцію послідовного інтерфейсу RS-232C з використанням C++ та Microsoft Visual Studio. Продемонстровано графічне відображення процесу передачі даних між передавачем та приймачем.

У роботі розглядаються

  • Послідовний інтерфейс RS-232C
  • Програмна емуляція
  • Передача даних
  • Об'єктно-орієнтоване програмування на C++
  • Графічне відображення сигналів
  • Тактові генератори та лінії зв'язку

Зміст і розділи

  1. Мета роботи
  2. Опис класу ліній зв'язку
  3. Реалізація методу обробки передачі даних
  4. Висновок
Для кого:Студенти технічних спеціальностей вищих навчальних закладів, які вивчають периферійні пристрої та комп'ютерні інтерфейси.
Викладачі:Кафедра електронних обчислювальних машин

Ключові поняття

RS-232CЕмуляціяПередавачПриймачЛінія зв'язкуТактовий імпульсMicrosoft Visual StudioC++Графічний режимБуфер даних

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти та науки України Національний університет “Львівська політехніка” Кафедра ЕОМ Лабораторна робота №3 з предмету “ Периферійні пристрої ” Моделювання послідовного інтерфейсу RS-232C Львів – 2005 Для засвоєння принципу роботи послідовного інтерфейсу RS-232C було запропоновано написати програмну емуляцію цього інтерфейсу. Програма має в графічному режимі відобразити процес передачі даних. Для написання програми було використано середовище розробки Microsoft Visual Studio 6.0 (C++). Для того щоб забезпечити передавання даних необхідні наступні модулі: Передавач даних (виділений в клас CTransmitter) Приймач даних (Виділений в клас CReceiver) Середовище передавання даних, або лінія зв’язку (CLine) Генератор тактових імпульсів для передавача та приймача (CGenerator) Алгоритм передачі даних буде повністю описаний в третій лабораторній роботі. Розглянемо, що являє собою клас CLine – лінія передачі даних (всі інші класи були розглянуті в попередніх лабораторних роботах). class CLine { public: CLine(); virtual ~CLine(); void Write(int s) {signal=s;} int Read() const {return signal;} private: int signal; }; Змінна signal – поточне значення сигналу в лінії. Метод Write використовується для запису, Read – для читання. void CJCOMbetaDlg::OnbExec() { UpdateData(TRUE); int Delay=atoi(m_valDelay); int TxFreq=100; int RxFreq=100+m_Slider.GetPos();//[+/-]10% int ArrSize=((TxFreq>RxFreq)?TxFreq:RxFreq)*8*12+2*Delay; //=========DRAWING CUIntArray TxCLK; TxCLK.SetSize(ArrSize,1); CUIntArray RxCLK; RxCLK.SetSize(ArrSize,1); CUIntArray LineData; LineData.SetSize(ArrSize,1); CUIntArray Received; Received.SetSize(ArrSize,1); //====END==DRAWING CString Data=(m_SendData); Data="10"+Data+"11"; CLine *TheLine= new CLine; CTransmitter *Transmitter=new CTransmitter(TxFreq,Data,TheLine,Delay); CReceiver *Receiver=new CReceiver(RxFreq,TheLine,Delay); int i=0; for (int j=0;j<ArrSize;j++) { Transmitter->Proceed(); Receiver->Proceed(); //FOR DRAWING: TxCLK[i]=(Transmitter->GetCLK()); LineData[i]=(TheLine->Read()); RxCLK[i]=(Receiver->GetCLK()); Received[i++]=(Receiver->DEBUG_GET()); } //------------------------------ DrawVertex(&TxCLK); CClientDC dc(this); TextOut(dc,0,0,"TxCLK",5); TextOut(dc,0,30,"Tx(Line)",8); TextOut(dc,0,60,"RxCLK",5); TextOut(dc,0,90,"Rx",2); Draw(30,&TxCLK,TxFreq*12*8,0x0000FF); Draw(60,&LineData,TxFreq*12*8,0x0000FF); Draw(90,&RxCLK,RxFreq*12*8,0xFF0000); Draw(120,&Received,RxFreq*12*8,0xFF0000); TxCLK.RemoveAll(); RxCLK.RemoveAll(); LineData.RemoveAll(); Received.RemoveAll(); delete(TheLine);delete(Receiver);delete(Transmitter); m_bExec.EnableWindow(FALSE); m_bExec.SetWindowText("Sent :))))))))"); UpdateData(FALSE); }  Висновок: у ході виконання лабораторної роботи ми створили програму, яка графічно відображає процес передачі даних згідно інтерфейсу RS-232C.
Допоможи студентському архіву

Ми допомогли тобі — допоможи наступному студенту

Файл ще не обрано

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!