//************************************************* // REGISTRI 16C84 //************************************************* #byte INDF = 0x00 #byte RTCC = 0x01 #byte TMR0 = 0x01 #byte PCL = 0x02 #byte STATUS = 0x03 #byte FSR = 0x04 #byte PORTA = 0x05 #byte PORT_A = 0x05 #byte PORTB = 0x06 #byte PORT_B = 0x06 #byte RA = 0x05 #byte RB = 0x06 #byte PCLATH = 0x0A #byte INTCON = 0x0B #byte OPTION = 0x81 #byte TRISA = 0x85 #byte TRISB = 0x86 #byte EECON1 = 0x88 #byte EECON2 = 0x89 #byte EEDATA = 0x08 #byte EEADR = 0x09 //register EECON1 #bit EEIF = EECON1.4 #bit WRERR = EECON1.3 #bit WREN = EECON1.2 #bit WR = EECON1.1 #bit RD = EECON1.0 //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 PORTA #bit RA0 = 5.0 #bit RA1 = 5.1 #bit RA2 = 5.2 #bit RA3 = 5.3 #bit RA4 = 5.4 #bit RA5 = 5.5 #bit RA6 = 5.6 #bit RA7 = 5.7 //register PORTB #bit RB0 = 6.0 #bit RB1 = 6.1 #bit RB2 = 6.2 #bit RB3 = 6.3 #bit RB4 = 6.4 #bit RB5 = 6.5 #bit RB6 = 6.6 #bit RB7 = 6.7 //register INTCON #bit GIE = INTCON.7 #bit ADIE = INTCON.6 #bit RTIE = 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 #define RAM_START 0xC0 #define RAM_END 0x4F /*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*/