12F675de tek butonla kontrol

hulagu

Üye
Katılım
26 Haz 2008
Mesajlar
8
Puanları
1
ii günler arkadaşlar ben pic programlamaya yeni başladım ve aranıza yeni katıldım.ben picte hem basic hemde ccs cyi aynı anda öğrenmeye çalışıyorum.şuan buton kontrolündeyim.şöyle bir sorunum var tek bir buton kullanarak 12f675 de her bastığım da farklı bir programa geçirmek ve programlamlar bitince tekrar başa dönecek program hem basicte hem ccs c de nasıl olur tşkrlr şimdiden
 
arkadaşlar konuya cevap vermek isteyen bir bilen
yok mu yardımcı olursanız sevinirim
 
while(1)
{
int buton;
if(input(pin_b0)==0)
buton++;

if(buton==9)
buton = 0;

switch(buton)
{
case 0: komutlar;
break;
case 1: komutlar;
break;
case 2: komutlar;
break;
"
"
"
case n: komutlar;
break;
}
}

en basitinden C kodu basic i tam hatırlamıyorum ama ikisi birden karışır bence ya C yi yada Basic i tercih et ama önerim C den yada )))
------------------
while(1)
{
int buton;
if(input(pin_b0)==0)
buton++;

if(buton==9)
buton = 0;

switch(buton)
{
case 0: komutlar;
break;
case 1: komutlar;
break;
case 2: komutlar;
break;
"
"
"
case n: komutlar;
break;
}
}

en basitinden C kodu basic i tam hatırlamıyorum ama ikisi birden karışır bence ya C yi yada Basic i tercih et ama önerim C den yada )))
 
Son düzenleme:
teşekkürler dostum c yi ii biliyormusun
 
yeterince biliyorum sorun varsa sor yardımcı olurum
 
şimdi ben 12f675 in içine bir program yazacağım.şöyle:
1 giriş 2 çıkış olacak.Benim yazdığım programda 4 tane function olacak.butona 1. basışımda 1.function,2.basışımda 2.function,3. basışımda 3. function 4. basışımda 4. functionu çağracacak ve 5.de tekrar 1. functionu çağıracak. şimdiden teşekkürler.ben ccs cile şuanda ilerliyorum ve buton ile kontrol aşamasındayım ve bu soru kafamı kurcalıyor nasıl yaparıma acaba diye.
 
bir sefer yapıp bir daha butona basılmayı mı bekleyecek yoksa butona tekrar basılana kadar ilgili fonksiyonu mu yürütecek?
 
Arkadaşım Şu kodları tekrar bir incele

#include <12F675.h>
#device adc=8

#FUSES NOWDT //No Watch Dog Timer
#FUSES HS //High speed Osc (> 4mhz)
#FUSES NOCPD //No EE protection
#FUSES NOPROTECT //Code not protected from reading
#FUSES NOMCLR //Master Clear pin used for I/O
#FUSES NOPUT //No Power Up Timer
#FUSES NOBROWNOUT //No brownout reset
#FUSES BANDGAP_HIGH
#use delay(clock=4000000)
#use rs232(baud=9600,parity=N,xmit=PIN_A3,rcv=PIN_A2,bits=8)
#define buton pin_a0

int func1();
int func2();
int func3();
int func4();

void main()
{
int i=0;
setup_adc_ports(NO_ANALOGS|VSS_VDD);
setup_adc(ADC_OFF);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_DISABLED);
setup_comparator(NC_NC);
setup_vref(FALSE);
while(1)
{
if(input(buton)==1)
{
while(input(buton)==1);
i++;
if(i==4)
i=0;
}

switch(i)
{
case 1: func1();
break;
case 2: func2();
break;
case 3: func3();
break;
case 4: func4();
break;
}
}

}

int func1()
{
// Yapacağın İşlemler
}

int func2()
{
// Yapacağın İşlemler
}

int func3()
{
// Yapacağın İşlemler
}

int func4()
{
// Yapacağın İşlemler
}
 


şimdi benım anlamadıgın biz okulda boyle işaret kullanmıyoruz pIc progranlarken bu işaretler ne oluyor acaba özel bir durum mu içeriyor...(}
})
saygılar
 
şimdi bunda araya delay konutu koyarak parazitleri önleye
bilirmiyiz
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için onları kabul etmelisiniz. Daha fazla bilgi edin…