628'de PWM simüslasyon sorunu

Başlatan sezgin05, 19 Nisan 2004, 09:22:57

sezgin05

Ustalar aşağıdaki kodu proteus 6 2.5 de simüle edemiyorum.PWM satırını yazmazsam sorun yok fakat yazarsam % 100  cpu loading oluyor.Ne dersiniz?

@ device pic16f628a, INTRC_OSC_NOCLKOUT, wdt_off, pwrt_on, protect_off,lvp_off 
DEFINE OSC 4



Zero con %01000000 'abcdef 
One con %01111001 'bc 
Two con %00100100 'abdeg 
Three con %00110000 'abcdg 
Four con %00011001 'bcfg 
Five con %00010010 'acdfg 
Six con %00000010 'acdefg 
Seven con %01111000 'abc 
Eight con %00000000 'abcdefg 
Nine con %00011000 'abcfg 

X var byte 
Counter var byte 
PBup var porta.3 
PBdn var porta.4 

DoOnce var bit 
cmcon=7
vrcon=0
Trisa=%11000 
Trisb=%00000000 
porta = 0
portb = 0
DoOnce = 0
Counter = 25

Main: 
   For X = 0 to 2 
      If (PBup = 1) and (DoOnce = 0) then 
         DoOnce = 1 
         Counter = Counter + 1 
      else 
         If (PBdn = 1) and (DoOnce = 0) then 
            DoOnce = 1 
            Counter = Counter - 1 
         endif
      Endif 

      If (PBup = 0) and (PBdn = 0) and (DoOnce = 1) then DoOnce = 0
      
      Lookup (Counter dig (X)),[Zero,One,Two,Three,Four,Five,Six,Seven,Eight,Nine],Portb 
      Lookup X,[1,2,4],Porta 
      Next X 
      pwm portb.7,counter,1000   
Goto Main 

End

sezgin05

Kimse cevap yazmayınca ben de başka bir soru sorayım:
Benim ihtiyacım up down ayarlanabilen bir PWM çıkışı olarak porttan almaktı.Acaba PWM değilde HPWM mi kullanmam gerekiyor.Yardımlarınızı bekliyorum.
Merak ilmin hocasıdır...

Veli B.


sezgin05

Katana ustam bu örneği daha önce incelemiştim.Fakat örnekten anladığım kadarıyla ADC özellikten faydalanmışsın.Ben 628 yada 84 kullanarak yapmak istiyorum.Acaba 84 yada 628 bu büyüklükteki bir kodu kaldıramıyormu?yoksa HPWM yada PWM'yi desteklemiyormu?Çünkü sayıcı olarak bu kod tablosu normal çalışıyor.Fakat PWM yi ekleyince tıkanıyor.

Veli B.

ADC önemli bir durum değil.O an da bir arkadaşa acil lazım olmuştu o yüzden fazla vakit harcamadan onu yapmıştım ama sen istersen pot yerine buton kullanabilirsin.ADC kısmını ise iptal edersin okadar.
84 veya 628 için search code sorunu düşündüğün gibi değil yani bir problem yok ve destek te var.Kendi yazdığın kodları tekrar incelemeni tavsiye ederim.