Imported Upstream version 2.9.0
[debian/cc1111] / device / include / mcs51 / C8051F330.h
1 /*-------------------------------------------------------------------------
2    Register Declarations for the Cygnal/SiLabs C8051F33x Processor Range
3
4    Copyright (C) 2004 - Maarten Brock, sourceforge.brock@dse.nl
5
6    This library is free software; you can redistribute it and/or
7    modify it under the terms of the GNU Lesser General Public
8    License as published by the Free Software Foundation; either
9    version 2.1 of the License, or (at your option) any later version.
10
11    This library is distributed in the hope that it will be useful,
12    but WITHOUT ANY WARRANTY; without even the implied warranty of
13    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14    Lesser General Public License for more details.
15
16    You should have received a copy of the GNU Lesser General Public
17    License along with this library; if not, write to the Free Software
18    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
19 -------------------------------------------------------------------------*/
20
21 #ifndef C8051F330_H
22 #define C8051F330_H
23
24
25 /*  BYTE Registers  */
26
27 __sfr __at (0x80) P0           ;  /* PORT 0                                        */
28 __sfr __at (0x81) SP           ;  /* STACK POINTER                                 */
29 __sfr __at (0x82) DPL          ;  /* DATA POINTER - LOW BYTE                       */
30 __sfr __at (0x83) DPH          ;  /* DATA POINTER - HIGH BYTE                      */
31 __sfr __at (0x87) PCON         ;  /* POWER CONTROL                                 */
32 __sfr __at (0x88) TCON         ;  /* TIMER CONTROL                                 */
33 __sfr __at (0x89) TMOD         ;  /* TIMER MODE                                    */
34 __sfr __at (0x8A) TL0          ;  /* TIMER 0 - LOW BYTE                            */
35 __sfr __at (0x8B) TL1          ;  /* TIMER 1 - LOW BYTE                            */
36 __sfr __at (0x8C) TH0          ;  /* TIMER 0 - HIGH BYTE                           */
37 __sfr __at (0x8D) TH1          ;  /* TIMER 1 - HIGH BYTE                           */
38 __sfr __at (0x8E) CKCON        ;  /* CLOCK CONTROL                                 */
39 __sfr __at (0x8F) PSCTL        ;  /* PROGRAM STORE R/W CONTROL                     */
40 __sfr __at (0x90) P1           ;  /* PORT 1                                        */
41 __sfr __at (0x91) TMR3CN       ;  /* TIMER 3 CONTROL                               */
42 __sfr __at (0x92) TMR3RLL      ;  /* TIMER 3 CAPTURE REGISTER - LOW BYTE           */
43 __sfr __at (0x93) TMR3RLH      ;  /* TIMER 3 CAPTURE REGISTER - HIGH BYTE          */
44 __sfr __at (0x94) TMR3L        ;  /* TIMER 3 - LOW BYTE                            */
45 __sfr __at (0x95) TMR3H        ;  /* TIMER 3 - HIGH BYTE                           */
46 __sfr __at (0x96) IDA0L        ;  /* CURRENT MODE DAC 0 - LOW BYTE                 */
47 __sfr __at (0x97) IDA0H        ;  /* CURRENT MODE DAC 0 - HIGH BYTE                */
48 __sfr __at (0x98) SCON         ;  /* SERIAL PORT CONTROL                           */
49 __sfr __at (0x98) SCON0        ;  /* SERIAL PORT CONTROL                           */
50 __sfr __at (0x99) SBUF         ;  /* SERIAL PORT BUFFER                            */
51 __sfr __at (0x99) SBUF0        ;  /* SERIAL PORT BUFFER                            */
52 __sfr __at (0x9B) CPT0CN       ;  /* COMPARATOR 0 CONTROL                          */
53 __sfr __at (0x9D) CPT0MD       ;  /* COMPARATOR 0 MODE SELECTION                   */
54 __sfr __at (0x9F) CPT0MX       ;  /* COMPARATOR 0 MUX SELECTION                    */
55 __sfr __at (0xA0) P2           ;  /* PORT 2                                        */
56 __sfr __at (0xA1) SPI0CFG      ;  /* SPI0 CONFIGURATION                            */
57 __sfr __at (0xA2) SPI0CKR      ;  /* SPI0 CLOCK RATE CONTROL                       */
58 __sfr __at (0xA3) SPI0DAT      ;  /* SPI0 DATA                                     */
59 __sfr __at (0xA4) P0MDOUT      ;  /* PORT 0 OUTPUT MODE CONFIGURATION              */
60 __sfr __at (0xA5) P1MDOUT      ;  /* PORT 1 OUTPUT MODE CONFIGURATION              */
61 __sfr __at (0xA6) P2MDOUT      ;  /* PORT 2 OUTPUT MODE CONFIGURATION              */
62 __sfr __at (0xA8) IE           ;  /* INTERRUPT ENABLE                              */
63 __sfr __at (0xA9) CLKSEL       ;  /* SYSTEM CLOCK SELECT                           */
64 __sfr __at (0xAA) EMI0CN       ;  /* EXTERNAL MEMORY INTERFACE CONTROL             */
65 __sfr __at (0xAA) _XPAGE       ;  /* XDATA/PDATA PAGE                              */
66 __sfr __at (0xB1) OSCXCN       ;  /* EXTERNAL OSCILLATOR CONTROL                   */
67 __sfr __at (0xB2) OSCICN       ;  /* INTERNAL OSCILLATOR CONTROL                   */
68 __sfr __at (0xB3) OSCICL       ;  /* INTERNAL OSCILLATOR CALIBRATION               */
69 __sfr __at (0xB6) FLSCL        ;  /* FLASH MEMORY TIMING PRESCALER                 */
70 __sfr __at (0xB7) FLKEY        ;  /* FLASH ACESS LIMIT                             */
71 __sfr __at (0xB8) IP           ;  /* INTERRUPT PRIORITY                            */
72 __sfr __at (0xB9) IDA0CN       ;  /* CURRENT MODE DAC 0 - CONTROL                  */
73 __sfr __at (0xBA) AMX0N        ;  /* ADC 0 MUX NEGATIVE CHANNEL SELECTION          */
74 __sfr __at (0xBB) AMX0P        ;  /* ADC 0 MUX POSITIVE CHANNEL SELECTION          */
75 __sfr __at (0xBC) ADC0CF       ;  /* ADC 0 CONFIGURATION                           */
76 __sfr __at (0xBD) ADC0L        ;  /* ADC 0 DATA WORD LSB                           */
77 __sfr __at (0xBE) ADC0H        ;  /* ADC 0 DATA WORD MSB                           */
78 __sfr __at (0xC0) SMB0CN       ;  /* SMBUS CONTROL                                 */
79 __sfr __at (0xC1) SMB0CF       ;  /* SMBUS CONFIGURATION                           */
80 __sfr __at (0xC2) SMB0DAT      ;  /* SMBUS DATA                                    */
81 __sfr __at (0xC3) ADC0GTL      ;  /* ADC 0 GREATER-THAN LOW BYTE                   */
82 __sfr __at (0xC4) ADC0GTH      ;  /* ADC 0 GREATER-THAN HIGH BYTE                  */
83 __sfr __at (0xC5) ADC0LTL      ;  /* ADC 0 LESS-THAN LOW BYTE                      */
84 __sfr __at (0xC6) ADC0LTH      ;  /* ADC 0 LESS-THAN HIGH BYTE                     */
85 __sfr __at (0xC8) T2CON        ;  /* TIMER 2 CONTROL                               */
86 __sfr __at (0xC8) TMR2CN       ;  /* TIMER 2 CONTROL                               */
87 __sfr __at (0xCA) RCAP2L       ;  /* TIMER 2 CAPTURE REGISTER - LOW BYTE           */
88 __sfr __at (0xCA) TMR2RLL      ;  /* TIMER 2 CAPTURE REGISTER - LOW BYTE           */
89 __sfr __at (0xCB) RCAP2H       ;  /* TIMER 2 CAPTURE REGISTER - HIGH BYTE          */
90 __sfr __at (0xCB) TMR2RLH      ;  /* TIMER 2 CAPTURE REGISTER - HIGH BYTE          */
91 __sfr __at (0xCC) TL2          ;  /* TIMER 2 - LOW BYTE                            */
92 __sfr __at (0xCC) TMR2L        ;  /* TIMER 2 - LOW BYTE                            */
93 __sfr __at (0xCD) TH2          ;  /* TIMER 2 - HIGH BYTE                           */
94 __sfr __at (0xCD) TMR2H        ;  /* TIMER 2 - HIGH BYTE                           */
95 __sfr __at (0xD0) PSW          ;  /* PROGRAM STATUS WORD                           */
96 __sfr __at (0xD1) REF0CN       ;  /* VOLTAGE REFERENCE 0 CONTROL                   */
97 __sfr __at (0xD4) P0SKIP       ;  /* PORT 0 SKIP                                   */
98 __sfr __at (0xD5) P1SKIP       ;  /* PORT 1 SKIP                                   */
99 __sfr __at (0xD8) PCA0CN       ;  /* PCA CONTROL                                   */
100 __sfr __at (0xD9) PCA0MD       ;  /* PCA MODE                                      */
101 __sfr __at (0xDA) PCA0CPM0     ;  /* PCA MODULE 0 MODE REGISTER                    */
102 __sfr __at (0xDB) PCA0CPM1     ;  /* PCA MODULE 1 MODE REGISTER                    */
103 __sfr __at (0xDC) PCA0CPM2     ;  /* PCA MODULE 2 MODE REGISTER                    */
104 __sfr __at (0xE0) ACC          ;  /* ACCUMULATOR                                   */
105 __sfr __at (0xE1) XBR0         ;  /* PORT MUX CONFIGURATION REGISTER 0             */
106 __sfr __at (0xE2) XBR1         ;  /* PORT MUX CONFIGURATION REGISTER 1             */
107 __sfr __at (0xE3) OSCLCN       ;  /* LOW-FREQUENCY OSCILLATOR CONTROL              */
108 __sfr __at (0xE4) IT01CF       ;  /* INT0/INT1 CONFIGURATION REGISTER              */
109 __sfr __at (0xE4) INT01CF      ;  /* INT0/INT1 CONFIGURATION REGISTER              */
110 __sfr __at (0xE6) EIE1         ;  /* EXTERNAL INTERRUPT ENABLE 1                   */
111 __sfr __at (0xE8) ADC0CN       ;  /* ADC 0 CONTROL                                 */
112 __sfr __at (0xE9) PCA0CPL1     ;  /* PCA CAPTURE 1 LOW                             */
113 __sfr __at (0xEA) PCA0CPH1     ;  /* PCA CAPTURE 1 HIGH                            */
114 __sfr __at (0xEB) PCA0CPL2     ;  /* PCA CAPTURE 2 LOW                             */
115 __sfr __at (0xEC) PCA0CPH2     ;  /* PCA CAPTURE 2 HIGH                            */
116 __sfr __at (0xEF) RSTSRC       ;  /* RESET SOURCE                                  */
117 __sfr __at (0xF0) B            ;  /* B REGISTER                                    */
118 __sfr __at (0xF1) P0MODE       ;  /* PORT 0 INPUT MODE CONFIGURATION               */
119 __sfr __at (0xF1) P0MDIN       ;  /* PORT 0 INPUT MODE CONFIGURATION               */
120 __sfr __at (0xF2) P1MODE       ;  /* PORT 1 INPUT MODE CONFIGURATION               */
121 __sfr __at (0xF2) P1MDIN       ;  /* PORT 1 INPUT MODE CONFIGURATION               */
122 __sfr __at (0xF6) EIP1         ;  /* EXTERNAL INTERRUPT PRIORITY REGISTER 1        */
123 __sfr __at (0xF8) SPI0CN       ;  /* SPI0 CONTROL                                  */
124 __sfr __at (0xF9) PCA0L        ;  /* PCA COUNTER LOW                               */
125 __sfr __at (0xFA) PCA0H        ;  /* PCA COUNTER HIGH                              */
126 __sfr __at (0xFB) PCA0CPL0     ;  /* PCA CAPTURE 0 LOW                             */
127 __sfr __at (0xFC) PCA0CPH0     ;  /* PCA CAPTURE 0 HIGH                            */
128 __sfr __at (0xFF) VDM0CN       ;  /* VDD MONITOR CONTROL                           */
129
130
131 /*  WORD/DWORD Registers  */
132
133 __sfr16 __at (0x8C8A) TMR0     ;  /* TIMER 0 COUNTER                               */
134 __sfr16 __at (0x8D8B) TMR1     ;  /* TIMER 1 COUNTER                               */
135 __sfr16 __at (0xCDCC) TMR2     ;  /* TIMER 2 COUNTER                               */
136 __sfr16 __at (0xCBCA) RCAP2    ;  /* TIMER 2 CAPTURE REGISTER WORD                 */
137 __sfr16 __at (0xCBCA) TMR2RL   ;  /* TIMER 2 CAPTURE REGISTER WORD                 */
138 __sfr16 __at (0x9594) TMR3     ;  /* TIMER 3 COUNTER                               */
139 __sfr16 __at (0x9392) TMR3RL   ;  /* TIMER 3 CAPTURE REGISTER WORD                 */
140 __sfr16 __at (0x9796) IDA0     ;  /* CURRENT MODE DAC 0 DATA WORD                  */
141 __sfr16 __at (0xBEBD) ADC0     ;  /* ADC 0 DATA WORD                               */
142 __sfr16 __at (0xC4C3) ADC0GT   ;  /* ADC 0 GREATER-THAN REGISTER WORD              */
143 __sfr16 __at (0xC6C5) ADC0LT   ;  /* ADC 0 LESS-THAN REGISTER WORD                 */
144 __sfr16 __at (0xFAF9) PCA0     ;  /* PCA COUNTER                                   */
145 __sfr16 __at (0xFCFB) PCA0CP0  ;  /* PCA CAPTURE 0 WORD                            */
146 __sfr16 __at (0xEAE9) PCA0CP1  ;  /* PCA CAPTURE 1 WORD                            */
147 __sfr16 __at (0xECEB) PCA0CP2  ;  /* PCA CAPTURE 2 WORD                            */
148
149
150 /*  BIT Registers  */
151
152 /*  P0  0x80 */
153 __sbit __at (0x80) P0_0        ;
154 __sbit __at (0x81) P0_1        ;
155 __sbit __at (0x82) P0_2        ;
156 __sbit __at (0x83) P0_3        ;
157 __sbit __at (0x84) P0_4        ;
158 __sbit __at (0x85) P0_5        ;
159 __sbit __at (0x86) P0_6        ;
160 __sbit __at (0x87) P0_7        ;
161
162 /*  TCON  0x88 */
163 __sbit __at (0x88) IT0         ;  /* TCON.0 - EXT. INTERRUPT 0 TYPE                */
164 __sbit __at (0x89) IE0         ;  /* TCON.1 - EXT. INTERRUPT 0 EDGE FLAG           */
165 __sbit __at (0x8A) IT1         ;  /* TCON.2 - EXT. INTERRUPT 1 TYPE                */
166 __sbit __at (0x8B) IE1         ;  /* TCON.3 - EXT. INTERRUPT 1 EDGE FLAG           */
167 __sbit __at (0x8C) TR0         ;  /* TCON.4 - TIMER 0 ON/OFF CONTROL               */
168 __sbit __at (0x8D) TF0         ;  /* TCON.5 - TIMER 0 OVERFLOW FLAG                */
169 __sbit __at (0x8E) TR1         ;  /* TCON.6 - TIMER 1 ON/OFF CONTROL               */
170 __sbit __at (0x8F) TF1         ;  /* TCON.7 - TIMER 1 OVERFLOW FLAG                */
171
172 /*  P1  0x90 */
173 __sbit __at (0x90) P1_0        ;
174 __sbit __at (0x91) P1_1        ;
175 __sbit __at (0x92) P1_2        ;
176 __sbit __at (0x93) P1_3        ;
177 __sbit __at (0x94) P1_4        ;
178 __sbit __at (0x95) P1_5        ;
179 __sbit __at (0x96) P1_6        ;
180 __sbit __at (0x97) P1_7        ;
181
182 /*  SCON  0x98 */
183 __sbit __at (0x98) RI          ;  /* SCON.0 - RECEIVE INTERRUPT FLAG               */
184 __sbit __at (0x98) RI0         ;  /* SCON.0 - RECEIVE INTERRUPT FLAG               */
185 __sbit __at (0x99) TI          ;  /* SCON.1 - TRANSMIT INTERRUPT FLAG              */
186 __sbit __at (0x99) TI0         ;  /* SCON.1 - TRANSMIT INTERRUPT FLAG              */
187 __sbit __at (0x9A) RB8         ;  /* SCON.2 - RECEIVE BIT 8                        */
188 __sbit __at (0x9A) RB80        ;  /* SCON.2 - RECEIVE BIT 8                        */
189 __sbit __at (0x9B) TB8         ;  /* SCON.3 - TRANSMIT BIT 8                       */
190 __sbit __at (0x9B) TB80        ;  /* SCON.3 - TRANSMIT BIT 8                       */
191 __sbit __at (0x9C) REN         ;  /* SCON.4 - RECEIVE ENABLE                       */
192 __sbit __at (0x9C) REN0        ;  /* SCON.4 - RECEIVE ENABLE                       */
193 __sbit __at (0x9D) SM2         ;  /* SCON.5 - MULTIPROCESSOR COMMUNICATION ENABLE  */
194 __sbit __at (0x9D) MCE0        ;  /* SCON.5 - MULTIPROCESSOR COMMUNICATION ENABLE  */
195 __sbit __at (0x9F) SM0         ;  /* SCON.7 - SERIAL MODE CONTROL BIT 0            */
196 __sbit __at (0x9F) S0MODE      ;  /* SCON.7 - SERIAL MODE CONTROL BIT 0            */
197
198 /*  P2  0xA0 */
199 __sbit __at (0xA0) P2_0        ;
200 __sbit __at (0xA1) P2_1        ;
201 __sbit __at (0xA2) P2_2        ;
202 __sbit __at (0xA3) P2_3        ;
203 __sbit __at (0xA4) P2_4        ;
204 __sbit __at (0xA5) P2_5        ;
205 __sbit __at (0xA6) P2_6        ;
206 __sbit __at (0xA7) P2_7        ;
207
208 /*  IE  0xA8 */
209 __sbit __at (0xA8) EX0         ;  /* IE.0 - EXTERNAL INTERRUPT 0 ENABLE            */
210 __sbit __at (0xA9) ET0         ;  /* IE.1 - TIMER 0 INTERRUPT ENABLE               */
211 __sbit __at (0xAA) EX1         ;  /* IE.2 - EXTERNAL INTERRUPT 1 ENABLE            */
212 __sbit __at (0xAB) ET1         ;  /* IE.3 - TIMER 1 INTERRUPT ENABLE               */
213 __sbit __at (0xAC) ES          ;  /* IE.4 - SERIAL PORT INTERRUPT ENABLE           */
214 __sbit __at (0xAC) ES0         ;  /* IE.4 - SERIAL PORT INTERRUPT ENABLE           */
215 __sbit __at (0xAD) ET2         ;  /* IE.5 - TIMER 2 INTERRUPT ENABLE               */
216 __sbit __at (0xAE) ESPI0       ;  /* IE.6 - SPI0 INTERRUPT ENABLE                  */
217 __sbit __at (0xAF) EA          ;  /* IE.7 - GLOBAL INTERRUPT ENABLE                */
218
219 /*  IP  0xB8 */
220 __sbit __at (0xB8) PX0         ;  /* IP.0 - EXTERNAL INTERRUPT 0 PRIORITY          */
221 __sbit __at (0xB9) PT0         ;  /* IP.1 - TIMER 0 PRIORITY                       */
222 __sbit __at (0xBA) PX1         ;  /* IP.2 - EXTERNAL INTERRUPT 1 PRIORITY          */
223 __sbit __at (0xBB) PT1         ;  /* IP.3 - TIMER 1 PRIORITY                       */
224 __sbit __at (0xBC) PS          ;  /* IP.4 - SERIAL PORT PRIORITY                   */
225 __sbit __at (0xBC) PS0         ;  /* IP.4 - SERIAL PORT PRIORITY                   */
226 __sbit __at (0xBD) PT2         ;  /* IP.5 - TIMER 2 PRIORITY                       */
227 __sbit __at (0xBE) PSPI0       ;  /* IP.6 - SPI0 PRIORITY                          */
228
229 /*  SMB0CN  0xC0 */
230 __sbit __at (0xC0) SI          ;  /* SMB0CN.0 - SMBUS 0 INTERRUPT PENDING FLAG     */
231 __sbit __at (0xC1) ACK         ;  /* SMB0CN.1 - SMBUS 0 ACKNOWLEDGE FLAG           */
232 __sbit __at (0xC2) ARBLOST     ;  /* SMB0CN.2 - SMBUS 0 ARBITRATION LOST INDICATOR */
233 __sbit __at (0xC3) ACKRQ       ;  /* SMB0CN.3 - SMBUS 0 ACKNOWLEDGE REQUEST        */
234 __sbit __at (0xC4) STO         ;  /* SMB0CN.4 - SMBUS 0 STOP FLAG                  */
235 __sbit __at (0xC5) STA         ;  /* SMB0CN.5 - SMBUS 0 START FLAG                 */
236 __sbit __at (0xC6) TXMODE      ;  /* SMB0CN.6 - SMBUS 0 TRANSMIT MODE INDICATOR    */
237 __sbit __at (0xC7) MASTER      ;  /* SMB0CN.7 - SMBUS 0 MASTER/SLAVE INDICATOR     */
238
239 /*  TMR2CN  0xC8 */
240 __sbit __at (0xC8) T2XCLK      ;  /* TMR2CN.0 - TIMER 2 EXTERNAL CLOCK SELECT      */
241 __sbit __at (0xCA) TR2         ;  /* TMR2CN.2 - TIMER 2 ON/OFF CONTROL             */
242 __sbit __at (0xCB) T2SPLIT     ;  /* TMR2CN.3 - TIMER 2 SPLIT MODE ENABLE          */
243 __sbit __at (0xCD) TF2CEN      ;  /* TMR2CN.5 - TIMER 2 LOW-FREQ OSC CAPTURE ENABLE*/
244 __sbit __at (0xCD) TF2LEN      ;  /* TMR2CN.5 - TIMER 2 LOW BYTE INTERRUPT ENABLE  */
245 __sbit __at (0xCE) TF2L        ;  /* TMR2CN.6 - TIMER 2 LOW BYTE OVERFLOW FLAG     */
246 __sbit __at (0xCF) TF2         ;  /* TMR2CN.7 - TIMER 2 OVERFLOW FLAG              */
247 __sbit __at (0xCF) TF2H        ;  /* TMR2CN.7 - TIMER 2 HIGH BYTE OVERFLOW FLAG    */
248
249 /*  PSW  0xD0 */
250 __sbit __at (0xD0) PARITY      ;  /* PSW.0 - ACCUMULATOR PARITY FLAG               */
251 __sbit __at (0xD1) F1          ;  /* PSW.1 - FLAG 1                                */
252 __sbit __at (0xD2) OV          ;  /* PSW.2 - OVERFLOW FLAG                         */
253 __sbit __at (0xD3) RS0         ;  /* PSW.3 - REGISTER BANK SELECT 0                */
254 __sbit __at (0xD4) RS1         ;  /* PSW.4 - REGISTER BANK SELECT 1                */
255 __sbit __at (0xD5) F0          ;  /* PSW.5 - FLAG 0                                */
256 __sbit __at (0xD6) AC          ;  /* PSW.6 - AUXILIARY CARRY FLAG                  */
257 __sbit __at (0xD7) CY          ;  /* PSW.7 - CARRY FLAG                            */
258
259 /*  PCA0CN  0xD8 */
260 __sbit __at (0xD8) CCF0        ;  /* PCA0CN.0 - PCA MODULE 0 CAPTURE/COMPARE FLAG  */
261 __sbit __at (0xD9) CCF1        ;  /* PCA0CN.1 - PCA MODULE 1 CAPTURE/COMPARE FLAG  */
262 __sbit __at (0xDA) CCF2        ;  /* PCA0CN.2 - PCA MODULE 2 CAPTURE/COMPARE FLAG  */
263 __sbit __at (0xDE) CR          ;  /* PCA0CN.6 - PCA COUNTER/TIMER RUN CONTROL      */
264 __sbit __at (0xDF) CF          ;  /* PCA0CN.7 - PCA COUNTER/TIMER OVERFLOW FLAG    */
265
266 /*  ADC0CN  0xE8 */
267 __sbit __at (0xE8) AD0CM0      ;  /* ADC0CN.0 - ADC 0 START OF CONV. MODE BIT 0    */
268 __sbit __at (0xE9) AD0CM1      ;  /* ADC0CN.1 - ADC 0 START OF CONV. MODE BIT 1    */
269 __sbit __at (0xEA) AD0CM2      ;  /* ADC0CN.2 - ADC 0 START OF CONV. MODE BIT 2    */
270 __sbit __at (0xEB) AD0WINT     ;  /* ADC0CN.3 - ADC 0 WINDOW COMPARE INT. FLAG     */
271 __sbit __at (0xEC) AD0BUSY     ;  /* ADC0CN.4 - ADC 0 BUSY FLAG                    */
272 __sbit __at (0xED) AD0INT      ;  /* ADC0CN.5 - ADC 0 CONV. COMPLETE INT. FLAG     */
273 __sbit __at (0xEE) AD0TM       ;  /* ADC0CN.6 - ADC 0 TRACK MODE                   */
274 __sbit __at (0xEF) AD0EN       ;  /* ADC0CN.7 - ADC 0 ENABLE                       */
275
276 /*  SPI0CN  0xF8 */
277 __sbit __at (0xF8) SPIEN       ;  /* SPI0CN.0 - SPI0 ENABLE                        */
278 __sbit __at (0xF9) TXBMT       ;  /* SPI0CN.1 - TRANSMIT BUFFER EMPTY              */
279 __sbit __at (0xFA) NSSMD0      ;  /* SPI0CN.2 - SLAVE SELECT MODE BIT 0            */
280 __sbit __at (0xFB) NSSMD1      ;  /* SPI0CN.3 - SLAVE SELECT MODE BIT 1            */
281 __sbit __at (0xFC) RXOVRN      ;  /* SPI0CN.4 - RECEIVE OVERRUN FLAG               */
282 __sbit __at (0xFD) MODF        ;  /* SPI0CN.5 - MODE FAULT FLAG                    */
283 __sbit __at (0xFE) WCOL        ;  /* SPI0CN.6 - WRITE COLLISION FLAG               */
284 __sbit __at (0xFF) SPIF        ;  /* SPI0CN.7 - SPI0 INTERRUPT FLAG                */
285
286
287 /* Predefined SFR Bit Masks */
288
289 #define PCON_IDLE         0x01    /* PCON                                */
290 #define PCON_STOP         0x02    /* PCON                                */
291 #define T1M               0x08    /* CKCON                               */
292 #define PSWE              0x01    /* PSCTL                               */
293 #define PSEE              0x02    /* PSCTL                               */
294 #define ECP0              0x20    /* EIE1                                */
295 #define PORSF             0x02    /* RSTSRC                              */
296 #define SWRSF             0x10    /* RSTSRC                              */
297 #define ECCF              0x01    /* PCA0CPMn                            */
298 #define PWM               0x02    /* PCA0CPMn                            */
299 #define TOG               0x04    /* PCA0CPMn                            */
300 #define MAT               0x08    /* PCA0CPMn                            */
301 #define CAPN              0x10    /* PCA0CPMn                            */
302 #define CAPP              0x20    /* PCA0CPMn                            */
303 #define ECOM              0x40    /* PCA0CPMn                            */
304 #define PWM16             0x80    /* PCA0CPMn                            */
305 #define CP0E              0x10    /* XBR0                                */
306 #define CP0OEN            0x10    /* XBR0                                */
307 #define CP0AE             0x20    /* XBR0                                */
308 #define CP0AOEN           0x20    /* XBR0                                */
309
310 #endif