Страница 1 из 1

Первая разработка.

Добавлено: Вт окт 30, 2007 12:35:46
-ShAmAn-
Я вот чё придумал на кнопку нажал загорелось следующее число помогите с прошивкой. Контролер мега 8535

Добавлено: Вт окт 30, 2007 14:55:06
Aheir
Если хотите сами делать - это Вам в "Обучалку" сначала.
Если хотите, чтоб Вам сделали - это Вам в "Из лап в лапы"
Если хотите, чтобы тему не удалили - это Вам ее переименовать придется. :)

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

Добавлено: Ср окт 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);
     }
   }
}

Может комуто будет интересно! :wink:

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

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