PIC BASIC PRO Öğreniyoruz soru cevapları

Başlatan aster, 19 Mayıs 2005, 17:33:33

The_Daywalker

herkese merhaba ben pic16f84 entegresinin programını yazmak için ona ait komut setlerini kullanıyorum ama internette gezerken şunu fark ettim pic basic pro ile yazılan program çok kolay ve çok kısa olduğunu gördüm mesela zaman geciktirme programcıkları gibi ben şimdi iki pic ile seri iletişim ve ayrıcada ır göz ile pic arası iletişim yapacağımda ben bunların programlarını yazarken picbasicproyumu kullanayım veya ben bunu picbasicde nasıl yapabilirim veya komut setiyle nasıl yapabilirim zamanınızı ayırıp beni dinlediğiniz için teşekkürler ve yardımlarını bekliyorum herkese kolay gelsin

omckomu08

Arkadaşım aşağıdaki kodları benim için proton plus da derleybilir misin. Benim derleyici de sorun var olmuyor bi türlü. Sanırım sorun ON_INTERRUPT data_al da çıkıyorr .





include "PROTON_4.INC" 'LCD DECLERASYONU BUNUN IÇINDE
include "modedefs.bas"
DEVICE 16F877

dim SERDATA[69] as byte
dim LCD_Data[42] as byte
Dim adress As word
Dim refresh_time As Byte
Dim i As Byte
Dim satir As Byte
Dim not_sayac As Byte
Dim nokta As Byte
nokta = 14


CONFIG HS_OSC, WDT_OFF, PWRTE_OFF, BODEN_OFF, LVP_OFF, CP_OFF, DEBUG_OFF
DEFINE XTAL 4
ALL_DIGITAL = True
PORTB_PULLUPS = OFF
option_reg=%11000000
DECLARE FSR_CONTEXT_SAVE = ON
ON_INTERRUPT data_al

ADCON1 = 7
INPUT PORTC.7 'RX
input portd 'LED
output portd.1
output portd.2
output portd.3
input portb.0 'Hardware Interrupt için

Symbol GIE=INTCON.7 'Global Interrupt Enable bit
symbol peie=intcon.6 'Peripheral Interrupt Enable bit
symbol t0ie=intcon.5 'TMR0 Overflow Interrupt Enable bit
symbol inte=intcon.4 'RB0/INT External Interrupt Enable bit
symbol rbie=intcon.3 'RB Port Change Interrupt Enable bit
symbol t0if=intcon.2 'TMR0 Overflow Interrupt Flag bit
symbol intf=intcon.1 'RB0/INT External Interrupt Flag bit
symbol rbif=intcon.0 'RB Port Change Interrupt Flag bit


HSERIAL_BAUD = 2400 'BAUD RATE 1200
HSERIAL_RCSTA = %10010000 'SERIALPORT AÇIK VE CONTINUOUS RECEIVER
HSERIAL_TXSTA = %00100000 '
HSERIAL_CLEAR = ON 'RECEIVER DAN ÖNCE BUFFER I TEMIZLER

DECLARE SDA_PIN PORTC.4 'I2C DATA PIN
DECLARE SCL_PIN PORTC.3 'I2C CLOCK PIN
DECLARE SLOW_BUS OFF 'I2C AT 400KHz

Dim sayac As Byte
Dim a As Byte
Dim b As Byte
Dim d As Byte
Dim busout_adress As word
busout_adress = 0
adress = 0
low portd.2
low portd.3
low portd.1
delayms 1500
input portd.7
input portd.6
input portd.4
input portd.5
delayms 10
Print at; 1, 1, ""
Print at; 2, 1, ""

delayms 10
print $FE,$68,0,0,12,4,4,4,14,0 'Adresi 5,küçük ı
delayms 10
print $FE,$48,14,14,17,16,22,17,14,0 'Adresi 1,büyük Ğ
delayms 10
print $FE,$50,14,0,15,17,15,1,15,0 'adresi 2,küçük ğ
delayms 10
print $FE,$58,0,10,0,17,17,17,14,0 'Adresi 3, Küçük ü
delayms 10
print $FE,$60,0,14,16,14,1,30,12,0 'Adresi 4, Küçük s
delayms 10
print $FE,$70,10,0,14,17,17,17,14,0 'Adresi 6,küçük Ö
delayms 10
print $FE,$78,14,16,16,17,14,4,12,0 'Adresi 7,Küçük ç
delayms 10

input portd.6
output portd.7
output portd.4
output portd.5

Print at; 1, 1, " This Project was made by "
Print at; 2, 1, " Tolgahan ATALAY & Erdal DEMiRCAN "
Print at; 3, 1, " and developed by "
Print at; 4, 1, " Kahraman ZAiM "
delayms 2000

GoSub ekrani_temizle

INTCON=%00000000
GoTo EEPROM

'==============Data Alma Rutini (interrupt aldığında bu rutine gelecek)===================================

data_al:

While GIE = 1
GIE = 0
Wend
intf = 0
low portd.2
low portd.3
busout_adress = 0
high portd.1
GoSub ekrani_temizle
input portd.6
output portd.7
output portd.4
output portd.5
Print at; 1, 1, "Veri Aliniyor."

yeni_data_al:

For sayac = 0 To 68
SERDATA [sayac] = " "
Next
hrsin wait("|||"),str SERDATA

Print at; 1, nokta, "."

If nokta = 41 Then
nokta = 14
GoSub ekrani_temizle
input portd.6
output portd.4
output portd.7
output portd.5
delayms 10
Print at; 1, 1, "Veri Aliniyor."
End If

nokta = nokta + 1

For sayac = 0 To 68
if SERDATA[sayac]<>"|" THEN
a=SERDATA[sayac]


If a = 192 Then 'Paket sonu
GoTo yeni_data_al
End If
bstart
busout $A0,busout_adress,[a]
bstop
delayms 10
busout_adress = busout_adress + 1

If a = 193 Then
adress = 0
GoTo EEPROM
End If
End If
Next

GoSub ekrani_temizle
input portd.4
output portd.6
output portd.7
output portd.5
delayms 10
Print at; 1, 1, "VERI ALIMINDA HATA OLUSTU!!!"
INTCON=%00000000
inte = 1 'RB0/INT External Interrupt Enable bit
peie = 1 'Peripheral Interrupt Enable bit
GIE = 1 'Global Interrupt Enable bit
Loop:
asm
nop
nop
nop
nop
endasm
goto loop


EEPROM:

busin $A1,0,[a]
If a = "$" Then
high portd.2
high portd.3
Else
low portd.2
low portd.3
End If


ilk_ekran:
INTCON=%00000000
INPUT PORTC.7 'RX
low portd.1
input portb.0
inte = 1 'RB0/INT External Interrupt Enable bit
peie = 1 'Peripheral Interrupt Enable bit
GIE = 1 'Global Interrupt Enable bit
adress = 1
nokta = 15
'=======================Ekrana yazma rutni===============================
'============Birinci satir========================================

GoSub serdata_space

For a = 0 To 41
busin $A1,adress,[SERDATA[a]]
If adress = 1 Then
refresh_time=SERDATA[a]
End If
adress = adress + 1
if SERDATA[a]=13 then
GoTo Satir_1
End If

if SERDATA[a]>200 then
GoSub turkce_karakter
End If

if SERDATA[a]=126 then
SERDATA [a] = " "
For not_sayac = 0 To 41
busin $A1,adress,[LCD_Data[not_sayac]]
adress = adress + 1
if LCD_Data[not_sayac]=13 then break
Next

b = (40 - not_sayac) + 1
For i = 41 To b Step -1
SERDATA=LCD_Data[not_sayac]
not_sayac = not_sayac - 1
Next

GoTo Satir_1

End If

if SERDATA[a]=193 THEN
GoSub ekrani_temizle
GoTo ilk_ekran
End If
Next

Satir_1:

GoSub lcddata_space
GoSub filtre

input portd.6
output portd.7
output portd.4
output portd.5
delayms 10
Print at; 1, 1, Str; LCD_Data \ 40


'============Ikinci satir========================================

inner_loop:

GoSub serdata_space

For a = 0 To 41
busin $A1,adress,[SERDATA[a]]
adress = adress + 1
if SERDATA[a]=13 then
GoTo Satir_2
End If

if SERDATA[a]>200 then
GoSub turkce_karakter
End If

if SERDATA[a]=126 then
SERDATA [a] = " "
For not_sayac = 0 To 41
busin $A1,adress,[LCD_Data[not_sayac]]
adress = adress + 1
if LCD_Data[not_sayac]=13 then break
Next

b = (40 - not_sayac) + 1
For i = 41 To b Step -1
SERDATA=LCD_Data[not_sayac]
not_sayac = not_sayac - 1
Next

GoTo Satir_2

End If

if SERDATA[a]=193 THEN
For i = 1 To refresh_time
GoSub delay_500ms
Next
GoSub ekrani_temizle
GoTo ilk_ekran
End If
Next

Satir_2:
GoSub lcddata_space
GoSub filtre

input portd.6
output portd.7
output portd.4
output portd.5
delayms 10
Print at; 2, 1, Str; LCD_Data \ 40


'============Üçüncü satir========================================

GoSub serdata_space

For a = 0 To 41
busin $A1,adress,[SERDATA[a]]
adress = adress + 1
if SERDATA[a]=13 then
GoTo Satir_3
End If

if SERDATA[a]>200 then
GoSub turkce_karakter
End If

if SERDATA[a]=126 then
SERDATA [a] = " "
For not_sayac = 0 To 41
busin $A1,adress,[LCD_Data[not_sayac]]
adress = adress + 1
if LCD_Data[not_sayac]=13 then break
Next

b = (40 - not_sayac) + 1
For i = 41 To b Step -1
SERDATA=LCD_Data[not_sayac]
not_sayac = not_sayac - 1
Next

GoTo Satir_3

End If

if SERDATA[a]=193 THEN
For i = 1 To refresh_time
GoSub delay_500ms
Next
GoSub ekrani_temizle
GoTo ilk_ekran
End If
Next

Satir_3:
GoSub lcddata_space
GoSub filtre

input portd.7
output portd.6
output portd.4
output portd.5
delayms 10
Print at; 1, 1, Str; LCD_Data \ 40

'============Dördüncü satir========================================
GoSub serdata_space

For a = 0 To 41
busin $A1,adress,[SERDATA[a]]
adress = adress + 1
if SERDATA[a]=13 then
GoTo Satir_4
End If

if SERDATA[a]>200 then
GoSub turkce_karakter
End If

if SERDATA[a]=126 then
SERDATA [a] = " "
For not_sayac = 0 To 41
busin $A1,adress,[LCD_Data[not_sayac]]
adress = adress + 1
if LCD_Data[not_sayac]=13 then break
Next

b = (40 - not_sayac) + 1
For i = 41 To b Step -1
SERDATA=LCD_Data[not_sayac]
not_sayac = not_sayac - 1
Next

GoTo Satir_4

End If


if SERDATA[a]=193 THEN
For i = 1 To refresh_time
GoSub delay_500ms
Next
GoSub ekrani_temizle
GoTo ilk_ekran
End If
Next

Satir_4:
GoSub lcddata_space
GoSub filtre

input portd.7
output portd.6
output portd.4
output portd.5
delayms 10
Print at; 2, 1, Str; LCD_Data \ 40

'============Besinci satir========================================
GoSub serdata_space

For a = 0 To 41
busin $A1,adress,[SERDATA[a]]
adress = adress + 1
if SERDATA[a]=13 then
GoTo Satir_5
End If

if SERDATA[a]>200 then
GoSub turkce_karakter
End If

if SERDATA[a]=126 then
SERDATA [a] = " "
For not_sayac = 0 To 41
busin $A1,adress,[LCD_Data[not_sayac]]
adress = adress + 1
if LCD_Data[not_sayac]=13 then break
Next

b = (40 - not_sayac) + 1
For i = 41 To b Step -1
SERDATA=LCD_Data[not_sayac]
not_sayac = not_sayac - 1
Next

GoTo Satir_5

End If

if SERDATA[a]=193 THEN
For i = 1 To refresh_time
GoSub delay_500ms
Next
GoSub ekrani_temizle
GoTo ilk_ekran
End If
Next

Satir_5:
GoSub lcddata_space
GoSub filtre

input portd.4
output portd.6
output portd.7
output portd.5
delayms 10
Print at; 1, 1, Str; LCD_Data \ 40

'============Altinci satir========================================
GoSub serdata_space

For a = 0 To 41
busin $A1,adress,[SERDATA[a]]
adress = adress + 1
if SERDATA[a]=13 then
GoTo Satir_6
End If

if SERDATA[a]>200 then
GoSub turkce_karakter
End If

if SERDATA[a]=126 then
SERDATA [a] = " "
For not_sayac = 0 To 41
busin $A1,adress,[LCD_Data[not_sayac]]
adress = adress + 1
if LCD_Data[not_sayac]=13 then break
Next

b = (40 - not_sayac) + 1
For i = 41 To b Step -1
SERDATA=LCD_Data[not_sayac]
not_sayac = not_sayac - 1
Next

GoTo Satir_6

End If

if SERDATA[a]=193 THEN
For i = 1 To refresh_time
GoSub delay_500ms
Next
GoSub ekrani_temizle
GoTo ilk_ekran
End If
Next

Satir_6:
GoSub lcddata_space
GoSub filtre

input portd.4
output portd.6
output portd.7
output portd.5
delayms 10
Print at; 2, 1, Str; LCD_Data \ 40

'============Yedinci satir========================================
GoSub serdata_space

For a = 0 To 41
busin $A1,adress,[SERDATA[a]]
adress = adress + 1
if SERDATA[a]=13 then
GoTo Satir_7
End If

if SERDATA[a]>200 then
GoSub turkce_karakter
End If

if SERDATA[a]=126 then
SERDATA [a] = " "
For not_sayac = 0 To 41
busin $A1,adress,[LCD_Data[not_sayac]]
adress = adress + 1
if LCD_Data[not_sayac]=13 then break
Next

b = (40 - not_sayac) + 1
For i = 41 To b Step -1
SERDATA=LCD_Data[not_sayac]
not_sayac = not_sayac - 1
Next

GoTo Satir_7

End If

if SERDATA[a]=193 THEN
For i = 1 To refresh_time
GoSub delay_500ms
Next
GoSub ekrani_temizle
GoTo ilk_ekran
End If
Next

Satir_7:
GoSub lcddata_space
GoSub filtre

input portd.5
output portd.6
output portd.7
output portd.4
delayms 10
Print at; 1, 1, Str; LCD_Data \ 40

'============Sekizinci satir========================================
GoSub serdata_space

For a = 0 To 41
busin $A1,adress,[SERDATA[a]]
adress = adress + 1
if SERDATA[a]=13 then
GoTo Satir_8
End If

if SERDATA[a]>200 then
GoSub turkce_karakter
End If

if SERDATA[a]=126 then
SERDATA [a] = " "
For not_sayac = 0 To 41
busin $A1,adress,[LCD_Data[not_sayac]]
adress = adress + 1
if LCD_Data[not_sayac]=13 then break
Next

b = (40 - not_sayac) + 1
For i = 41 To b Step -1
SERDATA=LCD_Data[not_sayac]
not_sayac = not_sayac - 1
Next

GoTo Satir_8

End If

if SERDATA[a]=193 THEN
For i = 1 To refresh_time
GoSub delay_500ms
Next
GoSub ekrani_temizle
GoTo ilk_ekran
End If
Next

Satir_8:
GoSub lcddata_space
GoSub filtre

input portd.5
output portd.6
output portd.7
output portd.4
delayms 10
Print at; 2, 1, Str; LCD_Data \ 40

For i = 1 To refresh_time
GoSub delay_500ms
Next
GoSub ekrani_temizle_1
GoTo inner_loop

End



ekrani_temizle:
input portd.6
input portd.7
input portd.4
input portd.5
PRINT $FE , 1 : DELAYMS 30
Return

ekrani_temizle_1:
input portd.6
output portd.7
output portd.4
output portd.5
Print at; 2, 1, " " 'birinci satırı silmiyor sadece ikinci satıra boşluk karakteri dplduruyor
input portd.7
output portd.6
output portd.4
output portd.5
PRINT $FE , 1 : DELAYMS 30
input portd.4
output portd.6
output portd.7
output portd.5
PRINT $FE , 1 : DELAYMS 30
input portd.5
output portd.6
output portd.7
output portd.4
PRINT $FE , 1 : DELAYMS 30
Return

delay_500ms:
delayms 1000
Return

turkce_karakter:
if SERDATA[a]=253 then 'LCD karakter eşleme
SERDATA [a] = 5
End If
if SERDATA[a]=208 then
SERDATA [a] = 1
End If
if SERDATA[a]=240 then
SERDATA [a] = 2
End If
if SERDATA[a]=252 then
SERDATA [a] = 3
End If
if SERDATA[a]=254 then
SERDATA [a] = 4
End If
if SERDATA[a]=246 then
SERDATA [a] = 6
End If
if SERDATA[a]=231 then
SERDATA [a] = 7
End If

Return

serdata_space:
For a = 0 To 41
SERDATA [a] = 32
Next
Return

lcddata_space:
For a = 0 To 41
LCD_Data [a] = 32
Next
Return

filtre:
b = 0
For a = 1 To 41
if SERDATA[a]<>10 and SERDATA[a]<>193 and SERDATA[a]<>13 then
LCD_Data=SERDATA[a]
b = b + 1
End If
Next
Return

aslan_korhan

Senin sorun derleyicide gözükmüyor.
Derlemeyi bende denedim ama baya hatta mesajı verdi. Yani senin sorun yazılımda görünüyor...
Dünyada 10 çeşit insan vardır. Binary bilen ve bilmeyenler.

omckomu08

abi hangi sürümü kullanıyosun bana söylermisin indireyim

ya da bildiğin link var mı

aslan_korhan

Proton 2 programdan oluşuyor yani tek programı kurmak yetmiyor.
Forumda var biryerlerde bende buradan inirmiştim istersen bir arat.
Dünyada 10 çeşit insan vardır. Binary bilen ve bilmeyenler.

sonbinary79

picprojeup@gmail.com
merhabalar arkadaşlar ben yeni üye oldum. bu ders notlarını indirmek için önce  picprojeup@gmail.com   a girmem gerekiyor sanırım. nerden erişebilirim bu adrese. bu kısmı anlamadım. biri bana yardımcı olursa çok sevinirim...

ilker_32

Alıntı yapılan: "sonbinary79"picprojeup@gmail.com
merhabalar arkadaşlar ben yeni üye oldum. bu ders notlarını indirmek için önce  picprojeup@gmail.com   a girmem gerekiyor sanırım. nerden erişebilirim bu adrese. bu kısmı anlamadım. biri bana yardımcı olursa çok sevinirim...

Öncelikle "Hoş geldiniz." sorunuza gelince bunu ilk defa duyuyorum...

http://picproje.4shared.com/

şifre : " www.picproje.org "  --> olmasın,

dediğiniz yer burasımıdır. Eğer pic basic ders notlarını arıyorsan sadece bu başlık altı ile yetinme diğer başlıklarda da ara en önemlisi "Pic Basic Pro" altında ara eğer eski linkler ölmüş ise upload edelim...

Kolay gelsin...

sonbinary79

çok teşekkür ediyorum ilker_32.  verdiğin linkten ders notlarına eriştim. emeği geçen bütün arkadaşlara teşekkür ediyorum. paylaşılan bilginin değerinin artacağını herkes bilir. paylaşımlara devam....

sonbinary79

ete bey, özcelikle bu picbasic anlatımları için size teşekkür ediyorum. gerçekten müthiş bir iş yapmışsınız ve değerli bilgiler sunmuşsunuz bizlere. yalnız burda şunu rica ediyorum. diğer arkadaşlarda  bildiklerini buradan yazarlarsa ve benim  anlayamadıklarımı cevaplarlarsa sevnirim. ders 5 te adc kullanarak sıcaklık okumayı anlatmışsınız. yalnız aşağıdaki gibi varsayalım ki kelimeleri kullanınca bunları anlamakta epey güçlük çektim ve de anlayamadım. bunun yerine  gerçek değerleri yazamazmısınız? ders 5 te ki gibi sade basit ntc yi 16f877 e bağlayarak adc ve lcd kullanımı ile bizim gerçekte yapabileceğimiz ( elemanların değerlerini de vererek) bir şema ve yazılım koyma şansınız varsa yaptığınız bu müthiş işe bir güzellik daha katmış olacaksınız.
Aşağıdaki "50 derecede okunan ADC değeri 256 ve 0 derecede okunan 146 olduğundan " cümlesini anlamadım. nasıl hesapladınız 256 yı ve 146 yı daha açık hesap yaparsanız çok sevinirim. Kusura bakmayın bizde böyle öğreneceğiz bunları... teşekkürler yardımlarınız için. cevabınızı ilgiyle bekliyorum. bilen arkadaşlar da yardımcı olurlarsa sevinirim...

"
BASLA:
     ADCIN 0,HAM  '0 nolu kanaldan Analog değeri oku ve RAW değişkenine aktar.
BAK:  IF ADCON0.2=1 THEN BAK 'Çevirme işlemi tamamlanınca Adcon0.2=0 olacak.
     lcdout $FE,1,"HAM =",# HAM
'50 derecede okunan ADC değeri 256 ve 0 derecede okunan 146 olduğundan
'0-50 derece arası okunan değer farkı 110 dur (256-146) . O halde her bir derece
'için okunması gereken değer 110/50=2,2 olacaktır. Pic e uyarlamak için
'okunan değeri 10 ile çarpıp 22 ye bölersek direkt sıcaklığı bulmuş olacağız.
‘ondalık değeri de hesaplamak için 10 yerine 100 ile çarpıyoruz.
     ISI=((HAM-146)*100)/22
     onda=ISI//10
     ISI=ISI/10
     LCDOUT $FE,$C0,"     ISI=",#ISI,",",#onda,"`C"
     pause 500
     goto basla  
"

sonbinary79

arkadaşlar yazdıklarımı cevaplayacak biri varsa lütfen yazsın. 877 ile ntc , adc ve lcd kullanarak termometre yapmak istiyorum. bunun için şema ve basic yazılımı arıyorum. yardımcı olacak bir arkadaş arıyorum.
anolog girişten ham verinin okunup dönüştürülme formülünü gerçek değerlerle açıklayabilecek bir arkadaş varsa çok sevinirim. ders 5 teki yukarıda yazdığım varsayılarak yapılmış değerleri anlayamadım.
merakla bekliyorum...

dombilik

ETE hocanın yazılımını tam olarak incelemedim ama kısaca ;

f877 nin analog kanallarının max giriş gerilimi 5V tur.Bu denetleyici  ADCON komutu ile analog/digital konversiyon sonucunu bizim verdiğimiz bir değişkene atar.Burada HAM değişkeni sanırım onu ifade ediyor.
Analog giriş gerilimi 5V ise konversiyon sonucu değişkenimizin alacağı değer 1023 olacaktır(10 bit ADC).Biz bu 1023 değerini alıp ekranda görmek istediğimiz şekle çeviririz.
Lcd de; gelen 5V u gösteren bir voltmetre olarak tasarım yaptığımızı düşünecek olursak;
5000/1023=4.88mV gibi bir değer çıkar ki bu değer ile okunan ADCON değerini yani ham değeri çarpıp lcd ye verirsek
A= 4.88 * HAM
print A

0-5V arası çalışan bir voltmetre yapmış oluruz.

Sıcaklık devresinden atıyorum 0-200C de gelen gerilim 200C de 5V ise ekrana 200 derece olarak yazdırmak için
200/1023=0.195

A=0.195 * HAM
print A
olacaktır...
  Kısaca analog girişe ntc den gelen mV yada V her ne ise ve derece başına ne kadar mV lik bir değişim oluyor vede max skala değeri. Bunların bilinip yukarıdaki çevrim işleminin ona göre formülize edilmesi gerekir.
Bildiklerini kime miras bıraktın?kimseyemi? O zaman bildiklerinin ne önemi kalır. ******** /////////// ******** PROTON-ASM PROTEUS 7.4 SP3 EAGLE 5.40

sonbinary79


sonbinary79

kıdemli arkadaş teşekkür ediyorum paylaşımın için. bu işi biliyorsun gördüğüm kadarıyla. elinde var mı hazır termometre yazılımı. böyle parça parça konuşacağımıza en son yazılım ne şekilde olur. varsa elinde yazılım ve donanım yollar mısın bana. msn adresim  sonbinary@hotmail.com
ya da burdan bana ulaştırırsan sevinirim.
başka arkadaşlarda yardımcı olabilir...

dombilik

ds18b20 ile yapılmış bir uygulama var elimde ...yarın göndereyim mail adresine..
Bildiklerini kime miras bıraktın?kimseyemi? O zaman bildiklerinin ne önemi kalır. ******** /////////// ******** PROTON-ASM PROTEUS 7.4 SP3 EAGLE 5.40

erkan614

arkadaşlar çıldırmak üzreyim az kaldı
daha önce yaşadığım problem tekrar oldu ve çözemiyorum
şöyleki iş yarindeki pc den mcs2300 ü kaldırmışlar (haftada bir gelince öyle oluyo tabi :) ) bugün yeniden kurdum pbp 2.47 nin yerini gösterdim ama mcs compileri görmedi  compiler not installed yazısı veriyor. acaba pc den kaldırırken uygun kaldırmadıkları içinmi oluyor kafayı yiycem nedir bu sorun

kurulum şeklim:
1 mcs 2300 ü c ye kur
2 pbp 2.47 yi c:\programme files\mcs içine kopyala
3 microcodestudio yu aç
4 compiler and editor optionsdan compiler (pbp 2.47)nin yerini göster
5 help menusunden abauta gir ve compiler is pbp 3.47 yazısını gör

5. basamakta ben compiler not installed yazısını görüyorum