MCS ve MCSP

Başlatan kudretuzuner, 06 Şubat 2012, 20:27:05

kudretuzuner

Merhaba
Arkadaşlar "Mecanique" dosyasında MCS ve MCSP var plus ücretli onu biliyorum ama ben MCS kullanmak istiyorum ama sadece 16F628 var diğer PIC'ler ise Plus formunda.Plus formundaki PIC çeşitlerini MCS'ya nasıl ilave edebilirim.Teşekkürler.

ete

İlave yapmayın.

Aşağıdaki adresten MCS son sürümünü yükleyin.

http://www.mecanique.co.uk/software/mcsinstall.exe

Ete

kudretuzuner

Merhaba
Mucit23 link vermişti aynısı galiba indirmiştim ama tekrar sizin linkten indirdim.Fakat yazdığım gibi sadece 16F628 görünüyor diğer PIC modelleri yok.16F877 veya 18F4550 için program yazamaya imkan yok gibi görünüyor.Teşekkürler.

F®T

C /:   PBP247  klasörünü yapıştırıyoruz. daha sonra mcs de  taratıyoruz.inc dosyasını buluyor.
"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

kudretuzuner

Merhaba
Tamamdır.INC dosyasını hallettim.Şimdi diğer PIC'leri de görüyorum.Yüklediğim zorro_3 adlı bir dosyayı compile ettim fakat "unable to locate zorro_3.asm"mesajı aldım.C:\ ye "MCS" adlı bir klasör oluşturdum.Bu .bas dosyasını da buradan çağırdım ama henüz daha compile edemedim.İşin en zor tarafları da bu maalesef,konuya,insan yeni başlayınca diğer arkadaşlara çok basit gelebilecek sorularla da karşılaşabiliyorlar.Tekrar teşekkür ederim.

F®T

#5
use mpasm çentiğini kaldırıp tekrar denermisiniz.

"C:\ ye "MCS" adlı bir klasör oluşturdum." bence bu ismide değiştirin.mesela MCCS olsun.
"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

kudretuzuner

Merhaba
Yok beceremedim aynı hatayı veriyor.Sizden ricam hex dosyası haline getirir misiniz? bir arkadaşa yardım için programda düzeltmeler yapmıştım isiste deneyeceğim.Teşekkürler.

F®T

kudret bey baya bir yazılım yanlışlıkları var .

'****************************************************************'*  Name    : UNTITLED.BAS                                      *'*  Author  : [set under view...options]                        *'*  Notice  : Copyright (c) 2012 [set under view...options]     *'*          : All Rights Reserved                               *'*  Date    : 05.02.2012                                        *'*  Version : 1.0                                               *'*  Notes   :                                                   *'*          :                                                   *'****************************************************************DEFINE LCD_DREG PORTC DEFINE LCD_DBIT 0 DEFINE LCD_RSREG PORTB DEFINE LCD_RSBIT 0DEFINE LCD_RWREG PORTB DEFINE LCD_RWBIT 1DEFINE LCD_EREG PORTB DEFINE LCD_EBIT 2 DEFINE LCD_BITS 8 DEFINE LCD_LINES 2 TRISA=%11111111TRISB=%00000000TRISC=%00000000TRISD=%00000000TRISE=%00000000PORTA=%00000000PORTB=%00000000PORTC=%00000000PORTD=%00000000PORTE=%00000000PORTB=PORTD LCDOUT $FE,1 PAUSE 500 LCDOUT "STEP MOTOR KONT."PAUSE 500LCDOUT $FE, $C0 LCDOUT "SEYIT ALI YIGIT"PAUSE 500LCDOUT $FE,1LCDOUT "MOTOR KONUMU:"LCDOUT $FE, $C0LCDOUT "DURDU"PORTD.3=1TEST0IF PORTA.0=1 THEN GOTO TEST0ELSESAG1PORTB=%00110000PAUSE 9000PORTB=%01100000PAUSE 9000PORTB=%11000000PAUSE 9000PORTB=%10010000PAUSE 9000END IFGOTO TEST0ELSE GOTO TEST0TEST1IF PORTA.1=0 THEN GOTO SAG2TEST2IF PORTA.2=0 THEN GOTO SOL1ELSE GOTO TEST3TEST3IF PORTA.3=0 THEN GOTO SOL2IF PORTA.4=0 THEN GOTO DURDUEND IFGOTO TESTSAG1:IF PORTA.4=0 THEN GOTO DURDUGOTO TEST0SOL1: PORTB=%11000000PAUSE 200PORTB=%01100000PAUSE 200PORTB=%00110000PAUSE 200PORTB=%10010000PAUSE 200IF PORTA.4=0 THEN GOTO DURDUGOTO SOL1SOL2:PORTB=%11000000PAUSE 2000PORTB=%01100000PAUSE 2000PORTB=%00110000PAUSE 2000PORTB=%10010000PAUSE 2000IF PORTA.4=0 THEN GOTO DURDUGOTO SOL2GOTO SAG1SAG2:PORTB=%00110000PAUSE 2000PORTB=%01100000PAUSE 2000PORTB=%11000000PAUSE 2000PORTB=%10010000PAUSE 2000IF PORTA.4=0 THEN GOTO DURDUGOTO SAG2DURDU:LCDOUT $FE,1 PAUSE 500 LCDOUT "STEP MOTOR KONT."PAUSE 500LCDOUT $FE, $C0 LCDOUT "SEYIT ALI YIGIT"PAUSE 500LCDOUT $FE,1LCDOUT "MOTOR KONUMU:"LCDOUT $FE, $C0LCDOUT "DURDU"PORTD.3=1GOTO TESTEND




"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

kudretuzuner

Merhaba
Evet haklısınız.Zaten o arkadaş da çok yakındı ben de pic basic bilmediğim halde biraz bakayım dedim.Sadece PORTA,0 butonunu kontrol ederek motora basic ile bir tur attırsam yazılımı anlayacağım.asm ile yazayım dedim istemiyor.Neyse zamanınızı da almayayım.Tekrar teşekkür ederim.Ama derslere fırsat buldukça bakacağım oldukça enteresan geliyor.

F®T

kudret abi ete hocanın step motor ile ilgili bir çalışması var onu incele istersen belki faydası olur.

"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

BAHAR

Merhaba, ben bpp2.50 kullanıyorum fakat birde, pbp2.50'nin "setup" şeklinde olanı var. Bu nasıl kullanılıyor bilen var mı?

Mucit23

stup dosyasını kullanarak bilgisayara yüklüyorsun PBP yi. Sonra MCS ya PBP nin yerini gösteriyorsun.
Bir ulusu yok etmenin En iyi yolu o ulusun dilini yok etmektir.

www.arectron.com/

BAHAR

Alıntı yapılan: Mucit23 - 07 Şubat 2012, 00:21:10
stup dosyasını kullanarak bilgisayara yüklüyorsun PBP yi. Sonra MCS ya PBP nin yerini gösteriyorsun.

Teşekkürler, pic çeşitleri açısından arasında fark var mı yoksa ikisi de aynı mı?

KAZIMUGUR

Kudret abi , bir kaç basit kural hatası var.
Bir etiket tanımlanınca sonrasında  " : " olması gerekiyor.
   ---Bazılarında var bazılarında yok.

İf kullanırken else de kullanılacaksa then komutundan sonra aşağı satıra geçiliyor.

ENDIF bitişik yazılıyor , END IF  şeklinde değil.

Biraz düzelttim.
Mantık hataları hariç.
Tanımlanmayan etiket kullanılmış mesela TEST .
Hata veren satırların öünüde  " ; " koydum.

İlk başlangıçta böyle kurallar zorluyor ama alışınca gerisi kolay geliyor.


DEFINE LCD_DREG PORTC DEFINE LCD_DBIT 0 DEFINE LCD_RSREG PORTB DEFINE LCD_RSBIT 0DEFINE LCD_RWREG PORTB DEFINE LCD_RWBIT 1DEFINE LCD_EREG PORTB DEFINE LCD_EBIT 2 DEFINE LCD_BITS 8 DEFINE LCD_LINES 2 TRISA=%11111111TRISB=%00000000TRISC=%00000000TRISD=%00000000TRISE=%00000000PORTA=%00000000PORTB=%00000000PORTC=%00000000PORTD=%00000000PORTE=%00000000PORTB=PORTD LCDOUT $FE,1 PAUSE 500 LCDOUT "STEP MOTOR KONT."PAUSE 500LCDOUT $FE, $C0 LCDOUT "SEYIT ALI YIGIT"PAUSE 500LCDOUT $FE,1LCDOUT "MOTOR KONUMU:"LCDOUT $FE, $C0LCDOUT "DURDU"PORTD.3=1TEST0 :IF PORTA.0=1 THEN GOTO TEST0ELSESAG1PORTB=%00110000PAUSE 9000PORTB=%01100000PAUSE 9000PORTB=%11000000PAUSE 9000PORTB=%10010000PAUSE 9000ENDIFGOTO TEST0;ELSE GOTO TEST0TEST1:IF PORTA.1=0 THEN GOTO SAG2TEST2:IF PORTA.2=0 THEN GOTO SOL1ELSE GOTO TEST3TEST3:IF PORTA.3=0 THEN GOTO SOL2IF PORTA.4=0 THEN GOTO DURDUENDIF;GOTO TEST;SAG1:IF PORTA.4=0 THEN GOTO DURDUGOTO TEST0SOL1: PORTB=%11000000PAUSE 200PORTB=%01100000PAUSE 200PORTB=%00110000PAUSE 200PORTB=%10010000PAUSE 200IF PORTA.4=0 THEN GOTO DURDUGOTO SOL1SOL2:PORTB=%11000000PAUSE 2000PORTB=%01100000PAUSE 2000PORTB=%00110000PAUSE 2000PORTB=%10010000PAUSE 2000IF PORTA.4=0 THEN GOTO DURDUGOTO SOL2GOTO SAG1SAG2:PORTB=%00110000PAUSE 2000PORTB=%01100000PAUSE 2000PORTB=%11000000PAUSE 2000PORTB=%10010000PAUSE 2000IF PORTA.4=0 THEN GOTO DURDUGOTO SAG2DURDU:LCDOUT $FE,1 PAUSE 500 LCDOUT "STEP MOTOR KONT."PAUSE 500LCDOUT $FE, $C0 LCDOUT "SEYIT ALI YIGIT"PAUSE 500LCDOUT $FE,1LCDOUT "MOTOR KONUMU:"LCDOUT $FE, $C0LCDOUT "DURDU"PORTD.3=1;GOTO TESTEND

ete

Kudret Bey,

Derleme konusundaki sorunu dile getirmek istiyorum.
Bir derleme yapabilmeniz için 3 şeye ihtiyaç var. Bunlar;
1. MCS editör programı ki bunu yüklediniz. Yükleme yeri C:\Programfiles\Mechanique\MCS şeklinde olmalı. Çokda önemli değil ama kendi yüklediği default adreste olmasında yarar var.
2. Basic Derleyicisi; Bu derleyiciyi artık ya demo olanını yada ilaçlı bir sürümünü bulup C:\PBP şeklinde C ana klasörüne yüklemeniz gerekiyor.
3. Basic dilinde yazılmış bir program.

Derleme iine geçmeden ön ce bazı düznlemelerde yapmak gerekiyor. MCS bir editör dür kendi başına derleme yapmaz yapamaz. Ya Basic derleyicisini yada MPASM yi kullanır. Basic derleyicisini kullanabilmesi için ona yerini göstermek gerekir.
View menüsünde "Compile & Program Options" şeklinde bir seçenek var. Onu seçin. Karşınıza 3 butonlu bir seçenek gelecektir. Bunlar Compiler - Assembler ve Programmer. En sondaki önemli değil. Ama ilk ikisi derleme için önemli.
Compiler seçeli gelir zaten. Altında find manually veya yanında find automatically diye iki butonvar. Bence manually seçin ve açılan penceredn Basic derleyicisinin adresini gösterin. Ekranda C:\PBP şeklinde gösterilmiş adreside görmeniz gerekiyor.
64 bit makinalar Basic derleyicisini kullanamıyor. Derleyici 32 bit çalışıyor çünki. Bunun yerine MPASM kullanmak zorundalar.
Ayrıca 18F seriside MPASM kullanılarak derlenmek zorunda. Bu nedenle en iyisi ortada yer alan Assembler seçeneğinide seçip onada MPASM klasörünün yerini gösterin.  Makinanızada MPLAB kurulu ise (ASM de program yazdığınız için) orada MPASM klasörü olması gerek. Ama makinanızda Proteus kurulu ise orada Tools menüsünde MPASM klasörü yer almaktadır. Bunlardan birisini gösterseniz yeterli.
Artık derleme yapacak hale gelmiş oluyorsunuz. Programı yazın yada yükleyin , yukardaki kutucukta uygun işlemciyi seçin ve solda yer alan derle butonuna tıklayın. Programda hata yok ise derleme sorunsuz yapılacaktır.
Hata var ise aşağıda solda ikaz lar alacaksınız. Her ikaz bir satırı işaret eder zaten programda otomatik olarak ilk hata satırına gider.
BAsicde yeni program yazmaya başladınız. Hata yapmanız çok doğal. Her derleyicide olduğu gibi komutların yazılım formatı vardır. Onun dışına çıkarsanız hata verir program.
Mesela
IF - THEN - ELSE -ENDIF  bir dairesel döngü gibidir.
If ile başlar ve bir şart komutu verirsin.  IF A=5 THEN  yani A=5 ise şöyle yap gibi,
SOnra B=5: C=7 gibi şarta bağlı komutlarını verirsin. Sonra
ELSE dersin  bu Else yalnız başına olmalıdır yanında bir şey yazmamalıdır.
Bunun anlamı başta IF yanına koyduğumuz şart doğru değilse demek yani örneğimizde şayet A=5 değil ise şunları yap;
C=2:Z=5
ve en sona da ENDIF komutunu koyar daireyi kapatırız daha doğrusu komutu kapatırız. Komutun işlenmesi IF ile başlar endif ile sona erer. Ondan sonra artık bu komuta ait baika bir komut yazamayız her şey IF-ENDIF arasında olmalıdır.

En iyisi karşılaştığın ve anınında çözüm bulamadığın hataları buraya yaz hemen cvaplayalım bu şekilde kafana daha çabuk oturacaktır sistem.

Ete




Powered by EzPortal