When I compile MCSP return next error's (compile with MPASM).
PBP 2.50C
Procesor 16F877 @ 20MHz.
ERROR's:
error[128]877 qei.asm 87 : Missing argument(s)
error[118]877 qei.asm 87 : Overwriting previus address contents (2007)
Code:@ __config & _WDT_ON & _PWRTE_OFF & _BODEN_ON & _LVP_OFF & _CP_OFF & _DATA_CP_OFF '@ Device pic16F877, HS_OSC, BOD_ON, PWRT_OFF, WDT_ON, PROTECT_OFF 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 old_val VAR BYTE new_val VAR BYTE direction_bit VAR BIT enc_counter VAR WORD enc_counter = 10000 new_val = PORTB & %00000011 TRISB = %00000011 INCLUDE "DT_INTS-14-0.bas" ' Base Interrupt System INCLUDE "ReEnterPBP-0.bas" ' Include if using PBP interrupts ASM INT_LIST macro ; IntSource, Label, Type, ResetFlag? INT_Handler INT_INT, _QEI, PBP, yes endm INT_CREATE ; Creates the interrupt processor ENDASM @ INT_ENABLE INT_INT ; enable external (INT) interrupts rs232: pause 1 goto rs232 QEI: old_val = new_val new_val = PORTB & %00000011 IF new_val = old_val Then again direction_bit = old_val.bit0 ^ new_val.bit1 IF direction_bit = 1 Then enc_counter = enc_counter + 1 else enc_counter = enc_counter - 1 endif hserout [dec enc_counter] again: @ INT_RETURN
Bookmarks