Atmega8 ile Led yak-söndür yapamama

Başlatan AsHeS, 08 Ocak 2014, 22:33:11

AsHeS

#define OUTPUT 1
#define INPUT  0

#include "main.h"
#include <avr/io.h>
#include "util/delay.h"


int main(void)
{
	DDRC = OUTPUT;
	
	
    while(1)
    {
    DDRC  = 0xFF;  // PC0..PC3 as output
    PORTC = 0x00;  // all PORTC output pins Off

    while(1)
    {
			PORTC ^= 0xFF;
			_delay_ms(500);
			
			    }
    return 0;
    }
}

Atmega8 için yukarıda ki kodu yazdım. Fuse bit ayarlarını Leaper 48 programlayıcıda
Lock features enabled : No Lock Bits
BLB0 mode section : mode 1
BLB1 mode section : mode 1
RSTDISBL = 1
WDTON = 1
SPIEN = 0
CKOPT = 1
EESAVE = 1
BOOTSZ1 = 0
BOOTSZ0 = 0
BOOTRST = 1
BODLEVEL = 1
BODEN = 1
SUT1 = 1
SUT0 = 0
CKSEL3= 0
CKSEL2 = 1
CKSEL1 = 0
CKSEL0 = 0

Devre şeması aşağıda ki gibi:



selimkoc

PORTC ^= 0xFF; ifadesi yerine

PORTC=~PORTC; ifadesi koyarak dener misin?

Kabil ATICI

Ledlerin yönünü 5V'dan besleme alacak şekilde ayarla. Atmel işlemcilerde dışarı akım verme , yani şemanızdaki gibi bağlantıda ledleri yakma akımı sınırlıdır. Ama içeri akım akıtmaları daha yüksek olduğu için ledlerine daha verimli bir ışık vermesini sağlar. (sadece programda biraz ters olacaktır yani LED'le  çıkış lojik-0'da iken yanacaktır.

ilk etapta şeklinde bir deneyin devreniz tamamsa, diğer kodlarınızı da deneyebilirsiniz.
while(1)
    {
            PORTC = 0xFF;
            _delay_ms(500);
            PORTC = 0x00;
            _delay_ms(500);
                }
    return 0;

Leaper48 genel bir programlayıcıdır. Eğer ISP özellikle bir programlayıcı edinebilirseniz, işlemciye devreden sökmeden işlemcinize program atabilirsiniz. Özellikle program geliştirirken ISP özelliği size işlemciyi sök tak yapmadan devre üzerinde programlama olanağı tanıyacaktır.
ambar7

AsHeS

Sönük dahi yanmıyor dirençler 560 ohm fakat tek bir hareket yok. Fuse bitlerinden şüphe ediyorum. Çalıştıramadım hala.

mehmet

#4
RSTDISBL   1   (Bunu değiştirmeyin)
WDTON      1
SPIEN      0  (Bunu değiştirmeyin)
CKOPT      1
EESAVE      1
BOOTSZ1      0
BOOTSZ0      0
BOOTRST      1
BODLEVEL   1
BODEN      1
SUT1      1
SUT0      0
CKSEL3      0
CKSEL2      0
CKSEL1      0
CKSEL0      1

Bunlar default ayarlar. Int 1Mhz
http://avr8-burn-o-mat.aaabbb.de/avr8_burn_o_mat_avrdude_gui_online.html
http://www.engbedded.com/fusecalc/

Reset pinini 10K ile pull-up yaptınız mı?

Ledler için başka bir port kullanınız. C portunda reset pini var. Ya da
led sayısını azaltınız.
Reset pinini disable yaparsanız tekrar programlamak zorlaşır. Paralel
programlayıcı ile düzetilebilir. Elinizdeki programlayıcı paralel programla
yapabiliyorsa sorun yok...
Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr