Помоему почти всё не правильно.
Код
#include <mega16.h>
// Timer 0 overflow interrupt service routine
interrupt [TIM0_OVF] void timer0_ovf_isr(void)
{
// Place your code here
PORTA=~PORTA.0;
}
void main(void)
{
// Input/Output Ports initialization
// Port A initialization
PORTA=0b11111110;
DDRA = 0b00000001;
// Port B initialization
PORTB=0x00;
DDRB=0x00;
// Port C initialization
PORTC=0x00;
DDRC=0x00;
// Port D initialization
PORTD=0x00;
DDRD=0x00;
// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: 3,906 kHz
// Mode: Normal top=FFh
// OC0 output: Disconnected
TCCR0=0x05;
TCNT0=0x00;
OCR0=0x00;
// External Interrupt(s) initialization
MCUCR=0x00;
MCUCSR=0x00;
// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x01;
ACSR=0x80;
SFIOR=0x00;
// Global enable interrupts
#asm("sei")
while (1)
{
// Place your code here
};
}
БЕЗ КВАРЦАCSEL3...0 = 0011 = слева на права - ( галка, галка, пусто, пусто) - (галка - это ноль - это сброшен)
SUT0 = галка, SUT1 = пусто или просто не трогаешь (оставляешь как есть)
Сообщение отредактировал $ilent - Nov 1 2006, 08:00