Логический уровень на выводе PXn можно считать из бита PINXn. Перейдем к практике, предлагаю написать программу, которая будет по очереди зажигать каждый из 1. С, а потом для разнообразия на ассемблере. Программа на С выглядит так: #include < avr/io.
SPEED 3. 00. 0//Скорость бегущих огнейvoid pause (unsignedint a)//Задержка. Думаю, для тех, кто писал на С для ПК особых затруднений не возникнет. Строка #include подключает внешний модуль avr/io.
Строка #define SPEED 3. SPEED будут заменены на число 3.
Функция pause (unsigned int a) определяет задержку примерно (8*a)/f, где a – аргумент функции f – частота тактирования микроконтроллера. В вечном цикле while происходит попеременное включение светодиодов для каждого порта (так как управление осуществляется низким уровнем, то стоит символ НЕТ - «~»). Функция unsigned char . В секции Const chapter задаются константы, которые влияют на скорость бегущих огней. Далее идет сегмент кода Code segment в котором собственно и содержится код нашей программы.
В коде программы сперва инициализируем стек, порты ввода/вывода конфигурируем как выхода, после чего в вечном цикле по одному светодиоды перебираем. Структура кода очень похожа на написанную выше программу С. Код на С более прост для понимания и компактен, но по размеру программы ассемблер обгоняет С (оптимизация не включена): 8. С. Если же включить максимальную оптимизацию для С, то получим 1.
Итого имеем, ассемблер более сложен, но код компактен и быстр, а С более прост, но код получившейся программы значительно больше. В заключение привожу видео готового устройства: Советую не ограничиваться просто бегущим огоньком, а немного поэкспериментировать: Скачать проект для AVR Studio.
Рассмотрим пример простой программы "мигалка", написанной на ассемблере для микроконтроллера ATtiny2313. Разобравшись с . Программа для ATtiny2313 - AVR. ATtiny2313 реализация программного I2C для работы с. Схема простая МК и пару светодиодов. Микроконтроллер ATTiny2313 является возрождением в новой серии. Как подключит кнопку к AVR микроконтроллеру, программа которая реагирует. Подключаем кнопку к микроконтроллеру ATtiny2313, простая программа.
Давайте заглянем в даташит на микроконтроллер ATtiny2313: image. Таким образом, самая простая программа состоит из двух байт, . Осваиваем простейший микроконтроллер PIC. Я думаю чем-то лучше было бы взять контроллеры ATMEL там буквально из 3 деталек можно подключить к . Моим первым устройством на микроконтроллере была схема бегущих огней. Линейка из 15-ти светодиодов, которые попеременно загораются.