pbp 2.5 ile pic10f204 programlamak

Başlatan outlaw57, 03 Ocak 2009, 13:59:30

outlaw57

arkadaslar,

pic basic pro 2.50 ile pic10f204 ü programlayamıyorum çünkü mcs plus ta seçemiyorum.

internetten baktığım kadarıyla, ram yüzünden desteklenmiyor yazıyor.

yazdıgım cok basit bir kod, bunun hexini oluşturmam gerekiyor.

cok acil yardıma ihtiyacım var.
----------------------------------------------------------------
symbol LDR=gpio.0
symbol CAK=gpio.1
output cak
loop:
   
    while ldr=1   'Aydınlık ise 5s sonra yanma
    if ldr=0 then loop
    pause 5000    
    cak=1  
    wend  
    pause 5000     'Karanlık ise 5s bekle
    if ldr=0 then cak=0
goto loop
end  
--------------------------------------------------------------------

yardımlarınız için simdiden teşekkürler.

"yardımm.. pbp 2.5 ile pic10f204 programlamak" başlığı " pbp 2.5 ile pic10f204 programlamak" olarak editlendi.
: )

tyildizak

:10000000280A76003500FF0CF5010307F601030707
:10001000240A030C3400DF0C0F09030A74003300B8
:10002000E70CF3017402FC0C03071A0AF301030640
:10003000160AF3010000F403160A13061F0A330719
:10004000230A0000230A0008C404A40400000008D6
:100050006400FF0C30003200300410020600060776
:100060003A0A0606340A2F0A130C3600880C0209D5
:1000700026052F0A130C3600880C02090606410AD1
:0800800026042F0A0300420AC6
:0201FE000000FF
:021FFE00EB0FE7
:00000001FF


Proton ile derlendi, 4 MHz kristalle çalışır, konfigürasyonu programlayıcıdan halledebilirsin.

outlaw57

Cok sey istiyor gibi olmayım ama, bu picin dahili 4mhz osilatörü var
onu kullanabilirmiyiz?

yani kodda onu da ekeleyebilirmisin acaba?
: )

outlaw57

bide configuration word ne olacak?
: )

tyildizak

       Device = 10F204
        Config  INTRC_OSC , CP_ON , WDT_OFF , MCLRE_OFF       
        

:10000000280A76003500FF0CF5010307F601030707
:10001000240A030C3400DF0C0F09030A74003300B8
:10002000E70CF3017402FC0C03071A0AF301030640
:10003000160AF3010000F403160A13061F0A330719
:10004000230A0000230A0008C404A40400000008D6
:100050006400FF0C30003200300410020600060776
:100060003A0A0606340A2F0A130C3600880C0209D5
:1000700026052F0A130C3600880C02090606410AD1
:0800800026042F0A0300420AC6
:0201FE000000FF
:021FFE00E30FEF
:00000001FF


Not: dikkat etmemişim, ilki de intrc_osc imiş, yani kristale gerek yokmuş.

outlaw57

tyildizak,

ilk kodu da kapsayan bir hex dosayası gönderirmisin lütfen

ben pbp kullanıyorum ve onun destegi olmadıgı için hex calısmıyor.

bu arada dahili osilatör frekansı 4mhz olacak.

teşekkürler
: )

outlaw57

: )

OG

Aynı konu için farklı başlıklara gerek yok.  Aşağıdaki kodda saniye değişkeni için 1-65535 arasında istediğin değeri verip derleyebilirsin, örnekteki 5sn.

Derlemeyi de protonu indirip yapabilirsin. Linkleri BURADA var.


Device = 10F204   
Config INTRC_OSC,WDT_ON,MCLRE_OFF,CP_OFF
XTAL = 4
ALL_DIGITAL = TRUE 
TRISIO = %00000001 
GPIO = 0

Dim saniye As Word  
Dim x As Word

Symbol LDR=GPIO.0
Symbol CAK=GPIO.1
Output CAK

loop:
    While LDR=1 'Aydınlık ise 5s sonra yanma
        If LDR=0 Then loop
        
        saniye=5 
        GoSub bekle    'DelayMS 5000

        CAK=1
    Wend

    saniye=5
    GoSub bekle    'Karanlık ise 5s bekle
    
    If LDR=0 Then CAK=0
    GoTo loop

bekle:
    For x=1 To saniye
        DelayMS 1000
    Next
Return
    
End
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

outlaw57

proteus da deniyorum ama watch dog timer expires diyor ve pici resetliyor
yaklasık 2sn de bir?

bunu nasıl çözebiliriz?
: )

OG

Evet Özür,

WDT_ON
değil
WDT_OFF
yapacaksınız, hem de bunun sebebini öğrenmiş oldunuz.
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

Maxim

watch dog kapatılmalı ,gerek yoksa .

WDT_ON yerine WDT_OFF

outlaw57

kapattım ama halaaa aynı hatayı veriyor?
: )

Maxim

Alıntı yapılan: "outlaw57"kapattım ama halaaa aynı hatayı veriyor?

demekki bir şekilde kapanmamış

outlaw57

: )

Maxim

kodun en son halini yazabilirmisin ?