These code count pulses from one pin of quadrature encoder good and fast.
It use RB0 INT very good.
Now I need idea to implement full reading quadrature encoder A and B inputs with count of pulses and direction indication..
Encoder is with 500 pulses per full revolution.
How - need idea..?
Procesor 16F877 @ 20MHz
Regards RobertCode:define OSC 20 DEFINE HSER_RCSTA 90h ' Enable serial port & continuous receive DEFINE HSER_TXSTA 24h ' Enable transmit, BRGH = 1 DEFINE HSER_SPBRG 64 ' 19200 Baud @ 20MHz, 0.16% DEFINE HSER_CLROERR 1 ' Clear overflow automatically ADCON1 = 7 TRISB = %00000011 a var word a = 0 INTCON = %10010000 ; Enable INTE RB0 interrupt $90 INCLUDE "DT_INTS-14.bas" INCLUDE "ReEnterPBP.bas" ASM INT_LIST macro ; IntSource, Label, Type, ResetFlag? INT_Handler INT_INT, _TEST, PBP, yes endm INT_CREATE ; Creates the interrupt processor ENDASM Main: if a >= 5000 then a = 0 endif hserout [ dec a ] pause 100 GOTO Main '---[INT_INT - interrupt handler]------------------------------------------ TEST: a = a + 1 @ INT_RETURN![]()






Bookmarks