Проблема С Прерываниями Atmega8515(Atmel Studio + Proteus)

9-08-2014, 12:13 От: admin Посмотрели: 642
Добрый день, по ходу работы над 7-ми сегментными часами на ATmega8515 вылезла проблема с прерываниями, по счетчику. Перелопатил кучу информации и даташит, но в данном виде программы прерывания не работают, в чем может быть проблема?




#define F_CPU 8000000
#include <avr/io.h>
#include <util/delay.h>
#include <avr/interrupt.h>
#define digit_display_time 10
unsigned char milliseconds, seconds, ten_seconds, minutes, ten_minutes, hours, ten_hours;
ISR(TIMER1_COMPA_vect)
{
milliseconds++;
TCNT1H=0x00;
TCNT1L=0x00;
if (milliseconds >= 1000 )
{
milliseconds = 0;
seconds++;
};

if (seconds >= 10)
{
seconds = 0;
ten_seconds++;
};

if (ten_seconds >= 6)
{
ten_seconds = 0;
minutes++;
};

if (minutes >= 10)
{
minutes = 0;
ten_minutes++;
};

if (ten_minutes >= 6)
{
ten_minutes = 0;
hours++;
};
if (hours >= 10)
{
hours = 0;
ten_hours++;
};
if (ten_hours >= 2 && hours == 4)
{
ten_hours = 0;
hours=0;
};
}
void timer_init()
{
//OCR1A=125;
OCR1AH = 0b00000000;// 125
OCR1AL = 0b01111101;
//Предделитель на х64
TCCR1B = (0<<CS12)|(1<<CS11)|(1<<CS10);

//Прерывание по совпадению TC1 A
TIMSK=(1<<OCIE1A);

sei();

}

int main(void)
{
timer_init();
unsigned char digits[10] = {63,6, 91, 79, 102, 109, 125, 7, 127, 111};
DDRA = 0b11111111;
DDRC = 0b11111111;
PORTC = 0b00000000;
while(1)
{
PORTA = digits[seconds];
DDRC = 0b00001000;
_delay_ms(digit_display_time);
PORTA = digits[ten_seconds];
DDRC = 0b00000100;
_delay_ms(digit_display_time);

PORTA = digits[minutes];
DDRC = 0b00000010;
_delay_ms(digit_display_time);

PORTA = digits[ten_minutes];
DDRC = 0b00000001;
_delay_ms(digit_display_time);
}
}

Прикрепленные файлы:





  • Прикрепленный файл
     Clock.rar   3,34 Мб
      4 раз скачано




Раздел: AVR

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться, либо войти на сайт под своим именем.

Обсудить на форуме


На момент добавления Проблема С Прерываниями Atmega8515(Atmel Studio + Proteus) все ссылки были рабочие.
Все публикации статей, книг и журналов, представлены на этом сайте, исключительно для ознакомления,
авторские права на эти публикации принадлежат авторам статей, книг и издательствам журналов!
Подробно тут | Жалоба
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.


Опрос

Ваши предпочтения в TRX


Одинарное преобразование
Двойное преобразование
Прямое преобразование
SDR
Другое
Мне всё равно

Популярные новости
Календарь новостей
«    Май 2024    »
ПнВтСрЧтПтСбВс
 12345
6789101112
13141516171819
20212223242526
2728293031