16F877A ve WinPic Programı Sorun

Arkdaşlar Konu dağıldı galiba.yani benim bilgim yetmiyor anlamaya.
butona basılınca ledi 5 sn arayla yakan programın proteusu ve picbasic ile yazılmış halini yapipi buraya koyabilecek bir arkadaş varmı?
 
arkadaşlar bana 1 sn aralıkla ledi yakıp söndürecek devreyi proteus ve picbasic ile yapıp buraya koyabilecek arkadaş varmı?

Elektronik bilgim olmadığınıda varsayarsak proteus devresinide biraz açıklamalı olarak gerçeğe nasıl çevireceğimide anlatırsa süper olur.
çok şeymi istedim ?
 
Arkadaş programı proton ile yaptım 1sn on 1 sn off zamanı isteğine göre değiştir. Kolay gelsin.
 

Ekli dosyalar

  • Yeni Klasör (2).rar
    67.8 KB · Görüntüleme: 14
Arkadaşım ben de programlarımı genelde Proton basic ile yazıyorum o yüzden affınıza sığınarak biraz konuya karışma ihtiyacı duydum

şimdi programında şöyle bişey yapmışsın...

Dim BUTON As PORTA.0
Dim LEDLER As PORTB

Bu Dim komutu aslında değişken falan oluşturmada kullanılır yani atama yapmada değil.Bu iş için şu şekilde yazarsan daha mantıklı olacaktır hem program hemde çalışma açısından

SYMBOL BUTON=PORTA.0 'SYMBOL İLE RA.0A BUTON İSMİNİ VERİYORUZ
SYMBOL LEDLER=PORTB 'SYMBOL İLE LEDLER ADINDA BİR DEĞİŞKENE PORTBYİ EŞİTLİYORUZ

Ayrıca arkadaşım kurmuş olduğun döngüde if komutu yerine while komutu kullanman daha mantıklı olurdu gibime geliyor
basla:
while buton=1
ledler=255 'ledler=%11111111 ile aynıdır yani sen binary olarak gösterdin ben desimal
delayms 1000
ledler=0 'ledler=%00000000 ile aynıdır binary desimal meselesi
delay_ms 1000
wend

while buton=0
ledler=0
wend
goto basla
şeklinde bir döngüye sokarsan bence daha mantıklı çalışacaktır ayrıca bu cevabı yazarkende picin bağlantılarını ( osilatör reset vs ) bildiğini var sayıyorum

Ayrıca protonda osc define ile tanımlanmaz XTAL=4 yazmanız yeter

Son olarakta pice hangi konfigürasyonda çalışacağını belitmemişssin bunun içinde proton için config olaylarını anlattığım bir sayfa var buraya linkini koyuyorum biraz uzun bir yazı ama onu da okursan mantık yerine oturacağı kanısındayım Fakat bu yazıdaki config tanımlamaları 18F serisi picler için olsa da bütün detayları ile yazım şeklini bulmak yazıdaki ile aynıdır.

https://www.kontrolkalemi.com/forum...roton-basic-icin-fuse-generator-programi.html

Proton da 16F877A daki config yazım şeklini ben buraya yazayım diğerlerinde mantığı kullanarak bulursun ve bunda da gereken değişikliği yaparsın artık

Device 16F877A
Config CP_OFF,DEBUG_OFF,WRT_OFF,CPD_OFF,LVP_OFF,BODEN_OFF,PWRTE_OFF,WDT_OFF,XT_OSC
XTAL=4
Symbol ledler=PORTB
Symbol BUTON=PORTA.0
ADCON1=7
TRISB=0
PORTB=0
ledler.0=1
basla:
While BUTON=1
ledler=255
DelayMS 1000
ledler=0
DelayMS 1000
Wend

While BUTON=0
ledler=0
Wend

GoTo basla

Ekte yapılmış halinide koydum...
 

Ekli dosyalar

  • deneme.rar
    39.2 KB · Görüntüleme: 8
Arkadaşlar ilginiz için çok teşekkürler.işime çok yaradı.sağolun.
 
arkadaşlar devreyi aldım lehimledim kendimce yaptım programladım.programı pice attım.taktım led aralıklarla yanıp sönüyor.ancak yine bir sorun var galiba.
basla:

GoTo basla

aradaki bütün komutları silip tekrar programladığım halde hala aralıklarla yanıp sönüyor.

basla:
ledler=0
GoTo basla

yapsamda yanıp sönüyor sürekli.sorun ne olabilir?
 
birde ledin önündeki direnci 100 lük butona bağlı olanı ise 330 luk kullandım.
birde mclr yede 1 k lık direncle akım verdim.çıldıracam programlarken mi sorun oluyor yoksa.pic uçmuş olabilir mi?
 
picin programlandığından eminsen şayet, pic bozulmuş olabilir.. benim de başıma gelmişti bir kere.. programlayıcıda pici sil desem bile yine ilk yazdıgım program içinde kalıyordu...
bir fikir..

ama çıldırmamak lazım tabi..Elektronik sabır işi biraz
 
çıldırdım bilene ya.10 ytl verdim F877a ya.gelde çıldırma bu ekonomik krizde.
tam olarak nasıl anlarızki sorunu.kesin bozulmuşmudur.
 
içindeki programı silmeyi dene bi..bakalım silebilecek misin?

ya da sorun pinlerden herhangi birinde olabilir..basit bir kodla bütün portları 1 yap ve bu programı pice yükle..
sonra elinde bir direnç ve ledle çıkışların gerçekten 1 olup olmadığını kontrol et..

belki de picte sorun yoktur,programlayıcı düzgün çalışmıyordur..bunu da hesaba katmak lazım...
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için onları kabul etmelisiniz. Daha fazla bilgi edin…