
- •Алгебра логики, алгебра Буля. Основные аксиомы.
- •Законы алгебры Буля. Дистрибутивный, коммутативный, ассоциативный.
- •Законы алгебры Буля. Поглощения, двойного отрицания, исключения.
- •Законы алгебры Буля. Де Моргана, идемпотентности.
- •Условное графическое обозначение логических элементов (стандарты).
- •Способы минимизации логических функций. Правило составления карты Карно.
- •Карта Карно для:
- •Для каждого контура выделяем области:
- •Способы минимизации логических функций. Правило составления диаграммы Вейча.
- •Комбинационная схема. Функция дешифратора.
- •Комбинационная схема. Функция шифратора.
- •Комбинационная схема. Функция мультиплексора.
- •Комбинационная схема. Функция демультиплексора.
- •Триггеры. Типы триггеров. Классификация Триггеров.
- •Регистры. Счетчики. Разновидность.
- •Архитектура Микроконтроллера. Структура типовой эвм.
- •Тактовая частота микроконтроллера. Изменения тактовой частоты.
- •Регистры общего назначения (рон) в микроконтроллерах.
- •Регистр признаков. Распиновка битов.
- •Регистры специального назначения. Регистр Программный счетчик.
- •Регистры специального назначения. Регистр указатель Стека.
- •Регистры специального назначения. Таймеры.
- •Регистры специального назначения. Ацп и цап.
- •Виды памяти в микроконтроллерах.
- •Преобразование последовательного кода в параллельный.
- •Преобразование параллельного кода в последовательный.
- •Язык Ассемблера. Синтаксис. Мнемокод.
- •Арифметические команды. Принцип работы.
- •Imul операнд_1[,операнд_2,операнд_3].
- •Логические команды. Принцип работы.
- •Команды вызова подпрограммы, особенности.
- •Команды переходов в программе, особенности.
- •Доказать следующие законы: дистрибутивный, поглощения.
- •1) Доказательство дистрибутивного закона
- •Доказательство закона поглощения
- •Доказать следующие законы: идемпотентности, двойного отрицания.
- •Доказательство закона идемпотентности
- •Доказательство закона двойного отрицания
- •Доказать следующий законы: исключения, коммутативный.
- •Минимизировать произвольную логическую функцию с помощью диаграмм Вейча. Каскадное подключение дешифраторов, увеличение разряда дешифратора на n.
- •Каскадное подключение демультиплексора, увеличение разряда демультиплексора на n.
- •Реализовать rs триггер на элементах или-не.
- •Реализовать rs триггер на элементах и-не.
- •Основные команды по работе с триггерами общего назначения. Основные команды по работе с триггером признаков. Назначение регистра pc. И принцип работы с ним.
- •Назначения регистра sp. И принцип работы с ним.
- •Назначения регистра watchdog. И принцип работы с ним.
- •Работа с Flash-памятью микроконтроллера.
- •Работа с eeprom памятью микроконтроллера. (https://cxem.Net/mc/book.Php )
Работа с eeprom памятью микроконтроллера. (https://cxem.Net/mc/book.Php )
; R16 – регистр с байтом данных для записи при входе
; R17 – регистр для передачи младшего байта адреса
; R18 – регистр для передачи старшего байта адреса
eeprom_write:
sbic EECR,EEWE ;ожидаем пока запись не будет закончена
rjmp eeprom_write;предыдущая операция записи в EEPROM
out EEARH,R18 ;задаем адрес ячейки EEPROM, в которую
out EEARL,R17 ;необходимо записать байт данных
out EEDR,R16 ;заносим в регистр данных байт для записи
sbi EECR,EEMWE ;разрешаем запись
sbi EECR,EEWE ;начинаем запись байта в EEPROM
ret
; Подпрограмма чтения байта данных из EEPROM
; R16 – регистр с прочитанным байтом данных на входе
; R17 – регистр для передачи младшего байта адреса
; R18 – регистр для передачи старшего байта адреса
eeprom_read:
sbic EECR,EEWE ;ожидаем пока запись не будет закончена
rjmp eeprom_write;предыдущая операция записи в EEPROM
out EEARH,R18 ;задаем адрес ячейки EEPROM, из которую
out EEARL,R17 ;необходимо прочитать байт данных
sbi EECR,EERE ;начинаем чтение байта из EEPROM
in R16,EEDR ;извлекаем байт из регистра данных
ret
Арифметические команды сложения и вычитания. https://cxem.net/mc/book27.php https://cxem.net/mc/book28.php https://cxem.net/mc/book33.php (учебник https://cxem.net/mc/book.php)
Арифметические команды умножения и деления. https://cxem.net/mc/book29.php https://cxem.net/mc/book30.php https://cxem.net/mc/book34.php
Арифметические команды специального назначения. https://cxem.net/mc/book14.php
Логические команды сложения и умножения. https://cxem.net/mc/book14.php
Логические специального назначения.( https://cxem.net/mc/book.php посмотреть тут. )
Примеры команд вызова подпрограммы и возврата.
call check ; Вызвать подпрограмму
check:
cpi r16, $42 ; Проверить содержит ли r16 заданное значение
ret ; Вернуться из подпрограммы
Примеры команд переходов по меткам.
JMP L ; следующей будет выполняться команда с меткой L
L:
Nop ; Пустая операция
Примеры команд по “DATA Transfer”.
mov r16, r0 ; Копировать r0 в r16
call check ; Вызвать подпрограмму
check:
cpi r16, $11 ; Сравнить r16 с $11
ret ; Вернуться из подпрограммы
Примеры команд проверки Битов.
bt ax,0 ; Проверка младшего бита AX
jc m1 ; Переход, если бит равен 1
mov cx,3 ; CX=3
bt ax,cx ; Проверка 3-го бита AX
jnc m1 ; Переход, если бит равен 0
Специальные команды микроконтроллера.
https://narodstream.ru/programmirovanie-mk-avr/#!
Третья Часть.
Для решения 3й задачи, требуется разработать алгоритм программы и написать сам текст программы на языке Assembler. Электрическую схему и принцип работы датчика уточнять у ПРЕПОДА!
Написать программу для оценки расстояния до объекта через ультразвуковой датчик. В программе должна быть предусмотрена кнопка “измерение”, кнопка “вывод на дисплей”, кнопка “сброс дистанции”. При нажатии 2-3х кнопок одновременно должны выводиться все 9 на дисплее.
Написать программу для системы управления светофором на Т-образном перекрестке. Должны быть предусмотрены две кнопки: “Ожидание”, которая переводит светофоры в режим, где желтый индикатор мигает в течении 1с, и кнопка “Пуск”, которая переводит светофор в стандартный режим. Время работы одной пары 5 сек, время работы другой 10. При нажатии двух кнопок одновременно, должна срабатывать кнопка “Ожидание”
Написать программу для системы оповещения на светодиодном экране. Должны быть предусмотрены 3 сообщения, такие как «Внимание», «Осторожно» и «Опасность». Каждая надпись выводится отдельной кнопкой. При нажатии всех или двух кнопок табло гаснет.
Написать программу для реализации калькулятора. Калькулятор выполняет обычные вычислительные задачи: сложение, умножение, вычитание, возведение в степень 2, извлечения корня. Требуется соответствующая клавиатура и дисплей.
Написать программу для системы дефекта продукции. Датчик выдаёт дискретный сигнал в определенной последовательности. Индикация светодиодная: “есть дефект” и “нет дефекта”. Для управления 2 кнопки: “Запуск” и “Стоп”.
Написать программу для оценки температуры в помещении с последующей индикацией. Одна кнопка “Измерить”, которая осуществляет измерения и вывод значения на экран.
Написать программу для управления беспилотным транспортным средством, присутствует 3 группы датчиков. Задача - движение.
Написать программу для оценки штрих кода, по значению штрих кода существует 3 действия. Также предусмотреть две кнопки: «Считывание» и «Проверка».
Написать программу для оценки работы дешифратора, шифратора, мультиплексора, демультиплексора. Реализовать след кнопки: «Пуск», «Стоп» и «Сброс». Индикация исправных и неисправных. Разделять на функции.
Написать программу для оценки работы счетчика двоичного, счетчика десятичного, счетчика Джонсона. Реализовать след кнопки: «Пуск», «Стоп» и «Сброс». Индикация исправных и неисправных. Разделять на функции.