Eproom daki değişkene göre

Başlatan elektroombank, 20 Eylül 2005, 12:12:16

elektroombank

Merhaba arkadaşlar.

Bir sistem kurmaya çalışıyorum.Açıklayayım.
1 adet motorum var.Step değil.Normal redictörlü motor.Bunu bir role ile tetikliyorum..PIC 16f84+24c16 ile bu motoru kontrol edicem

 Bu motor X saniye çalışcak Y saniye durcak.Sürekli bunu yapcak.

x kadar çalış
y kadar bekle
x kadar çalış
y kadar bekle
x kadar çalış
y kadar bekle
x kadar çalış
y kadar bekle
x kadar çalış
y kadar bekle

Bu X ve Y değiştirelebilir olduğundan harici eproomdan alınması gerekiyor.Mesela..

Program başlayacak..
Eprroom'a gidip X değikenin değerini alcak..Bu X kadar motoru çalıştıracak..Sonra döngü bitince Y yi eproomdan alacak.
Y kadar bekleme yapacak.Sonra tekrar başa döncek.


Burda çözemediğim hadise şu.

mesele x verisini eproomdan aldık.Mesela X= 10 saniye

10 saniyelik olan alt programa yönlendirmem lazım..
5 saniye ise 5 saniyelelik alt programa önlendirmem lazım..
Ama bütün saniyeleri böyle yapmak mantıksız...

Bunu yapmanın bir yolu vardır ama ben bilmiyorum.

Yardımlarınızı bekliyorum..


PIC ASM kullanıyorum

SpeedyX

1 saniyelik bir alt program yapın ve eepromdan gelen veri kadar o alt programı çağırın.

bekle
   call bir_sn_bekle
   decfsz X,f
   goto $-2
   return

oziant

speddy e katılıyorum

önce ana bir program yap

en başta
x ve y degerlerini epromdan saniye dakika ve saat olarak oku
ondan sonra programını çalıştır

önce saatı sıfırlasın, sonra dakikayı, sonra saniyeyi sonra y degerine
gecersin, sonra y degeri bitince x degerlerine gecersin
kolay gelsin
MPLAB 5.62 ASM PROPİC 2

tevfik_kadi

Eğer eeproma veriyi her an değiştirirek pic ile yazmak istiyorsan ve hatta veriyi dijital olarak işlemek istiyorsan bu işi timer lar ile de yapabilirsin bence o da bir yontem olabilir.

elektroombank

Çok sağolun
@SpeedyX arkadaşımızın dediği sistem hoşuma gittii.Ancak ben PIC basic ile yapmaya kara verdim.Çünkü LCd filan kullancam..
PIC basic ile eproomdan ver okuyup o veriyi nası kullanabilirim.Örnek bir kodunuz varmı

SpeedyX

picbasic te
write -> eeproma byte yazar
read -> eemromdan adres içeriği okur

pbp manualinden öğrenebilirsiniz.
( pause 1000*X :) )

elektroombank

ÇOk sağolun arkadaşlar hemen PIC Asic Pro kitabı aldım.OKudum.Öğrendim baya..
Şimdi ben bu sistemi PIC BAsic PRo ile yapıcam..

Devre kurmada önderinizi alayım dedim..
1 adet pıc 16f84 kullanacağım
1 adet 24c16'ım olcak..
2 motor çıkışım olcak...
1 adet lcd ekranım olcak

pıc 16f84 ile bir menu yapacağım.Dolayısıyla yukarı ve aşağı butonum ve birde seçim butonum olcak.PIC 16F84'de  3 portum buna ayrılcak..
2 portum pıc 16f84 ile 24c16 arasındaki iletişim için kullanılcak.
5 portumda LCD ekran için kullanılcak..TOplam 10 port kullanacağım yani

Benim bazı kuşkularım var.
PIC ile 24c16 arasındaki en uyumlu iletişim nasıldır..Hız vs
Bir bağlantıları nasıl yapayım.HAni lcd şu porta , butonlar şu porta takılsa daha verimli olur diye bir öneriniz varmı


yardımlarınız için teşekkür ediyorum

CaFFeiNe

standart giriş çıkış portlarından istediklerine bağlayabilirsin ama RA4 e bağlamamanı tavsiye ederim çünkü açık kollektör çıkışlı mesela röleni bir transistör ile RA4 e bağlayabilirsin, kesme kullanacaksan RB0 a da bağlama kesme için bu pini kullanabilirsin

elektroombank

ok dediğin gibi ana program çalışrken menu'ye gitmesi için kesme kullanabilirim.Ve o portu kesme için kullanırım..

Ama ben hala Micro Code Studio'yu kuramamadım
Plus sürümünü bile kurdum.Ama ICD ücretlidir felan diyor.Ne yapmalıyım.
Kod yazmaya başlayamıyorum.Foruma baktım konu acayip dağiılmmış.
Anlayan birileri sabit bie başlık yapsa şu konuyu

elektroombank



Devremi kontrol edermisiniz.Bir yanlışım varmı...
Buna göre PIC BAsic yazmaya başlayacağğım

CaFFeiNe

LCD nin Vdd Vss uçlarını ters bağlamışsın başka bir problem göremedim

SpeedyX

Vss doğru, Vdd ile Vee yer değişecek sadece.
Önceki yazılanlarda motor dönsün ama butonlara basılınca int oluşturup algılarız gibi birşeyler demişsiniz, o bölümü göremedim bende.
R10 yerine 4.7K tavsiye olunur
Son olarak; beslemede kondansatör olacak ama şu an ihmal ettiniz sanırım.

CaFFeiNe

pardon yaw Vee yerine Vss yazmışım

elektroombank

motorlar şimdiik o ledler..

şu yazıdğın vss hadisesini bie daha yazsan karışmışda biraz..

SpeedyX

Alıntı yapılan: "SpeedyX"Vss doğru, Vdd ile Vee yer değişecek sadece.