/*-------------------------------------------------------------------------- * reg9e5.h * * Keil C51 header file for the Nordic VLSI nRF9E5 433-968MHz RF transceiver * with embedded 8051 compatible microcontroller. * * $Revision: 2 $ * *------------------------------------------------------------------------*/ #ifndef __REG9E5_H__ #define __REG9E5_H__ /* BYTE Registers */ sfr P0 = 0x80; sfr SP = 0x81; sfr DPL = 0x82; sfr DPH = 0x83; sfr DPL1 = 0x84; sfr DPH1 = 0x85; sfr DPS = 0x86; sfr PCON = 0x87; sfr TCON = 0x88; sfr TMOD = 0x89; sfr TL0 = 0x8A; sfr TL1 = 0x8B; sfr TH0 = 0x8C; sfr TH1 = 0x8D; sfr CKCON = 0x8E; sfr P1 = 0x90; sfr EXIF = 0x91; sfr MPAGE = 0x92; sfr SCON = 0x98; sfr SBUF = 0x99; sfr IE = 0xA8; sfr IP = 0xB8; sfr T2CON = 0xC8; sfr RCAP2L = 0xCA; sfr RCAP2H = 0xCB; sfr TL2 = 0xCC; sfr TH2 = 0xCD; sfr PSW = 0xD0; sfr EICON = 0xD8; sfr ACC = 0xE0; sfr B = 0xF0; sfr EIE = 0xE8; sfr EIP = 0xF8; sfr P0_DRV = 0x93; sfr P0_DIR = 0x94; sfr P0_ALT = 0x95; sfr P1_DIR = 0x96; sfr P1_ALT = 0x97; sfr P2 = 0xA0; sfr PWMCON = 0xA9; sfr PWMDUTY = 0xAA; sfr REGX_MSB = 0xAB; sfr REGX_LSB = 0xAC; sfr REGX_CTRL = 0xAD; sfr RSTREAS = 0xB1; sfr SPI_DATA = 0xB2; sfr SPI_CTRL = 0xB3; sfr SPICLK = 0xB4; sfr TICK_DV = 0xB5; sfr CK_CTRL = 0xB6; sfr CKLFCON = 0xBF; /* BIT Registers */ /* PSW */ sbit CY = PSW^7; sbit AC = PSW^6; sbit F0 = PSW^5; sbit RS1 = PSW^4; sbit RS0 = PSW^3; sbit OV = PSW^2; sbit F1 = PSW^1; sbit P = PSW^0; /* TCON */ sbit TF1 = TCON^7; sbit TR1 = TCON^6; sbit TF0 = TCON^5; sbit TR0 = TCON^4; sbit IE1 = TCON^3; sbit IT1 = TCON^2; sbit IE0 = TCON^1; sbit IT0 = TCON^0; /* IE */ sbit EA = IE^7; sbit ET2 = IE^5; sbit ES = IE^4; sbit ET1 = IE^3; sbit EX1 = IE^2; sbit ET0 = IE^1; sbit EX0 = IE^0; /* IP */ sbit PT2 = IP^5; sbit PS = IP^4; sbit PT1 = IP^3; sbit PX1 = IP^2; sbit PT0 = IP^1; sbit PX0 = IP^0; /* P0 */ sbit T1 = P0^6; sbit T0 = P0^5; sbit INT1 = P0^4; sbit INT0 = P0^3; /* P1 */ sbit T2 = P1^0; sbit EECSN = P1^3; /* SCON */ sbit SM0 = SCON^7; sbit SM1 = SCON^6; sbit SM2 = SCON^5; sbit REN = SCON^4; sbit TB8 = SCON^3; sbit RB8 = SCON^2; sbit TI = SCON^1; sbit RI = SCON^0; /* T2CON */ sbit TF2 = T2CON^7; sbit EXF2 = T2CON^6; sbit RCLK = T2CON^5; sbit TCLK = T2CON^4; sbit EXEN2 = T2CON^3; sbit TR2 = T2CON^2; sbit C_T2 = T2CON^1; sbit CP_RL2 = T2CON^0; /* EICON */ sbit SMOD1 = EICON^7; sbit WDTI = EICON^3; /* EIE */ sbit EWDI = EIE^4; sbit EX5 = EIE^3; sbit EX4 = EIE^2; sbit EX3 = EIE^1; sbit EX2 = EIE^0; /* EIP */ sbit PWDI = EIP^4; sbit PX5 = EIP^3; sbit PX4 = EIP^2; sbit PX3 = EIP^1; sbit PX2 = EIP^0; /* RADIO Port (P2) */ sbit SPI_SCK = P2^0; sbit SPI_MOSI = P2^1; sbit RACSN = P2^3; sbit TXEN = P2^4; sbit TRX_CE = P2^5; sbit SPI_MISO = P2^2; sbit EOC = P2^4; sbit DR = P2^5; sbit CD = P2^6; sbit AM = P2^7; sbit P00 = P0^0; sbit P01 = P0^1; sbit P02 = P0^2; sbit P03 = P0^3; sbit P04 = P0^4; sbit P05 = P0^5; sbit P06 = P0^6; sbit P07 = P0^7; // SPI Commands #define WRC 0x00 //W_RF_CONFIG #define RRC 0x10 //R_RF_CONFIG #define WTP 0x20 //W_TX_PAYLOAD #define RTP 0x21 //R_TX_PAYLOAD #define WTA 0x22 //W_TX_ADDRESS #define RTA 0x23 //R_TX_ADDRESS #define RRP 0x24 //R_RX_PAYLOAD #define RAD 0x40 //R_ADC_DATA #define WAC 0x44 //W_ADC_CONFIG #define RAC 0x46 //R_ADC_CONFIG #define WTU 0x50 //W_TEST_UNLOCK (use with data A5) #define WTR 0x52 //W_TEST_REGISTER #define RTR 0x53 //R_TEST_REGISTER #define CC 0x80 //CHANNEL_CONFIG #define SAV 0xC0 //START_ADC_CONV #define NOP 0xFF //NO_OP #endif