Pic'in kullanmadığım portları

Portları boşta bıraktım. Yeni yaptığım baskı devrede problemsiz olarak devreyi çalıştırdım. Yazılımda ufak tefek değişiklikler yaptım. Herşey tamam.
Yaptığım iş RB4 ve RB5 girişlerine gelen sinyaller arasındaki zaman farkını bulmak ve buna göre bazı işlemler yapmak. Bunun için RB4 ve RB5 kesmelerinden faydalandım. Şimdi sizlere sormak istediğim birşey daha var. Programımda bazı işleri yaptıktan sonra microcontrolleri reset butonuna basılmış gibi resetlemek istiyorum. Bu yazılım ile mümkün müdür? Eğer mümkün ise nasıl yapabilirim? Yardımlarınız için şimdiden teşekkürler.
 
en basit olarak. picin porta.4 pini open kollektördür. bu ucu mclrye bağlayın. o pini kullanıyorsanız başka bir pnden küçük bir npn transistorle yapın. emiteri gnd ye kollektörü mclr ye. base ise dirençle io ya bağlayın
 

Güzel fikir. Bunu ben niye düşünemedim? Teşekkürler.
 
Bende merak ettim biraz baktım bu yazılımla restleme işine şu yazı hoşuma gitti The Watchdog Timer - PIC Microcontroller Tutorials - PIC Tutorial Resource - Connect to the PIC hepsini türkçe ye çevirmeye mecalim yok kısaca özetleyeyim: Programsal reset için watchdogtimer kullanılmış, öncelikle konfigurasyon ayarlarında wdt enable-aktif yapılmalı, wdt nin picin içinde kendine ait bir rc osilatörü var, bu osilatör pic çalışmaya başladığında-enerjilendiğinde wdt ın sayıcısı arttırıyor, wdt FF den 0 a geçerken pici resetliyor mantık bu. WDT nin postscalerı var yani mesela iç wdt rc osilatörü 128 sayınca wdt sayıcısını bir arttır bu postscaler değeri option register ı ile ayarlanıyor ve aynı zamanda timer1 içinde kullanılıyor (dikkat etmeli), wdt ın pic çalıştıktan sonra resetleme yapması için ayarlanabilecek en uzun bekleme süresi 2.3 saniye yani programınızın wdt tarafından resetlenmeden bundan daha uzun süre işlem yapmasını istiyorsanız wdt ı FF olmadan sıfırlamanız lazım, CLRFWDT komutu. Bu anlattıklarım 16f serisi içindi picten pice biraz farklılıklar varmış, kullanılan picin datasheetinde reset ve wdt bölümlerini incelemek lazım, 18f serisinde reset komutuda varmış.
 
evet 18 serisinde ben reset komutu kullanıyorum. ibora 16f877 kullanmış bunun için transistör yada porta.4 önerdim
 
Aslında yukarıdaki wdt yöntemi benim hiç hoşuma gitmedi, sizin yöntem eğer boşta pin varsa daha kullanışlı ve kolay, akılda soru işaretide birakmıyor, belki reset için low da tutma süresi yetmeyebilir gibi bir soru akla gelebilir ama buda eğer transistör sürerek mclr yi low a çekiyorsak kullandığımız pinin reset durumuna ve dc electrical charectristic bölümünde reset için mclr low süresine bakarak doğrulanabilir. Ben asm ile yazıyorum, yazdığım çok uzun programlarda var ve ne zaman nerede ne kadar kalacağı kullancıya bağlı bu durumda wdt yi sıfırlamak biraz daha zorlaşıyor, benim için kullanışsız yani. Aslında ( clrf PCLATH > goto 00H ) deyip program başında kullanılan tüm ram değişkenlerini sifirlamak eğer yeterli geliyorsa daha kolay bir çözüm. Şuanda bir sd kart okuyucu programı yazıyorum, program başlangıcında sorunlar var henüz net olarak problemin kaynağını bulamadım ama birkaç defa reset atınca kendine geliyor, benimde oradan ilgimi çekti reset atma, ama benim problemi resetle değil esas kaynağını bulup düzeltmekle gidermem gerekiyor.
 
Merhaba
Ben,üzerinde çalışmakta olduğum projede hem PIC'e(18F4550)reset,ayrıca da projede kullandığım CD4027 leri de reset etmem gerekiyordu.Boş pinlerden birine yazılımsal olarak çıkış verdim,transistör ile de çift kontaktörlü bir minik röle kullandım.Çalıştı,ama röle papuçlarının hareketlerini daha sağlıklı işleyebilmesi için transistör beyzini 100mf elektrolit kondansatör ile besledim.Pin çıkışı off olduğu anda röle hemen bırakmıyor birkaç saniye daha aktif oluyor(kondansatörün kapasitesi ile doğru orantılıdır).Şimdilik sorun yok projenin diğer etaplarına devam ediyorum.
 
Sanırım ben de benzer şekilde yapacağım. Bir porttan çıkış verip 4N25 opto yu besleyeceğim ve opto çıkışı ile de reset işlemini gerçekleştireceğim.
 
opto ile oluyor fakat sadece transistor kullanacaksanız tr nin base ucunada mutlaka pull down direnci gerekiyor. aksi halde reset işleminden sonra bütün io lar tris yazmacı init olana kadar hepsi input ve high impedance oacağından reset transistörü hep iletimde ve sistem hep resette kalır. (denemedim ama galiba böyle olur )
 
Bir arkadaşım 4N25'in çok gürültü kaptığını, bu konuda kötü bir tecrübe yaşadığını ve yerine 6N136 kullanarak sorunu giderdiğini söyledi. Bu konuda benzer problemler yaşayan var mı? Zira ben de 4N25 kullanmayı planlıyorum. Ama biraz ürktüm.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için onları kabul etmelisiniz. Daha fazla bilgi edin…