reg1010.h

00001 /***************************************************************************** 00002 * * 00003 * ********** * 00004 * ************ * 00005 * *** *** * 00006 * *** +++ *** * 00007 * *** + + *** * 00008 * *** + CHIPCON CC1010 * 00009 * *** + + *** HARDWARE REGISTER DEFINITION FILE * 00010 * *** +++ *** * 00011 * *** *** * 00012 * *********** * 00013 * ********* * 00014 * * 00015 ***************************************************************************** 00016 * The Chipcon Hardware Register definition file is a header file defining * 00017 * mnemonic names for CC1010 SFR registers, individually addressable SFR * 00018 * bits and interrupt service routine addresses. * 00019 ***************************************************************************** 00020 * Author: ROH * 00021 ***************************************************************************** 00022 * Revision history: * 00023 * 1.0 2002/04/01 First Public Release * 00024 * * 00025 * $Log: Reg1010.h,v $ 00026 * Revision 1.1 2002/10/14 11:49:08 tos 00027 * Initial version in CVS. 00028 * 00029 * * 00030 ****************************************************************************/ 00031 #ifndef WIN32 00032 #ifndef REG1010_H 00033 00034 #define REG1010_H // Only include this header file once 00035 00036 /* Real clock Timer Control */ 00037 sfr at 0xED RTCON; 00038 00039 /*A/D*/ 00040 sfr at 0x93 ADCON; 00041 sfr at 0x94 ADDATL; 00042 sfr at 0x95 ADDATH; 00043 sfr at 0x96 ADCON2; 00044 sfr at 0x97 ADTRH; 00045 00046 00047 /* Chip version */ 00048 sfr at 0x9F CHVER; 00049 00050 /* Triac */ 00051 sfr at 0x9A TRICON; 00052 sfr at 0x9B TRI3; 00053 sfr at 0x9C TRI2; 00054 sfr at 0x9D TRI1; 00055 sfr at 0x9E TRI0; 00056 00057 /* Flash write */ 00058 sfr at 0xAE FLADR; 00059 sfr at 0xAF FLCON; 00060 sfr at 0xDD FLTIM; 00061 00062 /* SPI */ 00063 sfr at 0xA1 SPCR; 00064 sfr at 0xA2 SPDR; 00065 sfr at 0xA3 SPSR; 00066 00067 /* Timer 2 / 3 */ 00068 sfr at 0xA9 TCON2; 00069 sfr at 0xAA T2PRE; 00070 sfr at 0xAB T3PRE; 00071 sfr at 0xAC T2; 00072 sfr at 0xAD T3; 00073 00074 /* Encryption / decryption initialisation vector */ 00075 sfr at 0xB4 CRPINI0; 00076 sfr at 0xB5 CRPINI1; 00077 sfr at 0xB6 CRPINI2; 00078 sfr at 0xB7 CRPINI3; 00079 sfr at 0xBC CRPINI4; 00080 sfr at 0xBD CRPINI5; 00081 sfr at 0xBE CRPINI6; 00082 sfr at 0xBF CRPINI7; 00083 00084 /* -- RF Control */ 00085 sfr at 0xC2 RFCON; 00086 00087 /* -- Encryption / decryption initialisation vector */ 00088 sfr at 0xC3 CRPCON; 00089 sfr at 0xC4 CRPKEY; 00090 sfr at 0xC5 CRPDAT; 00091 sfr at 0xC6 CRPCNT; 00092 00093 /* -- Main config register */ 00094 sfr at 0xC8 RFMAIN; 00095 00096 /* -- RF Data input / output */ 00097 sfr at 0xC9 RFBUF; 00098 00099 /* -- Frequency multiply registers */ 00100 sfr at 0xCA FREQ_0A; 00101 sfr at 0xCB FREQ_1A; 00102 sfr at 0xCC FREQ_2A; 00103 sfr at 0xCD FREQ_0B; 00104 sfr at 0xCE FREQ_1B; 00105 sfr at 0xCF FREQ_2B; 00106 00107 /* -- Power control */ 00108 sfr at 0xD1 X32CON; 00109 00110 /* -- Watchdog */ 00111 sfr at 0xD2 WDT; 00112 00113 /* -- Preamble */ 00114 sfr at 0xD3 PDET; 00115 sfr at 0xd4 BSYNC; 00116 00117 /* -- Modulator / Demodulator conntrol */ 00118 sfr at 0xD9 MODEM2; 00119 sfr at 0xDA MODEM1; 00120 sfr at 0xDB MODEM0; 00121 00122 /* -- Matching of cap array */ 00123 sfr at 0xDC MATCH; 00124 00125 /* -- Control signals */ 00126 sfr at 0xE1 CURRENT; 00127 sfr at 0xE2 PA_POW; 00128 sfr at 0xE3 PLL; 00129 sfr at 0xE4 LOCK; 00130 sfr at 0xE5 CAL; 00131 sfr at 0xEE FREND; 00132 00133 /* -- Frequency shaping delay */ 00134 sfr at 0xE9 FSDELAY; 00135 00136 /* -- Frequency separation registers */ 00137 sfr at 0xEA FSEP0; 00138 sfr at 0xEB FSEP1; 00139 00140 /* -- Frequency synthesiser control */ 00141 sfr at 0xEC FSCTRL; 00142 00143 /* -- Frequency shaping */ 00144 sfr at 0xF1 FSHAPE7; 00145 sfr at 0xF2 FSHAPE6; 00146 sfr at 0xF3 FSHAPE5; 00147 sfr at 0xF4 FSHAPE4; 00148 sfr at 0xF5 FSHAPE3; 00149 sfr at 0xF6 FSHAPE2; 00150 sfr at 0xF7 FSHAPE1; 00151 00152 /* -- Test and status registers */ 00153 sfr at 0xF9 TEST0; 00154 sfr at 0xFA TEST1; 00155 sfr at 0xFB TEST2; 00156 sfr at 0xFC TEST3; 00157 sfr at 0xFD TEST4; 00158 sfr at 0xFE TEST5; 00159 sfr at 0xFF TEST6; 00160 sfr at 0xEF TESTMUX; 00161 00162 /* The rest! */ 00163 sfr at 0xE0 ACC; 00164 00165 /*Ports*/ 00166 sfr at 0x80 P0; /*Only P0.3 to P0.3 exists*/ 00167 sfr at 0x90 P1; /*P1.0 to P1.7*/ 00168 sfr at 0xA0 P2; 00169 sfr at 0xB0 P3; /*Only P3.0 to P3.5 exists*/ 00170 00171 sfr at 0xA4 P0DIR; 00172 sfr at 0xA5 P1DIR; 00173 sfr at 0xA6 P2DIR; 00174 sfr at 0xA7 P3DIR; 00175 00176 sfr at 0x81 SP; 00177 00178 sfr at 0x82 DPL0; 00179 sfr at 0x83 DPH0; 00180 00181 sfr at 0x84 DPL1; 00182 sfr at 0x85 DPH1; 00183 00184 sfr at 0x86 DPS; 00185 00186 sfr at 0x87 PCON; 00187 sfr at 0x88 TCON; 00188 sfr at 0x89 TMOD; 00189 sfr at 0x8A TL0; 00190 sfr at 0x8B TL1; 00191 sfr at 0x8C TH0; 00192 sfr at 0x8D TH1; 00193 sfr at 0x8E CKCON; 00194 00195 sfr at 0x91 EXIF; 00196 sfr at 0x92 MPAGE; 00197 sfr at 0x98 SCON0; 00198 sfr at 0x99 SBUF0; 00199 sfr at 0xA8 IE; 00200 sfr at 0xB8 IP; 00201 00202 00203 sfr at 0xC0 SCON1; 00204 sfr at 0xC1 SBUF1; 00205 00206 sfr at 0xD0 PSW; 00207 00208 sfr at 0xD8 EICON; 00209 sfr at 0xE8 EIE; 00210 sfr at 0xF0 B; 00211 sfr at 0xF8 EIP; 00212 00213 sfr at 0xC7 RANCON; 00214 sfr at 0xB9 RDATA; 00215 sfr at 0xBA RADRL; 00216 sfr at 0xBB RADRH; 00217 00218 sfr at 0xE6 PRESCALER; 00219 sfr at 0xE7 RESERVED; 00220 00221 00222 /****** BIT accessible Registers ******/ 00223 /*P0*/ 00224 sbit at 0x80^0 P0_0; 00225 sbit at 0x80^1 P0_1; 00226 sbit at 0x80^2 P0_2; 00227 sbit at 0x80^3 P0_3; 00228 00229 sbit at 0x80^2 MI; 00230 sbit at 0x80^1 MO; 00231 sbit at 0x80^0 SCK; 00232 00233 /*P1*/ 00234 sbit at 0x90^0 P1_0; 00235 sbit at 0x90^1 P1_1; 00236 sbit at 0x90^2 P1_2; 00237 sbit at 0x90^3 P1_3; 00238 sbit at 0x90^4 P1_4; 00239 sbit at 0x90^5 P1_5; 00240 sbit at 0x90^6 P1_6; 00241 sbit at 0x90^7 P1_7; 00242 00243 00244 /*P2*/ 00245 sbit at 0xA0^0 P2_0; 00246 sbit at 0xA0^1 P2_1; 00247 sbit at 0xA0^2 P2_2; 00248 sbit at 0xA0^3 P2_3; 00249 sbit at 0xA0^4 P2_4; 00250 sbit at 0xA0^5 P2_5; 00251 sbit at 0xA0^6 P2_6; 00252 sbit at 0xA0^7 P2_7; 00253 00254 sbit at 0xA0^0 RXD1; 00255 sbit at 0xA0^1 TXD1; 00256 sbit at 0xA0^2 ZEROX; 00257 sbit at 0xA0^3 TRIAC; 00258 00259 /*P3 */ 00260 sbit at 0xB0^0 P3_0; 00261 sbit at 0xB0^1 P3_1; 00262 sbit at 0xB0^2 P3_2; 00263 sbit at 0xB0^3 P3_3; 00264 sbit at 0xB0^4 P3_4; 00265 sbit at 0xB0^5 P3_5; 00266 00267 sbit at 0xB0^0 RXD0; 00268 sbit at 0xB0^1 TXD0; 00269 sbit at 0xB0^2 INT0_N; 00270 sbit at 0xB0^3 INT1_N; 00271 sbit at 0xB0^4 T0; 00272 sbit at 0xB0^5 T1; 00273 00274 00275 /* TCON */ 00276 sbit at 0x88^7 TF1; 00277 sbit at 0x88^6 TR1; 00278 sbit at 0x88^5 TF0; 00279 sbit at 0x88^4 TR0; 00280 sbit at 0x88^3 IE1; 00281 sbit at 0x88^2 IT1; 00282 sbit at 0x88^1 IE0; 00283 sbit at 0x88^0 IT0; 00284 00285 /* SCON0 */ 00286 sbit at 0x98^7 SM0_0; 00287 sbit at 0x98^6 SM1_0; 00288 sbit at 0x98^5 SM2_0; 00289 sbit at 0x98^4 REN_0; 00290 sbit at 0x98^3 TB8_0; 00291 sbit at 0x98^2 RB8_0; 00292 sbit at 0x98^1 TI_0; 00293 sbit at 0x98^0 RI_0; 00294 00295 /* SCON1 */ 00296 sbit at 0xC0^7 SM0_1; 00297 sbit at 0xC0^6 SM1_1; 00298 sbit at 0xC0^5 SM2_1; 00299 sbit at 0xC0^4 REN_1; 00300 sbit at 0xC0^3 TB8_1; 00301 sbit at 0xC0^2 RB8_1; 00302 sbit at 0xC0^1 TI_1; 00303 sbit at 0xC0^0 RI_1; 00304 00305 /*IE*/ 00306 sbit at 0xA8^7 EA; 00307 sbit at 0xA8^6 ES1; 00308 sbit at 0xA8^4 ES0; 00309 sbit at 0xA8^3 ET1; 00310 sbit at 0xA8^2 EX1; 00311 sbit at 0xA8^1 ET0; 00312 sbit at 0xA8^0 EX0; 00313 00314 /*IP*/ 00315 sbit at 0xB8^6 PS1; 00316 sbit at 0xB8^4 PS0; 00317 sbit at 0xB8^3 PT1; 00318 sbit at 0xB8^2 PX1; 00319 sbit at 0xB8^1 PT0; 00320 sbit at 0xB8^0 PX0; 00321 00322 00323 /*RFMAIN*/ 00324 sbit at 0xC8^7 RXTX; /*RX/TX switch*/ 00325 sbit at 0xC8^6 F_REG; /*Select the freq registers A or B*/ 00326 sbit at 0xC8^5 RX_PD; /*Select Pwr down for LDA, Mixer, IF, Demulator, RX part of signal interface*/ 00327 sbit at 0xC8^4 TX_PD; /*Select Pwr down for TX part of signal interface and PA*/ 00328 sbit at 0xC8^3 FS_PD; /*Select Pwr down of freq syntesiser*/ 00329 sbit at 0xC8^2 CORE_PD; /*Power down main xtal osc core*/ 00330 sbit at 0xC8^1 BIAS_PD; /* Power down bias current generator and xtal osc buffer*/ 00331 00332 00333 /*PSW*/ 00334 /* PSW */ 00335 sbit at 0xD0^7 CY; 00336 sbit at 0xD0^6 AC; 00337 sbit at 0xD0^5 F0; 00338 sbit at 0xD0^4 RS1; 00339 sbit at 0xD0^3 RS0; 00340 sbit at 0xD0^2 OV; 00341 sbit at 0xD0^1 FL; 00342 sbit at 0xD0^0 P; 00343 00344 /*EICON*/ 00345 sbit at 0xD8^7 SMOD1; 00346 sbit at 0xD8^5 FDIE; 00347 sbit at 0xD8^4 FDIF; 00348 sbit at 0xD8^3 RTCIF; 00349 00350 /*ACC*/ 00351 00352 /*EIE*/ 00353 sbit at 0xE8^4 RTCIE; 00354 sbit at 0xE8^3 ET3; 00355 sbit at 0xE8^2 ADIE; 00356 sbit at 0xE8^1 ET2; 00357 sbit at 0xE8^0 RFIE; 00358 00359 /*B*/ 00360 00361 00362 /*EIP*/ 00363 sbit at 0xF8^4 PRTC; 00364 sbit at 0xF8^3 PT3; 00365 sbit at 0xF8^2 PAD; 00366 sbit at 0xF8^1 PT2; 00367 sbit at 0xF8^0 PRF; 00368 00369 00370 /****Common 8051 SFR registers not previously defined****/ 00371 /* BYTE Register */ 00372 sfr at 0x82 DPL; 00373 sfr at 0x83 DPH; 00374 sfr at 0x98 SCON; 00375 sfr at 0x99 SBUF; 00376 00377 /* BIT Register */ 00378 /* IE */ 00379 sbit at 0xAC ES; 00380 00381 /* IP */ 00382 sbit at 0xBC PS; 00383 00384 /* P3 */ 00385 sbit at 0xB3 INT1; 00386 sbit at 0xB2 INT0; 00387 sbit at 0xB1 TXD; 00388 sbit at 0xB0 RXD; 00389 00390 /* SCON */ 00391 sbit at 0x9F SM0; 00392 sbit at 0x9E SM1; 00393 sbit at 0x9D SM2; 00394 sbit at 0x9C REN; 00395 sbit at 0x9B TB8; 00396 sbit at 0x9A RB8; 00397 sbit at 0x99 TI; 00398 sbit at 0x98 RI; 00399 00400 // ************************* ISR vector addresses **************************** 00401 // Usage example: 00402 // void my_serial_isr() interrupt INUM_UART0 { 00403 // ... 00404 // } 00405 00406 //INUM servicing FLASH DMA write finished / in-circuit debugger (opcode=0xA5) 00407 #define INUM_FLASH 6 00408 00409 //ISR servicing external interrupt 0 00410 #define INUM_INT0 0 00411 #define INUM_EXTERNAL0 0 00412 00413 //ISR servicing timer 0 00414 #define INUM_TIMER0 1 00415 00416 //ISR servicing external interrupt 1 00417 #define INUM_INT1 2 00418 #define INUM_EXTERNAL1 2 00419 00420 //ISR servicing timer 1 00421 #define INUM_TIMER1 3 00422 00423 //ISR servicing serial port 0 00424 #define INUM_SERIAL0 4 00425 #define INUM_UART0 4 00426 #define INUM_UART0_RX 40 // Can not be an ISR 00427 #define INUM_UART0_TX 41 // Can not be an ISR 00428 00429 //ISR servicing serial port 1 00430 #define INUM_SERIAL1 7 00431 #define INUM_UART1 7 00432 #define INUM_UART1_RX 70 // Can not be an ISR 00433 #define INUM_UART1_TX 71 // Can not be an ISR 00434 00435 //ISR servicing RF receive/transmit 00436 #define INUM_RF 8 00437 00438 //ISR servicing timer 2 00439 #define INUM_TIMER2 9 00440 00441 //ISR servicing DES module / ADC 00442 #define INUM_DES_ADC 10 00443 #define INUM_DES 100 // Can not be an ISR 00444 #define INUM_ADC 101 // Can not be an ISR 00445 00446 //ISR servicing timer 3 00447 #define INUM_TIMER3 11 00448 00449 //ISR servicing Realtime clock 00450 #define INUM_RTC 12 00451 00452 #endif //REG1010_H 00453 #endif /*If not WIN32*/ 00454

Generated on Fri Aug 27 10:04:03 2004 for Cheap Sensor Network by doxygen 1.3.8