60cf154611909a2db8ca61dced3e32bf8b10125c
[fw/sdcc] / device / include / mcs51 / c8051f350.h
1 /*-------------------------------------------------------------------------
2    Register Declarations for the SiLabs C8051F35x 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 C8051F350_H
22 #define C8051F350_H
23
24
25 /*  BYTE Registers  */
26 sfr at 0x80 P0       ;  /* PORT 0                                        */
27 sfr at 0x81 SP       ;  /* STACK POINTER                                 */
28 sfr at 0x82 DPL      ;  /* DATA POINTER - LOW BYTE                       */
29 sfr at 0x83 DPH      ;  /* DATA POINTER - HIGH BYTE                      */
30 sfr at 0x87 PCON     ;  /* POWER CONTROL                                 */
31 sfr at 0x88 TCON     ;  /* TIMER CONTROL                                 */
32 sfr at 0x89 TMOD     ;  /* TIMER MODE                                    */
33 sfr at 0x8A TL0      ;  /* TIMER 0 - LOW BYTE                            */
34 sfr at 0x8B TL1      ;  /* TIMER 1 - LOW BYTE                            */
35 sfr at 0x8C TH0      ;  /* TIMER 0 - HIGH BYTE                           */
36 sfr at 0x8D TH1      ;  /* TIMER 1 - HIGH BYTE                           */
37 sfr at 0x8E CKCON    ;  /* CLOCK CONTROL                                 */
38 sfr at 0x8F PSCTL    ;  /* PROGRAM STORE R/W CONTROL                     */
39 sfr at 0x90 P1       ;  /* PORT 1                                        */
40 sfr at 0x91 TMR3CN   ;  /* TIMER 3 CONTROL                               */
41 sfr at 0x92 TMR3RLL  ;  /* TIMER 3 CAPTURE REGISTER - LOW BYTE           */
42 sfr at 0x93 TMR3RLH  ;  /* TIMER 3 CAPTURE REGISTER - HIGH BYTE          */
43 sfr at 0x94 TMR3L    ;  /* TIMER 3 - LOW BYTE                            */
44 sfr at 0x95 TMR3H    ;  /* TIMER 3 - HIGH BYTE                           */
45 sfr at 0x96 IDA0     ;  /* CURRENT MODE DAC 0                            */
46 sfr at 0x98 SCON     ;  /* SERIAL PORT CONTROL                           */
47 sfr at 0x98 SCON0    ;  /* SERIAL PORT CONTROL                           */
48 sfr at 0x99 SBUF     ;  /* SERIAL PORT BUFFER                            */
49 sfr at 0x99 SBUF0    ;  /* SERIAL PORT BUFFER                            */
50 sfr at 0x9A ADC0DECL ;  /* ADC DECIMATION LOW                            */
51 sfr at 0x9B ADC0DECH ;  /* ADC DECIMATION HIGH                           */
52 sfr at 0x9C 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 0xAB ADC0CGL  ;  /* ADC 0 GAIN CALIBRATION LOW                    */
67 sfr at 0xAC ADC0CGM  ;  /* ADC 0 GAIN CALIBRATION MIDDLE                 */
68 sfr at 0xAD ADC0CGH  ;  /* ADC 0 GAIN CALIBRATION HIGH                   */
69 sfr at 0xB1 OSCXCN   ;  /* EXTERNAL OSCILLATOR CONTROL                   */
70 sfr at 0xB2 OSCICN   ;  /* INTERNAL OSCILLATOR CONTROL                   */
71 sfr at 0xB3 OSCICL   ;  /* INTERNAL OSCILLATOR CALIBRATION               */
72 sfr at 0xB6 FLSCL    ;  /* FLASH MEMORY TIMING PRESCALER                 */
73 sfr at 0xB7 FLKEY    ;  /* FLASH ACESS LIMIT                             */
74 sfr at 0xB8 IP       ;  /* INTERRUPT PRIORITY                            */
75 sfr at 0xB9 IDA0CN   ;  /* CURRENT MODE DAC 0 - CONTROL                  */
76 sfr at 0xBA ADC0COL  ;  /* ADC 0 OFFSET CALIBRATION LOW                  */
77 sfr at 0xBB ADC0COM  ;  /* ADC 0 OFFSET CALIBRATION MIDDLE               */
78 sfr at 0xBC ADC0COH  ;  /* ADC 0 OFFSET CALIBRATION HIGH                 */
79 sfr at 0xBD ADC0BUF  ;  /* ADC 0 BUFFER CONTROL                          */
80 sfr at 0xBE CLKMUL   ;  /* CLOCK MULTIPLIER                              */
81 sfr at 0xBF ADC0DAC  ;  /* ADC 0 OFFSET DAC                              */
82 sfr at 0xC0 SMB0CN   ;  /* SMBUS CONTROL                                 */
83 sfr at 0xC1 SMB0CF   ;  /* SMBUS CONFIGURATION                           */
84 sfr at 0xC2 SMB0DAT  ;  /* SMBUS DATA                                    */
85 sfr at 0xC3 ADC0L    ;  /* ADC 0 OUTPUT LOW BYTE                         */
86 sfr at 0xC4 ADC0M    ;  /* ADC 0 OUTPUT MIDDLE BYTE                      */
87 sfr at 0xC5 ADC0H    ;  /* ADC 0 OUTPUT HIGH BYTE                        */
88 sfr at 0xC6 ADC0MUX  ;  /* ADC 0 MULTIPLEXER                             */
89 sfr at 0xC8 T2CON    ;  /* TIMER 2 CONTROL                               */
90 sfr at 0xC8 TMR2CN   ;  /* TIMER 2 CONTROL                               */
91 sfr at 0xCA RCAP2L   ;  /* TIMER 2 CAPTURE REGISTER - LOW BYTE           */
92 sfr at 0xCA TMR2RLL  ;  /* TIMER 2 CAPTURE REGISTER - LOW BYTE           */
93 sfr at 0xCB RCAP2H   ;  /* TIMER 2 CAPTURE REGISTER - HIGH BYTE          */
94 sfr at 0xCB TMR2RLH  ;  /* TIMER 2 CAPTURE REGISTER - HIGH BYTE          */
95 sfr at 0xCC TL2      ;  /* TIMER 2 - LOW BYTE                            */
96 sfr at 0xCC TMR2L    ;  /* TIMER 2 - LOW BYTE                            */
97 sfr at 0xCD TH2      ;  /* TIMER 2 - HIGH BYTE                           */
98 sfr at 0xCD TMR2H    ;  /* TIMER 2 - HIGH BYTE                           */
99 sfr at 0xD0 PSW      ;  /* PROGRAM STATUS WORD                           */
100 sfr at 0xD1 REF0CN   ;  /* VOLTAGE REFERENCE 0 CONTROL                   */
101 sfr at 0xD4 P0SKIP   ;  /* PORT 0 SKIP                                   */
102 sfr at 0xD5 P1SKIP   ;  /* PORT 1 SKIP                                   */
103 sfr at 0xD7 IDA1CN   ;  /* CURRENT MODE DAC 1 - CONTROL                  */
104 sfr at 0xD8 PCA0CN   ;  /* PCA CONTROL                                   */
105 sfr at 0xD9 PCA0MD   ;  /* PCA MODE                                      */
106 sfr at 0xDA PCA0CPM0 ;  /* PCA MODULE 0 MODE REGISTER                    */
107 sfr at 0xDB PCA0CPM1 ;  /* PCA MODULE 1 MODE REGISTER                    */
108 sfr at 0xDC PCA0CPM2 ;  /* PCA MODULE 2 MODE REGISTER                    */
109 sfr at 0xDD IDA1     ;  /* CURRENT MODE DAC 1                            */
110 sfr at 0xE0 ACC      ;  /* ACCUMULATOR                                   */
111 sfr at 0xE1 XBR0     ;  /* PORT MUX CONFIGURATION REGISTER 0             */
112 sfr at 0xE2 XBR1     ;  /* PORT MUX CONFIGURATION REGISTER 1             */
113 sfr at 0xE3 PFE0CN   ;  /* PREFETCH ENGINE CONTROL                       */
114 sfr at 0xE4 IT01CF   ;  /* INT0/INT1 CONFIGURATION REGISTER              */
115 sfr at 0xE4 INT01CF  ;  /* INT0/INT1 CONFIGURATION REGISTER              */
116 sfr at 0xE6 EIE1     ;  /* EXTERNAL INTERRUPT ENABLE 1                   */
117 sfr at 0xE8 ADC0STA  ;  /* ADC 0 STATUS                                  */
118 sfr at 0xE9 PCA0CPL0 ;  /* PCA CAPTURE 0 LOW                             */
119 sfr at 0xEA PCA0CPH0 ;  /* PCA CAPTURE 0 HIGH                            */
120 sfr at 0xEB PCA0CPL1 ;  /* PCA CAPTURE 1 LOW                             */
121 sfr at 0xEC PCA0CPH1 ;  /* PCA CAPTURE 1 HIGH                            */
122 sfr at 0xED PCA0CPL2 ;  /* PCA CAPTURE 2 LOW                             */
123 sfr at 0xEE PCA0CPH2 ;  /* PCA CAPTURE 2 HIGH                            */
124 sfr at 0xEF RSTSRC   ;  /* RESET SOURCE                                  */
125 sfr at 0xF0 B        ;  /* B REGISTER                                    */
126 sfr at 0xF1 P0MODE   ;  /* PORT 0 INPUT MODE CONFIGURATION               */
127 sfr at 0xF1 P0MDIN   ;  /* PORT 0 INPUT MODE CONFIGURATION               */
128 sfr at 0xF2 P1MODE   ;  /* PORT 1 INPUT MODE CONFIGURATION               */
129 sfr at 0xF2 P1MDIN   ;  /* PORT 1 INPUT MODE CONFIGURATION               */
130 sfr at 0xF3 ADC0MD   ;  /* ADC 0 MODE                                    */
131 sfr at 0xF4 ADC0CN   ;  /* ADC 0 CONTROL                                 */
132 sfr at 0xF6 EIP1     ;  /* EXTERNAL INTERRUPT PRIORITY REGISTER 1        */
133 sfr at 0xF7 ADC0CLK  ;  /* ADC 0 CLOCK                                   */
134 sfr at 0xF8 SPI0CN   ;  /* SPI0 CONTROL                                  */
135 sfr at 0xF9 PCA0L    ;  /* PCA COUNTER LOW                               */
136 sfr at 0xFA PCA0H    ;  /* PCA COUNTER HIGH                              */
137 sfr at 0xFB ADC0CF   ;  /* ADC 0 CONFIGURATION                           */
138 sfr at 0xFC ADC0FL   ;  /* ADC 0 FAST FILTER OUTPUT LOW                  */
139 sfr at 0xFD ADC0FM   ;  /* ADC 0 FAST FILTER OUTPUT MIDDLE               */
140 sfr at 0xFE ADC0FH   ;  /* ADC 0 FAST FILTER OUTPUT HIGH                 */
141 sfr at 0xFF VDM0CN   ;  /* VDD MONITOR CONTROL                           */
142
143
144 /*  BIT Registers  */
145
146 /*  P0  0x80 */
147 sbit at 0x80 P0_0    ;
148 sbit at 0x81 P0_1    ;
149 sbit at 0x82 P0_2    ;
150 sbit at 0x83 P0_3    ;
151 sbit at 0x84 P0_4    ;
152 sbit at 0x85 P0_5    ;
153 sbit at 0x86 P0_6    ;
154 sbit at 0x87 P0_7    ;
155
156 /*  TCON  0x88 */
157 sbit at 0x88 IT0     ;  /* TCON.0 - EXT. INTERRUPT 0 TYPE                */
158 sbit at 0x89 IE0     ;  /* TCON.1 - EXT. INTERRUPT 0 EDGE FLAG           */
159 sbit at 0x8A IT1     ;  /* TCON.2 - EXT. INTERRUPT 1 TYPE                */
160 sbit at 0x8B IE1     ;  /* TCON.3 - EXT. INTERRUPT 1 EDGE FLAG           */
161 sbit at 0x8C TR0     ;  /* TCON.4 - TIMER 0 ON/OFF CONTROL               */
162 sbit at 0x8D TF0     ;  /* TCON.5 - TIMER 0 OVERFLOW FLAG                */
163 sbit at 0x8E TR1     ;  /* TCON.6 - TIMER 1 ON/OFF CONTROL               */
164 sbit at 0x8F TF1     ;  /* TCON.7 - TIMER 1 OVERFLOW FLAG                */
165
166 /*  P1  0x90 */
167 sbit at 0x90 P1_0    ;
168 sbit at 0x91 P1_1    ;
169 sbit at 0x92 P1_2    ;
170 sbit at 0x93 P1_3    ;
171 sbit at 0x94 P1_4    ;
172 sbit at 0x95 P1_5    ;
173 sbit at 0x96 P1_6    ;
174 sbit at 0x97 P1_7    ;
175
176 /*  SCON  0x98 */
177 sbit at 0x98 RI      ;  /* SCON.0 - RECEIVE INTERRUPT FLAG               */
178 sbit at 0x98 RI0     ;  /* SCON.0 - RECEIVE INTERRUPT FLAG               */
179 sbit at 0x99 TI      ;  /* SCON.1 - TRANSMIT INTERRUPT FLAG              */
180 sbit at 0x99 TI0     ;  /* SCON.1 - TRANSMIT INTERRUPT FLAG              */
181 sbit at 0x9A RB8     ;  /* SCON.2 - RECEIVE BIT 8                        */
182 sbit at 0x9A RB80    ;  /* SCON.2 - RECEIVE BIT 8                        */
183 sbit at 0x9B TB8     ;  /* SCON.3 - TRANSMIT BIT 8                       */
184 sbit at 0x9B TB80    ;  /* SCON.3 - TRANSMIT BIT 8                       */
185 sbit at 0x9C REN     ;  /* SCON.4 - RECEIVE ENABLE                       */
186 sbit at 0x9C REN0    ;  /* SCON.4 - RECEIVE ENABLE                       */
187 sbit at 0x9D SM2     ;  /* SCON.5 - MULTIPROCESSOR COMMUNICATION ENABLE  */
188 sbit at 0x9D MCE0    ;  /* SCON.5 - MULTIPROCESSOR COMMUNICATION ENABLE  */
189 sbit at 0x9F SM0     ;  /* SCON.7 - SERIAL MODE CONTROL BIT 0            */
190 sbit at 0x9F S0MODE  ;  /* SCON.7 - SERIAL MODE CONTROL BIT 0            */
191
192 /*  P2  0xA0 */
193 sbit at 0xA0 P2_0    ;
194 sbit at 0xA1 P2_1    ;
195 sbit at 0xA2 P2_2    ;
196 sbit at 0xA3 P2_3    ;
197 sbit at 0xA4 P2_4    ;
198 sbit at 0xA5 P2_5    ;
199 sbit at 0xA6 P2_6    ;
200 sbit at 0xA7 P2_7    ;
201
202 /*  IE  0xA8 */
203 sbit at 0xA8 EX0     ;  /* IE.0 - EXTERNAL INTERRUPT 0 ENABLE            */
204 sbit at 0xA9 ET0     ;  /* IE.1 - TIMER 0 INTERRUPT ENABLE               */
205 sbit at 0xAA EX1     ;  /* IE.2 - EXTERNAL INTERRUPT 1 ENABLE            */
206 sbit at 0xAB ET1     ;  /* IE.3 - TIMER 1 INTERRUPT ENABLE               */
207 sbit at 0xAC ES      ;  /* IE.4 - SERIAL PORT INTERRUPT ENABLE           */
208 sbit at 0xAC ES0     ;  /* IE.4 - SERIAL PORT INTERRUPT ENABLE           */
209 sbit at 0xAD ET2     ;  /* IE.5 - TIMER 2 INTERRUPT ENABLE               */
210 sbit at 0xAE ESPI0   ;  /* IE.6 - SPI0 INTERRUPT ENABLE                  */
211 sbit at 0xAF EA      ;  /* IE.7 - GLOBAL INTERRUPT ENABLE                */
212
213 /*  IP  0xB8 */
214 sbit at 0xB8 PX0     ;  /* IP.0 - EXTERNAL INTERRUPT 0 PRIORITY          */
215 sbit at 0xB9 PT0     ;  /* IP.1 - TIMER 0 PRIORITY                       */
216 sbit at 0xBA PX1     ;  /* IP.2 - EXTERNAL INTERRUPT 1 PRIORITY          */
217 sbit at 0xBB PT1     ;  /* IP.3 - TIMER 1 PRIORITY                       */
218 sbit at 0xBC PS      ;  /* IP.4 - SERIAL PORT PRIORITY                   */
219 sbit at 0xBC PS0     ;  /* IP.4 - SERIAL PORT PRIORITY                   */
220 sbit at 0xBD PT2     ;  /* IP.5 - TIMER 2 PRIORITY                       */
221 sbit at 0xBE PSPI0   ;  /* IP.6 - SPI0 PRIORITY                          */
222
223 /*  SMB0CN  0xC0 */
224 sbit at 0xC0 SI      ;  /* SMB0CN.0 - SMBUS 0 INTERRUPT PENDING FLAG     */
225 sbit at 0xC1 ACK     ;  /* SMB0CN.1 - SMBUS 0 ACKNOWLEDGE FLAG           */
226 sbit at 0xC2 ARBLOST ;  /* SMB0CN.2 - SMBUS 0 ARBITRATION LOST INDICATOR */
227 sbit at 0xC3 ACKRQ   ;  /* SMB0CN.3 - SMBUS 0 ACKNOWLEDGE REQUEST        */
228 sbit at 0xC4 STO     ;  /* SMB0CN.4 - SMBUS 0 STOP FLAG                  */
229 sbit at 0xC5 STA     ;  /* SMB0CN.5 - SMBUS 0 START FLAG                 */
230 sbit at 0xC6 TXMODE  ;  /* SMB0CN.6 - SMBUS 0 TRANSMIT MODE INDICATOR    */
231 sbit at 0xC7 MASTER  ;  /* SMB0CN.7 - SMBUS 0 MASTER/SLAVE INDICATOR     */
232
233 /*  TMR2CN  0xC8 */
234 sbit at 0xC8 T2XCLK  ;  /* TMR2CN.0 - TIMER 2 EXTERNAL CLOCK SELECT      */
235 sbit at 0xCA TR2     ;  /* TMR2CN.2 - TIMER 2 ON/OFF CONTROL             */
236 sbit at 0xCB T2SPLIT ;  /* TMR2CN.3 - TIMER 2 SPLIT MODE ENABLE          */
237 sbit at 0xCD TF2CEN  ;  /* TMR2CN.5 - TIMER 2 LOW-FREQ OSC CAPTURE ENABLE*/
238 sbit at 0xCD TF2LEN  ;  /* TMR2CN.5 - TIMER 2 LOW BYTE INTERRUPT ENABLE  */
239 sbit at 0xCE TF2L    ;  /* TMR2CN.6 - TIMER 2 LOW BYTE OVERFLOW FLAG     */
240 sbit at 0xCF TF2     ;  /* TMR2CN.7 - TIMER 2 OVERFLOW FLAG              */
241 sbit at 0xCF TF2H    ;  /* TMR2CN.7 - TIMER 2 HIGH BYTE OVERFLOW FLAG    */
242
243 /*  PSW  0xD0 */
244 sbit at 0xD0 PARITY  ;  /* PSW.0 - ACCUMULATOR PARITY FLAG               */
245 sbit at 0xD1 F1      ;  /* PSW.1 - FLAG 1                                */
246 sbit at 0xD2 OV      ;  /* PSW.2 - OVERFLOW FLAG                         */
247 sbit at 0xD3 RS0     ;  /* PSW.3 - REGISTER BANK SELECT 0                */
248 sbit at 0xD4 RS1     ;  /* PSW.4 - REGISTER BANK SELECT 1                */
249 sbit at 0xD5 F0      ;  /* PSW.5 - FLAG 0                                */
250 sbit at 0xD6 AC      ;  /* PSW.6 - AUXILIARY CARRY FLAG                  */
251 sbit at 0xD7 CY      ;  /* PSW.7 - CARRY FLAG                            */
252
253 /*  PCA0CN  0xD8 */
254 sbit at 0xD8 CCF0    ;  /* PCA0CN.0 - PCA MODULE 0 CAPTURE/COMPARE FLAG  */
255 sbit at 0xD9 CCF1    ;  /* PCA0CN.1 - PCA MODULE 1 CAPTURE/COMPARE FLAG  */
256 sbit at 0xDA CCF2    ;  /* PCA0CN.2 - PCA MODULE 2 CAPTURE/COMPARE FLAG  */
257 sbit at 0xDE CR      ;  /* PCA0CN.6 - PCA COUNTER/TIMER RUN CONTROL      */
258 sbit at 0xDF CF      ;  /* PCA0CN.7 - PCA COUNTER/TIMER OVERFLOW FLAG    */
259
260 /*  ADC0STA  0xE8 */
261 sbit at 0xE8 AD0OVR  ;  /* ADC0CN.0 - ADC 0 OVERRUN FLAG                 */
262 sbit at 0xE9 AD0ERR  ;  /* ADC0CN.1 - ADC 0 ERROR FLAG                   */
263 sbit at 0xEA AD0CALC ;  /* ADC0CN.2 - ADC 0 CALIBRATION COMPLETE FLAG    */
264 sbit at 0xEB AD0FFC  ;  /* ADC0CN.3 - ADC 0 FAST FILTER CLIP FLAG        */
265 sbit at 0xEC AD0S3C  ;  /* ADC0CN.4 - ADC 0 SINC3 FILTER CLIP FLAG       */
266 sbit at 0xED AD0INT  ;  /* ADC0CN.5 - ADC 0 CONV. COMPLETE INT. FLAG     */
267 sbit at 0xEE AD0CBSY ;  /* ADC0CN.6 - ADC 0 CALIBRATION IN PROGRESS FLAG */
268 sbit at 0xEF AD0BUSY ;  /* ADC0CN.7 - ADC 0 CONVERSION IN PROGRESS FLAG  */
269
270 /*  SPI0CN  0xF8 */
271 sbit at 0xF8 SPIEN   ;  /* SPI0CN.0 - SPI0 ENABLE                        */
272 sbit at 0xF9 TXBMT   ;  /* SPI0CN.1 - TRANSMIT BUFFER EMPTY              */
273 sbit at 0xFA NSSMD0  ;  /* SPI0CN.2 - SLAVE SELECT MODE BIT 0            */
274 sbit at 0xFB NSSMD1  ;  /* SPI0CN.3 - SLAVE SELECT MODE BIT 1            */
275 sbit at 0xFC RXOVRN  ;  /* SPI0CN.4 - RECEIVE OVERRUN FLAG               */
276 sbit at 0xFD MODF    ;  /* SPI0CN.5 - MODE FAULT FLAG                    */
277 sbit at 0xFE WCOL    ;  /* SPI0CN.6 - WRITE COLLISION FLAG               */
278 sbit at 0xFF SPIF    ;  /* SPI0CN.7 - SPI0 INTERRUPT FLAG                */
279
280
281 /* Predefined SFR Bit Masks */
282
283 #define IDLE              0x01    /* PCON                                */
284 #define STOP              0x02    /* PCON                                */
285 #define T1M               0x08    /* CKCON                               */
286 #define PSWE              0x01    /* PSCTL                               */
287 #define PSEE              0x02    /* PSCTL                               */
288 #define ECP0              0x20    /* EIE1                                */
289 #define PORSF             0x02    /* RSTSRC                              */
290 #define SWRSF             0x10    /* RSTSRC                              */
291 #define ECCF              0x01    /* PCA0CPMn                            */
292 #define PWM               0x02    /* PCA0CPMn                            */
293 #define TOG               0x04    /* PCA0CPMn                            */
294 #define MAT               0x08    /* PCA0CPMn                            */
295 #define CAPN              0x10    /* PCA0CPMn                            */
296 #define CAPP              0x20    /* PCA0CPMn                            */
297 #define ECOM              0x40    /* PCA0CPMn                            */
298 #define PWM16             0x80    /* PCA0CPMn                            */
299 #define CP0E              0x10    /* XBR0                                */
300 #define CP0OEN            0x10    /* XBR0                                */
301 #define CP0AE             0x20    /* XBR0                                */
302 #define CP0AOEN           0x20    /* XBR0                                */
303
304 #endif