Страница 1 из 1
непонятны уровни в мега8 (+)
Добавлено: Сб авг 24, 2013 00:06:49
metcenger
есть устройство с МК- часы. Я из кроватки извлекаю их МК 8951... как-то так, подпаиваю на макетке свой- мегу8. Пока у нее ноги в воздухе, я вижу импульсы мои. Но как только я подпаиваюсь этими ногами к реальной схеме, где был старый МК, то у меня вместо импульсов прямая линия вольта 4 ??? И так со всеми сигналами. Почему так происходит? Может наводки так влияют?
Re: непонятны уровни в мега8 (+)
Добавлено: Сб авг 24, 2013 00:09:48
blackx
O_o как-то не особо 8051 и мега8 совместимы...
А зачем вы это делаете?
Re: непонятны уровни в мега8 (+)
Добавлено: Сб авг 24, 2013 05:49:26
pyzhman
metcenger писал(а):Почему
Потому что надо стыковать по уму. И программу писать соответственно. Где ваша схема? Где ваша программа?
PS. А то получается - "Догадайтесь, тм, что мне надо".
Re: непонятны уровни в мега8 (+)
Добавлено: Сб авг 24, 2013 08:57:22
metcenger
делаю затем, что часы глючат- меняю контроллер на другой и вешаю его на место старого. Меняю на тот, кот. умею писать. И чем они там не стыкуются? Уровнями может?
схема- обычная- вывод контроллера подключаю на вход к561ир2. код с меги вот-
Код: Выделить всё
char __low_level_init (void) { // эта функция вызывается сразу после
// включения процика после установки
// указателей стека.
// Здесь можно настроить периферию
TCCR1B= (1<<WGM12) | (0<<CS12)|(0<<CS11) |(1<<CS10); //CTC mode, no prescaling
TIMSK = (1<<OCIE1A); //for counter 0 and counter 1 (1<<TICIE1)
OCR1A= (OSC / 1000);
PORTB = (0<<7)|(0<<6)|(0<<5)|(0<<4)|(0<<3)|(0<<2)|(0<<1)|(0<<0); // все ноги в 0
DDRB =(1<<7)|(1<<6)|(1<<5)|(1<<4)|(1<<3)|(1<<2)|(1<<1)|(1<<0); // все ноги на вывод
PORTD = (0<<7)|(0<<6)|(0<<5)|(0<<4)|(0<<3)|(0<<2)|(0<<1)|(0<<0); // все ноги в 0
DDRD =(1<<7)|(1<<6)|(1<<5)|(1<<4)|(1<<3)|(1<<2)|(1<<1)|(1<<0); // все ноги на вывод
PORTC = (0<<7)|(0<<6)|(0<<5)|(0<<4)|(0<<3)|(0<<2)|(0<<1)|(0<<0); // все ноги в 0
DDRC =(1<<7)|(1<<6)|(1<<5)|(1<<4)|(1<<3)|(1<<2)|(1<<1)|(1<<0); // все ноги на вывод
return 1; // После возвращения проинициальзировать память
}
//======================
//****************************************************************************
//==== подфункции ======
void Delay(uint32_t t) // только с большой буквы Delay!!! Конфликтует.
{ // на задержке noop
volatile uint32_t i;
for(i = 0; i < t; i++) {
}
}
//=======================
void clk (void) {
on (C);
Delay (dl);
off (D);
off (C);
}
//======================
// зажечь индикатор и цифру на нем
void show (uint8_t number, uint8_t digit) {
if (digit == 0) {
off (D); //0
clk ();
on (D);
clk ();
on (D);
clk ();
...
...
...
Re: непонятны уровни в мега8 (+)
Добавлено: Сб авг 24, 2013 09:04:34
BOB51
89C/S51 имеет прямой аналог по разводке выводов ATmega8515.

Re: непонятны уровни в мега8 (+)
Добавлено: Сб авг 24, 2013 09:53:39
blackx
metcenger, схему до и после фстудию!

Re: непонятны уровни в мега8 (+)
Добавлено: Сб авг 24, 2013 09:57:53
metcenger
а почему так не хочет работать? Может наводки? Так-то есть макетка, и смысла получить именно совместимость нет. Но почему себя так ведет он? На столько критичен к наводкам? Там импульсный БП стоит.
ну нет у меня схемы, есть в голове она. Вывод МК подсоединяю к ноге к561ИР2, вместо старого контроллера. Да, подсоединяю длинным проводом- 15 см.
Re: непонятны уровни в мега8 (+)
Добавлено: Сб авг 24, 2013 10:17:28
blackx
А как вы подсоединяетесь? МК на макетке, потом у вас шлейф идет на плату часов и он вставлен в панельку?
Не забыли перед всем этим земли схем объединить? Не забыли подать питание на обе платы перед соединением их сигнальными проводами?
В конце концов, чем и как проверяете уровни на выводах?
Re: непонятны уровни в мега8 (+)
Добавлено: Сб авг 24, 2013 10:34:50
metcenger
МК мега8 на макетке. Потом с макетки идут провода, подпаяны к ногам ИР2. Питание и земли общие с часами- снял +5 с кроватки старого МК. Старого МК, конечно, нет на плате.
Смотрю осциллом RIGOL 1062DC
Re: непонятны уровни в мега8 (+)
Добавлено: Сб авг 24, 2013 10:48:42
blackx
Конкретное что-то сказать не могу. Попробуйте вот что:
1) на висящий свободно вывод МК подавайте повторяющийся импульс. После включения убедитесь, что МК сам по себе запускается и работает нормально, когда он подпаян к плате часов.
2) перепишите программу так, чтобы вместо сигнала МК выводил на порты статичное значение лог. 0 и проверьте напряжение еще раз.
3) со старым МК схема часов все еще работает? Проверьте.
ЗЫ Тоесть у вас именно мега8, не 8515? Разницы собственно никакой, но вторая, как уже заметили, совместима с вашим старым МК.
Re: непонятны уровни в мега8 (+)
Добавлено: Сб авг 24, 2013 11:02:59
metcenger
да, именно мега8. другого просто нет, и ехать за ним лень)
идея хорошая- вывести лог 0 и увидеть уровни.
Поэкспериментирую вечером сегодня или завтра с утра. Отпишусь. Всем спасибо.
Re: непонятны уровни в мега8 (+)
Добавлено: Вс авг 25, 2013 16:01:24
metcenger
не заметил подтяжки входов ИР2 к +5В.
Зачем они- загадка. Забросил я это дело, т.к. невозможно что-то сотворить путное там, т.к. даже оторвав подтяжки эти, получил завалы срезов. Если переделывать, то полностью и схему надо.
Re: непонятны уровни в мега8 (+)
Добавлено: Вс авг 25, 2013 20:31:13
blackx
Понятно, удачи!
