Опис процедури зчитування повідомлення Read_Message

11360
знаков
0
таблиц
15
изображений

1.2 Опис процедури зчитування повідомлення Read_Message

Розглянемо процедуру Read_Message для декодування повідомлень (зчитування з файлу). Спочатку значення аналогової напруги сигналу mU зчитується з текстового файлу і відображаються у вигляді діаграми (рис.4). Значення аналогової напруги сигналу mU перетворюються у масив бітів mBit, а на основі масиву бітів визначаються коди символів mCod_bit. За кодами символів визначаються самі символи, тобто текст повідомлення.

Розглянемо процес зчитування повідомлення з файлу на рівні програмного коду. Спочатку потрібно відкрити один з попередньо створених файлів і зчитати значення напруги в масив mU. На основі масиву mU будується графік залежності напруги від номеру біту.

Відповідно до рівнів напруги для логічних 0 та 1 на основі масиву напруг mU отримується масив логічних значень mBit.

for i:=1 to n-1 do

begin

if (mU[i]>=5)and(mU[i]<=12) then

mBit[i-1]:=0;

if (mU[i]<=-5)and(mU[i]>=-12) then

mBit[i-1]:=1;

Str2:=Str2+FloatToStr(mBit[i-1]);

end;

Значення елементів масиву mBit відображаються на формі:

Memo1.Lines.Add(Str2);

Згідно з форматом послідовної передачі даних декодуються значення масиву mBit, тобто послідовність бітів розділяється на байти, видаляються службові біти, а значення бітів даних записуються в масив mCod_bit. Для цього проводиться послідовний аналіз усіх бітів масиву mBit. Згідно з фор-матом передачі даних послідовність бітів починається з паузи, після якої слідує старт-біт. Закінчується послідовність бітів даних бітом контролю і стоп-бітом.

j:=1;

for i:=1 to KilSymv do //Відокремлення службових бітів

begin

repeat

if Str2[j]='0' then //Після 0 йдуть інформаційні символи

begin

for iii:=0 to DovjSlova-1 do

begin

inc(j);

mCod_bit[i,iii]:=StrToInt(Str2[j]);

end;

j:=j+KilStopBit; //Стрибок на біт паузи наступного повідомлення

if Form5.RadioGroup5.ItemIndex<>0 then

inc(j);

break;

end

else inc(j);

until 1=2;

end;

На основі бітів даних (масив mCod_bit) для кожного символу отримується його код (масив mCod), перетворенням набору з 8 біт у десяткове число. Коди символів відображаються на формі.

for i:=1 to KilSymv do //Перетворення у 10-ве число

begin

mCod[i]:=0;

for ii:=0 to DovjSlova-1 do

mCod[i]:=mCod[i]+mCod_bit[i,ii]*trunc(power(2,(DovjSlova-1)-ii));

end;

Edit3.Clear;

for i:=1 to KilSymv do

Edit3.Text:=Edit3.Text+IntToStr(mCod[i])+' '; //Запис коду символів у поле mCod

Значення байтів даних (код символу з mCod) перетворюються у сим-воли повідомлення (Message_In – зчитування з файлу), яке й відображається на формі.

for i:=1 to KilSymv do //Перетворення коду у символ

begin

Str2:=chr(mCod[i]);

Str:=Str+Str2;

end;

Edit2.Text:=Str; //Запис у поле Message_In


Рис. 1.4. Блок-схема процедури Read_Message


2. Опис процедури відображення стану регістрів

Овал: Початок


Рис. 2.1. Блок-схема процедури відображення стану регістрів


Продовження рис. 2.1.

Роботу процедури показу стану регістрів можна прослідкувати використовуючи, наприклад, регістр формату даних.

За допомогою цього регістра можна сконфігурувати параметри СОМ-порта, а саме: дозвіл на встановлення швидкості, паритет, довжину інформаційного слова та кількість біт паузи.

Даний регістр буде змінювати числове значення своїх бітів тоді, коли будуть конфігуруватися опції СОМ-порта. Наприклад, нехай в регістрі буде записано число 11011010. В даному випадку нас цікавлять останні два біти. Зараз вони рівні 10. Це означає, що довжина інформаційного повідомлення рівна 7. Вибравши довжину слова рівною 8 біт, ми тим самим змінимо значення регістру на наступне: 11011011.


3. ОПИС ЕКРАННИХ ФОРМ ПРОГРАМИ

Рис. 3.1. Комп'ютерне моделювання роботи послідовного порта

На рис. 3.1. показана головна форма програми. У меню даної екранної форми є лише один пункт, обробник якого викликає та показує інформацію про розробника даної програми.

Рис. 3.2. Інформація про автора

На головній формі можна здійснити виклик двох обробників різних за суттю операцій. TForm1.Button1Click – викличе метод Form4.Show, тобто здійснить виклик форми “Організація обміну даними через послідовний порт”. Її вигляд можна побачити на рис. 1.3 TForm1.Button2Click – застосує метод Form2.Show, для здійснення показу інформативного відносно користувача зображення, яке матиме наступний вигляд:


Рис. 3.3. Форма блок-схеми UART

На представленій екранній формі (рис. 3.3.) також є меню. Але воно вже на відміну від попередньої виконуватиме дві дії:

1)         покаже довідку відносно користування блок-схемою (рис. 3.5.);

2)         здійснить вихід.

Ну а зараз потрібно згадати про рис. 1.3, а точніше трошки розтлумачити принцип його дії.

Основною задачею даної програми є емулювання роботи послідовного порта. За допомогою цього вікна, виклик якого можна здійснити на головній формі, можна передати чи прийняти інформаційне повідомлення. Принцип прийому та передачі викладений вище.

Меню складається з трьох пунктів:

1)         опції СОМ-порта(викликає вікно конфігурування порта(рис. 1.2));

2)         довідка(показує довідку по коректній експлуатації даної форми екрану(рис. 3.4.));

3)         закрити(виконує закриття активного вікна).

Рис. 3.4. Довідка по експлуатації форми “Організація обміну даними через послідовний порт”

Рис. 3.5. Довідка по формі блок-схеми UART


Висновки

В описі програми розглянуто алгоритм процедур запису і зчитування повідомлень на рівні блок-схеми та на рівні програмного коду. Програма має простий інтерфейс, але виконує складні задачі. Однією з її головних задач є запис/зчитування даних через послідовний порт. Дивлячись на текст програми, можна сказати, що послідовний порт має доволі складний формат даних, які передаються/приймаються, але все ж таки плюси СОМ-порта дещо виділяють його з-поміж інших і тому він є досить поширеним.


Список використаної літератури

1.         Гофман В.Э., Хомоненко А.Д.Delphi 6. СПб.: БХВ-Петербург, 2001. – 1135 с.

2.         Агуров П.В. Последовательные интерфейсы ПК. Практика программирования. –СПб.: БХВ-Петербург, 2004.– 496 с.


Информация о работе «Верифікація послідовного порту»
Раздел: Информатика, программирование
Количество знаков с пробелами: 11360
Количество таблиц: 0
Количество изображений: 15

Похожие работы

Скачать
120215
18
54

... ім часом компанії-виробники PLD звернули увагу на розробку саме таких програмних пакетів. 2. Призначення та структура системи автоматизованого проектування MAX+PLUS II Система автоматизованого проектування MAX+PLUS II являє собою інтегроване середовище для розробки цифрових пристроїв на базі програмувальних логічних інтегральних схем фірми Altera. Він забезпечує виконання всіх етапів, необхі ...

Скачать
68814
16
11

... кріплення (болти, домкрати) більшої довгі. Ескіз системи в складі спеціалізованого обчислювача представлений на малюнку 1.3. Малюнок 1.4 - Ескіз механічного кріплення системи в спеціалізованому обчислювачі. 2. Розробка функціональної схеми й вибір елементної бази   2.1 Опис функціональної схеми системи Для того щоб виконати дане завдання нам необхідно мати наступні вузли: - вузол ...

Скачать
227199
29
6

... України. До товарів, що імпортуються на територію України, застосовується національний режим сертифікації. Шоколад підлягає обов’язковій сертифікації, тому при переміщенні через митний кордон України шоколад повинен мати обов’язково сертифікат відповідності (додаток ). До засобів нетарифного регулювання відноситься також контроль державних органів: ·           експортний контроль ·           ...

Скачать
42409
1
6

... , розроблена Джонном Херінгтоном (John Herington). Пристрій підключається до портативного пристрою - ноутбуку/КПК і має достатню спрямованість і потужність (ефективна робота до 1,5 км). Bluetooth: принципи побудови і функціонування Bluetooth - це технологія передачі даних по радіо на коротку дистанцію, що дозволяє здійснювати зв'язок безпровідних телефонів, комп'ютерів і різної периферії за ...

0 комментариев


Наверх