Курсовая: Кодирующее устройство для кода Файера
/p>
5.4. Регистр К155ИР13.
Микросхема К155ИР13 является универсальным восьмиразрядным регистром сдвига
с большими функциональными возможностями. Регистр может работать в следующих
режимах: последовательного ввода информации с о сдвигом вправо;
последовательного ввода информации с о сдвигом влево; параллельного ввода;
хранение; установка нулей (очистка, сброс).
Микросхема имеет следующие выводы (рис. 5.4): информационные входы
последовательного ввода информации – DR при сдвиге вправо и DL при сдвиге
влево; восемь входов D0-D7 для параллельного ввода; тактовый вход С;
управляющие входы S0 и S1 для выбора режима; вход R для установки триггеров в
нулевое состояние и восемь выходов от разрядов Q0-Q7.
Рис. 5.4. Регистр К155ИР13.
Работа регистра в режиме последовательного ввода со сдвигом вправо происходит
при S1=0 и S0=1. Информация в последовательном коде подается на вход, начиная
с младших разрядов. Ввод и сдвиг всего числа на один разряд происходит с
каждым перепадом 0,1 тактовых импульсов.
Последовательный ввод со сдвигом влево осуществляется при S1=1 и S0=0.
Входная информация должна поступать на вход DL со старших разрядов.
Для параллельного ввода со входов D0-D7 на обоих управляющих входах должно
быть S1=S0=1. Информация со входов D0-D7 будет записана в триггеры и появится
на выходах Q0-Q7 по перепаду 0,1 тактового импульса.
Во избежание сбоев, смена состояний управляющих входов S1 и S0 должна
происходить при С=1. Когда на обоих управляющих входах S1= S0=0, триггеры не
переключаются, т. е. имеет место режим хранения. Установка нулей (очистка
регистра ) осуществляется импульсом U0 на входе R. Очистка регистра
происходит независимо от состояния остальных входов. Во время действия
импульса R=0 регистр бездействует. При выполнении всех остальных операций
необходимо поддерживать R=1. Работа регистра приведена в таблице 3.
Таблица 3.
Входы | Выходы | Режим работы | R | C | S0 | S1 | DR | DL | Di | Q0 | Q1-Q6 | Q7 | 1 | | 1 | 1 | 1 | X | Dni | Dn0 | Dn1... Dn6 | Dn7 | Параллельный ввод. Хранение | 1 | | 0 | 0 | X | X | X | Qn0 | Qn1... Qn6 | Qn7 | 1 | | 1 | 0 | X | 0 | X | Qn1 | Qn2... Qn7 | 0 | Сдвиг влево | 1 | | 1 | 0 | X | 1 | X | Qn1 | Qn2... Qn7 | 1 | 1 | | 0 | 1 | 0 | X | X | 0 | Qn0... Qn5 | Qn6 | Сдвиг вправо | 1 | | 0 | 1 | 1 | X | X | 1 | Qn0... Qn5 | Qn6 | 0 | x | x | x | X | x | X | 0 | 0 ... 0 | 0 | Сброс |
ВЫВОДЫ. В данной главе были описаны основные элементы, применяемые при
реализации принципиальной схемы кодера. Также была дана их краткая
характеристика и способы включения элементов. Все используемые элементы -
ТТЛ. В следующих главах будет рассмотрена программная реализация кодирующего
устройства (его математическая модель).
6. Описание разработки системы.
6.1. Модульная структура системы.
Как уже говорилось во второй главе программа состоит из пяти модулей:
- Основная программа.
- Модуль ввода.
- Модуль вывода.
- Интерфейс.
- Модуль обработки ошибок.
Модульная структура программы представлена на рисунке 6.1
Рис 6.1 Модульная структура программы.
Пользователь ведёт диалог с программой через интерфейс. От интерфейса управление
передаётся в Основную программу, где анализируются команды
пользователя и выполняется передача управления соответствующим модулям. Если
пользователь выбрал пункт меню <Работа> и пункт подменю <Ввод>,
то управление от Основной программы передаётся в Модуль ввода
и дальше пользователь ведет диалог с этим модулем. Как только нажата клавиша
<Enter>, то управление берёт Модуль обработки ошибок. Данный
модуль проверяет выполнение ограничений и выявляет ошибки при вводе. Если
ошибок нет, то управление передаётся в Основную программу и дальше в
Модуль вывода. А иначе пользователю предоставляется шанс ещё раз ввести
данные.
6.2. Описание пользовательского интерфейса.
6.2.1. Меню системы.
Интерфейс системы выполнен в графическом режиме с соблюдением всех
установленных ГОСТОВ. Экран разбит на три части: верхняя часть -
горизонтальное меню с выпадающими окнами; нижняя часть - строка состояния;
средняя часть - окно диалога.
Горизонтальное меню состоит из трёх пунктов:
ü Работа.
В этом пункте предусмотрено выпадающее меню для облегчения поиска
соответствующего пункта. В подменю находятся следующие пункты:
ü Ввод.
ü Вывод
ü Выход.
ü О программе.
ü Помощь.
Передвижение по меню осуществляется с помощью клавиш управления курсором. Каждый
пункт меню активизируется при нажатии клавиши <Enter>. Обработку пунктов
меню осуществляет Основная программа. В неё передаётся управление и
соответствующие координаты пунктов на выполнение.
В пункте меню <Работа>, в подпункте <Ввод > осуществляется ввод
данных, необходимых для работы программы. При этом в Модуле ввода
предусмотрено редактирование вводимого результата. В подпункте <Вывод>
происходит выполнение алгоритма и вывод образующей матрицы на экран в
удобном для визуализации виде.
В подпункте <Выход> происходит предупреждение пользователя о выходе из
программы с соответствующими запросами.
В пункте <О программе > дана краткая аннотация программы.
В пункте <Помощь> представлена помощь по обработке пунктов меню и по
соответствующим клавишам.
6.2.2. Обработка ошибочных ситуаций.
В программе предусмотрена защита от ввода нестандартных данных, а также защита
от нажатия различных клавиш. Для обработки этих ситуаций предусмотрен
Модуль обработки ошибок. Пользователь может вводить только 0 или 1.
Если пользователь ввел по ошибке неправильные данные, то у него есть
возможность исправиться на стадии ввода. Для этих целей в программе
предусмотрен повторный ввод с предыдущими данными.
6.3. Спецификация на программные модули.
Процедура initgrf.
Входные параметры:Нет.
Выходные параметры:Нет.
Выполняемые функции:Инициализация графики. Особенностей:Нет.
Функция Sum(F,P : Byte) : Byte;
Входные параметры: F,P : Byte
Выходные параметры: Sum
Выполняемые функции: Суммирование по модулю 2
Особенностей:Нет.
Процедура Dopoln(Var F : Mass1);
Входные параметры: F : Mass1
Выходные параметры: F : Mass1
Выполняемые функции: Умножение на старшую степень
образующего многочлена .
Особенностей: НЕТ .
Процедура Delenye(F : Mass1;P : Mass2);
Входные параметры: F : Mass1;P : Mass2
Выходные параметры: нет.
Выполняемые функции: Деление многочлен на многочлен
Особенностей:Имеет свои особенности.
Процедура Ed_Matrix(Var A : Two_Matrix);
Входные парамеры: Var A : Two_Matrix
Выходные параметры: Var A : Two_Matrix Выполняемые функции:
Составление единичной матрицы. Особенности: нет.
Процедура Obr_Matrix(Var A : Two_Matrix);
Входные параметры A : Two_Matrix
Выходные параметры: A : Two_Matrix
Выполняемые функции: Получение образующей матрицы
Особенностей: нет.
Процедура Visual(Var sa:mass);
Входные параметры: Var sa:mass
Выходные параметры: Var sa:mass
Выполняемые функции: Ввод информационных символов.
Особенностей: нет
Процедура OutPutObr_Matrix(x,y : Integer;Obr_Matr :
Two_Matrix );
Входные параметры: x,y : Integer;Obr_Matr :
Two_Matrix );
Выходные параметры:Нет.
Выполняемые функции: Вывод образующей матрицы.
Особенностей:Является универсальной.
Процедура OutPut(x,y : Integer;F,A : Mass1);
Входные параметры: x,y : Integer;F,A : Mass1.
Выходные параметры:Нет.
Выполняемые функции: Вывод полученной кодовой
комбинации.
Особенностей: нет.
Функция _Exit(Fon,Color : Integer;Col_Simv : Byte) :
integer;
Входные параметры Fon,Color : Integer;Col_Simv : Byte Выходные
параметры: _Exit : integer.
Выполняемые функции: выход из программы
Особенностей: нет
Основная программа
Входные параметры:нет.
Выходные параметры:Нет.
Выполняемые функции:Обьединяет в себя все процедуры и
управляет работой.
Особенностей:Нет.
ВЫВОДЫ. В данной главе были описаны принципы разработки программы и
интерфейса. Дана модульная структура программы и межмодульные связи. Описан
принцип работы программы и дана спецификация на программные модули. Если это
всё объединить, то нетрудно будет разобраться в отдельных деталях программы.
Дальше будет рассмотрено одно из основных мероприятий при программировании -
тестирование.
7. Тестирование.
7.1. Выбор методики тестирования.
Без тестирования программ невозможно создать правильно работающую программу,
так как всегда существуют какие-то граничные условия, за пределами которых
программа даёт ошибки. При этом не следует путать отладку программ и
тестирование.
Отладка программ - используется при неправильной работе программы.
Тестирование - ищет ошибки.
Существует много методов тестирования:
1) Статическое тестирование является наиболее формализованным
и автоматизируемым методом проверки программ. В качестве эталонов применяются
правила структурного построения программных модулей и обработки данных.
Проверка степени этих правил проводится без использования объектного кода
программы путем формального анализа текста программы на языке программирования.
Операторы и операнды текста программ при этом анализируется в символьном виде,
поэтому такой метод называют символьным тестированием.
2) Детерминированное тестирование является наиболее
трудоёмким и детализирующим. При детерминированном тестировании контролиру-
естся каждая комбинация исходных эталонных данных и
соответствующая ей комбинация результатов функционирования программы. Это
позволяет выявлять отклонение результатов от эталона и реализующих данных,
при которых это отклонение произошло.
3) Стохастическое тестирование применяется в тех случаях,
когда невозможно в сложных задачах перебрать все комбинации исходных данных и
проконтролировать результаты функционирования программы на каждом из них. При
этом исходные тестовые данные задаются множеством случайных величин с
соответствующими распределениями и для сравнения полученных результатов
используются также распределения случайных величин. Стохастическое тестирование
применяется в основном для обнаружения ошибок.
4) Тестирование в реальном масштабе времени. В процессе такого
тестирования проверяется исполнение программ и обработка исходных данных с
учетом времени их поступления , длительности и приоритетности обработки ,
динамика использования памяти и т.д.
5) При восходящем тестировании прежде всего проверяются модули
нижних иерархических уровней, к которым постепенно подключаются вызывающие их
модули. При этом обеспечивается работоспособность вызываемых компонент и
функции группы программ проверяются в их естественном исполнении. Основные
трудности состоят в необходимости полного обновления тестовых наборов при
подключении каждой новой программы более высокого уровня.
6) При нисходящем тестировании проверки начинаются с программ
управления и организации вычислительного процесса. Первоначально тестируется
управляющее ядро комплекса программ и программы решения функциональных задач,
Страницы: 1, 2, 3, 4
|