Osilaskobu olan arkadaşlar yardım edebilirmi?

Başlatan dyonizos, 05 Mayıs 2012, 07:42:48

dyonizos

Selamlar arkadaşlar
aşağıdaki kodlarla kamerayı uzaktan kontrol etmeyi başarmıştım.
Bu kodlarda 20mhz kristal kullanmıştım. Ancak şimdi mevcut 4mhz internal kristal kullanmak istiyorum ancak aşağıdaki kodlar doğal olarak gerekli sinyali üretmiyor.
aşağıdaki kodun ürettiği sinyalin aynısı için değerleri nasıl değiştirmem gerekir? Osilaskopta bakıp bu değerleri aynı ozellikte sinyal için nasıl değiştirmem konusunda yardımcı olmanız mümkünmü?

'High cycle 15,0 uS
'Low cycle 15,0 uS
'Photo Bursts 7330,7 uS
'Video Bursts 5360,6 uS   

Device 12F675
Xtal 20

Config CPD_OFF,CP_OFF,BODEN_ON,MCLRE_OFF,PWRTE_ON,WDT_OFF,HS_OSC
Set_OSCCAL

GPIO=%00000000
TRISIO=%00111110
ANSEL =0
CMCON = 7
OPTION_REG.7=0
WPU=%00000110

Dim i As Byte
Dim delayBetweenBursts As Word

Symbol LED =GPIO.0
Symbol Photo = GPIO.1
Symbol Video = GPIO.2


MAIN:

If Photo=0 Then
    delayBetweenBursts=7314 '7330
    LED=0
    GoSub SHOOT    
EndIf

DelayMS 15

If Video=0 Then
    delayBetweenBursts=5344 '5360
    LED=0
    GoSub SHOOT
EndIf

DelayMS 15
GoTo MAIN


SHOOT: 
    For i=0 To 31 
        Toggle LED
        DelayUS 12
        Nop               
    Next
    
   DelayUS delayBetweenBursts

    For i=0 To 31 
        Toggle LED
        DelayUS 12
        Nop              
    Next

delayBetweenBursts=0
Return

M_B

Device 12F675
Xtal 20

kısımdaki Xtal degerini 4 yapıp bir deneme yaparmısınız.
İmkanın sınırlarını görmek için imkansızı denemek lazım.                                                             Fatih Sultan Mehmet

dyonizos

hocam o şekilde çalışıyor ancak delay komutlarında oluşan ufak farklardan dolayı aynı sinyali elde edemiyorum bu nedenle de kamerayı kontrol edemiyorum.

tmhzkhzhz

iyi gunler

dahili osc yanlis bilmiyorsam %10 hata ile calisir belkide degeri yanlis biliyorumdur fakat kristal gibi olmaz isi farkliligindan cabuk etkilenir

onerilerim

kullandiginiz programlama dili proton basic eski versiyonunda yoktu fakat yeni versiyonunda artik delaycs komutu var osc/4 zamanda olusan

1 birim kadar hassas delay yazabiliyorsunuz  eski versiyon kullaniyorsaniz asm  nop  end asm  gibi komut setini kullanarak olusturun

ve yukaridaki olcude ki gibi bir birim hasssa zaman olusturun ve bunu bir dongu icinde itediginiz gibi kullanin

delayms deki ayarlamalarda sifirdan uretmenize gerek yok istediginiz degerin biraz altinda delayms veya delayus komutunu yazin ustunu
yukaridaki sistemle hassas olarak tamamlayin

ayrica 12f 675 in dahili osilatoru icin osccal registeri ile frekansi biraz asagi yukari kaydirma ayari vardir


tmhzkhzhz

tekrar iyi gunler

Osilaskobu nuz yoksa aramaniza gerek yok isis de modeli var gercek zamandaki degerleri programinizda ayar yaparken bilgisayarinizda
gorebilirsiniz