Проблема С Кодом Attiny2313A

28-07-2014, 14:05 От: admin Посмотрели: 614
Алгоритм: при нажатие кнопки (на вход PD0 подаем +5В) через каждые 4286 мс загораются последующие светодиоды от PB1 ... до PB7

При нажатие кнопки (на вход PD1 подаем +5В) через каждые 4286 мс тухнут последующие светодиоды от PB7 ... до PB1



Но первые тухнет и последний загорается (PD0 и PD8) при начале и конце отсчета.

Интервал загорания всех светодиодов 30 сек.



В эмуляции AVR Studio 4 все нормально.

На деле не работает (не загорается даже один светодиод).



#include <avr/io.h>
#include <util/delay.h>

#define F_CPU 8000000UL

int m[7] = {0x01, 0x03, 0x07, 0x0F, 0x1F, 0x3F, 0x7F};
int t = 0, ct = 30000, h = 4286;

int main(void) {
PORTD = 0x00;
DDRD = 0x00;
PORTB = 0x00;
DDRB = 0xFF;

while(1) {

if (PIND &(1 << PD0)) { // OPEN
t = t + 300;
if (t >= ct) { t = ct; PORTB = 0xFF; }
else PORTB = PORTB | m[t/h];
} else
if (PIND &(1 << PD1)) { // CLOSE
t = t - 300;
if (t < 0) t = 0;
if (!t) PORTB = 0x00;
else PORTB = PORTB & m[t/h];
}
_delay_ms(300);
}
}

Раздел: AVR

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

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


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


Опрос

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


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

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