Pic komut işleme sırası

Başlatan kaganayanoglu, 19 Aralık 2015, 23:46:17

kaganayanoglu

Merhaba,

Aşağıya sorum anlaşılır olsun diye bir kod ekliyorum.

#CONFIG
  __config  _CONFIG1, _INTRC_IO & _WDT_OFF & _PWRTE_OFF & _MCLR_OFF & _BODEN_OFF & _LVP_OFF & _CPD_OFF & _WRT_PROTECT_OFF & _DEBUG_OFF & _CCP1_RB0 & _CP_OFF
  __config  _CONFIG2, _FCMEN_OFF & _IESO_OFF
#ENDCONFIG

DEFINE ADC_BITS 10      ' ADCIN resolution  (Bits)   
DEFINE ADC_CLOCK 3      ' ADC clock source  (Fosc/8)   
DEFINE ADC_SAMPLEUS 20  ' ADC sampling time (uSec)

ANSEL  = %00000010  ' AN1 ANALOG, DİĞERLERİ DİJİTAL 
ADCON1 = %10000000  ' 1024 (10 BİT) hesaplanacak, VREF+AVDD VREF-AVSS
OSCCON = %01101110  ' İNTERNAL OSİLATÖRÜ 4mhz' E AYARLA
   
CMCON  = 7           ' KOMPARATÖRLER KAPALI   
TRISA  = %00000010   ' RA1 GİRİŞ DİĞERLERİ ÇIKIŞ   
TRISB  = %00000000   ' HEPSİ ÇIKIŞ
PORTA  = 0           ' PORTA SIFIRA ÇEK                                                             D
PORTB  = 0           ' PORTB SIFIRA ÇEK
LED_SAG_ARKA    VAR PORTB.4
PAUSE 100


   MAIN:     
        HIGH LED_SAG_ARKA
            PAUSE 500
        low  LED_SAG_ARKA
            pause 500
        HIGH LED_SAG_ARKA
            PAUSE 500
        low  LED_SAG_ARKA
            pause 500
        HIGH LED_SAG_ARKA
            PAUSE 500
        low  LED_SAG_ARKA
                   
'*************************************     
        
        HIGH LED_SAG_ARKA
            PAUSE 2000
        low  LED_SAG_ARKA


Yukarıdaki kodun sonunda "GOTO MAIN" eklenmediği taktirde komutları sırasıyla yürütüp, en son komut bittikten sonra durması gerekmez mi? :o

sadogan

Hayır. Program counter sürekli artmaya devam eder.

kaganayanoglu

#2
Peki bir etiket sonunda picteki programın (enerjisi kesilip yeniden verilinceye kadar) artık durmasını istersek etiket sonuna hangi komutu yazmalıyız. Ya da sonraki satırlara geçmesini istemiyor isek ne yapmalıyız.

EDIT:

İlginize teşekkür ederim. "stop" yazmak yeterli imiş.

Hadi

yine komutu ayni yere gonderen bir GOTO da yazılabilir. bir nevi içi boş sonsuz dongu gibi.

burasi:
       goto burasi

ipek


RaMu

Asm için anlatmıştım ama
picin kodu işleme mantığı bu şekilde:

https://www.picproje.org/index.php?topic=58682.0

https://www.picproje.org/index.php/topic,58392.msg450502.html#msg450502

C, basic vs. derleyicileri biz yazmasakta bir sonsuz döngü oluştururlar
veya oluşturuyorlardır, oluşturuyor olabilirler :)
Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html