Subversion Repositories pentevo

Rev

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