Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Voprosy_po_Arkht_EVM_i_Yazyk_assemblera.docx
Скачиваний:
61
Добавлен:
01.04.2022
Размер:
5.16 Mб
Скачать

Работа с 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/#!

  1. Третья Часть.

Для решения 3й задачи, требуется разработать алгоритм программы и написать сам текст программы на языке Assembler. Электрическую схему и принцип работы датчика уточнять у ПРЕПОДА!

    1. Написать программу для оценки расстояния до объекта через ультразвуковой датчик. В программе должна быть предусмотрена кнопка “измерение”, кнопка “вывод на дисплей”, кнопка “сброс дистанции”. При нажатии 2-3х кнопок одновременно должны выводиться все 9 на дисплее.

    1. Написать программу для системы управления светофором на Т-образном перекрестке. Должны быть предусмотрены две кнопки: “Ожидание”, которая переводит светофоры в режим, где желтый индикатор мигает в течении 1с, и кнопка “Пуск”, которая переводит светофор в стандартный режим. Время работы одной пары 5 сек, время работы другой 10. При нажатии двух кнопок одновременно, должна срабатывать кнопка “Ожидание”

    1. Написать программу для системы оповещения на светодиодном экране. Должны быть предусмотрены 3 сообщения, такие как «Внимание», «Осторожно» и «Опасность». Каждая надпись выводится отдельной кнопкой. При нажатии всех или двух кнопок табло гаснет.

    1. Написать программу для реализации калькулятора. Калькулятор выполняет обычные вычислительные задачи: сложение, умножение, вычитание, возведение в степень 2, извлечения корня. Требуется соответствующая клавиатура и дисплей.

    1. Написать программу для системы дефекта продукции. Датчик выдаёт дискретный сигнал в определенной последовательности. Индикация светодиодная: “есть дефект” и “нет дефекта”. Для управления 2 кнопки: “Запуск” и “Стоп”.

    1. Написать программу для оценки температуры в помещении с последующей индикацией. Одна кнопка “Измерить”, которая осуществляет измерения и вывод значения на экран.

    1. Написать программу для управления беспилотным транспортным средством, присутствует 3 группы датчиков. Задача - движение.

    1. Написать программу для оценки штрих кода, по значению штрих кода существует 3 действия. Также предусмотреть две кнопки: «Считывание» и «Проверка».

    1. Написать программу для оценки работы дешифратора, шифратора, мультиплексора, демультиплексора. Реализовать след кнопки: «Пуск», «Стоп» и «Сброс». Индикация исправных и неисправных. Разделять на функции.

    2. Написать программу для оценки работы счетчика двоичного, счетчика десятичного, счетчика Джонсона. Реализовать след кнопки: «Пуск», «Стоп» и «Сброс». Индикация исправных и неисправных. Разделять на функции.