Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: mega16+кварц 8.533Мгц
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > MCS51, AVR, PIC, STM8, 8bit
FxMODE
Доброе время суток!
Спаял схему. Прога элементарно должна зажигать диоды на порте С. Но не зажигает. Походу до нее вообще дело недоходит. Фьюзы вроде впорядке, настройки USART тоже. Не подскажите в чем дело?
Программатор пикрог

Фьюзы:

cksel = 1111
sut = 10
Bod = off
VB = 4 B
Brst = off
Bsize = 00
EES = off
scopt = off
SPI = off
JTAG = off
OCD = on
CP = L1
BLB0 = BL1
BLB1 = BL1
VDDmin = 4
VDDmax = 5.5
VDDread = 5

Usart:
UCSRA=0×00;
UCSRB=0xD8;
UCSRC=0×86;
UBRRH=0×00;
UBRRL=55;
VladimirYU
Сформулируйте проблему. Не понятно причем здесь не моргающие светодиоды на порте C и UART. Прицепите хотя бы кусок кода относящийся к проблеме, ну может быть и схемку полезно посмотреть. А то на уровне телепатии получается.
FxMODE
Простая отладочная схема: мега16, кварц 8.533Мгц, com-порт, max-232, и порт С весь в светодиодах. Суть в том, что прога вшита в МК и не работает. Даже элементарно неполучается помигать диодами. Я думал что проблема во фьюзах, вот и спрашиваю. С уартом буду разбираться позже, а его настройки вывел для проверкм правильности UBRR. То есть контроллер исправен, но не подает признаков жизни, почему?
VladimirYU
Цитата(FxMODE @ Apr 25 2009, 11:16) *
Простая отладочная схема: мега16, кварц 8.533Мгц, com-порт, max-232, и порт С весь в светодиодах. Суть в том, что прога вшита в МК и не работает. Даже элементарно неполучается помигать диодами. Я думал что проблема во фьюзах, вот и спрашиваю. С уартом буду разбираться позже, а его настройки вывел для проверкм правильности UBRR. То есть контроллер исправен, но не подает признаков жизни, почему?

В DDRC 0xff в PORTC то что хотите увидеть на светодиодной линейке. Ну и убедитесь, что кристалл вообще дышит, запустился ли кварц (осциллом ткнитесь), откликается ли кристалл на пограмматор? Покажите код наконец.
FxMODE
Кристалл дышит, осцилом ткнул - генерит нужную частоту. Из кода оставил только


CODE
void main(void)
{


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

// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer 1 Stopped
// Mode: Normal top=FFFFh
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;

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

// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
// INT2: Off
MCUCR=0x00;
MCUCSR=0x00;

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

// USART initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART Receiver: On
// USART Transmitter: On
// USART Mode: Asynchronous
// USART Baud rate: 9600
UCSRA=0x00;
UCSRB=0xD8;
UCSRC=DPS;
UBRRH=0x00;
UBRRL=55;

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


while (1)
{
PORTC=0xFF;
DDRC=0xFF;
}

и то негарит. Диоды и вся схема вцелом исправна. Я уж даже незнаю кода проще 07.gif
VladimirYU
Цитата(FxMODE @ Apr 25 2009, 13:23) *
Кристалл дышит, осцилом ткнул - генерит нужную частоту. Из кода оставил только



и то негарит. Диоды и вся схема вцелом исправна. Я уж даже незнаю кода проще 07.gif

А не могли полярность диодов попутать? Может их по схеме 0 нужно зажигать? Сделайте PORTC ^= 0xff. Или уже на лапах МК тишина?
FxMODE
Дело в том, что когда я врубаю фьюз JTag = On, то там три диода всегда горят. Так что там все в порядке. Настройки кварца верны?
VladimirYU
Цитата(FxMODE @ Apr 25 2009, 13:35) *
Дело в том, что когда я врубаю фьюз JTag = On, то там три диода всегда горят. Так что там все в порядке.

Т.е. загораются те линии которые при работе с JTAG являются входными? А не светятся ли они от выходов JTAG, которые при этом в 0, или JTAG не подключен? Схемку бы глянуть.
FxMODE
Действительно, горят: PC2 - вход тактового сигнала, PC3 - вход выбора режима, и PC5 - вход данных. JTag устройство не подсоединено. Изменил код на:

Код
PORTC=0xFF;
DDRC=0x00;

однако все равно не горят. Но светятся только входы JTag, когда фьюз JTag=ON.
EvgenWL
попробуйте вариант
Код
PORTC=0xCC;
DDRC=0x0F;

и скажите, на каких пинах светодиоды зажгуться при этом
FxMODE
Тишина и трупы... вообще ничего. Ситуация вцелом: это не код, не фьюзы. Тогда это схема. меги 16 с кварцом KOYO 8.533MHz ладят?
Paulina
Цитата(FxMODE @ Apr 26 2009, 06:13) *
Тишина и трупы... вообще ничего. Ситуация вцелом: это не код, не фьюзы. Тогда это схема. меги 16 с кварцом KOYO 8.533MHz ладят?


USART-то хоть работает? попробуйте что-нибудь передать.
А чтоб определить кварц виновник или нет, включите внутренний rc генератор на время
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.