Программирование AVR

Программирование AVR (94)

   Микроконтроллеры AVR имеют в своем составе целую тучу периферийных устройств (таймеры/счетчики, аналого-цифровой преобразователь, аналоговый компаратор, асинхронный приемопередатчик…и т.д). Мощь микроконтроллера в том, что все эти устройства могут работать параллельно и независимо друг от друга, а также параллельно выполняемой программе. Каждое периферийное устройство может вызывать прерывание по наступлению определенного события. Понятие прерывания мы сегодня и будем разбирать.

   При программировании микроконтроллеров постоянно приходится работать с битами. Устанавливать их, сбрасывать,  проверять их наличие в том или ином регистре. В AVR ассемблере для этих целей существует целый ряд команд. Во-первых, это группа команд операций с битами – они предназначены для установки или сброса битов в различных регистрах микроконтроллера, а во-вторых, группа команд передачи управления – они предназначены для организации ветвлений программ. В языке Си естественно нет подобных команд, поэтому у начинающих программистов часто возникает вопрос, а как в Си работать с битами. Эту тему мы сейчас и будем разбирать.

   Мы отдали дань уважения традициям, получили первое представление о программе на Си, познакомились с IARом. Сегодня мы углубим наши познания в Си. Наша следующая задача -  написать программу бегущего светодиода.

   По сложившейся до меня традиции программирование микроконтроллеров начинается с программы управляющей светодиодом. И я в свое время наморгался светодиодами на старом добром AVRовском ките STK200. Это было несколько лет назад, и я до сих пор помню восторг от первых работающих программ, пускай и примитивно простых. Я начинал изучение микроконтроллеров с ассемблера и только спустя пару-тройку лет постепенно перешел на Си. К этому времени я уже хорошо знал всю периферию AVR микроконтроллеров, поэтому  больших затруднений этот переход не вызвал.

Страница 10 из 10