lazebny (05.11.2008 23:19, просмотров: 1) ответил MBedder на И что же ты вместо ISP применял до сих пор?
Приманял панели-адаптеры.Для этих схем нет адптеров,пришлось ISP. Вот простой код,переключает в зависимости от счетка LEDы подключенные к порту Е0-3.Но даже он не работает.Установлены Fuse-ы SKCEL-0001 для 1MHz,M103C-0,JTAGEN-0 стальные не трогал,эти стоят по умолчанию.Защит на код в МК тоже не ставил.
Код на скорую руку ниже.В протеусе и AVRStudio работает!
/****************************************************
Chip type : ATmega128
Program type : Application
Clock frequency : 1,000000 MHz
Memory model : Small
External SRAM size : 0
Data Stack size : 1024
*****************************************************/
#include <mega128.h>
#include <delay.h>
unsigned int T;
// Timer 0 overflow interrupt service routine
interrupt [TIM0_OVF] void timer0_ovf_isr(void)
{
T++;
if(T==550)T=0;
}
void main(void)
{
// Port B initialization
// Func7=In Func6=In Func5=In Func4=Out Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=0 State3=T State2=T State1=T State0=T
PORTB=0x00;
DDRB=0x10;
// Port E initialization
// Func7=In Func6=In Func5=In Func4=In Func3=Out Func2=Out Func1=Out Func0=Out
// State7=T State6=T State5=T State4=T State3=0 State2=0 State1=0 State0=0
PORTE=0x00;
DDRE=0x0F;
// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: 1000,000 kHz
// Mode: Normal top=FFh
// OC0 output: Toggle on compare match
ASSR=0x00;
TCCR0=0x11;
TCNT0=0x00;
OCR0=0x00;
// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x01;
ETIMSK=0x00;
// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;
// Global enable interrupts
#asm("sei")
while (1)
{
if(T<10)PORTE = 0x03;
else
if((T>100)&&(T<200))PORTE = 0x0f;
else
if(T>500){PORTE = 0x0c;}
};
}