В HTML      В PDF
микроэлектроника, микросхема, транзистор, диод, микроконтроллер, память, msp430, Atmel, Maxim, LCD, hd44780, t6963, sed1335, avr, mega128
Предприятия Компоненты Документация Применения Статьи Новости

 
Пересюхтюмя


13-я Международная выставка электронных компонентов и комплектующих для электронной промышленности





Выставка Передовые Технологии Автоматизации





Главная страница > app > Микроконтроллеры > AVR
Пересюхтюмя


13-я Международная выставка электронных компонентов и комплектующих для электронной промышленности





Выставка Передовые Технологии Автоматизации


Раздел 9 Пример приложения

9.1 Использование светодиодов и кнопок

Подключите порт B к светодиодам и порт D кнопкам. Светодиоды будут управляться раздельно в зависимости от нажатия на соответствующую кнопку.

Рекомендация: Скопируйте нижеприведенный текст программы через буфер обмена в AVR Studio.

    ;***** Демонстрация использования светодиодов и кнопок в составе STK500
    .include "8515def.inc"
    .def Temp =r16 ; Регистр хранения временных данных
    .def Delay =r17 ; Переменная 1 для генерации задержки
    .def Delay2 =r18 ; Переменная 2 для генерации задержки
    ;***** Инициализация
    RESET:
    ser temp
    out DDRB, temp ; Настройка порта В (PORTB) на вывод
    ;**** Тестирование ввода/вывода
    LOOP:
    out PORTB,temp ; Обновление состояния светодиодов
    sbis PIND,0x00 ; Если PortD.0 = 0,
    inc temp ; то уменьшение на 1 двоичного кода, формируемого свечением светодиодов
    sbis PIND,0x01 ; Если PortD.1 = 0,
    dec Temp ; то увеличение на 1 двоичного кода, формируемого свечением светодиодов
    sbis PIND,0x02 ; Если PortD.2 = 0,
    ror Temp ; то циклический сдвиг состояния светодиодов на 1 вправо
    sbis PIND,0x03 ; Если PortD.3 = 0,
    rol Temp ; то циклический сдвиг состояния светодиодов на 1 влево
    sbis PIND,0x04 ; Если PortD.4 = 0,
    com Temp ; то инверсия состояния всех светодиодов
    sbis PIND,0x05 ; Если PortD.5 = 0,
    neg Temp ; то инверсия состояния и прибавление 1
    sbis PIND,0x06 ; Если PortD.6 = 0,
    swap Temp ; то обмен тетрадами светодиодов
    ;**** Далее необходима задержка, чтобы сделать проделанные изменения видимыми
    DLY:
    dec Delay
    brne DLY
    dec Delay2
    brne DLY
    rjmp LOOP ; Повторение цикла заново
    


<-- Предыдущая страница Оглавление Следующая страница -->



Кондиционирование