Basic'de karşılaştırma

Başlatan ilker_32, 07 Temmuz 2008, 14:45:28

ilker_32

merhabalar,

Basic'de her hangi bir porttan 5bit değer okumam gerekiyor. Bu değerler anahtarlardan seçilecek. Hangi kodlara yönelmeliyim.

00000
00001
00010
00100
...
..
.

yada daha basit yöntemle yapabilirmiyim.

Bunu dotmatris sayıcıda kullanmayı düşünüyorum. Mesela 00000 değerini  anahtarlardan gönderdiğimde matriste 0 yazsın gibi 20'a kadar rakam göstermeliyim. Ben 15'e kadar gösterebiliyorum. Yukarıya çıkamadım:D

Gurkan-Demirbas

Select  Case  ve/veya Lookup Lookdown komutlarını kullanabilirsin.

GürkaN

ilker_32

Arkadaşlar yukarıda bahsettiğim devreyi basic dilinde yazmaya çalıştım. Kodlar aşırı uzun oldu. 3 satır kod daha ekleyince out of memory hatası alıyorum. ben 30 a kadar çıkmak istiyorum.

isis ve kodları linke koyuyorum bakmak isteyenler indirebilir.

http://rapidshare.com/files/128916910/PRORE.rar

Bunu daha basit ve kısa kodlarla yapamazmıyım ?

Ve porta'da tuhaf bir sorun var. kat3 ve kat4'ü aktif hale getiremiyorum. Ortam karışıyor.

ilker_32

Arkadaşlar porta sorununu çözdüm linki yeniledim. Ama dediğm gibi diğer sorun hala devam ediyor kodu sığdıramıyorum. Bu özellikteki bir devre 16F628'e sığar ama ben bu PIC'e sığdıramıyorum.

papsukkal

ilker hocam basic demişsin ama verdiğin dosyada asm var
32k ilebüyük işler başarılır bellek doldu mesajı garip geldi bana
basic dosyasını gönderirsen üzerinde biraz çalışırım


kusurabakma hocam .cod dosyasınıgörmemişim ama bas yada pbp verirsen daha iyi olur

ilker_32

Alıntı yapılan: "papsukkal"ilker hocam basic demişsin ama verdiğin dosyada asm var
32k ilebüyük işler başarılır bellek doldu mesajı garip geldi bana
basic dosyasını gönderirsen üzerinde biraz çalışırım


kusurabakma hocam .cod dosyasınıgörmemişim ama bas yada pbp verirsen daha iyi olur

Hakketten indirdim baktım kaynak kod koymamışım. Nasılda unutmuşum. Hocam ben bu devreyi çözdüm. İsterseniz dosyalarını upload edebilirim.

papsukkal

hocam upload edersen ben de inceleme fırsatı yakalamış olurum

istersen mail ile de gönderebilirsin

papsukkal@gmail.com

ilker_32

Alıntı yapılan: "papsukkal"hocam upload edersen ben de inceleme fırsatı yakalamış olurum

istersen mail ile de gönderebilirsin

papsukkal@gmail.com
http://rapidshare.com/files/130955222/PRORE.rar

Burada herkes yararlanabilir.

Bir de farklı bir devre de kesme problemim var. Devrenin çalışma prensibini açıklayayım.

Devre de 1 buton iki led bir röle olacak.(daha malzeme var ama mantık olarak düşünelim) Buton start stop mantığında çalışıyor. Devreye enerji verdiğimde iki led'den biri, kırmızı olan yanacak ardından butona bastığımda kırmızı led sönecek yeşil led yanacak 1dk bekleyecek(eğer bu bekleme süresi içinde tekrar butona basılırsa kırmızı led yanacak)ardından yeşil led sönüp kırmızı led yanacak. Bu esnada yeşil led ile röle çıkışıda aktif olacak. Devre bu mantıkla çalışıyor. Asıl sorun şudur. Yeşil led'in yanık kaldığı süre içinde(1dk'da olabilir 10dk'da olabilir) butona bastığımda kırmızı led'in yanmasını istiyorum  

Ben gerekli yazılımı basic dilinde uğraştım. Linkini veriyorum, Yorum ve çabalarınız için şimdiden teşekkürler.

http://rapidshare.com/files/130964874/devr.rar

uygulama yaptığım devreler buradadır.

papsukkal

ilker bey paylaşımın için sağol
şu su sıralar internetim sıkıntılı olduğu için indiremedim dosyaları

senin devre için düşündüm de buton basılı olduğu süre içinde (while - wend gibi) kırmızı high yeşil low tanımlasan hiç başka değişiklik yapmadan istediğine ulaşırsın

bir dene bakalım

ilker_32

Alıntı yapılan: "papsukkal"ilker bey paylaşımın için sağol
şu su sıralar internetim sıkıntılı olduğu için indiremedim dosyaları

senin devre için düşündüm de buton basılı olduğu süre içinde (while - wend gibi) kırmızı high yeşil low tanımlasan hiç başka değişiklik yapmadan istediğine ulaşırsın

bir dene bakalım
Hocam sanırım yanlış anladınız.

butonun basılı olduğu süreyi karıştırmamak gerekir bence. Butona bas çek yaptığımda yeşil led yanacak bir süre bekleyecek. bu süre içinde tekrar butona basılırsa kesme oluşacak kırmızı led yanacak yeşil sönecek. Yani buton basılı olmadığı zaman yeşil led yanmaya devam ediyorsa kendi bir süre bekledikten sonra sönecek kırmızı led yanacak.

Ben zaten gerekli devre için uğraştım herşey yolunda fakat yeşil led'in yandığı süre içinde butona bastığımda kesme oluşmuyor. Ete hoca kesmeyi anlatmamış sanırım derslerinin içinde yok. Olsaymış bu olayı kaparmışız.

Teşekkürler,

papsukkal

haklısın programı görünce ne demek istediğini anladım

'-------------------------------------------------------------------
BASLA: 'Ana program bölümü
'-----------------------burada değişiklik var ------------------------
if led=1 then
'pause 5000         işlemci yaptığı işi bitirmeden kesmeye gitmiyor
for x = 0 to 500   'ben de pause komutunu parçaladım
pause 50
next
'--------------------------------------------------------------------
toggle led

bu şekilde bir dene bende senin istediğin gibi çalışıyor.
yani butona basınca yeşil yanıyor, basınca kırmızı yanıyor. eğer beklersen kırmızı kendisi yanıyor