Автомобильный тахометр

Автор работы: Пользователь скрыл имя, 25 Декабря 2011 в 15:25, курсовая работа

Описание работы

Используя средства языка программирования необходимо создать цифровой тахометр на основе микроконтроллера ATtiny 2313 семейства AVR. Должны выполняться действия: измерение оборотов двигателя, вывод значений оборотов на светодиодный индикатор, возможность уменьшения яркости индикатора при включении габаритных огней.

Содержание работы

1 Теоретическая часть 3
1.1 Аннотация 3
1.2 Постановка задачи 3
1.3 Общие сведения о микроконтроллерах AVR 3
1.4 Описание ATtiny2313 3
1.5 Основные параметры ATtiny2313 4
1.6 Блок-схема ATtiny2313 6
1.7 Расположение выводов ATtiny2313 7
1.8 Программирование микроконтроллера с использованием программы на языке С 8
2 Конструкторская часть 9
2.1 Общие сведения.Функциональное назначение используемых программ 9
2.2 Реальзация 10
2.3 Схема принципиальная 10
2.4 Вызов и загрузка 11
3 Заключение 11
4 Быблиографический список 11

Файлы: 1 файл

Автомобильный тахометр.doc

— 272.50 Кб (Скачать файл)
>         byTcnt = 0;

         byDisplayRefreshCnt = 0;   

         btTimeUpdate = FALSE;   

         TCNT1 = 0;   

         TCCR1A = 0x00;     // Отключаем управление выводом OC1 и PWM

         TCCR1B = 0x03;    // На таймер подается FCK через делитель на 64,

         OCR1A = TCNT1 + CNT_100_MS;

         TIFR  |= 0x40;      // Сбрасываем флаг прерываний от Output-Compare

         TIMSK |= 0x40;      // Разрешаем прерывание от Output-Compare

         //time------------------------------------

         //rmp-------------------------------------

         btFirstLowRateFlash = TRUE;

         wRpm = 0;

         // Разрешаем прервание INT1

         EIFR = 0x40;

         GIMSK |= 0x40;

         MCUCR = 0x02;   // Настраиваем INT0 на спад, остальные биты не важны.   

         // Таймер запускаем  сразу, чтобы проверять

         // отсутствие сигнала

         wTimerOvfCnt = 0;

         TCNT0 = 0;

         TCCR0B = 0x03;   // FCK / 64 ( 62.5 KHz )

         TCNT0 = 0;

         TIMSK |= 0x02;  // Разрешаем прерывания от TMR0

         //rmp-------------------------------------   

        

         #asm("sei");

     //    StartLowRateRpm();

         while(TRUE)

         {      

                 RefreshDisplay();

         }

     } 
 
 

Информация о работе Автомобильный тахометр