Added alternate lexer
[fw/sdcc] / device / include / reg552.h
1 /*-------------------------------------------------------------------------
2   Register Declarations for 80c552 Processor    
3   
4        Written By -  Sandeep Dutta . sandeep.dutta@usa.net (1998)
5
6    This program is free software; you can redistribute it and/or modify it
7    under the terms of the GNU General Public License as published by the
8    Free Software Foundation; either version 2, or (at your option) any
9    later version.
10    
11    This program 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
14    GNU General Public License for more details.
15    
16    You should have received a copy of the GNU General Public License
17    along with this program; if not, write to the Free Software
18    Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
19    
20    In other words, you are welcome to use, share and improve this program.
21    You are forbidden to forbid anyone else to use, share and improve
22    what you give them.   Help stamp out software-hoarding!  
23 -------------------------------------------------------------------------*/
24
25 #ifndef REG552_H
26 #define REG552_H
27
28 /*  BYTE Register  */
29 sfr P0    = 0x80;
30 sfr P1    = 0x90;
31 sfr P2    = 0xA0;
32 sfr P3    = 0xB0;
33 sfr P4    = 0xC0;
34 sfr P5    = 0xC4;
35
36 sfr PSW   = 0xD0;
37 sfr ACC   = 0xE0;
38 sfr B     = 0xF0;
39 sfr SP    = 0x81;
40 sfr DPL   = 0x82;
41 sfr DPH   = 0x83;
42 sfr PCON  = 0x87;
43 sfr TCON  = 0x88;
44 sfr TMOD  = 0x89;
45 sfr TL0   = 0x8A;
46 sfr TL1   = 0x8B;
47 sfr TH0   = 0x8C;
48 sfr TH1   = 0x8D;
49 sfr IEN0  = 0xA8;
50 sfr IEN1  = 0xE8;
51 sfr IP0   = 0xB8;
52 sfr IP1   = 0xF8;
53 sfr S0CON = 0x98;
54 sfr S0BUF = 0x99;
55 sfr CML0  = 0xA9;
56 sfr CML1  = 0xAA;
57 sfr CML2  = 0xAB;
58 sfr CTL0  = 0xAC;
59 sfr CTL1  = 0xAD;
60 sfr CTL2  = 0xAE;
61 sfr CTL3  = 0xAF;
62
63 sfr ADCON = 0xC5;
64 sfr ADCH  = 0xC6;
65 sfr TM2IR = 0xC8;
66 sfr CMH0  = 0xC9;
67 sfr CMH1  = 0xCA;
68 sfr CMH2  = 0xCB;
69 sfr CTH0  = 0xCC;
70 sfr CTH1  = 0xCD;
71 sfr CTH2  = 0xCE;
72 sfr CTH3  = 0xCF;
73
74 sfr S1CON  = 0xD8;
75 sfr S1STA  = 0xD9;
76 sfr S1DAT  = 0xDA;
77 sfr S1ADR  = 0xDB;
78
79 sfr TM2CON = 0xEA;
80 sfr CTCON  = 0xEB;
81 sfr TML2   = 0xEC;
82 sfr TMH2   = 0xED;
83 sfr STE    = 0xEE;
84 sfr RTE    = 0xEF;
85 sfr PWM0   = 0xFC;
86 sfr PWM1   = 0xFD;
87 sfr PWMP   = 0xFE;
88 sfr T3     = 0xFF;
89
90
91 /*  BIT Register  */
92 /*  PSW  */
93 sbit CY    = 0xD7;
94 sbit AC    = 0xD6;
95 sbit F0    = 0xD5;
96 sbit RS1   = 0xD4;
97 sbit RS0   = 0xD3;
98 sbit OV    = 0xD2;
99 sbit P     = 0xD0;
100
101 /*  TCON  */
102 sbit TF1   = 0x8F;
103 sbit TR1   = 0x8E;
104 sbit TF0   = 0x8D;
105 sbit TR0   = 0x8C;
106 sbit IE1   = 0x8B;
107 sbit IT1   = 0x8A;
108 sbit IE0   = 0x89;
109 sbit IT0   = 0x88;
110
111 /*  IEN0  */
112 sbit EA    = 0xAF;
113 sbit EAD   = 0xAE;
114 sbit ES1   = 0xAD;
115 sbit ES0   = 0xAC;
116 sbit ET1   = 0xAB;
117 sbit EX1   = 0xAA;
118 sbit ET0   = 0xA9;
119 sbit EX0   = 0xA8;
120
121 /*  IEN1  */
122 sbit ET2   = 0xEF;
123 sbit ECM2  = 0xEE;
124 sbit ECM1  = 0xED;
125 sbit ECM0  = 0xEC;
126 sbit ECT3  = 0xEB;
127 sbit ECT2  = 0xEA;
128 sbit ECT1  = 0xE9;
129 sbit ECT0  = 0xE8;
130
131 /*  IP0 */
132 sbit PAD   = 0xBE;
133 sbit PS1   = 0xBD;
134 sbit PS0   = 0xBC;
135 sbit PT1   = 0xBB;
136 sbit PX1   = 0xBA;
137 sbit PT0   = 0xB9;
138 sbit PX0   = 0xB8;
139
140 /*  IP1 */
141 sbit PT2   = 0xFF;
142 sbit PCM2  = 0xFE;
143 sbit PCM1  = 0xFD;
144 sbit PCM0  = 0xFC;
145 sbit PCT3  = 0xFB;
146 sbit PCT2  = 0xFA;
147 sbit PCT1  = 0xF9;
148 sbit PCT0  = 0xF8;
149
150 /*  P1  */
151 sbit SDA   = 0x97;
152 sbit SCL   = 0x96;
153 sbit RT2   = 0x95;
154 sbit T2    = 0x94;
155 sbit CT3I  = 0x93;
156 sbit CT2I  = 0x92;
157 sbit CT1I  = 0x91;
158 sbit CT0I  = 0x90;
159
160 /*  P3  */
161 sbit RD    = 0xB7;
162 sbit WR    = 0xB6;
163 sbit T1    = 0xB5;
164 sbit T0    = 0xB4;
165 sbit INT1  = 0xB3;
166 sbit INT0  = 0xB2;
167 sbit TXD   = 0xB1;
168 sbit RXD   = 0xB0;
169
170 /*  P4  */
171 sbit CMT1  = 0xC7;
172 sbit CMT0  = 0xC6;
173 sbit CMSR5 = 0xC5;
174 sbit CMSR4 = 0xC4;
175 sbit CMSR3 = 0xC3;
176 sbit CMSR2 = 0xC2;
177 sbit CMSR1 = 0xC1;
178 sbit CMSR0 = 0xC0;
179
180 /*  S0CON  */
181 sbit SM0   = 0x9F;
182 sbit SM1   = 0x9E;
183 sbit SM2   = 0x9D;
184 sbit REN   = 0x9C;
185 sbit TB8   = 0x9B;
186 sbit RB8   = 0x9A;
187 sbit TI    = 0x99;
188 sbit RI    = 0x98;
189
190 /*  TM2IR  */
191 sbit T2OV  = 0xCF;
192 sbit CMI2  = 0xCE;
193 sbit CMI1  = 0xCD;
194 sbit CMI0  = 0xCC;
195 sbit CTI3  = 0xCB;
196 sbit CTI2  = 0xCA;
197 sbit CTI1  = 0xC9;
198 sbit CTI0  = 0xC8;
199
200 /*  S1CON   */
201 sbit CR0   = 0xD8;
202 sbit CR1   = 0xD9;
203 sbit AA    = 0xDA;
204 sbit SI    = 0xDB;
205 sbit STO   = 0xDC;
206 sbit STA   = 0xDD;
207 sbit ENS1  = 0xDE;
208
209 /* T2CON */
210 sfr at 0xC8 T2CON ;
211
212 /* T2CON bits */
213 sbit at 0xC8 T2CON_0 ;
214 sbit at 0xC9 T2CON_1 ;
215 sbit at 0xCA T2CON_2 ;
216 sbit at 0xCB T2CON_3 ;
217 sbit at 0xCC T2CON_4 ;
218 sbit at 0xCD T2CON_5 ;
219 sbit at 0xCE T2CON_6 ;
220 sbit at 0xCF T2CON_7 ;
221
222 /* RCAP2 L & H */
223 sfr at 0xCB RCAP2H;
224 sfr at 0xCA RCAP2L;
225 #endif