- •Вопросы:
- •Часть I.
- •Часть II.
- •Часть III.
- •Часть I.
- •1.1. Алгебра логики, алгебра Буля. Основные аксиомы.
- •1.2. Законы алгебры Буля. Дистрибутивный, коммутативный, ассоциативный.
- •1.3. Законы алгебры Буля. Поглощения, двойного отрицания, исключения.
- •1.4. Законы алгебры Буля. Де Моргана, идемпотентности.
- •1.5. Условное графическое обозначение логических элементов (стандарты).
- •1.6. Способы минимизации логических функций. Правило составления карты Карно.
- •1.7. Способы минимизации логических функций. Правило составления диаграммы Вейча.
- •1.8. Комбинационная схема. Функция дешифратора.
- •1.9. Комбинационная схема. Функция шифратора.
- •1.10. Комбинационная схема. Функция мультиплексора.
- •1.11. Комбинационная схема. Функция демультиплексора.
- •1.12. Триггеры. Типы триггеров. Классификация Триггеров.
- •1.13. Регистры. Счетчики. Разновидность.
- •1.14. Архитектура Микроконтроллера. Структура типовой эвм.
- •1.15. Тактовая частота микроконтроллера. Изменения тактовой частоты.
- •1.16. Регистры общего назначения в микроконтроллерах.
- •1.17. Регистр признаков. Распиновка битов.
- •1.18. Регистры специального назначения. Регистр Программный счетчик.
- •1.19. Регистры специального назначения. Регистр указатель Стека.
- •1.20. Регистры специального назначения. Таймеры.
- •1.22. Регистры специального назначения. Ацп и цап.
- •1.23. Виды памяти в микроконтроллерах.
- •1.24. Преобразование последовательного кода в параллельный.
- •1.25. Преобразование параллельного кода в последовательный.
- •1.26. Язык Ассемблера. Синтаксис. Мнемокод.
- •1.27. Арифметические команды. Принцип работы.
- •1.28. Логические команды. Принцип работы.
- •Xor получатель, источник
- •1.29. Команды вызова подпрограммы, особенности.
- •1.30. Команды переходов в программе, особенности.
- •Часть II.
- •2.1. Доказать следующие законы: дистрибутивный, поглощения.
- •2.14. Реализовать rs триггер на элементах и-не.
- •2.15. Реализовать синхронный rs триггер.
- •2.16. Реализовать d триггер через rs.
- •2.17. Реализовать т триггер через rs.
- •2.18. Реализовать j-k триггер через rs.
- •2.19. Счетчик на j-k триггерах.
2.14. Реализовать rs триггер на элементах и-не.
(/
- отрицание)
Режим S=1, R=1 называют режимом хранения информации, так как информация на выходе остается неизменной.
При S=R=0 состояние триггера будет неопределенным, так как во время действия информационных сигналов логические уровни на выходах триггера одинаковы (Qn+1=/Qn+1=0), а после окончания их действия триггер может равновероятно принять любое из двух устойчивых состояний. Поэтому такая комбинация S=R=0 является запрещенной.
2.15. Реализовать синхронный rs триггер.
https://www.youtube.com/watch?v=vNvYWVht6pM&t=267s (12 мин.)
С - импульс синхронизации
_________________________________________________________________________
С - импульс синхронизации
2.16. Реализовать d триггер через rs.
Триггер D может работать по уровню сигнала, он еще называется защелка. В RS триггере на два входа нельзя было подавать единицу одновременно (неопределенное состояние), поэтому в D триггере эти входы объединены с помощью инвертора (рисунок а), что исключает возможность возникновения запрещенного состояния.
D триггер (статический)
синий провод – 0, красный провод – 1
D триггер (динамический)
синий провод – 0, красный провод – 1
2.17. Реализовать т триггер через rs.
T-триггер — это счетный триггер. Счетным он называется потому, что T триггер как бы подсчитывает количество импульсов, поступивших на его вход. Жаль только, что считать этот триггер умеет только до одного. При поступлении второго импульса T-триггер снова сбрасывается в исходное состояние.
Т триггер через RS Т триггер
Т = 0 - хранение
Т = 1 - переброс (значение Q меняется на противоположное)
2.18. Реализовать j-k триггер через rs.
https://www.youtube.com/watch?v=8ETkClVC0fg&t=1s
JK-триггер отличается от RS-триггера прежде всего тем, что в нем устранена неопределенность, которая возникает в RS-триггере при определенной комбинации входных сигналов.
Универсальность JK-триггера состоит в том, что он может выполнять функции RS-, Т- и D-триггеров.
Простейший
JK-триггер можно получить из синхронного
RS-триггера с динамическим управлением
(на C подается короткий сигнал, используя
в схеме конденсатор и резистор направленный
к земле
).
Состояние переброса означает, что Q становится /Q, а /Q становится Q, то есть если на выходе было Q=1 и /Q=0, то при подаче С будет Q=0, а /Q=1 и наоборот.
2.19. Счетчик на j-k триггерах.
Счетчик построен на четырех JK-триггерах, которые при наличии на обоих входах логического сигнала «1» переключаются в моменты появления на входах синхронизации отрицательных перепадов напряжения.
Состояние
левого триггера соответствует младшему
разряду двоичного числа, а правого —
старшему разряду. В исходном состоянии
на всех триггерах установлены логические
нули. Каждый триггер меняет свое состояние
лишь в тот момент, когда на него действует
отрицательный перепад напряжения (
).
Таким образом, данный счетчик реализует суммирование входных импульсов.
2.20. Регистр на D триггерах.
Последовательный (сдвиговый) регистр
Параллельный регистр (служит для запоминания многоразрядного двоичного (или недвоичного) слова при подаче тока на С-синхроимпульс)
2.21. Преобразование ассемблера в мнемокод.
2.22. Принцип программирования, контроллера.
2.23. Архитектура ATmega16. Основные регистры.
2.24. Основные команды по работе с триггерами общего назначения.
2.25. Основные команды по работе с триггером признаков.
2.26. Назначение регистра PC. И принцип работы с ним.
2.27. Назначения регистра SP. И принцип работы с ним.
2.28. Назначения регистра watchdog. И принцип работы с ним.
2.29. Работа с Flash памятью микроконтроллера.
2.30. Работа с EEPROM памятью микроконтроллера.
2.31. Арифметические команды сложения и вычитания.
2.32. Арифметические команды умножения и деления.
2.33. Арифметические команды специального назначения.
2.34. Логические команды сложения и умножения.
2.35. Логические специального назначения.
2.36. Примеры команд вызова подпрограммы и возврата.
2.37. Примеры команд переходов по меткам.
2.38. Примеры команд по “DATA Transfer”.
2.39. Примеры команд проверки Битов.
TST - проверка на ноль или отрицательность
2.40. Специальные команды микроконтроллера.
Часть III.
3.1. Написать программу для оценки расстояния до объекта через ультразвуковой датчик. В программе должна быть предусмотрена кнопка “измерение”, кнопка “вывод на дисплей”, кнопка “сброс дистанции”. При нажатии 2-3х кнопок одновременно должны выводиться все 9 на дисплее.
3.2. Написать программу для системы управления светофором на Т образном перекрестке. Должны быть предусмотрены две кнопки “ожидание” переводит светофоры в режим где, желтый индикатор мигает в течении 1с. Кнопка “Пуск” переводит светофор в стандартный режим. Время работы одной пары 5 сек, время работы другой 10. При нажатии двух кнопок одновременно, должна срабатывать кнопка “ожидание”.
3.3. Написать программу для системы оповещения на светодиодном экране. Должны быть предусмотрены 3 сообщения, такие как “Внимание, Осторожно, Опасность”. Каждая натпись выводиться отдельной кнопкой. При нажатии всех или двух кнопок, табло гаснет.
.include "m16def.inc"
.dseg
.org 0x60
.cseg
ldi R17, 0x00 ; Записываем в Регистр 17 значение 0
out DDRA, R17 ; Записываем в управляющий регистр порта А значение 0 для работы на вход
CLR R17 ; Очищаем регистр 17
ldi R17, 0xFF ; Записываем в регистр 17 значение 255
out DDRD, R17 ; Записываем в управляющий регистр порта D значение 255 для работы на выход
out DDRB, R17 ; Записываем в управляющий регистр порта B значение 255 для работы на выход
out DDRC, R17 ; Записываем в управляющий регистр порта С значение 255 для работы на выход
CLR R17 ; Очищаем регистр 17
Main:
sbic PINA, 0 ; Пропускаем следующую строку, если 0 ножка порта А очищена
jmp VNIMANIE ; Если сравнение прошло успешно, то перейти на метку ВНИМАНИЕ
sbic PINA, 1 ; Пропускаем следующую строку, если 1 ножка порта А очищена
jmp OSTOROGNO ; Если сравнение прошло успешно, то перейти на метку ОСТОРОЖНО
sbic PINA, 2 ; Пропускаем следующую строку, если 2 ножка порта А очищена
jmp OPASTNOST ; Если сравнение прошло успешно, то перейти на метку ОПАСНОСТЬ
JMP Main ; Прыжок к метке Main
VNIMANIE:
LDI R16, 0b00000001 ; Устанавливаем значение 1 в регистр 16
out PORTD, R16 ; Присваиваем порту D значение 1 (устанавливаем значение на 0 ножке порта)
out PORTC, R16 ; Присваиваем порту С значение 1 (устанавливаем значение на 0 ножке порта)
ldi R18, 0b11111111 ; Присваиваем значение Регистру 18
out PORTB, R18 ; Присваиваем значение для порта В
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11000001
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11010101
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11101011
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11111111
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11000001
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11110111
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11110111
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11111111
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11000001
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11110111
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11111011
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11000001
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11111111
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11000001
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11111011
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11110111
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11111011
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11000001
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11000001
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11111111
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11000001
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11110101
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11000001
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11111111
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11000001
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11110111
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11110111
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11111111
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11000001
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11110111
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11111011
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11000001
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11111111
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11000001
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11010101
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11011101
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11111111
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11111111
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11111111
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11111111
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11111111
out PORTB, R18
ser R18
LSL R16
rjmp Main ; Возвращаемся к метке Main
OSTOROGNO:
LDI R16, 0b00000010 ; Устанавливаем значение 1 в регистр 16
out PORTD, R16 ; Присваиваем порту D значение 1 (устанавливаем значение на 0 ножке порта)
out PORTC, R16 ; Присваиваем порту С значение 1 (устанавливаем значение на 0 ножке порта)
ldi R18, 0b11111111 ; Присваиваем значение Регистру 18
out PORTB, R18 ; Присваиваем значение для порта В
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11000001
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11011101
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11000001
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11111111
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11000001
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11011101
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11011101
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11111111
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11111001
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11111101
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11000001
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11111101
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11111001
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11111111
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11000001
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11011101
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11000001
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11111111
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11000001
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11110101
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11110001
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11111111
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11011101
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11100011
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11000001
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11100011
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11011101
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11111111
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11000001
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11110111
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11110111
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11111111
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11000001
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11011101
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11000001
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11111111
out PORTB, R18
ser R18
LSL R16
rjmp Main ; Возвращаемся к метке Main
OPASTNOST:
LDI R16, 0b00000100 ; Устанавливаем значение 1 в регистр 16
out PORTD, R16 ; Присваиваем порту D значение 1 (устанавливаем значение на 0 ножке порта)
out PORTC, R16 ; Присваиваем порту С значение 1 (устанавливаем значение на 0 ножке порта)
ldi R18, 0b11111111 ; Присваиваем значение Регистру 18
out PORTB, R18 ; Присваиваем значение для порта В
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11000001
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11011101
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11000001
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11111111
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11000001
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11111101
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11000001
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11111111
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11000001
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11110101
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11000001
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11111111
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11000001
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11011101
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11011101
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11111111
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11000001
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11110111
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11110111
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11111111
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11000001
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11011101
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11000001
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11111111
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11000001
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11011101
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11011101
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11111111
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11111001
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11111101
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11000001
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11111101
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11111001
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11111111
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11000001
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11010111
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11000111
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11111111
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11111111
out PORTB, R18
ser R18
LSL R16
OUT PORTB, R18
OUT PORTC, R16
ldi R18, 0b11111111
out PORTB, R18
ser R18
LSL R16
rjmp Main ; Возвращаемся к метке Main
3.4. Написать программу для реализации калькулятора. Калькулятор выполняет обычные вычислительные задачи. Сложение, умножение, вычитание, возведение в степень 2, извлечения корня. Требуется соответствующая клавиатура и дисплей.
3.5. Написать программу для системы дефекта продукции. Датчик выдает дискретный сигнал, в определенной последовательности. Индикация светодиодная, “есть дефект” и “нет дефекта”. Для управления 2 кнопки, “Запуск”, и “стоп”.
3.6. Написать программу для оценки температуры в помещении с последующей индикацией. Одна кнопка “измерить” которая осуществляет измерения и вывод значения на экран.
3.7. Написать программу для управления беспилотный транспорт средством, присутствует 3 группы датчиков. Задача движение.
3.8. Написать программу для оценку штрих кода, по значению штрих кода существует 3 действия. Также предусмотреть две кнопки, считывание и проверка.
3.9. Написать программу для оценки работы дешифратора, шифратора, мультиплексора, демультиплексора. Реализовать след кнопки, пуск, стоп, сброс. Индикация исправных, неисправных. Разделять на функции.
3.10. Написать программу для оценки работы счетчика двоичного, счетчика десятичного, счетчика джонсона. Реализовать след кнопки, пуск, стоп, сброс. Индикация исправных, неисправных. Разделять на функции.
Слава что ты сделал?
