7805 in girişi ile gnd arasına 0.33 microfarad, çıkışı ile gnd arasına 0.1 microfrad kondansatörle parazitlere karşı önlem almayı da deneyebilirsinizEkli dosyayı görüntüle 31688 . (fotodaki gibi ) Ekli dosyayı görüntüle 31689
mclr ucunun bağlı olduğu uç 10k üzerinden gnd ye bağlı bu resette tutar sadece moda basılı olunca çalışır.
(programdan mclr IO olarak kullanıldıysa bu farklı)
c2 ve c3 yanlış bağlı.
c2 ve c3 bir ucları vcc de iken diğer uçları gnd de olmalı. c3 kutuplu bunada dikkat edin
buton uçları +12 ye bağlı fakat gerilim bölücü yapılmaya çalışılmış 2 adet 10k ile gerilimi bölerseniz 6v yapar. 7805 in kullanıldığı bir devrede buton için 12v dan gerilim bölmek neyin kafası anlamış değilim. programıda görmek isteriz.
siz ne amaçladığınızı söyleyin yeni bir şema ve program yazalım. pic12f675 olduğundan bir kaç satırlık bir programdır.
'****************************************************************
'* Name : UNTITLED.BAS *
'* Author : [select VIEW...EDITOR OPTIONS] *
'* Notice : Copyright (c) 2016 [select VIEW...EDITOR OPTIONS] *
'* : All Rights Reserved *
'* Date : 18.3.2016 *
'* Version : 1.0 *
'* Notes : *
'* : *
'****************************************************************
@ __config _INTRC_OSC_NOCLKOUT &_WDT_ON &_PWRTE_ON &_MCLRE_OFF
DEFINE OSC 4
DEFINE OSCCAL_1K 1
CMCON=%111
VRCON=0
CMCON=7
ANSEL=0
TRISIO = %011000
GPIO=0
SIRA VAR BYTE
MAXMOD VAR BYTE
symbol LED = GPIO.0 'Led 1
SYMBOL LED2 = GPIO.1 'Led 2
SYMBOL BUTONA=GPIO.3 'Mod butonu
SYMBOL BUTONB=GPIO.4 'Start Butonu
pause 300
MAXMOD=3
SIRA=1
BASLA:
while BUTONB=0 'BUTONB HIGH OLDUĞU MÜDDETÇE AŞAĞIDAKİLER YAP
IF BUTONA=1 THEN
SIRA=SIRA+1
IF SIRA>MAXMOD THEN SIRA=1
WHILE BUTONA=1:wend
PAUSE 80
ENDIF
wend
SELECT CASE SIRA
CASE 1 'İLK MODE
GOTO ANIMAS_1
CASE 2 'İKİNCİ MODE
GOTO ANIMAS_2
CASE 3 'İKİNCİ MODE
GOTO ANIMAS_3
END SELECT
GOTO BASLA
ANIMAS_1:
while ile wend arasında hiç gecikme yok. sorun burdan kaynaklı oluyor.
wend satırından bir önceye pause 10 yazarmısın.
if endif arasında var fakat oraya girmediği zaman için pause yok.
while BUTONB=0 'BUTONB HIGH OLDUĞU MÜDDETÇE AŞAĞIDAKİLER YAP
IF BUTONA=1 THEN
SIRA=SIRA+1
IF SIRA>MAXMOD THEN SIRA=1
'BURAYA MI KOYMAM GEREKİYOR ???
WHILE BUTONA=1:wend
PAUSE 80
ENDIF
wend
Yeni sema yine hatali.
Mclr ucuna seri kondansator var. Diger butonlu pinlerdeki direncler ne pull up nede pull dovn seklinde baglanmis.
Yazilima yorum yapamuyorum.
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?