////////////////////////////////////////////////////////////////////////////// ////// DEFINICE REGISTRU PROCESORU PIC16F877 ////// ////////////////////////////////////////////////////////////////////////////////// ////// PEFI S.ICZ a.s 2002 ////// ////// Verze 1.0 ////// ////////////////////////////////////////////////////////////////////////////////// registry v bance 0#define INDF 0x00#define TMR0 0x01#define PCL 0x02#define STATUS 0x03#define FSR 0x04#define PORTA 0x05#define PORTB 0x06#define PORTC 0x07#define PORTD 0x08#define PORTE 0x09#define PCLATH 0x0A#define INTCON 0x0B#define PIR1 0x0C#define PIR2 0x0D#define TMR1L 0x0E#define TMR1H 0x0F#define T1CON 0x10#define TMR2 0x11#define T2CON 0x12#define SSPBUF 0x13#define SSPCON 0x14#define CCPR1L 0x15#define CCPR1H 0x16#define CCP1CON 0x17#define RCSTA 0x18#define TXREG 0x19#define RCREG 0x1A#define CCPR2L 0x1B#define CCPR2H 0x1C#define CCP2CON 0x1D#define ADRESH 0x1E#define ADCON0 0x1F// registry v bance 1#define OPTION 0x81#define TRISA 0x85#define TRISB 0x86#define TRISC 0x87#define TRISD 0x88#define TRISE 0x89#define PIE1 0x8C#define PIE2 0x8D#define PCON 0x8E#define SSPCON2 0x91#define PR2 0x92#define SSPADD 0x93#define SSPSTAT 0x94#define TXSTA 0x98#define SPBRG 0x99#define ADRESL 0x9E#define ADCON1 0x9F// registry v bance 2#define EEDATA 0x10C#define EEADR 0x10D#define EEDATH 0x10E#define EEADRH 0x10F// registry v bance 3#define EECON1 0x18C#define EECON2 0x18D// bity v registru STATUS#define _IRP 7#define _RP1 6#define _RP0 5#define _NOT_TO 4#define _NOT_PD 3#define _Z 2#define _DC 1#define _C 0// bity v registru INTCON#define _GIE 7#define _PEIE 6#define _T0IE 5#define _INTE 4#define _RBIE 3#define _T0IF 2#define _INTF 1#define _RBIF 0// bity v registru PIR1#define _PSPIF 7#define _ADIF 6#define _RCIF 5#define _TXIF 4#define _SSPIF 3#define _CCP1IF 2#define _TMR2IF 1#define _TMR1IF 0// bity v registru PIR2#define _EEIF 4#define _BCLIF 3#define _CCP2IF 0// bity v registru T1CON#define _T1CKPS1 5#define _T1CKPS0 4#define _T1OSCEN 3#define _NOT_T1SYNC 2#define _T1SYNC 2#define _TMR1CS 1#define _TMR1ON 0// bity v registru T2CON#define _TOUTPS3 6#define _TOUTPS2 5#define _TOUTPS1 4#define _TOUTPS0 3#define _TMR2ON 2#define _T2CKPS1 1#define _T2CKPS0 0// bity v registru SSPCON#define _WCOL 7#define _SSPOV 6#define _SSPEN 5#define _CKP 4#define _SSPM3 3#define _SSPM2 2#define _SSPM1 1#define _SSPM0 0// bity v registru CCP1CON#define _CCP1X 5#define _CCP1Y 4#define _CCP1M3 3#define _CCP1M2 2#define _CCP1M1 1#define _CCP1M0 0// bity v registru RCSTA#define _SPEN 7#define _RX9 6#define _SREN 5#define _CREN 4#define _ADDEN 3#define _FERR 2#define _OERR 1#define _RX9D 0// bity registru CCP2CON#define _CCP2X 5#define _CCP2Y 4#define _CCP2M3 3#define _CCP2M2 2#define _CCP2M1 1#define _CCP2M0 0// bity v registru ADCON0#define _ADCS1 7#define _ADCS0 6#define _CHS2 5#define _CHS1 4#define _CHS0 3#define _GO 2#define _NOT_DONE 2#define _GO_DONE 2#define _ADON 0// bity v registru OPTION#define _NOT_RBPU 7#define _INTEDG 6#define _T0CS 5#define _T0SE 4#define _PSA 3#define _PS2 2#define _PS1 1#define _PS0 0// bity v registru TRISE#define _IBF 7#define _OBF 6#define _IBOV 5#define _PSPMODE 4#define _TRISE2 2#define _TRISE1 1#define _TRISE0 0// bity v registru PIE1#define _PSPIE 7#define _ADIE 6#define _RCIE 5#define _TXIE 4#define _SSPIE 3#define _CCP1IE 2#define _TMR2IE 1#define _TMR1IE 0// bity v registru PIE2#define _EEIE 4#define _BCLIE 3#define _CCP2IE 0// bity v registru PCON#define _NOT_POR 1#define _NOT_BOR 0// bity v registu#define _GCEN 7#define _ACKSTAT 6#define _ACKDT 5#define _ACKEN 4#define _RCEN 3#define _PEN 2#define _RSEN 1#define _SEN 0//bity v registru SSPSTAT#define _SMP 7#define _CKE 6#define _D 5#define _I2C_DATA 5#define _NOT_A 5#define _NOT_ADDRESS 5#define _D_A 5#define _DATA_ADDRESS 5#define _P 4#define _I2C_STOP 4#define _S 3#define _I2C_START 3#define _R 2#define _I2C_READ 2#define _NOT_W 2#define _NOT_WRITE 2#define _R_W 2#define _READ_WRITE 2#define _UA 1#define _BF 0// bity v registru TXSTA#define CSRC 7#define TX9 6#define TXEN 5#define SYNC 4#define BRGH 2#define TRMT 2#define TX9D 0// bity v registru ADCON1#define _ADFM 7#define _PCFG3 3#define _PCFG2 2#define _PCFG1 2#define _PCFG0 0// bity v registru EECON1#define _EEPGD 7#define _WRERR 3#define _WREN 2#define _WR 1#define _RD 0// masky pro nastaveni orientace I/O pinu#define PIN0_IN 0x01#define PIN1_IN 0x02#define PIN2_IN 0x04#define PIN3_IN 0x08#define PIN4_IN 0x10#define PIN5_IN 0x20#define PIN6_IN 0x40#define PIN7_IN 0x80#define PIN0_OUT ~0x01#define PIN1_OUT ~0x02#define PIN2_OUT ~0x04#define PIN3_OUT ~0x08#define PIN4_OUT ~0x10#define PIN5_OUT ~0x20#define PIN6_OUT ~0x40#define PIN7_OUT ~0x80