rotary encoder derleme hatası

Başlatan mehmetemin, 06 Eylül 2016, 13:26:16

mehmetemin

Hocalarım; işaretli iki satır derlerken hep hata veriyor , derleyemiyorum. yardımlarınıza şimdiden teşekkürler..

'****************************************************************
'*  Name    : UNTITLED.BAS                                      *
'*  Author  : [select VIEW...EDITOR OPTIONS]                    *
'*  Notice  : Copyright (c) 2006 [select VIEW...EDITOR OPTIONS] *
'*          : All Rights Reserved                               *
'*  Date    : 7/16/2006                                         *
'*  Version : 1.0                                               *
'*  Notes   :                                                   *
'*          :                                                   *
'****************************************************************
@ device 16f628A,  INTRC_OSC_NOCLKOUT, wdt_off, pwrt_on, protect_off,MCLR_off
cmcon=7
TRISA=%11110000
TRISB=%00000000
NEW var byte
OLD VAR BYTE
PERSON VAR WORD
PERSON0 VAR BYTE
PERSON1 VAR BYTE
TEMP VAR BYTE
YON VAR Bit
I VAR BYTE
X VAR BYTE
Z VAR BYTE
LOCK VAR PORTA.5
RESET VAR PORTA.4
CLEAR
READ 5,PERSON0
PAUSE 50
READ 10,PERSON1
PAUSE 50
PERSON =( PERSON1<< 8 )+PERSON0

start:
old = new

loop:
gosub ekran
new.0 =PORTA.7
new.1 =PORTA.6
if new = old then loop 'if not any change then loop
YON = new.0 ^ old.1 'XOR to determine direction
if YON = 1 then left
gosub ekran
goto start

left:
TEMP=TEMP+1
    IF TEMP>3 THEN
        TEMP=0
        PERSON=PERSON+1
        IF PERSON>9999 THEN
            PERSON=9999
        ENDIF
      ENDIF
GOSUB YAZ
gosub ekran
goto start

EKRAN:
IF LOCK=0 THEN
   GOTO EKRAN2
   ELSE
   GOTO EKRAN1
   ENDIF
   RETURN
   
EKRAN2:

      Lookup (PERSON dig (0)),[18,222,67,70,142,38,34,94,2,6],Portb
      PORTA=4 :PAUSE 5 :PORTA=0
      Lookup (PERSON dig (1)),[18,222,67,70,142,38,34,94,2,6],Portb
      PORTA=8 :PAUSE 5 :PORTA=0
      Lookup (PERSON dig (2)),[18,222,67,70,142,38,34,94,2,6],Portb
      PORTA=2 :PAUSE 5 :PORTA=0
      Lookup (PERSON dig (3)),[18,222,67,70,142,38,34,94,2,6],Portb
      PORTA=1 :PAUSE 5 :PORTA=0
     
     
     
IF RESET=0 THEN
PERSON=0
GOSUB YAZ
ENDIF
return

EKRAN1:
PORTB=%11111101
PORTA=4:PORTA=8: PORTA=2: PORTA=1
RETURN

YAZ:
PERSON0=(PERSON & %0000000011111111)
PERSON1=(PERSON & %1111111100000000)
WRITE 5,PERSON0
PAUSE 20
WRITE 10,PERSON1
PAUSE 20
RETURN

END

ete

LOOP kelimesi bir Basic komutunun parçasıdır (DO-LOOP) Basic komut isimleri etiket ve değişken ismi olarak kullanılamazlar. LOOP yerine DONGU yaz. Hata kalmaz.
Ete

Powered by EzPortal