Haberler:

Türkiye'nin Elektronik ve Metal Dedektörlerini Buluşturan İlk Sitesi Teknoloji Ekibi'ne Hoş Geldiniz.

Ana Menü

ustalar yardım kodu calıştıramadım bi türlü

Başlatan warcy, 24 Ocak 2013, 11:50:46

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

warcy

dc motor sürmeye calışıyorum fakat devredeki roleler abuk subuk calışıyor rolelere baglı motor var butona basıldıgında ileri gidicek bırakılınca duracak diger butona basıldıgında sensor aldılama suretiyle duracak şekilde bir konveyor sistemini calıştıracak  kodda bir hata var cıkamadım icinden ..



Device=16F84A
Xtal 4
All_Digital TRUE
OPTION_REG.7=1

PORTA=0:TRISA=0
PORTB=0:TRISB=%00001111
'------------------------------------
Symbol ILERI PORTB.1
Symbol GERI PORTB.2
Symbol SENSOR PORTB.3
Symbol ROLE PORTB.4
Symbol ROLEM PORTB.5
Symbol MILERI PORTB.6
Symbol MGERI PORTB.7
'------------------------------------
ANAPROG:
If SENSOR=0 Then
DelayMS 10
ROLE=1
MGERI=1
Else
ROLE=0
MGERI=0
EndIf
If ILERI=1 Then
ILERIDUR:
If ILERI=1 Then GoTo ILERIDUR
ROLE=1
MILERI=1
Else
ROLE=0
MILERI=0
If GERI=1 Then
DelayMS 10
ROLE=1
MGERI=1
GoTo ANAPROG
End
Linkback: ustalar yardım kodu calıştıramadım bi türlü

onur600

#1
slm bu devre işini görür inş..saygılar http://www.mcu-turkey.com/msp430-uyg-3-2/
LÜZUMSUZ İSE SÖNDÜR...

Delilik, şüphesiz aptallıktan daha iyidir...

warcy

bordu hazır olmasa işimi görürdü teşekkürler kodu ö
çözmem gerekli bu konuda yardımcı olanlara şimdiden teşekkürler

Karadağ

Merhaba,

Bu dil sanırım basic. Ben basic bilmiyorum ama istediğini yazarsan c de yazabilirim.

Saygılar
insanlar sizi eskisi gibi kullanmadıklarında değiştiğinizi söylerler...

Eğer bir aptala laf anlatmaya çalışırsan dışarıdan bakanlar iki aptalın sohbet ettiğini sanırlar.

Kamburlar ülkesinde sırtı düze sakat denir.

warcy

karadag usta
sorunum  2 buton var bunlardan biri tuşa basıldıgında konvoru ileri gotürecek bırakıldıgındada duracak aynı andada röleyi cekecek ve bırakacak
2 tuşta basıldıgında geri götürecek ve cisimden yansımalı sensör ver 1ve 0 olarak calışıyor cisim yokken 0 varken 1 oluyor 1 olana kadar konveyor devam edecek ve sensor durduracak aynı zamanda bu tuş 2 röleyide cekecek sensor durdurana kadar

eger yazabilirseniz tuların ve rölelerin portlarını yazarım tşkler

warcy

enson geldigim nokta sensör okutmak kısmındaki döngü
Device=16F84A
Xtal 4
All_Digital TRUE
OPTION_REG.7=1

PORTA=0:TRISA=0
PORTB=0:TRISB=%00001111

Dim GERI  As PORTB.1
Dim ILERI As PORTB.2
Dim sensor As PORTB.3
Dim role As PORTB.4
Dim role2 As PORTB.5
Dim mileri As PORTB.6
Dim mgeri As PORTB.7
'------------------------------------
ANA:
If GERI=1 Then
mgeri=1
role=1
Else
mgeri=0
role=0
EndIf
If ILERI=1 Then
role=1
mileri=1
EndIf
GoSub sensorm
sensorm:
If sensor=0 Then
role=1
mileri=1
Else
role=0
mileri=0
EndIf
GoTo ANA
End

buraya kadar gelebildi fakat sensör kısmını aşamadım

Karadağ

Merhaba,

Kod aşağıdaki gibi çalışıyor. Ben C bildiğim için C deyazdım. Zamanlama döngülerini hesaplamadan atmasyon yaptım. Ayrıca proje dosyası ektedir.

Saygılar

#include <pic.h>
#include <htc.h>

__CONFIG(1, FOSC0 & WDTE & BODEN & BKBUG);

#define Ileri       RB1
#define Geri        RB2
#define Sensor      RB3
#define Role1_2     RB4
#define Role3       RB5
#define HBridge1    RB6
#define HBridge2    RB7
#define Bilinmeyen  RB0

extern void delay_ms(unsigned char i);
extern void delay_s(unsigned char i);



void main(){

TRISB = 0x0E;
PORTB = 0x01;
    while(1){
        while(Ileri){
            Role1_2 = 1;
            HBridge1 = 1;
            HBridge2 = 0;
        }
        if(Geri){
            delay_ms(200);
            if(Geri){
                while(Geri);
                Role3 = 1;
                delay_ms(200);
                Role3 = 0;
                delay_s(5);
                Role1_2 = 1;
                HBridge2 = 1;
                HBridge1 = 0;
                while(!Sensor);
                Role1_2 = 0;
                HBridge2 = 0;
                HBridge1 = 0;
            }
        }
        Role1_2=0;
        Role3=0;
        HBridge2 = 0;
        HBridge1 = 0;
    }


}


void delay_ms(unsigned char i){

    for(unsigned char j=0; j<i; j++){
        for(unsigned int k=0; k<50; k++);
    }

}

void delay_s(unsigned char i){

    for(unsigned char j=0; j<i; j++){
        for(unsigned int k=0; k<10; k++)delay_ms(100);
    }

}
insanlar sizi eskisi gibi kullanmadıklarında değiştiğinizi söylerler...

Eğer bir aptala laf anlatmaya çalışırsan dışarıdan bakanlar iki aptalın sohbet ettiğini sanırlar.

Kamburlar ülkesinde sırtı düze sakat denir.

Zanos

trisb  ayarlarınız kontrol edin giriş tanımladığınız pine çıkış vermiş gibi gördüm..
Cehennemin yolları iyi niyet taşları ile döşelidir.

makdeniz

Gosub ile dallandığınız alt programdan Return kodu ile dönülmekte diye hatırlıyorum zira Pic Basic Pro kullanıyordum bir zamanlar
komutları unutmuş olabilirim..
Ayrıca Ana döngüyü Goto komutu ile devamlı tekrarlamak gerekli








ANA:





GoSub sensorm
GOTO ANA




sensorm:


Return

Karanlık olmadan ışık, Ölüm olmadan yaşam olmaz...

pro-TR

sensorm adlı etiketi ana döngünün içine yazarsanız gosub komutu düzgün çalışmaz.
Güzeli güzel yapan EDEBTİR,
Edeb güzeli sevmeye SEBEBTİR...

"Rufailer giyer pembe kırmızı
Tacının üstünde nurdan yıldızı
Evlatları tutar şişi ateşi, közü
Bülbül güle hayran ben de şeyhime"


Paylaş whatsappPaylaş facebookPaylaş linkedinPaylaş twitterPaylaş myspacePaylaş redditPaylaş diggPaylaş stumblePaylaş technoratiPaylaş delicious