Picproje Elektronik Sitesi

DERLEYİCİLER => Diğer Derleyiciler => JAL => Konuyu başlatan: arsima - 10 Mayıs 2007, 22:26:57

Başlık: kesme
Gönderen: arsima - 10 Mayıs 2007, 22:26:57
arkadaşlar jal da kesme işini nasıl yaparız birde 16f628 için bir program yazıcam ama 16f84 de yazdıgım gibi yazsam acaba çalışır mı bir degişiklik olurmu acaba
Başlık: Re: kesme
Gönderen: cikkan - 02 Eylül 2007, 21:16:51
Alıntı yapılan: "arsima"arkadaşlar jal da kesme işini nasıl yaparız birde 16f628 için bir program yazıcam ama 16f84 de yazdıgım gibi yazsam acaba çalışır mı bir degişiklik olurmu acaba
JAL de kesme yapmak için bir alt program yazmalısın ve bu alt programın ilk satırına pragma interrup yazmalısın. Örneğin

procedure kesme_altprg is
pragma interrupt
k = 5
pin_b1 = high
assembler
  bsf status , status_rp0   -- bank 1
  bcf f84_eecon1 , 4        -- eecon1_eeif = false
  bcf status , status_rp0   -- bank 0
end assembler
end procedure


16f84'ün programını 16f628'de yazabilmek için programın balına include 16f628_4 yazmalısın . A portunu kullanacaksan analog karşılaştırıcıyı kapatmalısın.


include 16f628_4
include jlib
include comp

disable_comp -- analog karşılaştırıcıyı kapatır
port_a_direction = all_output
forever loop
 port_a = 0x01
 for 4 loop
   delay_500ms
   port_a = port_a << 1
 end loop
end loop



Ayrıntılı bilgi için

http://www.projearsivim.com/forum/index.php

adresini inceleyebilirsin.