PIC16F84'de RA4 bacagini calistiramadim bir türlü

Başlatan Digimensch, 22 Ocak 2006, 00:28:32

Digimensch

Arkadaslar ben PIC16F84A'nin PortA'ya RA4 bacagina bir led taktim ve bu lede sinyal verdirmek icin su kodu yazdim.
#if defined(__PCM__)
#include <16F84.h>
#fuses XT,NOWDT,NOPROTECT
#use delay(clock=4000000)

#define LED_ON output_low(PIN_A4);
#define LED_OFF output_high(PIN_A4);
#define SURE delay_ms(150);

void main()
	{
	while(1)
		{
	  LED_ON;
	   SURE
	  LED_OFF;
      SURE
		}
	}


Ama ne yaptimsa Led yanip sönmüyor.ayni kodu baska bacaklar icin denedigimde calisiyor.
Acaba RA4 bacagini giris cikis olarak kullanamiyormuyuz?

alikorkmaz_88

#if defined(__PCM__) 
#include <16F84.h> 
#fuses XT,NOWDT,NOPROTECT 
#use delay(clock=4000000) 

#define LED_ON output_low(PIN_A4); 
#define LED_OFF output_high(PIN_A4); 
#define SURE delay_ms(150); 

void main() 
   { 
    SET_TRIS_A(0);
    porta=0;
   while(1) 
      { 
     LED_ON; 
      SURE 
     LED_OFF; 
      SURE 
      } 
   }


bir de böyle dene istersen  ?

OG

RA4/T0CKI= Can also be selected to be the clock input to the TMR0 timer/counter. Output is open drain type. Pullup direnç gerekir veya Aktif Low olarak kullanacaksınız. Ledi + ile RA4 arasına bir dirençle bağlayacaksınız.
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

Erol YILMAZ

@Digimensch,

A portunun 4. biti OPEN DRAIN dir yani sadece 0 cikisi verebilir yada bosta birakir.
Bunu hesaba katarak devren de duzenleme yapman gerekiyor.

Bir de CCS de h.h.bir TRIS ayari yapmadan cikis veya giris yapabilrsiniz.
Her defasinda otomatik olarak TRIS reg.lerine bilgi yaziliyor.

tnen

Erol unda dediği gibi open draindir. Bunu kullanacaksan bir pull up direnci ile beslemeye çekmelisin. Bu durumda sen pine sıfır gonderdiginde '0' bir gönderdiğinde '5' v görürsün. Yani yazılımsal değil donanımsal yapman gerekiyor değişikliği.

Petek

Alıntı yapılan: tnenErol unda dediği gibi open draindir. Bunu kullanacaksan bir pull up direnci ile beslemeye çekmelisin. Bu durumda sen pine sıfır gonderdiginde '0' bir gönderdiğinde '5' v görürsün. Yani yazılımsal değil donanımsal yapman gerekiyor değişikliği.
O çıkışı pullup direncle Vcc ye çekersen her durumda akım çeken bir şey ortaya çıkarmış olursun.  

Ledin toprağa bağlanan ucunu pina4 e, diğer ucunu bir direnç vasıtasıyla Vcc ye bağlayın. Ledi yakmak istediğinizde pin_a4 ü sıfır yapın. Söndürmek istediğinizde 1 yapın. Bu durumda sadece çıkış 0 iken akım çeker.
“Önyargıları yıkmak atomu parçalamaktan zordur” A.Einstein

Digimensch

RA4 ile led arasinda 330 ohm'luk ditenc var.
330 Ohmuk direncin bir ucu RA4'e bagli digre ucu Ledin  (+) bacagina bagli.Ledin - bacagida (-) beslemeye bagli.
Yani Led'i direncle PIC'in RA4 bacagina sürdüm.

tnen

Digimensch hocam sıra şu şekilde olmalı direncin bir ucu +5V ta diğer uç ledin anadunda ledin katodo porta.4 e bağlanmalıdır. Petek hocamında dediği gibi porta.4 e 1 gonderdiğinde led soner,0 gonderdiğinde yed yanar. Bundan onceki cevapta yanlış bir ifade kullandığım için özür dilerim Petek hocamdan ve board daki diger arkadaşlardan:(

Benzer Konular (5)