ICP

Спидометр (тахометр) на микроконтроллере AVR. WinAVR (Часть1)

Просмотров: 30942Комментарии: 0
AVR.НачинающимЭлектроника. Схемотехника
Обещался переделать спидометр под WinAVR, поэтому давайте начнем. Заодно эта статья будет примером работы с таймером в режиме захвата (настройку этого режима смотрите в Таймеры счетчики микроконтроллеров AVR). Здесь приведу пример программы, которая будет выводить на экран скорость движения (м/с) и пройденное расстояние (м). Итак, подключаем символьный дисплей к порту D, а на вход ICP будем подавать сигнал с нашего датчика. В Протеусе заменим этот датчик на генератор импульсов. Принцип измерения состоит в том чтобы посчитать время между импульсами на входе ICP микроконтроллера. И зная расстояние пройденное между импульсами сможем посчитать скорость. Приведу здесь полный код программы, так как она совсем небольшая, а в конце можно будет скачать проект в WinAVR. Здесь настроил таймер/счетчик так, чтобы он досчитывал до 16000 за 1с, т.е. максимальное время между импульсами будет равно 4с. Если за это время не придет импульс на ножку ICP, таймер/счетчик обнулится и начнет счет заново. Таким образом, зная до скольки счетчик досчитает за одну секунду мы можем посчитать время между импульсами, для этого разделим значение счетчика за 1с на значение счетчика между импульсами. Пройденное расстояние узнаем откалибровав наш прибор. 
Далее...