Subversion Repositories pentevo

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1186 savelij 1
		ifndef	__stm8l052r8inc	; avoid multiple inclusion
2
__stm8l052r8inc	equ	1
3
 
4
		save
5
		listing	off		; no listing over this file
6
 
7
;****************************************************************************
8
;*                                                                          *
9
;*   AS 1.42 - File REG052R8.INC                                            *
10
;*                                                                          *
11
;*   contains SFR and Bit Definitions for STM8L052R8                        *
12
;*   source: DS9111 Rev 4                                                   *
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	$0fff		; 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
TIM5_vect	label	$8074		; TIM5 update/overflow/trigger/break, shared with...
84
USART1_TX_vect	label	$8074		; USART1 transmit data register empty/transmission complete interrupt
85
TIM5_CAPT_vect	label	$8078		; TIM5 capture/compare interrupt, shared with...
86
USART1_RX_vect	label	$8078		; USART1 received data ready/overrun error/idle line detected/parity error/global error interrupt
87
I2C1_vect	label	$807c		; I2C1 interrupt
88
 
89
;----------------------------------------------------------------------------
90
; GPIO
91
 
92
		include	"stm8/stm8s/gpio.inc"
93
		__defgpio "PA",$5000
94
		__defgpio "PB",$5005
95
		__defgpio "PC",$500a
96
		__defgpio "PD",$500f
97
		__defgpio "PE",$5014
98
		__defgpio "PF",$5019
99
		__defgpio "PG",$501e
100
 
101
;----------------------------------------------------------------------------
102
; Flash
103
 
104
		include	"flash.inc"
105
		__defflash $5050
106
 
107
;----------------------------------------------------------------------------
108
; DMA
109
 
110
		include	"dma.inc"
111
		__defdma "DMA1",$5070
112
 
113
;----------------------------------------------------------------------------
114
; System Configuration
115
 
116
		include	"syscfg.inc"
117
		__defsyscfg $509d,1
118
 
119
;----------------------------------------------------------------------------
120
; Wait for Events
121
 
122
		include	"wfe.inc"
123
		__defwfe $50a6,1
124
 
125
;----------------------------------------------------------------------------
126
; Interrupt Controller
127
 
128
		include	"itc.inc"
129
EXTI_CR1	label	$50a0+$00	; External interrupt control register 1
130
P0IS		bfield	EXTI_CR1,0,2	;  Portx bit 0 external interrupt sensitivity bits
131
P1IS		bfield	EXTI_CR1,2,2	;  Portx bit 1 external interrupt sensitivity bits
132
P2IS		bfield	EXTI_CR1,4,2	;  Portx bit 2 external interrupt sensitivity bits
133
P3IS		bfield	EXTI_CR1,6,2	;  Portx bit 3 external interrupt sensitivity bits
134
EXTI_CR2	label	$50a0+$01	; External interrupt control register 2
135
P4IS		bfield	EXTI_CR2,0,2	;  Portx bit 4 external interrupt sensitivity bits
136
P5IS		bfield	EXTI_CR2,2,2	;  Portx bit 5 external interrupt sensitivity bits
137
P6IS		bfield	EXTI_CR2,4,2	;  Portx bit 6 external interrupt sensitivity bits
138
P7IS		bfield	EXTI_CR2,6,2	;  Portx bit 7 external interrupt sensitivity bits
139
EXTI_CR3	label	$50a0+$02	; External interrupt control register 3
140
PBIS		bfield	EXTI_CR3,0,2	;  Port B external interrupt sensitivity bits
141
PDIS		bfield	EXTI_CR3,2,2	;  Port D external interrupt sensitivity bits
142
PEIS		bfield	EXTI_CR3,4,2	;  Port E external interrupt sensitivity bits
143
PFIS		bfield	EXTI_CR3,6,2	;  Port F external interrupt sensitivity bits
144
EXTI_CR4	label	$50a0+$0a	; External interrupt control register 4
145
PGIS		bfield	EXTI_CR4,0,2	;  Port G external interrupt sensitivity bits
146
PHIS		bfield	EXTI_CR4,2,2	;  Port H external interrupt sensitivity bits
147
EXTI_SR1	label	$50a0+$03	; External interrupt status register 1
148
P7F		bit	EXTI_SR1,7	;  Port A/B/C/D/E/F bit x external interrupt flag
149
P6F		bit	EXTI_SR1,6
150
P5F		bit	EXTI_SR1,5
151
P4F		bit	EXTI_SR1,4
152
P3F		bit	EXTI_SR1,3
153
P2F		bit	EXTI_SR1,2
154
P1F		bit	EXTI_SR1,1
155
P0F		bit	EXTI_SR1,0
156
EXTI_SR2	label	$50a0+$04	; External interrupt status register 2
157
PHF		bit	EXTI_SR2,5	;  Port x external interrupt flag
158
PGF		bit	EXTI_SR2,4
159
PFF		bit	EXTI_SR2,3
160
PEF		bit	EXTI_SR2,2
161
PDF		bit	EXTI_SR2,1
162
PBF		bit	EXTI_SR2,0
163
EXTI_CONF1	label	$50a0+$05	; External interrupt port select register
164
PFES		bit	EXTI_CONF1,7	;  Port F or port E external interrupt select
165
PFLIS		bit	EXTI_CONF1,6	;  Port F[3:0] external interrupt select
166
PEHIS		bit	EXTI_CONF1,5	;  Port E[7:4] external interrupt select
167
PELIS		bit	EXTI_CONF1,4	;  Port E[3:0] external interrupt select
168
PDHIS		bit	EXTI_CONF1,3	;  Port D[7:4] external interrupt select
169
PDLIS		bit	EXTI_CONF1,2	;  Port D[3:0] external interrupt select
170
PBHIS		bit	EXTI_CONF1,1	;  Port B[7:4] external interrupt select
171
PBLIS		bit	EXTI_CONF1,0	;  Port B[3:0] external interrupt select
172
EXTI_CONF2	label	$50a0+$0b	; External interrupt port select register
173
PHDS		bit	EXTI_CONF2,6	;  Port H or port D external interrupt select
174
PGBS		bit	EXTI_CONF2,5	;  Port G or port B external interrupt select
175
PHHIS		bit	EXTI_CONF2,4	;  Port H[7:4] external interrupt select
176
PHLIS		bit	EXTI_CONF2,3	;  Port H[3:0] external interrupt select
177
PGHIS		bit	EXTI_CONF2,2	;  Port G[7:4] external interrupt select
178
PGLIS		bit	EXTI_CONF2,1	;  Port G[3:0] external interrupt select
179
PFHIS		bit	EXTI_CONF2,0	;  Port F[7:4] external interrupt select
180
 
181
		__defitc $7f70,30
182
 
183
;----------------------------------------------------------------------------
184
; Reset Controller
185
 
186
		include	"rst.inc"
187
		__defrst $50b0
188
 
189
;----------------------------------------------------------------------------
190
; Power Control
191
 
192
		include	"pwr.inc"
193
		__defpwr $50b2
194
 
195
;----------------------------------------------------------------------------
196
; Clock Controller
197
 
198
		include	"stm8/stm8s/clk.inc"
199
		__defclk $50c0
200
 
201
;----------------------------------------------------------------------------
202
; Window Watchdog
203
 
204
		include	"stm8/stm8s/wwdg.inc"
205
		__defwwdg $50d3
206
 
207
;----------------------------------------------------------------------------
208
; Independent Watchdog
209
 
210
		include	"stm8/stm8s/iwdg.inc"
211
		__defiwdg $50e0
212
 
213
;----------------------------------------------------------------------------
214
; Beeper
215
 
216
		include	"beep.inc"
217
		__defbeep $50f0
218
 
219
;----------------------------------------------------------------------------
220
; RTC
221
 
222
		include	"rtc.inc"
223
		__defrtc $5140
224
 
225
;----------------------------------------------------------------------------
226
; Serial Peripheral Interface
227
 
228
		include	"spi.inc"
229
		__defspi "SPI1",$5200
230
		__defspi "SPI2",$53c0
231
 
232
;----------------------------------------------------------------------------
233
; I2C
234
 
235
		include	"i2c.inc"
236
		__defi2c "I2C1",$5210,1
237
 
238
;----------------------------------------------------------------------------
239
; USART
240
 
241
		include "usart.inc"
242
		__defusart "USART1",$5230
243
		__defusart "USART2",$53e0
244
		__defusart "USART3",$53f0
245
 
246
;----------------------------------------------------------------------------
247
; Timer 2/3
248
 
249
		include	"tim235.inc"
250
		__deftim235 "TIM2",$5250,1
251
		__deftim235 "TIM3",$5280,1
252
		__deftim235 "TIM5",$5300,1
253
 
254
;----------------------------------------------------------------------------
255
; Timer 1
256
 
257
		include	"tim1.inc"
258
		__deftim1 $52b0
259
 
260
;----------------------------------------------------------------------------
261
; Timer 4
262
 
263
		include	"tim4.inc"
264
		__deftim4 $52e0,1
265
 
266
;----------------------------------------------------------------------------
267
; Infrared
268
 
269
		include	"irtim.inc"
270
		__defirtim $52ff
271
 
272
;----------------------------------------------------------------------------
273
; Routing Interface
274
 
275
RI_ICR1		label	$5431		; RI Timer input capture routing register 1
276
RI_IC2CS	bfield	RI_ICR1,0,5	;  TIM1 Input Capture 2 I/O selection
277
RI_ICR2		label	$5432		; RI Timer input capture routing register 2
278
RI_IC3CS	bfield	RI_ICR2,0,5	;  TIM1 Input Capture 3 I/O selection
279
RI_IOIR1	label	$5433		; RI I/O input register 1
280
RI_CH22I	bit	RI_IOIR1,7	;  I/O pin input value
281
RI_CH19I	bit	RI_IOIR1,6	
282
RI_CH16I	bit	RI_IOIR1,5
283
RI_CH13I	bit	RI_IOIR1,4
284
RI_CH10I	bit	RI_IOIR1,3
285
RI_CH7I		bit	RI_IOIR1,2
286
RI_CH4I		bit	RI_IOIR1,1
287
RI_CH1I		bit	RI_IOIR1,0
288
RI_IOIR2	label	$5434		; RI I/O input register 2
289
RI_CH23I	bit	RI_IOIR2,7	;  I/O pin input value
290
RI_CH20I	bit	RI_IOIR2,6
291
RI_CH17I	bit	RI_IOIR2,5
292
RI_CH14I	bit	RI_IOIR2,4
293
RI_CH11I	bit	RI_IOIR2,3
294
RI_CH8I		bit	RI_IOIR2,2
295
RI_CH5I		bit	RI_IOIR2,1
296
RI_CH2I		bit	RI_IOIR2,0
297
RI_IOIR3	label	$5435		; RI I/O input register 3
298
RI_CH24I	bit	RI_IOIR3,7	;  I/O pin input value
299
RI_CH21I	bit	RI_IOIR3,6
300
RI_CH18I	bit	RI_IOIR3,5
301
RI_CH15I	bit	RI_IOIR3,4
302
RI_CH12I	bit	RI_IOIR3,3
303
RI_CH9I		bit	RI_IOIR3,2
304
RI_CH6I		bit	RI_IOIR3,1
305
RI_CH3I		bit	RI_IOIR3,0
306
RI_IOCMR1	label	$5436		; RI I/O control mode register 1
307
RI_CH22M	bit	RI_IOCMR1,7	;  I/O control mode
308
RI_CH19M	bit	RI_IOCMR1,6	
309
RI_CH16M	bit	RI_IOCMR1,5
310
RI_CH13M	bit	RI_IOCMR1,4
311
RI_CH10M	bit	RI_IOCMR1,3
312
RI_CH7M		bit	RI_IOCMR1,2
313
RI_CH4M		bit	RI_IOCMR1,1
314
RI_CH1M		bit	RI_IOCMR1,0
315
RI_IOCMR2	label	$5437		; RI I/O control mode register 2
316
RI_CH23M	bit	RI_IOCMR2,7	;  I/O control mode
317
RI_CH20M	bit	RI_IOCMR2,6
318
RI_CH17M	bit	RI_IOCMR2,5
319
RI_CH14M	bit	RI_IOCMR2,4
320
RI_CH11M	bit	RI_IOCMR2,3
321
RI_CH8M		bit	RI_IOCMR2,2
322
RI_CH5M		bit	RI_IOCMR2,1
323
RI_CH2M		bit	RI_IOCMR2,0
324
RI_IOCMR3	label	$5438		; RI I/O control mode register 3
325
RI_CH24M	bit	RI_IOCMR3,7	;  I/O control mode
326
RI_CH21M	bit	RI_IOCMR3,6
327
RI_CH18M	bit	RI_IOCMR3,5
328
RI_CH53M	bit	RI_IOCMR3,4
329
RI_CH12M	bit	RI_IOCMR3,3
330
RI_CH9M		bit	RI_IOCMR3,2
331
RI_CH6M		bit	RI_IOCMR3,1
332
RI_CH3M		bit	RI_IOCMR3,0
333
RI_IOSR1	label	$5439		; RI I/O switch register 1
334
RI_CH22E	bit	RI_IOSR1,7	;  I/O switch control
335
RI_CH19E	bit	RI_IOSR1,6
336
RI_CH16E	bit	RI_IOSR1,5
337
RI_CH13E	bit	RI_IOSR1,4
338
RI_CH10E	bit	RI_IOSR1,3
339
RI_CH7E		bit	RI_IOSR1,2
340
RI_CH4E		bit	RI_IOSR1,1
341
RI_CH1E		bit	RI_IOSR1,0
342
RI_IOSR2	label	$543a		; RI I/O switch register 2
343
RI_CH23E	bit	RI_IOSR2,7	;  I/O switch control
344
RI_CH20E	bit	RI_IOSR2,6
345
RI_CH17E	bit	RI_IOSR2,5
346
RI_CH14E	bit	RI_IOSR2,4
347
RI_CH11E	bit	RI_IOSR2,3
348
RI_CH8E		bit	RI_IOSR2,2
349
RI_CH5E		bit	RI_IOSR2,1
350
RI_CH2E		bit	RI_IOSR2,0
351
RI_IOSR3	label	$543b		; RI I/O switch register 3
352
RI_CH24E	bit	RI_IOSR3,7	;  I/O switch control
353
RI_CH21E	bit	RI_IOSR3,6
354
RI_CH18E	bit	RI_IOSR3,5
355
RI_CH15E	bit	RI_IOSR3,4
356
RI_CH12E	bit	RI_IOSR3,3
357
RI_CH9E		bit	RI_IOSR3,2
358
RI_CH6E		bit	RI_IOSR3,1
359
RI_CH3E		bit	RI_IOSR3,0
360
RI_IOGCR	label	$543c		; RI I/O group control register
361
RI_IOM4		bfield	RI_IOGCR,6,2	;  I/O mode 4
362
RI_IOM3		bfield	RI_IOGCR,4,2	;  I/O mode 3
363
RI_IOM2		bfield	RI_IOGCR,2,2	;  I/O mode 2
364
RI_IOM1		bfield	RI_IOGCR,0,2	;  I/O mode 1
365
RI_ASCR1	label	$543d		; Analog switch register 1
366
RI_AS7		bit	RI_ASCR1,7	;  Analog switch control
367
RI_AS6		bit	RI_ASCR1,6
368
RI_AS5		bit	RI_ASCR1,5
369
RI_AS4		bit	RI_ASCR1,4
370
RI_AS3		bit	RI_ASCR1,3
371
RI_AS2		bit	RI_ASCR1,2
372
RI_AS1		bit	RI_ASCR1,1
373
RI_AS0		bit	RI_ASCR1,0
374
RI_ASCR2	label	$543e		; Analog switch register 2
375
RI_AS14		bit	RI_ASCR2,6	;  Analog switch control
376
RI_AS11		bit	RI_ASCR2,3
377
RI_AS10		bit	RI_ASCR2,2
378
RI_AS9		bit	RI_ASCR2,1
379
RI_AS8		bit	RI_ASCR2,0
380
RI_RCR		label	$543f		; Resistor control register
381
RI_400KPD	bit	RI_RCR,3	;  400 kOhm pull-down resistor
382
RI_10KPD	bit	RI_RCR,2	;  10 kOhm pull-down resistor
383
RI_400KPU	bit	RI_RCR,1	;  400 kOhm pull-up resistor
384
RI_10KPU	bit	RI_RCR,0	;  10 kOhm pull-up resistor
385
 
386
;----------------------------------------------------------------------------
387
; A/D Converter 1
388
 
389
		include "adc1.inc"
390
		__defadc1 "ADC",,$5340
391
 
392
;----------------------------------------------------------------------------
393
; LCD Controller
394
 
395
		include "lcd.inc"
396
		__deflcd $5400,44,22,1
397
 
398
;----------------------------------------------------------------------------
399
; CPU
400
 
401
		include	"stm8/cpuregs.inc"
402
		__defcpuregs $7f00
403
 
404
;----------------------------------------------------------------------------
405
; Single Wire Interface Module
406
 
407
		include	"stm8/swim.inc"
408
		__defswim $7f80
409
 
410
;----------------------------------------------------------------------------
411
; Debug Module
412
 
413
		include	"stm8/dm.inc"
414
		__defdm	$7f90
415
 
416
                restore                 ; allow again
417
 
418
                endif			; __stm8l052r8inc