Страница 1 из 1
Первая разработка.
Добавлено: Вт окт 30, 2007 12:35:46
-ShAmAn-
Я вот чё придумал на кнопку нажал загорелось следующее число помогите с прошивкой. Контролер мега 8535
Добавлено: Вт окт 30, 2007 14:55:06
Aheir
Если хотите сами делать - это Вам в "Обучалку" сначала.
Если хотите, чтоб Вам сделали - это Вам в "Из лап в лапы"
Если хотите, чтобы тему не удалили - это Вам ее переименовать придется.

Добавлено: Ср окт 31, 2007 13:14:32
Krik99
Кароче я так понял что вам надо Обычный щётчик который бы при нажатии на кнопку щетал сколько раз нажато? Да и вы решите какой контролёр вы будете использовать!

Добавлено: Ср окт 31, 2007 14:15:52
-ShAmAn-
Контролер ATmega 8535
Добавлено: Ср окт 31, 2007 14:40:32
KT315B
А не жирно для такой задачи применять вышеназванную мегу? Тут тини2313 за глаза хватит!
Добавлено: Ср окт 31, 2007 14:53:25
-ShAmAn-
Тини покупать надо а 8535 уже есть
Добавлено: Ср окт 31, 2007 15:25:02
Aheir
На чем писать собираешься?
В любом случае, напиши, как ты себе это видишь, выложи сюда, дальше будем разбираться уже..

Добавлено: Ср окт 31, 2007 15:48:26
-ShAmAn-
И так всё началось когда я начал читать журнал ХАКЕР в 93 номере комрад длинный писал про АВР и предложил пример вот прошивка. Хотелось бы писать на асамблере принцип такой на один из портов подается сигнал ну а остальные работают как переключатели. Тоесть микруха работает как простой счётчик как в первой статье про беглые огни. Но вот как реализовать программно не знаю ПОМОГИТЕ.
Добавлено: Ср окт 31, 2007 16:14:53
Krik99
А мне кажется что лутчеб было на Си писать.

Добавлено: Ср окт 31, 2007 16:19:35
-ShAmAn-
Я асамблер хоть чутьчуть понимаю
Добавлено: Ср окт 31, 2007 17:33:57
Aheir
Ты можешь нарисовать детальный алгоритм своей будущей программы?
Добавлено: Ср окт 31, 2007 17:40:55
-ShAmAn-
Попробую выложу завтра огромное спасибо за внимание хоть один хороший челове нашелся.
Добавлено: Ср окт 31, 2007 17:52:45
Aheir
Чем подробнее сейчас напишешь - тем лучше. Сам начнешь понимать, что к чему.
Добавлено: Ср окт 31, 2007 18:01:38
-ShAmAn-
Вот примерный алгоритм
Добавлено: Ср окт 31, 2007 19:01:46
Krik99
Вот я когда изучал МК то писал вот такую программу которая щитает сколько раз нажата кнопка:
Код: Выделить всё
#include <avr>
#include <avr>
unsigned char a;
void ind (unsigned char number)
{ switch (number)
{ case1 : PORTC=0xF9; PORTB|=_BV(PB6); break; //код который зажигает на индикаторе цифру 1
case2 : PORTC=0xE4; PORTB&=~_BV(PB6); break; //код который зажигает на индикаторе цифру 2
case3 : PORTC=0xF0; PORTB&=~_BV(PB6); break; //код который зажигает на индикаторе цифру 3
case4 : PORTC=0xD9; PORTB&=~_BV(PB6); break; //код который зажигает на индикаторе цифру 4
case5 : PORTC=0xD2; PORTB&=~_BV(PB6); break; //код который зажигает на индикаторе цифру 5
case6 : PORTC=0xC2; PORTB&=~_BV(PB6); break; //код который зажигает на индикаторе цифру 6
case7 : PORTC=0xF8; PORTB|=_BV(PB6); break; //код который зажигает на индикаторе цифру 7
case8 : PORTC=0xC0; PORTB&=~_BV(PB6); break; //код который зажигает на индикаторе цифру 8
case4 : PORTC=0xD0; PORTB&=~_BV(PB6); break; //код который зажигает на индикаторе цифру 9
}
return;
}
int main (void)
{
a=1;
ind(a);
PORTC=0xFF; DDRC=0x3F;
DDRB|=_BV(PB6);
while(1)
{
if(bit_is_clear(PINB,PB2))
{
delay_loop_2(62500);
a++;
if(a==10) a=1;
ind(a);
}
}
}
Может комуто будет интересно!

Добавлено: Чт ноя 01, 2007 03:44:46
-ShAmAn-
Спасибо чувак!!!!!!!!

Добавлено: Чт ноя 01, 2007 08:51:25
Aheir
Если хочешь идти дальше с помощью алгоритма, теперь надо более подробно расписать все этапы. Например, что нужго для того, чтобы на индикаторе горела цифра 1? А что происходит при нажатии кнопки? Можно пытаться понять, какие переменные понадобятся и сколько. Так, постепенно все более подробно описывая процессы, доберешься и до команд АСМа конкретных, т.е. появится программа.
