16f877A Basit Projesi lütfen yardım !

Başlatan sinancnc, 29 Haziran 2012, 11:59:26

sinancnc

4mhz kristalle 22 pf kon. çalışacak herhangibir devre proğramı elinde olan varmı basit bir led yakıp söndürme bile olsa çok yardımcı olacak.

Ben c dilinde bunu yapabiliyorum ama basicde ya osilatör ayarlarımda bir sıkıntı var bir türlü 2 sn aralıklarla gerçek devrede çalışacak bir şey yapamadım.

yardım edenlere şimdiden teşekkür ederim...
http://www.probotsan.com.tr Masaüstü Mini Cnc

vitruvius

Basic'te simulasyonda çalıştırabiliyor musunuz? Ete hocanın dersleri var, onlara bakarsanız çok faydasını görürsünüz. http://www.etepic.com/

sinancnc

evet isis te süper çalışıyor hiç bir sorun yok uygulamada çalışmıyor. yada çok saçma şekilde çalışıyor. Aynı uygulamayı CCS C ile yazıp atıyorum sorunsuz....
saygılar...
http://www.probotsan.com.tr Masaüstü Mini Cnc

picpicpic


sinancnc

#4
sorumu daha özet sorayım ozaman basic ile yazılmış led yakıp söndürme uygulaması gerekli.. 22 pf +4 MHZ KRİSTAL osilatör kullanarak 16f877a ile

saygılar

Alıntı yapılan: sinancnc - 29 Haziran 2012, 16:14:59
evet isis te süper çalışıyor hiç bir sorun yok uygulamada çalışmıyor. yada çok saçma şekilde çalışıyor. Aynı uygulamayı CCS C ile yazıp atıyorum sorunsuz....
saygılar...

inceleyeyim teşekkür ederim
http://www.probotsan.com.tr Masaüstü Mini Cnc

picpicpic

#5
programlayıcından XT osilatör seçeceksin, yada istersen basic'te @DEVICE XT_OSC satırı ekle en başa, osilatör hızını belirtmene gerek yok standat 4 mhz, mesela portd.2'ye led'in + bacağını bağla diğer bacağıda şaseye bağla,

Trisd=0
portd=0

dongu:
toggle portd.2
pause 100
goto dongu


100 süresini değiştirebilirsin, bunun çalışmamasına imkan yok

mesaj birleştirme:: 29 Haziran 2012, 21:01:22

araya 330luk direnci unutmadan tabiki..

Veli B.

#6
Bu tip yazılım hataları ile ilgili yardım istediğiniz de kodları da verseniz ne olur.
/*****************************************************************/
Alıntı yapılan: picpicpic - 29 Haziran 2012, 18:58:33
programlayıcından XT osilatör seçeceksin, yada istersen basic'te @DEVICE XT_OSC satırı ekle en başa, osilatör hızını belirtmene gerek yok standat 4 mhz, mesela portd.2'ye led'in + bacağını bağla diğer bacağıda şaseye bağla,

Trisd=0
portd=0

dongu:
toggle portd.2
pause 100
goto dongu


100 süresini değiştirebilirsin, bunun çalışmamasına imkan yok

mesaj birleştirme:: 29 Haziran 2012, 21:01:22

araya 330luk direnci unutmadan tabiki..

MCLR bacağını Pull-Up yapmazsanız, bunun çalışmasına imkan yok...

picpicpic

söyleme gereği duymadım, arkadaş c ile çalıştırmış zaten yapmıştır heralde o kadarını..

sinancnc

#8
Alıntı yapılan: picpicpic - 29 Haziran 2012, 23:12:20
söyleme gereği duymadım, arkadaş c ile çalıştırmış zaten yapmıştır heralde o kadarını..

O Bacağa elektirik vermekse evet 1 nolu bacaga 5 volt verdim ama proğramda 1 noya bir şey yapmadım..

mesaj birleştirme:: 30 Haziran 2012, 09:05:42



mesaj birleştirme:: 30 Haziran 2012, 09:06:48



mesaj birleştirme:: 30 Haziran 2012, 09:47:37

'****************************************************************
'*  Name    : UNTITLED.BAS                                      *
'*  Author  : [select VIEW...EDITOR OPTIONS]                    *
'*  Notice  : Copyright (c) 2012 [select VIEW...EDITOR OPTIONS] *
'*          : All Rights Reserved                               *
'*  Date    : 27.06.2012                                        *
'*  Version : 1.0                                               *
'*  Notes   :                                                   *
'*          :                                                   *
'***********   
@DEVICE XT_OSC
TRISA=%11101         'A portu çıkış yapıldI
Symbol TUS=PORTA.1
           


ROLEAC:
IF PORTA=1 THEN
PAUSE 100
       HIGH PORTD.0
HIGH PORTD.1
HIGH PORTD.2
ELSE
       LOW PORTD.0
       LOW PORTD.1
       LOW PORTD.2

        ENDIF
GOTO ROLEAC


Kodları bu şekilde yazdım ledler tuşa basmadığım halde saniyede bir çok kez yanıp yanıp sönüyor pırıltı şeklinde...
kullandığım derleyici CodeStudioPlus
http://www.probotsan.com.tr Masaüstü Mini Cnc

picpicpic

#9


Öyle yapabilir, tuşlarını her zaman pull-up dirençle kullan, yani true olma durumu 1 olmasın 0 olsun,


Tuşlar bu şekilde bağlanacak, buarada orda o porta bağlamış olduğuna bakma, dilediğin porta bu şekilde bağla

-------------------------------------------
@DEVICE XT_OSC
TRISA=$11111         'A portu GİRİŞ yapıldı
TRISD=0      'D portu ÇIKIŞ yapıldı
PORTD=0   'D portu sıfırlandı başlangıçta
Symbol TUS=PORTA.1  'PORTA.1'E TUS SEMBOLUNU VERDİN YANİ PORTA.1 YERİNE TUS YAZACAKSIN
           


ROLEAC:
IF TUS=0 THEN  ''''''PORTA=1 DEMİŞSİN, BU PORTA REGISTERININ %00000001 OLMASI ANLAMINA GELİYOR, DÜZELTTİM, 0 OLMASININ NEDENİ İSE PULLUP DİRENÇ KULLANMIŞ OLMAN, PORTA.1 YERİNE DE TUS SEMBOLUNU KULLANDIM, KENDİN TANIMLAMIŞSIN''''
---
PAUSE 100   ' PAUSE KOMUTUNUN GEREKLİ OLDUĞUNU DÜŞÜNMÜYORUM AMA ZARARI YOK, KALSIN
       HIGH PORTD.0
       HIGH PORTD.1
       HIGH PORTD.2
ELSE
       LOW PORTD.0
       LOW PORTD.1
       LOW PORTD.2

        ENDIF
GOTO ROLEAC
-----------

BU KODLAR RÖLENİ AÇIP KAPATMAYACAKTIR, BASTIĞIN ANDA RÖLELERİNİ AKTİF EDECEK, ELİNİ TUŞTAN ÇEKTİĞİN ANDA PASİFLEŞTİRECEKTİR, UMARIM YARDIMCI OLABİLMİŞİMDİR, TAKILDIĞIN YERDE SORABİLİRSİN, KOLAY GELSİN

sinancnc

#10
Çok teşekkür ederim
   
Sorun pull+up yapmakta imiş teşekkür ederim. Yardımlar için.reset atmadığı için pic çalışmıyormuş.
http://www.probotsan.com.tr Masaüstü Mini Cnc