|
Реферат: Кодирующее устройство для кода ФайераДля синхронного каскадирования микросхема имеет два входа разрешения СЕР и СЕТ, а также выход ТС (окончания счета). Счетчик считает тактовые импульсы если на входах СЕТ и СЕР напряжения высокого уровня. Вход СЕТ последующего счетчика соединяется с выходом ТС предыдущего. На выходе ТС появится напряжение высокого уровня, если выходной код счетчика 1111=15, а на входе СЕТ присутствует напряжение высокого уровня. Состояния счетчика приведены в таблице 1. Таблица 1.
5.3. Триггер К555 ТВ6 Микросхема К555 ТВ6 содержит два J-K триггера с общим входом питания и изображена на Рис .5.3 . Вход синхронизации С у всех триггеров инверсный динамический, поэтому данные со входов J и K переносятся на выход Q по отрицательному перепаду импульса С. Когда импульс переходит от высокого уровня к низкому сигналы на входах J и K не должны меняться. Состояния для триггера приведены в таблице 2 . Таблица 2. Состояния триггера К555 ТВ6.
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.
ВЫВОДЫ. В данной главе были описаны основные элементы, применяемые при реализации принципиальной схемы кодера. Также была дана их краткая характеристика и способы включения элементов. Все используемые элементы -ТТЛ. В следующих главах будет рассмотрена программная реализация кодирующего устройства (его математическая модель). 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) Реальная стратегия обычно сочетает оба метода. При помощи метода "чёрного ящика" делается: ü Проверка в нормальных условиях. ü Анализ граничных значений. ü Проверка в исключительных ситуациях. ü Предположение об ошибке. При помощи метода "Белого ящика" делается: |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Рефераты бесплатно, реферат бесплатно, курсовые работы, реферат, доклады, рефераты, рефераты скачать, рефераты на тему, сочинения, курсовые, дипломы, научные работы и многое другое. |
||
При использовании материалов - ссылка на сайт обязательна. |