Благодаря низкой цене и простому интерфейсу, символьные ЖК-дисплеи находят широкое применение в различного рода устройствах, начиная от радиолюбительских поделок и заканчивая промышленной аппаратурой. В интернете довольно много примеров и описаний работы с символьными ЖКД, но из маркетинговых соображений, а также, потому что мне есть, что сказать, я решил написать эту статью.
   В интернете довольно много микроконтроллерных проектов с применением LCD от телефона Nokia3310. Причина большой популярности дисплея в его дешевизне и простоте использования. Вдохновившись удачным опытом работы с мотороловским экраном, я решил взяться за lcd от Nokia. Вот что из этого получилось.
  

   Из этой статьи вы узнаете, что такое энкодер, зачем он нужен, и как его подружить с микроконтроллером. Если вы пользовались современной стиральной машиной, микроволновой печью или аудио системой то, скорее всего вы уже имели дело с энкодером, сами того не подозревая. Например, в большинстве современных домашних и автомобильных стерео систем энкодеры используются для регулировки громкости звука. 

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

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

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

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

   На самом деле я не являюсь поклонником компьютерного моддинга, но, впервые увидев вентилятор со стробоскопом, загорелся его сделать. Уж больно красивая вещь. Однако, как это обычно бывает, руки постоянно не доходили до задумки. Года полтора, наверное,   вентилятор со светодиодами валялся у меня в ящике. И, наконец, настал его звездный час.
Страница 6 из 6