16f877A ile enkoder okuma yapan var mi?

Başlatan kont, 04 Temmuz 2016, 19:32:05

kont

Arkadaslar enkode okumaya dair yardimlarnizi bekliyorum . A ve B fazi kulanicam.

sezgin05

Proton da yazıdığım çalışan encoder okuma kodu.Donanımsal POERTB kesmesi ile yapıldı.

Alıntı YapDevice 16F877A
Config  HS_OSC,WDT_Off,PWRTE_On,LVP_Off   
XTAL 20

'*************************************
On_Interrupt rotary
Symbol INTF = INTCON.1        ' RB0 External Interrupt Flag
Symbol INTE = INTCON.4        ' RB0 External Interrupt Enable
Symbol GIE  = INTCON.7

'*************************************
TRISA=%00000000
TRISB=%00000011                'I/O ayarlari
TRISC=%00000000
TRISD=%00000000
TRISE=%00000000
'*************************************
Dim     ENCODE      As Word
'**************************************
PORTA=0
PORTB=0
PORTC=0
PORTD=0
PORTE=0
'**************************************
GoTo over_irq
DelayMS 5
Cls
'***************************************
rotary:
If PORTB.0 = 1 Then
  If PORTB.1 = 1 Then
    Dec ENCODE
    Else                            'Hardware interrupt
    Inc ENCODE
  EndIf
EndIf
INTF=0
Context Restore


over_irq:
GIE  =0
INTE =1
GIE  =1

'***************************************

GOSTER:
........           'Ana ekran rutini
.......
Goto GOSTER
'**************************************
End

kont

Ccs c kullanıyorum ccs c kodu varmı hocam