Перейти к содержанию

Atmega128L Самопроизвольно Перезагружается


-=gga=-

Рекомендуемые сообщения

С наступающим!

Возникла тут одна проблемка. Собрал плату на МК ATmega128L. Питание от ЮСБ. Кварц на 7.3728 мГц.

Программатор AVR910. Пишу на С. Ножка Ресет подключена резистором в 10кОм к плюсу и к минусу через конденсатор 0.1мкФ.

Суть проблемы заключается в том, что МК самопроизвольно рестартирует.

Программу сгенерировал генератором начального кода CodeVisionAVR.

Строчки

// Port C initialization

// Func7=In Func6=In Func5=In Func4=In Func3=Out Func2=In Func1=In Func0=In

// State7=T State6=T State5=T State4=T State3=1 State2=T State1=T State0=T

PORTC=0x08;

DDRC=0x08;

делают PortC.3 Выходом и устанавливают на нём 1.

Строчки

delay_ms(1000);

PORTC.3=0;

Устанавливают на выводе PortC.3 лог. 0 через одну секунду.

В протеусе работает, но в реале у меня светодиод постоянно горит.

Вот скриншот фьюзов.

post-17647-0-97169500-1293476566_thumb.jpg

Вот листинг программы

/*****************************************************
This program was produced by the
CodeWizardAVR V2.05.0 Evaluation
Automatic Program Generator
© Copyright 1998-2010 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com

Project :
Version :
Date    : 12/27/2010
Author  : Freeware, for evaluation and non-commercial use only
Company :
Comments:


Chip type               : ATmega128L
Program type            : Application
AVR Core Clock frequency: 7.372800 MHz
Memory model            : Small
External RAM size       : 0
Data Stack size         : 1024
*****************************************************/

#include <mega128.h>
#include <delay.h>
// Declare your global variables here

void main(void)
{
// Declare your local variables here

// Input/Output Ports initialization
// Port A initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTA=0x00;
DDRA=0x00;

// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTB=0x00;
DDRB=0x00;

// Port C initialization
// Func7=In Func6=In Func5=In Func4=In Func3=Out Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=1 State2=T State1=T State0=T
PORTC=0x08;
DDRC=0x08;

// Port D initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTD=0x00;
DDRD=0x00;

// Port E initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTE=0x00;
DDRE=0x00;

// Port F initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTF=0x00;
DDRF=0x00;

// Port G initialization
// Func4=In Func3=In Func2=In Func1=In Func0=In
// State4=T State3=T State2=T State1=T State0=T
PORTG=0x00;
DDRG=0x00;

// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Normal top=0xFF
// OC0 output: Disconnected
ASSR=0x00;
TCCR0=0x00;
TCNT0=0x00;
OCR0=0x00;

// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer1 Stopped
// Mode: Normal top=0xFFFF
// OC1A output: Discon.
// OC1B output: Discon.
// OC1C output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
// Compare C Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
OCR1CH=0x00;
OCR1CL=0x00;

// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: Timer2 Stopped
// Mode: Normal top=0xFF
// OC2 output: Disconnected
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;

// Timer/Counter 3 initialization
// Clock source: System Clock
// Clock value: Timer3 Stopped
// Mode: Normal top=0xFFFF
// OC3A output: Discon.
// OC3B output: Discon.
// OC3C output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer3 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
// Compare C Match Interrupt: Off
TCCR3A=0x00;
TCCR3B=0x00;
TCNT3H=0x00;
TCNT3L=0x00;
ICR3H=0x00;
ICR3L=0x00;
OCR3AH=0x00;
OCR3AL=0x00;
OCR3BH=0x00;
OCR3BL=0x00;
OCR3CH=0x00;
OCR3CL=0x00;

// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
// INT2: Off
// INT3: Off
// INT4: Off
// INT5: Off
// INT6: Off
// INT7: Off
EICRA=0x00;
EICRB=0x00;
EIMSK=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x00;

ETIMSK=0x00;

// USART0 initialization
// USART0 disabled
UCSR0B=0x00;

// USART1 initialization
// USART1 disabled
UCSR1B=0x00;

// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;

// ADC initialization
// ADC disabled
ADCSRA=0x00;

// SPI initialization
// SPI disabled
SPCR=0x00;

// TWI initialization
// TWI disabled
TWCR=0x00;

delay_ms(1000);
PORTC.3=0;
while (1)
     {

     }
}

Я был механик, я есть механик, я буду механик

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

Наверняка у тебя включен фьюз (М103) совместимости с Atmega103. По умолчанию эта совместимость установлена. Отключи и будет тебе счастье.

Пока ты жив, надежда есть.

Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

небось светик подключен к +?

а так же:

Port C also serves the functions of special features of the ATmega128 as listed on page 77. In

ATmega103 compatibility mode, Port C is output only, and the port C pins are not tri-stated

when a reset condition becomes active.

Note: The ATmega128 is by default shipped in ATmega103 compatibility mode. Thus, if the parts are not

programmed before they are put on the PCB, PORTC will be output during first power up, and until

the ATmega103 compatibility mode is disabled

In ATmega103 compatibility mode, Port C is output only. The ATmega128 is by default shipped

in compatibility mode. Thus, if the parts are not programmed before they are put on the PCB,

PORTC will be output during first power up, and until the ATmega103 compatibility mode is disabled. The Port C has an alternate function as the address high byte for the External Memory

Interface.

взято из даташита

Изменено пользователем l-e-o-n-a-r-d-o

чем шире кругозор, тем тупее угол обозрения

Ссылка на комментарий
Поделиться на другие сайты

Особенности хранения литиевых аккумуляторов и батареек

Потеря емкости аккумулятора напрямую зависит от условий хранения и эксплуатации. При неправильном хранении даже самый лучший литиевый источник тока с превосходными характеристиками может не оправдать ожиданий. Технология, основанная на рекомендациях таких известных производителей литиевых источников тока, как компании FANSO и EVE Energy, поможет организовать правильный процесс хранения батареек и аккумуляторов. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Присоединяйтесь к обсуждению

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
  • Сообщения

    • @Andrewe  эти БП запускаются нормально если косяков с СТ нет и ошибок. 
    • Гость Кирилл
      Нужна схема компаратора, которая управляет включением компрессора через датчик тока. То есть, если через провод, который пропущен через датчик тока, течет ток, то компаратор должен включать компрессор. Если нет схемы, то дайте хоть советы какие-нибудь) Напряжение питания датчика тока 5V 
    • То есть вас вообще не смущает, что Atmega64M1 и Atmega64(L) это вообще разные микроконтроллеры и у них не только корпуса , но и фьюзы разные...
    • У меня схожая проблема, при переключении каналов TV - Усилитель то тихо, то громко.... Когда реклама = тогда  очень громко.... Я так думаю, это от сигнала зависит... и бороться с этим = себе дороже !!! То прибавляешь, то убавляешь... плюнул (нет решения)
    • и у меня.... Ага, тоже поменял "0" и "фазу". Разбираться чего начудили чинарики и равшаны (делавшие электрику) не стал. Хотя в другом случае, это не помогло.....
    • @Rede RED Размыкается именно фазный провод, насколько я понимаю, так как лампочки не светятся, если размыкается реле (режим "механики" на умном выключателе). @beggar @Borodach Светодиоды в выключателе есть, на каждой клавише, но можно их включить и выключить через приложение. Ситуацию это не меняет.   @Rede RED @BARS_ Понимаю, что вы большие профессионалы-электрики с профильным образованием в отличие от меня, но схему нарисовать не в состоянии, простите. Либо не справлюсь и введу в заблуждение (так как не я проводил электрику, только попросил, чтобы была нейтраль), либо качеством вы будете недовольны и это превратиться в урок черчения, а не обсуждение ситуации. Нормально там все с проводкой.   Вчера я попробовал подключить блок питания напрямую через розетку, а не через выключатель и щиток. Свечение пропало. На эту мысль меня натолкнула подсветка на кухне, которая в отличие от всех остальных в квартире как раз подключена через розетку и остаточно не светилась. Единственные отличия в их установке - наличие выключателя и подключение провода заземления блока питания (остальные составляющие одинаковые).   @Александр Матроскин Какую вилку, если подключение через щиток? Какой еще информацией нужно обладать, уточните?   @dolmatovva Висит выключатель, у которого есть два режима работы: - "механика" - отключает реле - "беспроводной" - реле остается включенным, клавиши от него отвязаны и управляют контроллером люстры/ленты. У меня вот как раз второй вариант реализован.
    • По теме мультивибратор. При базовых резисторах 10к, нагрузочных 360 Ом, КТ315В, и "флажках" 4.7нФ, частота примерно 45-50 кГц (точное значение не знаю) между коллекторами транзисторов. Что не понравилось. 1 импульс вверх и вниз (проходит через 0) занимает 1 клеточку, а расстояния между верхним и нижним вообще почти никакого (вернее около 0,05 клетки), то есть нужен сердечник с частотой 50*(1/0.05)=1000 kHz, либо надо добавлять в мультивибратор еще один транзистор (средний):
×
×
  • Создать...