Верифікація ПОСЛІДОВНОГО ПОРТА

(курсова робота)


АНОТАЦІЯ

Опис програми містить загальний опис алгоритмів головної програми та процедур запису і зчитування повідомлень на рівні блок-схем, а також більш детальний опис розробленої програми на рівні програмного коду.


ЗМІСТ

ВСТУП

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

1.1 Опис процедури запису повідомлення Write_Message

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

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

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

Висновки

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


ВСТУП

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

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


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

1.1 Опис процедури запису повідомлення Write_Message

Розглянемо блок – схему алгоритму процедури Write_Message (рис. 1.1) для кодування повідомлень. Після зчитування символів з форми визначаються їх коди (масив mCod_bit). Далі коди символів mCod_bit перетворюються у масив бітів mBit. Значення кожного біту з масиву mBit перетворюються в аналогову напругу сигналу mU, а значення напруги записуються в текстовий файл.

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


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

Str:=Edit1.Text;

та опції СОМ-порта

case Form5.RadioGroup2.ItemIndex of //Визначення довжини слова

0:DovjSlova:=7;

1:DovjSlova:=8;

end;

case Form5.RadioGroup3.ItemIndex of //Визначення к-сті стопових бітів

0:KilStopBit:=1;

1:KilStopBit:=2;

end;

Далі в циклі знаходяться коди розміром 1 байт (цілі числа від 0 до 255) для всіх символів, які записуються у масив mCod

for i:=1 to length(Str) do

begin

mCod[i]:=ord(Str[i]);

Edit3.Text:=Edit3.Text+IntToStr(mCod[i])+' ';

end;

Отримані коди символів відображаються на формі в компоненті Edit3. Код кожного символа перетворюється у двійкове представлення за допомогою процедури наступного коду програми, який перетворює байт у масив з 8 біт. Отримане бітове представлення записується у масив mCod_bit.

repeat

n:=Data div 2;

mCod_bit[i,ii]:=Data mod 2;

Data:=n;

dec(ii);

until Data<2;

mCod_bit[i,ii]:=Data;

Найскладніша частина процедури – перетворити бітове представлення символів у послідовне повідомлення. Згідно з форматом послідовної передачі даних перед кожним байтом даних потрібно вставити біти паузи (1-10 бітів) і старт-біт, а після бітів даних (кодів символів з масиву mCod_bit) – біт контролю і стоп-біт. Довжина інформаційного слова, кількість стопових бітів, парність та швидкість передачі даних встановлюється у пункті меню “Опції СОМ-порта”( Рис. 1.2).

Рис. 1.2. Форма опцій СОМ-порта

for i:=1 to length(Str) do

begin

iii:=random(9)+1; //Діапазон бітів паузи: 1-10

ii:=iii+DovjSlova;

Data:=mCod[i];

Parnist:=0;

repeat //Перетворення у 2-ву СЧ

n:=Data div 2;

mCod_bit[i,ii]:=Data mod 2;

if mCod_bit[i,ii]=1 then //Підрахунок одиниць

Parnist:=Parnist+1;

Data:=n;

dec(ii);

until Data<2;

mCod_bit[i,ii]:=Data;

if mCod_bit[i,ii]=1 then //Підрахунок одиниць

Parnist:=Parnist+1;

n:=iii+DovjSlova+KilStopBit;

if Form5.RadioGroup5.ItemIndex<>0 then //Якщо є біт парності,то n+1

inc(n);

ii:=0;

repeat

if ii<iii then

mCod_bit[i,ii]:=1; //Запис бітів паузи

if ii=iii then

mCod_bit[i,ii]:=0; //Запис біту старту

if ii=(n-KilStopBit) then //Запис біту парності

begin

case Form5.RadioGroup5.ItemIndex of

1:begin //непарна

if (Parnist mod 2)<>0 then

mCod_bit[i,ii]:=0

else mCod_bit[i,ii]:=1;

end;

2:begin //парна

if (Parnist mod 2)=0 then

mCod_bit[i,ii]:=0

else mCod_bit[i,ii]:=1;

end;

3:mCod_bit[i,ii]:=1; //постійно 1

4:mCod_bit[i,ii]:=0; //постійно 0

end;

end;

if ii=(n-KilStopBit)+1 then //Запис бітів стопу

begin

for j:=1 to KilStopBit do

begin

mCod_bit[i,ii]:=1;

inc(ii);

end;

end;

inc(ii);

until ii>n;

end;

Відповідно до рівнів напруги для логічних 0 та 1 на основі масиву mBit потрібно отримати масив напруг mU та побудувати графік залежності напруги від номеру біту на основі масиву mU (компонент DBChart). Для моделювання шумової складової напруги використано функцію Random, наприклад: mU[n]:=8.5+(Random-0.5)*2.

n:=1;

Str2:='';

Memo1.Clear;

for i:=1 to length(Str) do

begin

iii:=21;

repeat

dec(iii);

if mCod_bit[i,iii]=1 then

break;

until 1=2;

for ii:=0 to iii do

begin

Str2:=Str2+IntToStr(mCod_bit[i,ii]); //Запис до Str2 масиву mCod_bit

if mCod_bit[i,ii]=0 then

begin

mU[n]:=8.5+(Random-0.5)*2;

inc(n);

end

else begin

mU[n]:=-8.5+(Random-0.5)*2;

inc(n);

end;

end;

end;

Отримана послідовність бітів відображається на формі

Memo1.Lines.Add(Str2); //Запис у поле mBit

Масив напруг відображається у вигляді діаграми і записується у файл.

DBChart1.Series[0].Clear; //Очистка графіка

for i:=1 to n-1 do //Побудова графіка

DBChart1.Series[0].Add(mU[i],IntToStr(i),clRed);

if SaveDialog1.Execute then //Запис у файл

begin

AssignFile(f,SaveDialog1.FileName);

Rewrite(f);

for i:=1 to n-1 do

writeln(f,mU[i]:3:1);

CloseFile(f);

end;


Рис. 1.3. Форма організації обміну даними через послідовний порт


Информация о работе «Верифікація послідовного порту»
Раздел: Информатика, программирование
Количество знаков с пробелами: 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 комментариев


Наверх