Автор работы: Пользователь скрыл имя, 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
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();
}
}