Главная страница
Навигация по странице:

  • Цель работы

  • Ручной счёт Считываем число 10011111 с PIND.Производим инвертирование 10011111→01100000.Вывод

  • Лабораторная работа 1 функционирование микроконтроллера attiny2313 семейства avr фирмы atmel студент гр. 18эпа


    Скачать 44 Kb.
    НазваниеЛабораторная работа 1 функционирование микроконтроллера attiny2313 семейства avr фирмы atmel студент гр. 18эпа
    Дата02.12.2021
    Размер44 Kb.
    Формат файлаdoc
    Имя файлаlaba_vika.doc
    ТипЛабораторная работа
    #289175

    НИЖЕГОРОДСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

    Им. Р.Е. Алексеева

    «Микропроцессорные системы»

    Лабораторная работа №1

    «ФУНКЦИОНИРОВАНИЕ МИКРОКОНТРОЛЛЕРА Attiny2313

    СЕМЕЙСТВА AVR ФИРМЫ ATMEL»

    Выполнил:

    студент гр.18-ЭПА

    Смирнова В. Р.

    Проверила:

    Слядзевская К.П.

    г. Нижний Новгород

    2021 г.

    Цель работы: изучение функционирования вычислительной системы на базе микроконтроллера AVR семейства ATTiny2313, взаимодействие отдельных компонентов системы, системы команд и способов программирования.
    Задание: 13. Проинвертировать состояние переключателей SA1-SA7 и вывести результат на светодиоды.





    .include "tn2313def.inc"

    Присоединение файла описаний




    .def t1=r23

    Присвоение регистру r23 имя t1




    .def t=r20

    Присвоение регистру r20 имя t




    .cseg

    Выбор сегмента программного кода




    .org $000

    Установка текущего адреса на 0




    rjmp start

    Переходим на метку start




    Reti

    Выход из подпрограммы

    start:

    ldi t, low(RAMEND)

    Выбор адреса вершины стека




    out spl, t

    Запись его в регистр стека




    ldi t, $FF

    Записываем число $FF в регистр t




    out DDRD,t

    Записываем число из t в DDRD (порт PD на вывод)




    out PORTD, t

    Записываем число из t в PORTD (на выводе устанавливается высокое напряжение)




    out DDRB, t

    Записываем число из t в DDRB (порт PB на вывод)




    ldi t, $00

    Записываем число $00 в регистр t




    out DDRD, t

    Записываем число из t в DDRD (порт PD на ввод)




    out PORTB, t

    Записываем число из t в PORTB (на выводе устанавливается низкое напряжение)

    M:

    in r16, PIND

    Считывание из PIND в регистр r16




    com r16

    Инвертирование r16




    out PORTB, r16

    Вывод результата из PORTB




    rjmp M

    Бесконечный цикл

    Ручной счёт

    Считываем число 10011111 с PIND.

    Производим инвертирование 10011111→01100000.

    Вывод: в ходе выполнения работы была изучена структура и функционирование микроконтроллера ATTiny2313 семейства AVR фирмы ATMEL. По заданию был написан код программы и проведён ручной счёт. При нулевом состоянии 6 и 7 бита порта D, на порте В будет число Е0.


    написать администратору сайта