//************************************************* // REGISTRI 16C63 //************************************************* #byte INDF = 0x00 #byte RTCC = 0x01 #byte TMR0 = 0x01 #byte PCL = 0x02 #byte STATUS = 0x03 #byte FSR = 0x04 #byte PORTA = 0x05 #byte PORTB = 0x06 #byte PORTC = 0x07 #byte PCLATH = 0x0A #byte INTCON = 0x0B #byte OPTION = 0x81 #byte TRISA = 0x85 #byte TRISB = 0x86 #byte TRISC = 0x87 //register STATUS #bit CARRY = 3.0 #bit DCARRY = 3.1 #bit ZERO = 3.2 #bit PD = 3.3 #bit TO = 3.4 #bit PA0 = 3.5 #bit PA1 = 3.6 #bit PA2 = 3.7 #bit RP0 = 3.5 #bit RP1 = 3.6 #bit IRP = 3.7 //?????? //register INTCON #bit GIE = INTCON.7 #bit PEIE = INTCON.6 #bit RTIE = INTCON.5 #bit T0IE = INTCON.5 #bit INTE = INTCON.4 #bit RBIE = INTCON.3 #bit RTIF = INTCON.2 #bit T0IF = INTCON.2 #bit INTF = INTCON.1 #bit RBIF = INTCON.0 /*Makroji za dostop do TRIS bitov preko çtevilk istole§eŸih podatkovnih bitov npr. PIN_A0 ----------------------------------------------------------------*/ #define PORT_ADDR(pin) ((unsigned)(pin)/8) /*iz çtevilke pina izr.naslov porta*/ #define PORT_BIT(pin) ((pin)-PORT_ADDR(pin)*8) /*izr. stevilko bita na portu*/ /*npr bit_set(*(PORT_ADDR(TOUCH_PIN)+0x80),PORT_BIT(TOUCH_PIN)); postavi TRIS bit od TUCH_PINa*/ #define SET_TRIS_BIT(pin) (bit_set(*(PORT_ADDR(pin)+0x80),PORT_BIT(pin))) #define CLEAR_TRIS_BIT(pin) (bit_clear(*(PORT_ADDR(pin)+0x80),PORT_BIT(pin))) /* S.M. 19.3.1999*/