AC Dimmer 12f675 uyarlama sorunu

Başlatan sinby, 12 Temmuz 2018, 14:08:33

sinby

Merhaba arkadaşlar
16f628a da çalıştırdığım kodu 12f675 e uyarladım ancak çalışmadı. gerekli değişiklikleri yaptığımı düşünüyorum ancak bi yerde hata var bulamadım. yardımcı olursanız sevinirim.


@ DEVICE pic12F675                                                   
@ DEVICE pic12F675, WDT_ON             
@ DEVICE pic12F675, PWRT_ON             
@ DEVICE pic12F675, PROTECT_OFF       
@ DEVICE pic12F675, MCLR_OFF           
@ DEVICE pic12F675, INTRC_OSC_NOCLKOUT

DEFINE OSC 4
DEFINE OSCCAL_1K 1
CMCON = 7
ANSEL= 0 ' a/d converter iptali için.
GPIO=0
TRISIO = %00000110


'-------------------------------------------------------------------------------
ON INTERRUPT GoTo KESME   'kesme oluşursa ... adlı etikete git.
'-------------------------------------------------------------------------------
triyak_gecikme  var word
butonsure var word

  x var word
  i var byte
  s var byte
  f var word
  a var byte
  v var word
   
   butonsure=0
   v=0
  f=0
  x=0
  i=2
  s=0
  a=0

symbol role =GPIO.1
symbol TRIYAK=GPIO.5
SYMBOL tetik=GPIO.0
symbol ZERO_CROS=GPIO.2

 
'-------------------------------------------------------------------------------
INTCON =%10100000 

'-------------------------------------------------------------------------------
  PAUSEUS 400
 

   
BASLA:

------

  GOTO BASLA
 
  Disable
  KESME:
  PAUSEUS triyak_gecikme
  High TRIYAK
  PAUSEUS 20
  Low TRIYAK
  INTCON.2=0
  Resume
  Enable

  End

ete

INT kesmesi kullanman gerekirken TMR0 kesmesini aktif etmişsin. (INTCON =%10100000)
Doğru kesme ayarı; INTCON =%10010000 şeklinde olmalı. 16F628A da çalışan programı adapte ettiğine göre bu değerleri neden değiştirdin acaba? Yada onlarda mı yanlış baksan iyi olur.

INT kesmesine bağlı olarak kesme bayrağıda yanlış kullanılmış.
INT kesmesi kesme bayrağı INTCON.1 de yer alır sen ise INTCON.2 yi kullanmışsın.

Dimmer sisteminde INT kesme pininden giren Sıfır noktası yakalama sinyali nin yarattığı kesmelerden yararlanılır.

Ete


sinby

12F675 te sadece TMRO kesmesinin kullanıldığını zannediyordum o nedenle bu değişikliği yaptım. teşekkür ederim ete hocam int kesmesini kullanarak çalıştı.

Powered by EzPortal