16F887 İlk Enerjilendiğinde Ledlerin Göz Kırpması

Başlatan ahmet5454, 25 Ocak 2023, 22:35:49

ahmet5454

Selamlar ustadlarım pic16f887 ilk enerjilendiğinde ledler göz kırpıyor çok uğraştım bütün config ayarlarını aç kapat yaptım ilgili komutların yerlerini değiştirdim ne yaptıysam olmuyor
acaba sebebi ne olabilir?
@ __CONFIG _CONFIG1, _INTRC_OSC_NOCLKOUT & _WDT_OFF & _LVP_OFF & _CP_OFF &_CPD_OFF & _BOR_OFF & _IESO_OFF & _FCMEN_OFF & _PWRTE_OFF & _MCLRE_OFF
@ __CONFIG _CONFIG2, _BOR40V & _WRT_OFF   
    
    
    TRISA = %00000000
    TRISB = %00000000 
    TRISC = %00000000 
    TRISD = %00000000
    TRISE = %00000100   'RE2/AN7 ANALOG GİRİŞ OLMASI İÇİN GİRİŞ OLARAK AYARLANDI	
   
    OSCCON = %01110001
    DEFINE OSC 8
   
    Define  ADC_BITS        10    	
    Define  ADC_CLOCK       3     
    Define  ADC_SAMPLEUS    100  
    
    ADCON0 = %11000000    
    ADCON1 = %10000000 	  'SAĞA YASLI
    ANSEL =  %1000000     'AN7 (RE2) VE AN6(RE1) analog giriş olarak ayarlandı
    ANSELH = 0
     
    HAM VAR WORD  
    HAM1 VAR WORD  
    
    CM1CON0=%00000000
    CM2CON0=%00000000
   
    CM2CON1=%00000000 
    VRCON =%00000000 
   
    PORTA=0
    PORTB=0
    PORTC=0
    PORTD=0
    PORTE=0 
    HAM=0
    HAM1=0
    
   
    
    Pause 1000      	
    
			                

   TEKRAR: 
   
   ADCIN 7,HAM
   'ADCIN 6,HAM1

   IF HAM => 500 AND HAM =< 700 THEN 
   PORTB.0=1 
   ELSE
   PORTB=0
   ENDIF              

   Goto TEKRAR       				
   End

mehmet

Tris 'den önce portları sıfırlamayı deneyin.
Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
http://www.mehmetbilgi.net.tr
CC BY

ahmet5454

Hocam sorun çözüldü çok çok teşekkürler çok sağolun 🖐

ete

Olayın sebebini açıklayayım. Port pinleri devreye voltaj verildiği anda rastgele değer alarak açılırlar. Daha sonra program devreye girer ve verilen komutlara göre işlem yapar.
İlk açılışta ledlerin bağlı olduğu pinler HIGH konumunda açılırsa ledler elbette kısa bir an da olsa yanacaktır. Daha sonra programa uyup söneceklerdir.
Bu durumda Tris komutunu vermeden önce en başlara portları sıfırlayan komut eklenirse ledler daha yanmadan söneceklerdir. Burada ledler anlık yanacak gibi olsada gözler bunu farketmeyecektir.
Buradan da şu dersi çıkartıyoruz. POrt komutlarının yeri önemlidir.
Ayrıca sigorta ayarlarında POWER ON time reset (PWRT_ON) sigortası devreye verilen güç belirli noktaya gelinceye kadar işlemciyi reset konumunda tutar böylece açılış uygun voltaja gelince yapılır ve direk komutlar devreye girer. Bu sigortayı daima ON konumunda tutun.

Ete

ahmet5454

Çok çok teşekkürler ete hocam çok sagolun🖐

Powered by EzPortal