zaman sayıcı

Başlatan kado17, 21 Mart 2017, 04:31:49

kado17

merhabalar yazılım ve devre şemeası ektedir isis çizimindeki start butonuna 1 kez basıp bırakılınca 12 adet butondan birisine basılıyor led yanıyor ve ayarlanan süresini saymaya başlıyor sonra start butonuna bir kez daha basılıp bırakılıyor 12 butondan birisi daha basılıp led yanıyor aktif olup kendi süresini sayıyor suan benim sormak istediğim ise tüm 12 led similasyonu baslatında enerji verilince yanık kalacak satart butonuna basıp bırakılıp 12 butondan birisine basılınca led sönecek yani suanki sistemin tam tersi sekilde calısacak nasıl yapmam lazım donanımlamı alakalı yoksa yazılım ile cözülebilirmi yardımlarınızı bekliyorum tesekkurler

ete

Bu işi donanımla çözmen çok zor. Tasarım şu anda çalıştığı şekle göre yapılmış.
Ne yazıkki yazılımla da çözülmesi mevcut program üzerinden zor gözüküyor. Basit bir tadilat değil bu tamamen yeni bir algoritma gerektiriyor. Programı kim yazmış ise ondan yardım iste bence.

Yada üşenmeden oturup ledlerin yandığı yerde söndürme söndürüldüğü yerde yakma işlemi yaptırman lazım. Yinede sıhhatli çalışıp çalışmayacağına emin olamıyorum. Ufak tefek farklı komutlarda gerekebilir. Mesela start tuşuna basınca bütün ledler yanmalı bana kalırsa. Sonra basılan tuşa ait led zaman saydıktan sonra sönmeli.

Ete

kado17

#2
sistem çalışması gereği her start tuşu basıldığında 12 çıkıştan birini aktif edebilirsiniz benim istediğim ise 12 çıkış hepsi aktif olacak start tuşuna her basmada kanalların tuşuna basdıkca sönecek süresini söndüğünde saymaya baslıcak suresi doluncada tekrar led yanacak şu anki calısmanın tam tersi olacak tek kanal icin yazılımsal yardım edermisiniz donanımda degismesi gereken varsa oda degisebilir daha pcb olarak cizilmedi.


DEFINE OSC 4
ADCON1 = 7
TRISA=%00000
TRISB=%11011111
TRISC=%11111111
TRISD= %00000000
TRISE=%11111

PORTA=0
PORTB=0
PORTC=0
PORTD=0
PORTE=0

SURE VAR WORD
I VAR WORD

TRANSISTOR var  PORTB.5
SURE=0


'KANALLAR VE DEĞİŞKENLERİ
'DEĞİŞKENLER

KANAL1 VAR BYTE



A VAR WORD

 
KANAL1SURE VAR BYTE

   

'SAYAC DEĞİŞKENLERİ


SAYAC1 VAR WORD


ANASAYAC1 VAR WORD


 



'DEĞİŞKENLERİN İLK HALLERİ
'KANALLAR
KANAL1=0


'****SAYACLAR******
SAYAC1=0



ANASAYAC1=0


'KANALSURE DEĞİŞKENLERİ
KANAL1SURE=0


PAUSE 500


LABEL:
GOSUB SUREAYAR

for A=0 TO 1000
GOSUB KONTROL
GOSUB SUREAYAR

IF PORTB.2=1 AND KANAL1=0 THEN '1İNCİ KANAL
PORTB.5=0
HIGH PORTB.2
KANAL1=1
KANAL1SURE=1
ENDIF

ANASAYAC1=ANASAYAC1+KANAL1SURE
ANASAYAC1=ANASAYAC1//1001

IF  ANASAYAC1=1000 THEN
ANASAYAC1=0
SAYAC1=SAYAC1+1
   
ENDIF

IF SAYAC1=SURE THEN
LOW PORTB.2
INPUT PORTB.2
SAYAC1=0
SURE=0
KANAL1SURE=0
KANAL1=0

ENDIF


   
PAUSE 1'DÖNGÜ BİRİM SÜRESİ
   
NEXT
   
GOTO LABEL
KONTROL:
IF PORTB.4=1  THEN
HIGH  PORTB.5 'TRANSİSTÖR İLETİMDE

ENDIF

RETURN
SUREAYAR:
'SÜRE AYARLAMALARI YAPILIYOR
IF PORTE.1=0 AND PORTE.2=0 THEN
'SURE=1500  '45 DAKİKA
SURE=320

ENDIF
IF PORTE.1=1 AND PORTE.2=0 THEN
'SURE=2100 '35 DAKİKA
SURE=240

ENDIF                   
IF PORTE.1=0 AND PORTE.2=1 THEN
'SURE=2400 '30 DAKİKA
SURE=210

ENDIF
IF PORTE.1=1 AND PORTE.2=1 THEN
'SURE=2700  '25 DAKİKA
SURE=175

ENDIF
RETURN

END




kado17

yada bana bir malzeme lazım transistör gibi birşey olabilir 16f877 çıkış vermediğinde parçadan + 5 volt çıkacak entegre çıkış verdiğinde tam tersi parçadan +5 volt çıkmayacak 

ete

Sana Hex inverter gerekiyor. 74HC04 işini görebilir. Bu girileni tersine çevirir. HIGH girdin çıkıştan LOW alırsın. LOW girdin çıkıştan HIGH alırsın. Dene bakalım olacakmı?

Ete

kado17

peki hocam bu parcanın kucugu varmı transistör boyutlarında birsey 12 adet koyulacak ondan

ete

1 adet 74HC04 içinde 6 adet ters çevirici vardır. Dolayısıyla bu entegreden 2 adet kullanman gerekir.
Proteusu açıp ekrana koyarsan ;
-birincide 1nolu pin giriş 2 çıkış
- ikinci de 3 giriş 4 çıkış
- üçüncüde 5 giriş 6 çıkış
- dördüncüde 9 giriş 8 çıkış
- beşincide 11 giriş 10 çıkış
- altıncıda 13 giriş 12 çıkış olduğunu görürsün.
Girişlere hangi lojik seviyeyi girersen çıkıştan tersini alırsın.

Ama bu işe kalkışmadan önce bir deneme yapman gerekmezmi. En azından bir veya 2 adet buton kısımını bir dene bakalım oluyorsa tamamını değiştirirsin.
Ben olsam isis de denerdim önce sorun yoksa gerçek devrede yapardım.

Ete

kado17

suan hemen basladım hocam zaten dediğiniz gibi isiste ciziyorum aksama 2 kanal ile denicem bord üzerinde sonrada devreyi ona ona göre cizip basıcam

kado17

yok hocam similaysonda calıstıramamdım

ete

Bence bu sevdadan vazgeç. İşin ne kadar zor olduğunu göresin diye şevkini kırmadım yapıp deneyerek görmeni istedim.
Bu iş olmaz desem pek çok kişi yanlış anlıyor. İlk mesajımda ne demiştim Tasarım o sisteme göre yapılmış.
Butonlardaki diyotlar bu senin dönüştürmek istediğin sistemin çalışmasını engeller. Sana lazım olan yeni bir tasarım veya mevcut tasarımlar yeni bir program. Program deyip geçmeyin bir araba kod yazmak gerekiyor.
Ete

kado17

 74HC04 bagladım hocam sizce smilasyondaki baglantı sekli doğrumu diyot diren istermi calısıyor bu sekilde istediğim sartlarda

ete

Bağlantı doğru.  Peki ilk mesajında neden çalışmıyor demiştin?
Bir lafım vardır her zaman simulasyonda çalışan gerçektede çalışır derim. Bir kaç istisna gördüm gerçi ama bu devre için başka bir yorumda bulunmayacağım artık. Dene ve gör demekten başka bir şey söyleyemem.

Ete

Powered by EzPortal