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

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

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

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

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

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

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

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

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

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

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

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

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

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

  1. Мета роботи
  2. Опис модулів
  3. Клас creceiver
  4. Методи класу
  5. Висновок
Для кого:Студенти технічних спеціальностей вищих навчальних закладів
Викладачі:Не вказано

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

RS-232Cемуляціяпередавачприймачлінія зв'язкутактові імпульсиC++Microsoft Visual Studioкласпрограмне забезпечення

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

Міністерство освіти та науки України Національний університет “Львівська політехніка” Кафедра ЕОМ Лабораторна робота №2 з предмету “ Периферійні пристрої ” Моделювання послідовного інтерфейсу RS-232C Львів – 2005 Мета роботи: Описати структуру пристрою прийому даних для емуляції інтерфейсу RS-232C. Для засвоєння принципу роботи послідовного інтерфейсу RS-232C було запропоновано написати програмну емуляцію цього інтерфейсу. Програма має в графічному режимі відобразити процес передачі даних. Для написання програми було використано середовище розробки Microsoft Visual Studio 6.0 (C++). Для того щоб забезпечити передавання даних необхідні наступні модулі: Передавач даних (виділений в клас CTransmitter) Приймач даних (Виділений в клас CReceiver) Середовище передавання даних, або лінія зв’язку (CLine) Генератор тактових імпульсів для передавача та приймача (CGenerator) Алгоритм передачі даних буде повністю описаний в третій лабораторній роботі. Клас CReceiver відповідає за прийом даних з лінії зв’язку. Було виділено такі методи і змінні цього класу: class CReceiver { public: CReceiver(int freq, CLine *line, int del); virtual ~CReceiver(); void Proceed(); int GetCLK() const {return RxGEN.GetFront();} int DEBUG_GET() {return delayedreceivedbit;} private: CGenerator RxGEN; CLine *usedline; int receivedbit; int delayedreceivedbit; int delay; };Методи класу: Процесс (void Proceed) Отримання зчитаного біту (+затримка) DEBUG_GET() Отримання значення синхроімпульсу (int GetCLK) Змінні класу: Вихідний біт враховуючи затримку (int delayreceivedbit) Поточний прочитаний біт даних (int receivedbit) Затримка видачі на лінію (int delay) Генератор тактових імпульсів (CGenerator RxGEN) Вказівник на лінію зв’язку з приймачем (CLine *usedline) При створенні об’єкту цього класу викликається конструктор. В його тілі відбувається ініціалізація об’єкту ГТІ, відбувається прив’язка до лінії передачі даних (вказівник на об’єкт типу CLine), встановлюється значення затримки виводу результату. CReceiver::CReceiver(int freq, CLine *line,int del) { RxGEN.Init(freq); usedline=line; delayedreceivedbit=1; delay=del; } Метод Proceed – основний процес об’єкту класу (приймача). Працює подібно до передавача, але за тим виключенням, що він зчитує дані з лінії (які записав туди передавач). Статична змінна static int rdelcnt призначена для емуляції затримки отриманого значення. Залежно від значення імпульсу ГТІ (RxGEN.GetFront()) ми або не змінюємо поточний отриманий біт, або знову зчитуємо його з лінії (по додатному перепаду синхроімпульсу) void CReceiver::Proceed() { static int rdelcnt=0; RxGEN.Proceed(); if (rdelcnt==delay) {delayedreceivedbit=receivedbit;rdelcnt=0;} else rdelcnt++; switch (RxGEN.GetFront()) { case 2: receivedbit=usedline->Read(); case 0: case 1: break; } } Висновок: у ході виконання лабораторної роботи ми описали структуру класу CRceiver (і CGenerator), що являє собою пристрій приймання даних.
Допоможи студентському архіву

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

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

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

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

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

Admin

26.02.2023 12:38

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