RSS    

   Реферат: Кодирующее устройство для кода Файера

2.   Работа  - содержит подменю с пунктами:

1.   Ввод - позволяет пользователю ввод  соответствующих данных. Здесь предусмотрена защита от некорректного ввода. В этом пункте можно ввести  любую информационную комбинацию.

2.   Вывод - выполняется алгоритм построения образующей матрицы, с последующем  выводом  ее на экран.

3.   Выход - обеспечивает выход из программы. Используется защита от случайного выхода.

Пункты меню активизируются нажатием клавиши <Enter>.

При появления каждого окна в строке статуса появляется сообщение о возможных действиях.

Передвижение по меню осуществляется клавишами перемещения курсора на клавиатуре. Также используется "горячая клавиша"  Esc. При нажатии на неё происходит автоматический выход из программы.

Заключение

В данной работе был рассмотрен один из множества методов кодирования. Достоинство данного метода в том, что он может находить исправлять пачки ошибок. Также все циклические коды легко поддаются  схемной  реализации.

Все  элементы принципиальной схемы имеют серии К155 или  К55. Это одни из самых распространенных и довольно не дорогих отечественных микросхем, легко доступная любому пользователю.

Программа реализована на языке Turbo Pascal 7.0. Это наиболее распространенный на сегодняшний день язык программирования. Поэтому в программе разобраться трудностей не будет.

Кодирование информации наиболее актуальна в наши дни в связи с развитием компьютерных сетей. Необходимо передавать информацию быстро и точную.

                Программа тестировалась восходящим методом. С помощью этого метода сначала были протестированы отдельные модули программы, а затем и вся программа.

Проведено тестирование программы необходимое для проверки работоспособности программы, которое показало, что программа устойчиво работает на все режимах работы и выполняет поставленную задачу.

Программа  является универсальной и может быть усовершенствована  любым пользователем, разбирающимся в языке программирования Pascal 7.0 .

Дана общая модульная структура программа, которая может помочь ползо-

вателю  разобраться в общей структуре программы и усовершенствовать программу.

Список литературы.

1.   Тёмников Ф. Е..

Теоретические основы информационной техники:

Учеб.пособие для вузов-2-е изд., перераб. и доп.-М.:Энергия, 1979.-

 512 с., ил.

 

2. Липаев В.В.

Тестирование программ.- М.:     Радио и связь,1986. - 296 с.: ил.

3. Тутевич В. Н.

Телемеханика:

Учеб.пособие для студентов вузов спец. “Автоматика и

телемеханика”-2-е изд., перераб. и доп.-М.: Высш. Шк., 1985.-  423 с., ил.

4.  Зельдин Е. А.

Цифровые интегральные микросхемы в информационн-измерительной 

аппаратуре. –Л.: Энергоатомиздат. Ленингр. отд-ние, 1986.- 280 с.: ил.

Приложения.

 

Приложение 1.  Перечень элементов

Поз.

Обозн.

Наименование Кол Примечания

Конденсаторы

С3 К10-60 – 10 мКф + 10% 1
С1,С2 К10-17а – 0.1 мКф  +  0.1% 2

Микросхемы.

К555АГ3 1
К155ИР13 9
К555ТВ6 1
К555ИЕ10 2
К155ЛН1
К155ЛИ1

Резисторы

R1-R2 С2-29В 5Ком±0.1% 2
R4 МЛТ-0.125 – 30 Ком + 10% 1
R5 МЛТ-0.125 – 1.5Koм + 10% 1

Приложение 2.  Блок-схема алгоритма.


Приложение 3. Текст програмных модулей.

Uses Crt,Graph,AlexUnit;

Const

  _N = 33;

  _M = 10;

Type

  Delim_Mas = array[1 .. 100] of byte;

  Mass1 = array[1 .. _N+_M-1] of byte;

  Mass2 = array[1 .. _M] of byte;

  Mass3 = array[1 .. _M-1] of byte;

  Mas_Exit=array[1..2] of String;

  Two_Matrix=array[1 .. _N,1 .. _N+_M-1] of byte;

Const

  P : Mass2 = (1,0,1,1,0,0,1,0,1,1);

  Y_No : Mas_Exit = ('Да','Нет');

Var

   F,Cicle_Kod : Mass1; R : Mass1;

   Delimoe : Delim_Mas;

   Obraz_Matrix : Two_Matrix;

   Mas : Mass;

   grDriver,grMode,ErrCode: Integer;

   flag : boolean;

   _t,c,n,m,i,schot,N0,Code : integer;

Function Sum(F,P : Byte) : Byte;    {Суммирование по модулю 2}

  Var

    i : Byte;

  Begin

    If ((F=1) and (P=1)) or ((F=0) and (P=0)) Then Sum:=0

                                                                                                                             Else Sum:=1;

  End;

{-------------------------------}

Procedure Dopoln(Var F : Mass1); {Умножение на старшую степень образующего многочлена}

 Var

   i : Byte;

 Begin

   for i:=_N+1 to _N+_M-1 do F[i]:=0;

 End;

{--------------------------------}

Procedure Delenye(F : Mass1;P : Mass2); {Деление многочлен на многочлен}

  Var

         i,j,t : Byte; K : Mass1;

  Begin

    For i:=1 to _N do

      Begin

        IF F[i]=1 Then Begin

          t:=1;

          For j:=i to i+_M-1 do

            Begin

              K[j]:=Sum(F[j],P[t]);

              F[j]:=K[j];

              t:=t+1;

            End;

        End;

      End;

    t:=1;

    For i:=_N+1 to _N+_M-1 do

      Begin

        R[t]:=F[i];

        t:=t+1;

      End;

  End;

{----------------------------------------}

Procedure Ed_Matrix(Var A : Two_Matrix);  {Составление еденичной матрицы}

Var

  i : Integer;

  Begin

    For i:=1 to _N do

      Begin

        A[i,_N+1-i]:=1

      End;

  End;

{----------------------------------------}

Procedure Obr_Matrix(Var A : Two_Matrix); {Получение образующей матрицы}

  Var

         i,j,t,Schot,l,m : Byte; K : Mass1;

  Begin

    Delimoe[1]:=1;

    Schot:=1;

    For i:=1 to _N do

      Begin

        IF Delimoe[i]=1 Then Begin

          t:=1;

          For j:=i to i+_M-1 do

            Begin

              K[j]:=Sum(Delimoe[j],P[t]);

              Delimoe[j]:=K[j];

              t:=t+1;

            End;

          l:=1;

          For m:=i+1 to i+_M-1 do

            Begin

              A[Schot,_N+l]:=Delimoe[m];

              l:=l+1;

            End;

        End

           Else Begin

             l:=1;

             For m:=i+1 to i+_M-1 do

               Begin

                 A[Schot,_N+l]:=Delimoe[m];

                 l:=l+1;

               End;

           End;

        Schot:=Schot+1;

      End;

  End;

Procedure InitGrf;                    {Инициализация графики}

Begin

  grDriver := Detect;

  InitGraph(grDriver, grMode,'c:\sub\bp\bgi');

  if GraphResult <> grOk then  Begin

       Halt(1);

  End;

End;

Procedure Visual(Var sa:mass);  {Ввод информационных символов}

 Var i,x,y,k,Fon,Color,a:Integer;

     Code: Integer;

     ch,chi:Char;

     Stop:Boolean;

     Elm : String;

 Begin

  moveto(20,465);

  SetTextJustify(0,1);

  SetColor(0);

  outtext('Нажмите Enter');

  x:=30;

  y:=225;

  k:=17;

  Fon:=1;

  Color:=14;

  Window_(30,150,610,260,1,'Ввод нформационных символов');

  SetTextStyle(1,0,4);

  SetColor(Fon);

Страницы: 1, 2, 3, 4, 5, 6, 7


Новости


Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

                   

Новости

© 2010.