реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Atmega 8515 задача на прерывание.
breikist
сообщение Jan 14 2012, 10:03
Сообщение #1





Группа: Новичок
Сообщений: 8
Регистрация: 14-01-12
Пользователь №: 69 405



Доброе время суток всем. Пишу программу для мк Atmega 81515 , задача на прерывание.
Текст задачи:
Светодиоды с нечетными номерами включаются по очереди, создавая эффект
бегущих огней справа налево. После нажатия на кнопку SW6 эффект бегущих огней
создается четными светодиодами. После нажатия на кнопку SW5 снова
используются нечетные светодиоды. Для изменения режимов управления
светодиодами ипользовать прерывания INT1 (кнопка SW6) и INT2 (кнопка SW5).
Мой текст программы:

CODE
#define F_CPU 3686400UL
#include <avr/io.h>
#include<util/delay.h>
#include <avr/interrupt.h>
unsigned char r, d,a;

ISR (INT1_vect)
{
d=0;
}

ISR (INT2_vect)
{
d=1;
}

int main (void)
{
DDRB = 0xFF;
PORTB = 0xFF;
DDRE = 0x00;
PORTE = 0xFF;
PINE = 0xFF;

GICR=0b10100000;
MCUCR=0b00001010;

sei();
while (1)
{
if (d == 1)
r = 0b00000010;
else
r = 0b00000001;


while(r!=0)
{
PORTB = r^0xFF;
if (d == 1)
{
r <<= 2;
}
else
{
r <<= 2;
}
//_delay_ms(1000);


{
if(!(PINE&(1<<1)))
d=0;
r >>= 1;
}

{
if(!(PINE&(1<<0)))
d=1;
r <<=1;
}
}
}
}

Я как понимаю , мои прерывания висят в воздухе , не могли бы помочь сделать так , что бы прерывание происходило при нажатии этих кнопок?

Сообщение отредактировал IgorKossak - Jan 14 2012, 16:59
Причина редактирования: [codebox]!!!, форматирование
Go to the top of the page
 
+Quote Post
haker_fox
сообщение Jan 15 2012, 02:11
Сообщение #2


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



QUOTE (breikist @ Jan 14 2012, 18:03) *
Доброе время суток всем. Пишу программу для мк Atmega 81515 , задача на прерывание.
Я как понимаю , мои прерывания висят в воздухе , не могли бы помочь сделать так , что бы прерывание происходило при нажатии этих кнопок?

Доброе утро! Переменную d объявите следующим образом
CODE
volatile unsigned char d
. Почитайте про модификатор volatile.


--------------------
Выбор.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th July 2025 - 20:11
Рейтинг@Mail.ru


Страница сгенерированна за 0.01363 секунд с 7
ELECTRONIX ©2004-2016