Witam! Postaram się opisac problem dosyć szczegółowo. Miałem bardzo duże problemy z zaprogramowaniem AT89S52(działały tylko bardzo małe programy typu migająca dioda LED) więc postanowiłem zmienić na AtMega8515 ponieważ ma takie same wyprowadzenia nózek. Z programowaniem nie ma najmniejszych problemów, tylko teraz nie działa zaden program. Jedyne różnice jakie wykryłem to: brak sygnału EA które było w 51', kondensatory przy kwarcu 33pf( w dokumentacji pisze 22pf). Kwarc ma 12 Mhz w dokumentacji pisze coś takiego:
– 0 - 8 MHz for ATmega8515L
– 0 - 16 MHz for ATmega8515
Nie wiem dokładnie który posiadam bo w oznaczeniach nigdzie nie jest to napisane. Czytałem o dodatkowych kondensatorach 100nF przy zasilaniu i masie, ale nie wiem czy to dotyczy własnie tego modelu? Vcc i Gnd w tym procku jest po przeciwnych stronach więc nawet nie wiem jakbym miał je umieścić. Fuse bity ustawiałem i dl wewnetrznego rezonatora: 0100 i dla zewnętrznego 1110 i nic:/ chyba że robie jakiś błąd w programie?
Z góry dziękuję za pomoc.
– 0 - 8 MHz for ATmega8515L
– 0 - 16 MHz for ATmega8515
Nie wiem dokładnie który posiadam bo w oznaczeniach nigdzie nie jest to napisane. Czytałem o dodatkowych kondensatorach 100nF przy zasilaniu i masie, ale nie wiem czy to dotyczy własnie tego modelu? Vcc i Gnd w tym procku jest po przeciwnych stronach więc nawet nie wiem jakbym miał je umieścić. Fuse bity ustawiałem i dl wewnetrznego rezonatora: 0100 i dla zewnętrznego 1110 i nic:/ chyba że robie jakiś błąd w programie?
#include <avr/io.h>
void Delay(unsigned int time)
{
unsigned int j;
unsigned char i;
while (time >= 1) //wykonanie pętli FOR zajmuje około 1 sek.
{ //pętla jest powtarzana TIME razy
for (i=0; i<3; i++)
for (j=0; j<52000; j++);
time--;
}
}
int main(void)
{
DDRD |= (1<<PD0 | 1 <<PD3 | 1<<PD5);
while(1)
{
PORTD &= ~(1<<PD0);
PORTD &= ~(1<<PD3);
Delay(10);
PORTD |= 1<<PD3;
PORTD |= 1<<PD0;
Delay(10);
}
return 0;
}Z góry dziękuję za pomoc.