- •1. Структура и принцип действия микропроцессора.
- •2. Выполнение процессором командного цикла.
- •3. Командный и машинный циклы.
- •5.Внутренние регистры микроконтроллера msp430. Регистры общего назначения и регистры специальных функций.
- •6. Микросхемы памяти, их основные характеристики и классификация
- •7. Функциональная схема устройства оперативной памяти
- •8. Постоянные запоминающие устройства, их типы и области применения.
- •9. Применение пзу в качестве функционального преобразователя (фп).
- •10. Структура команд. Способы адресации.
- •13 Применение косвенной адресации, привести пример
- •14 . Организация подпрограмм и использование стековой области памяти.
- •15. Программная реализация интервалов времени
- •16. Аппаратный умножитель и его применение
- •17. Виды операции умножения.
- •18 Применение умножения с накоплением при расчёте сигналов управления
- •19.21.Аппаратные и программные средства интрфейса.
- •20. Принципы обмена информацией.
- •22. Параллельный и последовательный интерфейс.
- •23. Последовательный интерфейс и его применение для включения микроконтроллеров на параллельную работу(такой вопрос уже есть)
- •24. Режимы работы последовательных интерфейсов: uart. I2c. Spi
- •27. Принцип действия программируемого таймера.
- •28. Организация ввода и вывода инфрмации с применением прерываний(есть было)
- •29 Организация прямого доступа к памяти.
- •31,32. Режимы работы таймера.
- •29.Организация прямого доступа к памяти.
- •30 Аппаратная реализация интервалов времени
- •33.Цифро-аналоговое преобразование.
- •34.Аналого-цифровое преобразование.
- •36.Микроконтроллер как динамическое звено.
- •37. Влияние времени выполнения программы микроконтроллером на запас устойчивости замкнутой системы.
- •38. Выбор числа разрядов слова данных по требуемой точности системы управления.
- •39. Рекурсивные и нерекурсивные цифровые фильтры, их передаточные функции и структурные схемы. Алгоритм и программа цифрового фильтра.
- •40. Цифровое дифференцирование и интегрирование.
- •43 Паралельная обработка информации. Классификация вычислительных систем с параллельной обработкой информации.
- •44. Процессоры с сокращенным набором команд (risc) и с полным набором команд (cisc). Примеры.
- •53. Структура и принцип действия искусственного нейрона. Соединение в сеть.
- •54. Выполнение искусственным нейроном арифметических и логических операций.
- •55. Применение искусственной нейронной сети в качестве устройства управления.
- •56. Применение методов искусственного интеллекта для управления электроприводами.
- •52 Использование нечеткой логики для синтеза управления. Лингвист. Переменные.
- •50 Описание переменных и массивов языка с применение массивов и указателей
- •49 Массивы и структуры языка с
- •48.Логические и арифметические операции
- •47. Синтаксис языка Си
- •45. Микроконтроллер, его ф-ная схема и применение в системах управления эп
- •43. Параллельная обработка информации в вычислительных устройствах. Параллелизм на уровне команд и на уровне алгоритмов
48.Логические и арифметические операции
В языке С к арифметическим операциям относятся следующие операции: - вычитание или унарный минус;
+ сложение;
* умножение;
/ деление;
% деление по модулю;
++ увеличение на единицу;
-- уменьшение на единицу;
Операции сложения, вычитания, умножения и деления действуют так же, как в большинстве алгоритмических языков программирования. операции выполняются так: сначала вычисляется значение левого выражения (операнда), затем вычисляется значение выражения, стоящего справа от знака действия. Далее, в том случае, когда операнды имеют общий тип данных, этот же тип имеет и результат. Поэтому, если применяется деление "/" к целым числам, например, 11/3, то результат тоже будет целым, то есть в данном случае 3. А выражение 1/2 в этом случае будет равно нулю.
Операция "%" деление по модулю дает остаток от целочисленного деления. Она может применяться к целочисленным переменным. Теперь решим небольую задачу.
В С++ существует три логические операции:
Логическая операция И &&, нам уже известная;
Логическая операция ИЛИ ||;
Логическая операция НЕ ! или логическое отрицание.
Логические операции образуют сложное (составное) условие из нескольких простых (два или более) условий. Эти операции упрощают структуру программного кода в несколько раз. Да, можно обойтись и без них, но тогда количество ифов увеличивается в несколько раз, в зависимости от условия. В следующей таблице кратко охарактеризованы все логические операции в языке программирования С++, для построения логических условий.
Сейчас следует понять разницу между логической операцией И и логической операцией ИЛИ , чтобы в дальнейшем не путаться. Пришло время познакомиться с типом данных bool –логический тип данных. Данный тип данных может принимать два значения: true (истина) и false (ложь). Проверяемое условие в операторах выбора имеет тип данных bool.
47 Вопрос . Синтаксис программирования на языке С
47. Синтаксис языка Си
стал основой для многих других языков. Для языка Си характерны лаконичность, современный набор конструкций управления потоком выполнения, структур данных и обширный набор операций.
Основные синтаксические правила записи программы на С:
- Прописные и строчные буквы считаются разными символами. Поэтому, переменные A1 и a1 будут совершенно разными. При записи можно использовать латинские буквы, цифры, символ подчеркивания. Нельзя начинать идентификатор с цифры и внутри не может содержатся пробел. Длина идентификатора неограничен.
- Многострочные комментарии в тексте заключаются в скобки вида /*текст комментария*/. Комментарий на одну строку начинается с символов “//” и знак действует только до конца текущей строки.
- Каждое предложение языка заканчивается символом “;”
- В строке может размещаться несколько операторов;
- Группу операторов можно объединять в один оператор заключая их в фигурные скобки { }.
- Все используемые типы, константы, переменные, функции должны быть объявлены или описаны до их первого использования. Объявление моно выполнить в любом месте текста программы.
Программа на С состоит из объявлений (переменных, типов, классов, функций) и описаний функций. Среди функций всегда имеется главная main для консольных приложений или WinMain для приложений Windows. Именно эта главная функция выполняется в начале работы программы. Программы строятся по модульному принципу и состоят из множества модулей Для каждой формы создается отдельный модуль. Именно в модулях и решаются программные задачи. В заголовочный файл с расширением .h размещаются объявление классов, функций, переменных и т.д. В файле реализации с расширением .cpp содержатся описания функций. После того как программа написана на ее основе формируется исполняемый модуль – файл с расширением .exe. Его можно загружать на выполнение.
Директивы препроцессора, такие как #define и #ifdef, обычно используются для того, чтобы облегчить изменение исходного кода программ и их компиляцию в разных средах выполнения. Директивы в файле исходного кода позволяют препроцессору выполнять определенные действия. Например, препроцессор может заменять токены в тексте, вставлять содержимое других файлов в файл исходного кода или отключать компиляцию части файла путем удаления разделов текста. Строки препроцессора распознаются и выполняются до расширения макросов. Поэтому если макрос разворачивается в нечто, похожее на команду препроцессора, эта команда не распознается препроцессором.
В операторах препроцессора используется тот же набор символов, что и в операторах файла исходного кода, но escape-последовательности не поддерживаются. Набор символов в операторах препроцессора совпадает с кодировкой выполнения. Препроцессор также распознает отрицательные значения символов.
Препроцессор распознает следующие директивы:
Знак решетки (#) должен быть первым непробельным символом в строке, содержащей директиву; между знаком решетки и первой буквой директивы пробельные символы допускаются. Некоторые директивы содержат аргументы или значения. Любой текст, следующий после директивы (за исключением аргумента или значения, представляющих собой часть директивы), должен предваряться разделителем однострочного комментария (//) или заключаться в разделители комментариев (/* */). Строки, содержащие директивы препроцессора, можно продолжать, ставя непосредственно перед маркером конца строки обратную косую черту (\).
