16F1827 PORTB.1 PULL UP BOZULMASI ???

Başlatan F®T, 22 Mayıs 2016, 22:55:21

F®T

Arkadaşlar 16f1827 entegresi portb.1 de bağlı bir adet butonum var.Butonun bağlı olduğu port  wpu.1=1 dahili pullup direnci ile artıya bağlı.Butona basınca port şaseyi portb.1 girişine uyguluyor ve butona basıldığını anlıyoruz.Butona basılmadan önce portb.1 uçlarında şaseye göre besleme voltu pull up direncinden dolayı görülebiliyor.Pic programını yüklüyorum herşey çok normal fakat bir kaç program yüklemesinden sonra buton pull up özelliği kaybolıyor.Ölçümlerimde gerçektende programda pull up açık olmasına rağmen port pull up değil.Burda herşey normal iken ne oluyorsa dahili wpub.1=1  pull up direnci bozuluyor.

2 adet işlemci aldım ikiside bozuk.Bir tanesi bu dediğim sebeple alakalı diğerindede farklı bir durum bulunuyor.Bu işlemcileri İstanbuldan aldırdım.İşlemcilerin yazıları kazılı tip değil normal baskı yapılmış bir tipte.Gözüm pek tutmamıştı bunları ve korktuğumda oldu.Normal baskı yazılı olanlar genelde sıkıntı oluşturabiliyor.

Siz bu konuda ne düşünüyorsunuz?Resimler aşağıda hangisi gerçek hangileri çakma sizce.






"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

Hattuşa

en alttaki gerçek diğerleri patates gibi geliyor bana ama yanılıyorda olabilirim

est32

derleyiciler de bazen sapıtabiliyor(bug olabilir) veya daha güçlü ihtimal; program karmaşıklaştıkça başka bir yerde o komut yanlışlıkla etkisiz hale getirilebiliyor. program akışını da çok iyi kontrol etmek lazım.

F®T

#3
En altttaki hiç bir şekilde sorun çıkarmadan çalışıyor.Diğerleri portb kısmında farklı farklı sorunlar oluşturuyor.Programdan olsa tümünde aynı durumlar oluşurdu.
"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

fatihbaysu

Bende ETE hocayla paylaşmıştım 16F1826 üstelik orjinal smd ile PORTB.0 ı pullup yapıp şase ye çekerek anahtarlama sorunu yaşadım, bir önerisi oldu ama henüz denemedim, aslında eski yaptıklarımda bazı pic düzgün çoğuda hata vermişti. Bu 16F1826,1827,1829 yeni seri

ete

PORTB.1 pininde bir sorun olsa gerek. Şayet bir tane farklı bir pini analog kullanıyorsanız bu PORTB.1 pini kesinlikle Pullup lı gözükmüyor Isisde. Her şeyi normal uygulasanız bile. Bu ama bakıyorum o pine yada pin özelliklerine AN11 - RX -DT-SDA gibiözellikler yüklenmiş. Bunlardan en önemlisi RX özelliği ki programda şayet şu iki komuttan birisi var ise ;
'  RCSTA=0
'  TXSTA=0
PORTB.1 pini kesnlikle Pulluplı gözükmüyor. Bunları kapatırsam her şey normale dönüyor. USART'ı aktive etmemişim ama derleyici bu komutları görünce geriden aktive ediyor gibi bir durum sözkonusu.
Bir şey daha dikkatimi çekti. Şayet programa CLEAR komutunu eklersem o zaman İsis de bilmem ne memory adresine (unimlemented memory adress) yazmaya çalışıldı gibi bir hata veriyor. Anlaşılan bu pice ait dosyalarda (muhtemelen simulasyon) sorun var . Mesela 12F1822 de pek Clear komutunu sevmiyor. Orda da kullanırsam bazı şeyleri eksik yapıyor şimdi hatırlamıyorum ama header dosyasına Clear kullanma demişim. Bu yeni nesillerde var bir şey.
Senin sorunun elbette patetes baskı sorunu gibi gözüküyor. Çinliler bu işlemciler bir şekilde kopylalamışlar diye duymuştum. Basıp basıp satıyorlar. Ancak firmanın ufak sorunlu diye sattığı işlemcilerde mevcut bunlar surplus adı altında satılıyor ve bizim malzemeciler ucuz diye balıklama atlıyorlar maalesef.

Ete

F®T

#6
Ete hocam peki bir entegrede çalışan program diğer entegrede sorun çıkartırmı?Bu tip bir sorun var.Yeni aldığın bir entegrede pull up aktif olmadı.diğerinde oldu.Aynı program.Kafam karıştı patatesemi den geldik. ???
Hocam ayrıca gerçek kartta deniyorum.

config ayarlarımda bu şekilde..

Device = 16F1827    
Config1 FOSC_INTOSC, WDTE_OFF, PWRTE_ON, MCLRE_OFF, CP_ON, CPD_ON, BOREN_OFF, CLKOUTEN_OFF, IESO_ON, FCMEN_ON
Config2 WRT_OFF, PLLEN_ON, STVREN_ON, LVP_OFF 
'Declare Xtal=8
'Declare PLL_Req = True
OSCCON = %01100000 'Internal 8 MHz clock select
OSCTUNE.6 = 1 ' Frequency Multiplier PLL for INTOSC Enable bit
'All_Digital = True     
;**** End of Fuse Configurator Settings ****
;-------------------------------------------------------------------------------

TRISA=%00100000
PORTA=0
TRISB=%00111010
PORTB=0
WPUB.1=1

ANSELA=%00000000     
ANSELB=%00111000 
                           
APFCON0.0=1           
APFCON0.3=1 
         
FVRCON =%11000010
                       
ADCON0 =%01111101     
ADCON1 =%10100011
     
DACCON0=%00000000         
DACCON1=0 
           
SRCON0=0                     
SRCON1=0               
CM1CON0=0             
CM2CON0=0               
MDCON=0                 
MDSRC=0               
MDCARH=0               
MDCARL=0 



Yeni 4 adet işlemci aldım prog yükledim şu an normal bakalım ne zaman bozulacaklar.Ama bu işlemcilere güvenip makina kontrol edilmez. :o
"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

ete

Senin sorun kesin patates baskı gibi görünüyor. Uzun süre test etmen gerek.

Ete

mehmetOzdemir

OPTION_REG.7 = 0


Ben de 16F1824 kullanıyorum, option_reg'ten aktif etmemişsiniz kodunuzda.

F®T

Mehmet hocam kusura bakma geç oldu.Dediğin gibi option registeri kullanılmalı.Ben aslında kullandım ama baya aşağıdaydı ondan onu kod olarak koymamışım.

OPTION_REG=%00000100
"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

Hattuşa

slm arkadaşlar bir projem için birkaç 18F serisi işlemci almştım, buton uygulamalarım için portb deki pullupları aktif ediyorum. aldığım bu işlemciler birkaç programlama sonunda pulluplar işlev görmüyor, bunun nedeni patatesmidir? patates mevsimine henüz var diye biliyorum. ;D ;D ;D

bu tip sorunları aşmanın bir yolu yokmudur, zira yüklü miktarda işlemci almıştım

F®T

Bence patates olma ihtimali yüksek.bende bu sorunu yaşadım.sen en iyisi pullup kullanma harici kullan. ;D
"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

mehmet

ANSELx komutunu TRISx den önce kullanmak
gerekiyor...
Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
http://www.mehmetbilgi.net.tr
CC BY

F®T

Mehmet hocam ne gibi bir mantığı var o kullanımın anlayamadım?
"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

mehmet

#14
keşif doğru olabilir bugün test edeceğim. Benzer bir şeyide ben keşfetmiştim. Onun bir keşif olduğunu Şimi Mehmet söyleyince anladım. İsisde bir işlemci ile çalışırken Adc okumada sürekli hata mesajı veriyor idi. Aradan zaman geçti tam hatırlamıyorum ama sanırım ya adc şarj süresi yeterli değil yada daha şarj olmadan yaniden okuma emri veriyorsun gibi bir şey idi.
Saatlerce uğraştım ne yaptım ise düzelmedi sonra adcon1 komutunun yerini tesadüfen değiştirdim. Her şey düzeldi. Galiba hem adcon0 hem adcon1 komutları var idi birini diğerinden önceye yazdım düzelmiş idi. Hadi canım demiştim tesadüfen kendi kendine düzeldi demiştim ama şimdi anladım.
Böyle garip işler zaman zaman oluyor. Mesela 12F1822 de açılışta Clear komutu kullanırsam sonradan gelen kodların düzgün çalışmadığını görmüştüm. Bu işlemcinin header dosyasına bunu not olarak yazmıştım. Var bir kaç tane daha böyle garip işler hatırladıkça yazarım.
Ete
Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
http://www.mehmetbilgi.net.tr
CC BY

Powered by EzPortal