imiaDPd (780151)

Файл №780151 imiaDPd (Работы Стефановича)imiaDPd (780151)2018-01-12СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла

МОСКОВСКИЙ ГОРОДСКОЙ ДВОРЕЦ

ТВОРЧЕСТВА ДЕТЕЙ И ЮНОШЕСТВА

А.Е. Стефанович

Программный автоматизированный имитатор электронных схем

(ПАИЭС)

Методическое пособие по выполнению учебных работ.

Дисциплина:
“Программирование и основы алгоритмизации”.

Москва 2003-2004

1. Предисловие.

Цель методического пособия - обучение учащихся синтезу систем управления на основе программных автоматизированных имитаторов электронных схем (ПАИЭС).

Основой методического пособия является программа imiaDP.c, написанная автором на языке программирования Си и представляющая собой программный конструктор, на основании которого можно создавать ПАИЭС, выполняющие заданные логические функции, а затем из этих ПАИЭС синтезировать заданную систему управления. Исходный текст (образец) ПАИЭС обеспечивает имитацию 6 режимов работы (см. главу 4).

Так как исходный текст (образец) ПАИЭС составлен по модульному принципу, то любой из вышеприведенных режимов работы может быть легко исключен из программы, а любой другой режим легко вставлен в программу. При этом может быть обеспечена любая логика работы, в том числе имитация обработки сигналов мехатронных устройств (сигналов рассогласования, запросов на обслуживание и т.д.) . Количество режимов не ограничено.

Все результаты работы записываются по принципу “черного ящика” в автоматически открывающийся выходной файл.

ПАИЭС может быть использован при обучении учащихся программированию, разработке курсовых и дипломных проектов, создании систем автоматического управления учебного, научного и промышленного назначения, проектировании демонстрационных стендов. Причем, система автоматического управления может состоять, как из реальных программно управляемых мехатронных объектов, так и из их программных имитаторов (виртуальных объектов). Для связи ПАИЭС с программно управляемым мехатронным объектом или комплексом мехатронных объектов, объединенных интерфейсной магистралью, необходима программа-драйвер устройства или магистрали, которая должна быть включена в виде программного модуля в исходный текст ПАИЭС.

Исходный текст (образец) ПАИЭС содержит практически все основные средства языка программирования Си. В тексте использованы только библиотечные функции, т.е. нет обращения к заимствованным программам, что позволяет полностью проследить логику работы программы. Текст подробно комментирован на английском языке.

В главе 6 приведены исходные данные для 1152 вариантов учебных работ.

2. Основные правила при работе с программами, написанными на языке Turbo C.

При работе с программой необходимо:

- напечатать листинг исходного текста программы, используя соответствующую дискету;

- изучить листинг исходного текста программы, поставив себя на место написавшего ее ПРОГРАММИСТА:

  • комментарий заголовка,

  • вход программы Entry,

  • выход программы Exit,

  • разделы программы (Includes, Declarations, Defines, Globals variables, Main, Programms, ...),

  • комментарии,

  • структуру программы (линейный режим следования операторов, блоки операторов, условные и безусловные переходы, циклы, ...),

  • вызовы функций,

  • прототипы (декларации, программные интерфейсы, описания) функций (в том числе в текстах, включаемых библиотек типа h),

  • тексты функций,

  • распределение памяти,

  • присвоение переменных;

- изучить листинг исходного текста обучающей программы, поставив себя на место ПРЕПРОЦЕССОРА, обрабатывающего инструкции #include, #define,… и создающего из исходного текста на языке Си расширенный текст на языке Си;

- изучить листинг исходного текста обучающей программы, поставив себя на место ТРАНСЛЯТОРА, создающего из расширенного текста на языке Си двоичный файл объектного модуля типа obj;

- изучить листинг исходного текста обучающей программы, поставив себя на место РЕДАКТОРА СВЯЗЕЙ (ЛИНКЕРА), создающего из двоичного файла объектного модуля типа obj двоичный файл исполняемого модуля типа exe;

- изучить листинг исходного текста обучающей программы, поставив себя на место ЦЕНТРАЛЬНОГО ПРОЦЕССОРА, обрабатывающего инструкции исполняемого модуля типа exe;

- запустить файл исполняемого модуля типа exe;

- следить за выполнением запущенной программы на экране дисплея, одновременно изучая листинг соответствующего исходного текста;

- изучить работу функций препроцессора (#include, #define, ...),

- исследовать работу применяемых функций, используя соответствующие справочники по схеме:

  • выполняемая функция,

  • заголовок,

  • прототип (декларация, программный интерфейс, описание функции),

  • библиотека (файл типа h или c), содержащая прототип или исходный текст (тело) функции,

  • возможные варианты спецификации формата, типы аргументов, виды печати (если функция осуществляет вывод информации, например, функция printf),

  • тип функции (тип возвращаемого оператором return значения),

  • типы входных и выходных переменных,

  • распределение и типы памяти для хранения входных и выходных переменных,

  • обмен информацией между вызывающей и вызываемой программами,

  • особые замечания,

  • основной результат работы,

  • сопутствующие результаты работы (в частности, какую информацию возвращает оператор return),

  • родственные функции (например, изучая работу функции printf изучить работу функций sprintf, fprintf, vfprintf, vprintf, vsprintf)

  • функции, выполняющие противоположные операции (например, в случае изучения функции printf, осуществляющую вывод информации, изучить также функцию scanf, осуществляющую ввод информации).

- изучить работу операторов (for, while, do-while, swith, if, if-else, else-if, break, ...), используя рекомендуемые учебники;

- используя листинг письменно прокомментировать каждую строку исходного текста;

- на отдельных листах письменно прокомментировать примененные функции по вышеприведенной схеме;

3. Программный автоматизированный имитатор электронных схем.

Схемы промышленной электроавтоматики, например схема управления приводом главного движения станка или схема управления выбором и сменой инструментов, являются цифровыми автоматами, работа которых описывается логическими функциями.

Универсальный метод синтеза промышленной электроавтоматики основан на создании циклограмм работы механизмов и их описании уравнениями алгебры логики. Этот метод позволяет проектировать оптимальные принципиальные схемы любой степени сложности и на любой элементной базе.

Этот же метод (создание циклограмм работы механизмов и их описание уравнениями алгебры логики) может быть использован при синтезе систем управления на основе ПАИЭС. В этом случае с помощью программ, написанных ,например, на языке Ассемблер или Си, имитируется работа электронных устройств, выполняющих логические функции (инвертора НЕ, элемента И, элемента ИЛИ и т.д.), а затем из этих программных имитаторов синтезируется заданная система управления, имеющая такие же логические входные и выходные сигналы, что и имитируемая электронная схема.

Прилагаемый исходный текст (образец) ПАИЭС (программа imiaDP.с ) соответствует электронной схеме (см. Приложение 1), имеющей три входа X1, X2, X3, два выхода Z1 и Z2 и описываемой логическими уравнениями:

Z1=Y2Y1X3+Y1Y3X2+Y3Y2X1+X1X2X3

Z2=X3X2+X3X1+X2X1

где Y1, Y2, Y3 - инвертированные X1, X2, X3.

При транслировании указанного текста получается ПАИЭС imiaDP.exe , описываемый вышеприведенными уравнениями. При запуске ПАИЭС imiaDP.exe и вводе двоичных кодов входных значений X1, X2, X3 (для трех входов возможно восемь комбинаций) на выходах Z1 и Z2 получаются двоичные коды выходных значений в соответствии с логикой работы заданной схемы.

4. Режимы работы программного автоматизированного имитатора электронных схем.

Исходный текст (образец) ПАИЭС обеспечивает имитацию следующих режимов работы (Regimes of the work):

  1. Ввод входной команды вручную
    (Hand Command).

  2. Ввод входной команды и времени ее выполнения вручную
    (Hand Time - Hand Command).

  3. Автоматический ввод последовательности входных команд из файла, ввод постоянного временного интервала между командами вручную
    (Automatic Commands'file with Commands - Hand Interval constant).

  4. Автоматический ввод последовательности входных команд, автоматический ввод переменных временных интервалов между командами из файла
    (Automatic Commands'file with Commands and Intervals [Intervals variable]).

  5. Автоматический ввод последовательности входных команд и времен их выполнения из файла
    (Automatic Commands'file with Times and Commands).

  6. Автоматический ввод случайных команд в случайные временные интервалы между командами с помощью программных генераторов случайных чисел (максимальный интервал между командами задается вручную, с целью минимизации времени ожидания выдачи следующей команды).
    (Automatic Random Commands, Random Intervals, Interval hand max).

При работе ПАИЭС выводится на экран дисплея:

  • электронная или, в случае сложных электронных схем, блочная схема имитируемого объекта или комплекса имитируемых объектов;

  • двоичный код выполняемой команды;

  • двоичный код следующей команды, с целью возможности предотвращения ее выдачи;

  • текущие двоичные значения всех входов и выходов имитируемых объектов;

  • логические уравнения электронных схем и блоков;

  • текущее время;

  • время выдачи последней команды;

  • время выдачи следующей команды;

  • временной интервал между соседними командами;

  • время, прошедшее от выдачи предыдущей команды;

  • показания счетчика команд;

  • режим работы ПАИЭС.

Все результаты работы записываются по принципу “черного ящика” в автоматически открывающийся выходной файл CONTROL.C.

Так как исходный текст (образец) ПАИЭС составлен по модульному принципу, то при разработке конкретного ПАИЭС любой из вышеприведенных режимов работы может быть легко исключен из программы, а любой другой режим легко вставлен в программу.

5. Перечень и назначение подпрограмм программного автоматизированного имитатора электронных схем.

Исходный текст (образец) ПАИЭС написан на языке программирования Си по модульному принципу. т.е. состоит из подпрограмм (программных модулей). При разработке конкретного ПАИЭС любой из модулей может быть легко исключен из программы, любой другой модуль может быть легко вставлен в программу. Для удобства работы с ПАИЭС разделы исходного текста (образца), требующие вмешательства при синтезе конкретной электронной схемы, отмечены комментарием
/* <=### CHANGE ### */)

Исходный текст (образец) ПАИЭС состоит из следующих подпрограмм:

  1. Переход в графический режим
    int graph_regime();

  2. Переход в текстовый режим
    int text_regime();

  3. Титульный лист программы
    int title_sheet(); /* <=### CHANGE ### */

  4. Выбор режима работы ПАИЭС
    int choice_regime_work(); /* <=### CHANGE ### */

  5. Чертеж имитируемой схемы
    int draft(); /* <=### CHANGE ### */

  6. Программный блок логики
    int logic_0(); /* <=### CHANGE ### */

  7. Вывод бита 1 или 0 на чертеж схемы
    int bit(int x,int y,int bit);

  8. Вывод всех бит всех входов и выходов на чертеж схемы
    int all_bit_0(); /* <=### CHANGE ### */

  9. Ввод команды вручную (Режим 0)
    int hand_order_var0(); /* <=### CHANGE ### */

  10. Ввод команды и времени ее выдачи вручную (Режим 1)
    int hand_order_var1(); /* <=### CHANGE ### */

  11. Ввод интервала между командами вручную (Режим 2)
    int hand_order_var2(); /* <=### CHANGE ### */

  12. Ввод максимального интервала между командами (Режим 5)
    int hand_order_var5(); /* <=### CHANGE ### */

  13. Открытие входного файла
    int openfile_entry(); /* <=### CHANGE ### */

  14. Открытие выходного файла
    int openfile_exit();

  15. Автоматический ввод команд из входного файла (Режим 2)
    int file_order_var2(); /* <=### CHANGE ### */

  16. Автоматический ввод команд и интервалов из входного файла (Режим 3)
    int file_order_var3(); /* <=### CHANGE ### */

  17. Автоматический ввод команд и времени их выполнения из входного файла (Режим 3)
    int file_order_var4(); /* <=### CHANGE ### */

  18. Получение даты PC
    int get_date_pc_counted();

  19. Получение времени PC
    int get_time_pc_counted();

  20. Вывод на дисплей времени PC
    int display_time_pc_counted();

  21. Вывод на дисплей даты PC
    int display_date_pc_counted(int f);

  22. Вывод на дисплей времени выдачи команд
    int display_time_ordered();

  23. Вывод на дисплей двоичного кода следующей команды
    int display_next_entrance();

  24. Вывод на дисплей времени, прошедшего от выдачи предыдущей команды;
    int display_interval_counted(int f);

  25. Вывод на дисплей интервала между командами
    int display_interval_ordered(int f);

  26. Вывод на дисплей показаний счетчика команд
    int display_counter_commands(int f);

  27. Вывод на дисплей режима работы ПАИЭС
    int display_regime_work();

  28. Ввод информации о работе ПАИЭС в выходной контрольный файл (“черный ящик”)
    int file_control();

  29. Завершающие операции
    int end_programm();

6. Порядок разработки ПАИЭС на основе образца.

При разработке на основе исходного текста (образца) ПАИЭС конкретного ПАИЭС необходимо:

  • создать циклограмму работы электронной схемы;

  • описать работу электронной схемы уравнениями алгебры логики;

  • выбрать режимы работы электронной схемы;

  • написать исходный текст ПАИЭС, соответствующий полученным уравнениям и выбранным режимам работы;

  • транслировать и линкеровать исходный текст, с целью получения исполняемого модуля ПАИЭС;

  • запустить ПАИЭС, подать на его вход все возможные комбинации двоичных кодов и проверить соответствие всех возможных комбинаций выходных значений полученным уравнениям;

  • проверить работу ПАИЭС во всех выбранных режимах;

В случае использования данного пособия для создания учебных работ необходимо:

  • представить на листах формата А4:
    - титульный лист учебной работы, в соответствии с требованиями, принятыми в данном учебном заведении;
    - графический титульный лист (печатается на принтере при запуске программы);
    - графический лист принципиальной схемы системы управления с указанными значениями входных, промежуточных и выходных параметров (печатается на принтере при запуске программы);
    - исходный текст программного имитатора электронной схемы на языке Turbo C согласно прилагаемому в данной работе образцу (делаются изменения в прилагаемом образце в соответствии с уравнениями алгебры логики заданной электронной схемы и в соответствии с выбранными режимами работы ПАИЭС, программа транслируется, линкуется, отлаживается, и только после отладки откорректированный исходный текст распечатывается на принтере, что обеспечивает его полное соответствие исполняемому модулю);

  • представить на дискете исполняемый модуль ПАИЭС и продемонстрировать его работу при любой возможной комбинации входных кодов и режимов работы.

7. Варианты учебных работ.

В рассматриваемых учебных работах задания даются на программную имитацию двоичных цифровых схем систем управления, имеющих три входа X1, X2, X3 и инвертирующие их логические устройства типа НЕ (NOT).

Характеристики

Тип файла
Документ
Размер
343 Kb
Тип материала
Высшее учебное заведение

Тип файла документ

Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.

Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.

Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.

Список файлов учебной работы

STEFANOVICH
CPP_Shild
DOS
Exampl
Chap1
1
Exampl1.cpp
Exampl2.cpp
Exampl3.cpp
Exampl4.cpp
Exampl5.cpp
1
Exampl1.cpp
1
Exampl1.cpp
Exampl2.cpp
Exampl3.cpp
Exampl4.cpp
1
Exampl2.cpp
Exampl3.cpp
Exampl4.cpp
1
Exampl1.cpp
Exampl2.cpp
Exampl3.cpp
Chap2
2
EXAMPL1.CPP
EXAMPL2.CPP
EXAMPL3.CPP
Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
7021
Авторов
на СтудИзбе
261
Средний доход
с одного платного файла
Обучение Подробнее