Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
1186 | savelij | 1 | ifndef __stm8l052c6inc ; avoid multiple inclusion |
2 | __stm8l052c6inc equ 1 |
||
3 | |||
4 | save |
||
5 | listing off ; no listing over this file |
||
6 | |||
7 | ;**************************************************************************** |
||
8 | ;* * |
||
9 | ;* AS 1.42 - File REG052C6.INC * |
||
10 | ;* * |
||
11 | ;* contains SFR and Bit Definitions for STM8L052C6 * |
||
12 | ;* source: DocID023331 Rev 2 * |
||
13 | ;* * |
||
14 | ;**************************************************************************** |
||
15 | |||
16 | ;---------------------------------------------------------------------------- |
||
17 | ; Memory Addresses |
||
18 | |||
19 | E2START label $1000 ; start address internal EEPROM |
||
20 | E2END label E2START+255 ; end " " " |
||
21 | |||
22 | FLASHSTART label $8000 ; start address internal Flash |
||
23 | |||
24 | RAMSTART label $0000 ; start address internal RAM |
||
25 | RAMEND label $07ff ; end " " " |
||
26 | |||
27 | BLSTART label $6000 ; start address boot loader |
||
28 | BLEND label $67ff ; end " " " |
||
29 | |||
30 | ;---------------------------------------------------------------------------- |
||
31 | ; Option Bytes |
||
32 | |||
33 | OPT0 label $4800 ; Read-out protection |
||
34 | ROP bfield OPT0,0,8 ; Memory readout protection |
||
35 | OPT1 label $4802 ; User boot code size |
||
36 | UBC bfield OPT1,0,8 ; Size of the user boot code area |
||
37 | OPT3 label $4808 ; Independent watchdog option |
||
38 | IWDG_HW bit OPT3,0 ; Independent watchdog activated by SW/HW |
||
39 | IWDG_HALT bit OPT3,1 ; Independent window watchdog off on Halt/Active-halt |
||
40 | WWDG_HW bit OPT3,2 ; Window watchdog activated by SW/HW |
||
41 | WWDG_HALT bit OPT3,3 ; Window window watchdog reset on Halt/Active-halt |
||
42 | OPT4 label $4809 ; Number of stabilization clock cycles for HSE and LSE oscillators |
||
43 | HSECNT bfield OPT4,0,2 ; Number of HSE oscillator stabilization clock cycles |
||
44 | LSECNT bfield OPT4,2,2 ; Number of LSE oscillator stabilization clock cycles |
||
45 | OPT5 label $480a ; Brownout reset |
||
46 | BOR_TH bfield OPT5,1,3 ; Brownout reset thresholds |
||
47 | BOR_ON bit OPT5,0 ; Brownout reset on/off |
||
48 | OPTBL label $480b ; Bootloader option bytes (2 bytes) |
||
49 | |||
50 | ;---------------------------------------------------------------------------- |
||
51 | ; Vectors |
||
52 | |||
53 | RESET_vect label $8000 ; Reset |
||
54 | TRAP_vect label $8004 ; Software interrupt |
||
55 | TLI_vect label $8008 ; External top level interrupt |
||
56 | FLASH_vect label $800c ; FLASH end of programing/write attempted to protected page interrupt |
||
57 | DMA1_01_vect label $8010 ; DMA1 channels 0/1 half transaction/transaction complete interrupt |
||
58 | DMA1_23_vect label $8014 ; DMA1 channels 2/3 half transaction/transaction complete interrupt |
||
59 | RTC_vect label $8018 ; RTC alarm A/wakeup/tamper 1/tamper 2/tamper 3 |
||
60 | EXTIE_vect label $801c ; External interrupt port E/F (shared with...) |
||
61 | PVD_vect label $801c ; PVD interrupt |
||
62 | EXTIB_vect label $8020 ; External interrupt port B/G |
||
63 | EXTID_vect label $8024 ; External interrupt port D/H |
||
64 | EXTI0_vect label $8028 ; External interrupt 0 |
||
65 | EXTI1_vect label $802c ; External interrupt 1 |
||
66 | EXTI2_vect label $8030 ; External interrupt 2 |
||
67 | EXTI3_vect label $8034 ; External interrupt 3 |
||
68 | EXTI4_vect label $8038 ; External interrupt 4 |
||
69 | EXTI5_vect label $803c ; External interrupt 5 |
||
70 | EXTI6_vect label $8040 ; External interrupt 6 |
||
71 | EXTI7_vect label $8044 ; External interrupt 7 |
||
72 | LCD_INT label $8048 ; LCD interrupt |
||
73 | CLK_vect label $804c ; CLK system clock switch/CSS interrupt |
||
74 | ADC1_vect label $8050 ; ADC1 end of conversion/analog watchdog/overrun interrupt |
||
75 | TIM2_vect label $8054 ; TIM2 update/overflow/trigger/break interrupt |
||
76 | TIM2_CAPT_vect label $8058 ; TIM2 capture/compare interrupt |
||
77 | TIM3_vect label $805c ; TIM3 update/overflow/trigger/break interrupt |
||
78 | TIM3_CAPT_vect label $8060 ; TIM3 capture/compare interrupt |
||
79 | TIM1_vect label $8064 ; TIM1 update/overflow/trigger COM |
||
80 | TIM1_CAPT_vect label $8068 ; TIM1 capture/compare interrupt |
||
81 | TIM4_vect label $806c ; TIM4 update/overflow interrupt |
||
82 | SPI1_vect label $8070 ; SPI1 TX buffer empty/RX buffer not empty/error interrupt |
||
83 | USART1_TX_vect label $8074 ; USART1 transmit data register empty/transmission complete interrupt |
||
84 | USART1_RX_vect label $8078 ; USART1 received data ready/overrun error/idle line detected/parity error/global error interrupt |
||
85 | I2C1_vect label $807c ; I2C1 interrupt |
||
86 | |||
87 | ;---------------------------------------------------------------------------- |
||
88 | ; GPIO |
||
89 | |||
90 | include "stm8/stm8s/gpio.inc" |
||
91 | __defgpio "PA",$5000 |
||
92 | __defgpio "PB",$5005 |
||
93 | __defgpio "PC",$500a |
||
94 | __defgpio "PD",$500f |
||
95 | __defgpio "PE",$5014 |
||
96 | __defgpio "PF",$5019 |
||
97 | |||
98 | ;---------------------------------------------------------------------------- |
||
99 | ; Flash |
||
100 | |||
101 | include "flash.inc" |
||
102 | __defflash $5050 |
||
103 | |||
104 | ;---------------------------------------------------------------------------- |
||
105 | ; DMA |
||
106 | |||
107 | include "dma.inc" |
||
108 | __defdma "DMA1",$5070 |
||
109 | |||
110 | ;---------------------------------------------------------------------------- |
||
111 | ; System Configuration |
||
112 | |||
113 | include "syscfg.inc" |
||
114 | __defsyscfg $509d,0 |
||
115 | |||
116 | ;---------------------------------------------------------------------------- |
||
117 | ; Wait for Events |
||
118 | |||
119 | include "wfe.inc" |
||
120 | __defwfe $50a6,0 |
||
121 | |||
122 | ;---------------------------------------------------------------------------- |
||
123 | ; Interrupt Controller |
||
124 | |||
125 | include "itc.inc" |
||
126 | EXTI_CR1 label $50a0+$00 ; External interrupt control register 1 |
||
127 | P0IS bfield EXTI_CR1,0,2 ; Portx bit 0 external interrupt sensitivity bits |
||
128 | P1IS bfield EXTI_CR1,2,2 ; Portx bit 1 external interrupt sensitivity bits |
||
129 | P2IS bfield EXTI_CR1,4,2 ; Portx bit 2 external interrupt sensitivity bits |
||
130 | P3IS bfield EXTI_CR1,6,2 ; Portx bit 3 external interrupt sensitivity bits |
||
131 | EXTI_CR2 label $50a0+$01 ; External interrupt control register 2 |
||
132 | P4IS bfield EXTI_CR2,0,2 ; Portx bit 4 external interrupt sensitivity bits |
||
133 | P5IS bfield EXTI_CR2,2,2 ; Portx bit 5 external interrupt sensitivity bits |
||
134 | P6IS bfield EXTI_CR2,4,2 ; Portx bit 6 external interrupt sensitivity bits |
||
135 | P7IS bfield EXTI_CR2,6,2 ; Portx bit 7 external interrupt sensitivity bits |
||
136 | EXTI_CR3 label $50a0+$02 ; External interrupt control register 3 |
||
137 | PBIS bfield EXTI_CR3,0,2 ; Port B external interrupt sensitivity bits |
||
138 | PDIS bfield EXTI_CR3,2,2 ; Port D external interrupt sensitivity bits |
||
139 | PEIS bfield EXTI_CR3,4,2 ; Port E external interrupt sensitivity bits |
||
140 | PFIS bfield EXTI_CR3,6,2 ; Port F external interrupt sensitivity bits |
||
141 | EXTI_CR4 label $50a0+$0a ; External interrupt control register 4 |
||
142 | PGIS bfield EXTI_CR4,0,2 ; Port G external interrupt sensitivity bits |
||
143 | PHIS bfield EXTI_CR4,2,2 ; Port H external interrupt sensitivity bits |
||
144 | EXTI_SR1 label $50a0+$03 ; External interrupt status register 1 |
||
145 | P7F bit EXTI_SR1,7 ; Port A/B/C/D/E/F bit x external interrupt flag |
||
146 | P6F bit EXTI_SR1,6 |
||
147 | P5F bit EXTI_SR1,5 |
||
148 | P4F bit EXTI_SR1,4 |
||
149 | P3F bit EXTI_SR1,3 |
||
150 | P2F bit EXTI_SR1,2 |
||
151 | P1F bit EXTI_SR1,1 |
||
152 | P0F bit EXTI_SR1,0 |
||
153 | EXTI_SR2 label $50a0+$04 ; External interrupt status register 2 |
||
154 | PHF bit EXTI_SR2,5 ; Port x external interrupt flag |
||
155 | PGF bit EXTI_SR2,4 |
||
156 | PFF bit EXTI_SR2,3 |
||
157 | PEF bit EXTI_SR2,2 |
||
158 | PDF bit EXTI_SR2,1 |
||
159 | PBF bit EXTI_SR2,0 |
||
160 | EXTI_CONF1 label $50a0+$05 ; External interrupt port select register |
||
161 | PFES bit EXTI_CONF1,7 ; Port F or port E external interrupt select |
||
162 | PFLIS bit EXTI_CONF1,6 ; Port F[3:0] external interrupt select |
||
163 | PEHIS bit EXTI_CONF1,5 ; Port E[7:4] external interrupt select |
||
164 | PELIS bit EXTI_CONF1,4 ; Port E[3:0] external interrupt select |
||
165 | PDHIS bit EXTI_CONF1,3 ; Port D[7:4] external interrupt select |
||
166 | PDLIS bit EXTI_CONF1,2 ; Port D[3:0] external interrupt select |
||
167 | PBHIS bit EXTI_CONF1,1 ; Port B[7:4] external interrupt select |
||
168 | PBLIS bit EXTI_CONF1,0 ; Port B[3:0] external interrupt select |
||
169 | EXTI_CONF2 label $50a0+$0b ; External interrupt port select register |
||
170 | PHDS bit EXTI_CONF2,6 ; Port H or port D external interrupt select |
||
171 | PGBS bit EXTI_CONF2,5 ; Port G or port B external interrupt select |
||
172 | PHHIS bit EXTI_CONF2,4 ; Port H[7:4] external interrupt select |
||
173 | PHLIS bit EXTI_CONF2,3 ; Port H[3:0] external interrupt select |
||
174 | PGHIS bit EXTI_CONF2,2 ; Port G[7:4] external interrupt select |
||
175 | PGLIS bit EXTI_CONF2,1 ; Port G[3:0] external interrupt select |
||
176 | PFHIS bit EXTI_CONF2,0 ; Port F[7:4] external interrupt select |
||
177 | |||
178 | __defitc $7f70,30 |
||
179 | |||
180 | ;---------------------------------------------------------------------------- |
||
181 | ; Reset Controller |
||
182 | |||
183 | include "rst.inc" |
||
184 | __defrst $50b0 |
||
185 | |||
186 | ;---------------------------------------------------------------------------- |
||
187 | ; Power Control |
||
188 | |||
189 | include "pwr.inc" |
||
190 | __defpwr $50b2 |
||
191 | |||
192 | ;---------------------------------------------------------------------------- |
||
193 | ; Clock Controller |
||
194 | |||
195 | include "stm8/stm8s/clk.inc" |
||
196 | __defclk $50c0 |
||
197 | |||
198 | ;---------------------------------------------------------------------------- |
||
199 | ; Window Watchdog |
||
200 | |||
201 | include "stm8/stm8s/wwdg.inc" |
||
202 | __defwwdg $50d3 |
||
203 | |||
204 | ;---------------------------------------------------------------------------- |
||
205 | ; Independent Watchdog |
||
206 | |||
207 | include "stm8/stm8s/iwdg.inc" |
||
208 | __defiwdg $50e0 |
||
209 | |||
210 | ;---------------------------------------------------------------------------- |
||
211 | ; Beeper |
||
212 | |||
213 | include "beep.inc" |
||
214 | __defbeep $50f0 |
||
215 | |||
216 | ;---------------------------------------------------------------------------- |
||
217 | ; RTC |
||
218 | |||
219 | include "rtc.inc" |
||
220 | __defrtc $5140 |
||
221 | |||
222 | ;---------------------------------------------------------------------------- |
||
223 | ; Serial Peripheral Interface |
||
224 | |||
225 | include "spi.inc" |
||
226 | __defspi "SPI1",$5200 |
||
227 | |||
228 | ;---------------------------------------------------------------------------- |
||
229 | ; I2C |
||
230 | |||
231 | include "i2c.inc" |
||
232 | __defi2c "I2C1",$5210,0 |
||
233 | |||
234 | ;---------------------------------------------------------------------------- |
||
235 | ; USART1 |
||
236 | |||
237 | include "usart.inc" |
||
238 | __defusart "USART1",$5230 |
||
239 | |||
240 | ;---------------------------------------------------------------------------- |
||
241 | ; Timer 2/3 |
||
242 | |||
243 | include "tim235.inc" |
||
244 | __deftim235 "TIM2",$5250,1 |
||
245 | __deftim235 "TIM3",$5280,1 |
||
246 | |||
247 | ;---------------------------------------------------------------------------- |
||
248 | ; Timer 1 |
||
249 | |||
250 | include "tim1.inc" |
||
251 | __deftim1 $52b0 |
||
252 | |||
253 | ;---------------------------------------------------------------------------- |
||
254 | ; Timer 4 |
||
255 | |||
256 | include "tim4.inc" |
||
257 | __deftim4 $52e0,1 |
||
258 | |||
259 | ;---------------------------------------------------------------------------- |
||
260 | ; Infrared |
||
261 | |||
262 | include "irtim.inc" |
||
263 | __defirtim $52ff |
||
264 | |||
265 | ;---------------------------------------------------------------------------- |
||
266 | ; Routing Interface |
||
267 | |||
268 | RI_ICR1 label $5431 ; RI Timer input capture routing register 1 |
||
269 | RI_IC2CS bfield RI_ICR1,0,5 ; TIM1 Input Capture 2 I/O selection |
||
270 | RI_ICR2 label $5432 ; RI Timer input capture routing register 2 |
||
271 | RI_IC3CS bfield RI_ICR2,0,5 ; TIM1 Input Capture 3 I/O selection |
||
272 | RI_IOIR1 label $5433 ; RI I/O input register 1 |
||
273 | RI_CH22I bit RI_IOIR1,7 ; I/O pin input value |
||
274 | RI_CH19I bit RI_IOIR1,6 |
||
275 | RI_CH16I bit RI_IOIR1,5 |
||
276 | RI_CH13I bit RI_IOIR1,4 |
||
277 | RI_CH10I bit RI_IOIR1,3 |
||
278 | RI_CH7I bit RI_IOIR1,2 |
||
279 | RI_CH4I bit RI_IOIR1,1 |
||
280 | RI_CH1I bit RI_IOIR1,0 |
||
281 | RI_IOIR2 label $5434 ; RI I/O input register 2 |
||
282 | RI_CH23I bit RI_IOIR2,7 ; I/O pin input value |
||
283 | RI_CH20I bit RI_IOIR2,6 |
||
284 | RI_CH17I bit RI_IOIR2,5 |
||
285 | RI_CH14I bit RI_IOIR2,4 |
||
286 | RI_CH11I bit RI_IOIR2,3 |
||
287 | RI_CH8I bit RI_IOIR2,2 |
||
288 | RI_CH5I bit RI_IOIR2,1 |
||
289 | RI_CH2I bit RI_IOIR2,0 |
||
290 | RI_IOIR3 label $5435 ; RI I/O input register 3 |
||
291 | RI_CH24I bit RI_IOIR3,7 ; I/O pin input value |
||
292 | RI_CH21I bit RI_IOIR3,6 |
||
293 | RI_CH18I bit RI_IOIR3,5 |
||
294 | RI_CH15I bit RI_IOIR3,4 |
||
295 | RI_CH12I bit RI_IOIR3,3 |
||
296 | RI_CH9I bit RI_IOIR3,2 |
||
297 | RI_CH6I bit RI_IOIR3,1 |
||
298 | RI_CH3I bit RI_IOIR3,0 |
||
299 | RI_IOCMR1 label $5436 ; RI I/O control mode register 1 |
||
300 | RI_CH22M bit RI_IOCMR1,7 ; I/O control mode |
||
301 | RI_CH19M bit RI_IOCMR1,6 |
||
302 | RI_CH16M bit RI_IOCMR1,5 |
||
303 | RI_CH13M bit RI_IOCMR1,4 |
||
304 | RI_CH10M bit RI_IOCMR1,3 |
||
305 | RI_CH7M bit RI_IOCMR1,2 |
||
306 | RI_CH4M bit RI_IOCMR1,1 |
||
307 | RI_CH1M bit RI_IOCMR1,0 |
||
308 | RI_IOCMR2 label $5437 ; RI I/O control mode register 2 |
||
309 | RI_CH23M bit RI_IOCMR2,7 ; I/O control mode |
||
310 | RI_CH20M bit RI_IOCMR2,6 |
||
311 | RI_CH17M bit RI_IOCMR2,5 |
||
312 | RI_CH14M bit RI_IOCMR2,4 |
||
313 | RI_CH11M bit RI_IOCMR2,3 |
||
314 | RI_CH8M bit RI_IOCMR2,2 |
||
315 | RI_CH5M bit RI_IOCMR2,1 |
||
316 | RI_CH2M bit RI_IOCMR2,0 |
||
317 | RI_IOCMR3 label $5438 ; RI I/O control mode register 3 |
||
318 | RI_CH24M bit RI_IOCMR3,7 ; I/O control mode |
||
319 | RI_CH21M bit RI_IOCMR3,6 |
||
320 | RI_CH18M bit RI_IOCMR3,5 |
||
321 | RI_CH53M bit RI_IOCMR3,4 |
||
322 | RI_CH12M bit RI_IOCMR3,3 |
||
323 | RI_CH9M bit RI_IOCMR3,2 |
||
324 | RI_CH6M bit RI_IOCMR3,1 |
||
325 | RI_CH3M bit RI_IOCMR3,0 |
||
326 | RI_IOSR1 label $5439 ; RI I/O switch register 1 |
||
327 | RI_CH22E bit RI_IOSR1,7 ; I/O switch control |
||
328 | RI_CH19E bit RI_IOSR1,6 |
||
329 | RI_CH16E bit RI_IOSR1,5 |
||
330 | RI_CH13E bit RI_IOSR1,4 |
||
331 | RI_CH10E bit RI_IOSR1,3 |
||
332 | RI_CH7E bit RI_IOSR1,2 |
||
333 | RI_CH4E bit RI_IOSR1,1 |
||
334 | RI_CH1E bit RI_IOSR1,0 |
||
335 | RI_IOSR2 label $543a ; RI I/O switch register 2 |
||
336 | RI_CH23E bit RI_IOSR2,7 ; I/O switch control |
||
337 | RI_CH20E bit RI_IOSR2,6 |
||
338 | RI_CH17E bit RI_IOSR2,5 |
||
339 | RI_CH14E bit RI_IOSR2,4 |
||
340 | RI_CH11E bit RI_IOSR2,3 |
||
341 | RI_CH8E bit RI_IOSR2,2 |
||
342 | RI_CH5E bit RI_IOSR2,1 |
||
343 | RI_CH2E bit RI_IOSR2,0 |
||
344 | RI_IOSR3 label $543b ; RI I/O switch register 3 |
||
345 | RI_CH24E bit RI_IOSR3,7 ; I/O switch control |
||
346 | RI_CH21E bit RI_IOSR3,6 |
||
347 | RI_CH18E bit RI_IOSR3,5 |
||
348 | RI_CH15E bit RI_IOSR3,4 |
||
349 | RI_CH12E bit RI_IOSR3,3 |
||
350 | RI_CH9E bit RI_IOSR3,2 |
||
351 | RI_CH6E bit RI_IOSR3,1 |
||
352 | RI_CH3E bit RI_IOSR3,0 |
||
353 | RI_IOGCR label $543c ; RI I/O group control register |
||
354 | RI_IOM4 bfield RI_IOGCR,6,2 ; I/O mode 4 |
||
355 | RI_IOM3 bfield RI_IOGCR,4,2 ; I/O mode 3 |
||
356 | RI_IOM2 bfield RI_IOGCR,2,2 ; I/O mode 2 |
||
357 | RI_IOM1 bfield RI_IOGCR,0,2 ; I/O mode 1 |
||
358 | RI_ASCR1 label $543d ; Analog switch register 1 |
||
359 | RI_AS7 bit RI_ASCR1,7 ; Analog switch control |
||
360 | RI_AS6 bit RI_ASCR1,6 |
||
361 | RI_AS5 bit RI_ASCR1,5 |
||
362 | RI_AS4 bit RI_ASCR1,4 |
||
363 | RI_AS3 bit RI_ASCR1,3 |
||
364 | RI_AS2 bit RI_ASCR1,2 |
||
365 | RI_AS1 bit RI_ASCR1,1 |
||
366 | RI_AS0 bit RI_ASCR1,0 |
||
367 | RI_ASCR2 label $543e ; Analog switch register 2 |
||
368 | RI_AS14 bit RI_ASCR2,6 ; Analog switch control |
||
369 | RI_AS11 bit RI_ASCR2,3 |
||
370 | RI_AS10 bit RI_ASCR2,2 |
||
371 | RI_AS9 bit RI_ASCR2,1 |
||
372 | RI_AS8 bit RI_ASCR2,0 |
||
373 | RI_RCR label $543f ; Resistor control register |
||
374 | RI_400KPD bit RI_RCR,3 ; 400 kOhm pull-down resistor |
||
375 | RI_10KPD bit RI_RCR,2 ; 10 kOhm pull-down resistor |
||
376 | RI_400KPU bit RI_RCR,1 ; 400 kOhm pull-up resistor |
||
377 | RI_10KPU bit RI_RCR,0 ; 10 kOhm pull-up resistor |
||
378 | |||
379 | ;---------------------------------------------------------------------------- |
||
380 | ; A/D Converter 1 |
||
381 | |||
382 | include "adc1.inc" |
||
383 | __defadc1 "ADC",,$5340 |
||
384 | |||
385 | ;---------------------------------------------------------------------------- |
||
386 | ; LCD Controller |
||
387 | |||
388 | include "lcd.inc" |
||
389 | __deflcd $5400,24,14,0 |
||
390 | |||
391 | ;---------------------------------------------------------------------------- |
||
392 | ; CPU |
||
393 | |||
394 | include "stm8/cpuregs.inc" |
||
395 | __defcpuregs $7f00 |
||
396 | |||
397 | ;---------------------------------------------------------------------------- |
||
398 | ; Single Wire Interface Module |
||
399 | |||
400 | include "stm8/swim.inc" |
||
401 | __defswim $7f80 |
||
402 | |||
403 | ;---------------------------------------------------------------------------- |
||
404 | ; Debug Module |
||
405 | |||
406 | include "stm8/dm.inc" |
||
407 | __defdm $7f90 |
||
408 | |||
409 | restore ; allow again |
||
410 | |||
411 | endif ; __stm8l052c6inc |