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...