Subversion Repositories pentevo

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1186 savelij 1
		ifndef	__reg72361inc	; avoid multiple inclusion
2
__reg72361inc	equ	1
3
 
4
		save
5
		listing	off		; no listing over this file
6
 
7
;****************************************************************************
8
;*                                                                          *
9
;*   AS 1.42 - File REG72361.INC                                            *
10
;*                                                                          *
11
;*   contains SFR and Bit Definitions for ST72[AR/J/K]361                   *
12
;*                                                                          *
13
;*   Source: ST72361 Data Sheet, Rev. 3, August 2010, Doc ID 12468          *
14
;*                                                                          *
15
;****************************************************************************
16
 
17
;----------------------------------------------------------------------------
18
; Memory Addresses
19
 
20
RAMSTART	label	$0080		; start address internal RAM
21
		switch	substr(MOMCPUNAME,9,1)
22
		case	"4","6"
23
RAMEND		label	$067f		; end     "        "      "
24
		case	"7","9"
25
RAMEND		label	$087f		; end     "        "      "
26
		endcase
27
 
28
;----------------------------------------------------------------------------
29
; Interrupt Vectors
30
 
31
PWM_ART_vect	label	$ffe0		; PWM ART Interrupt
32
LINSCI1_vect	label	$ffe2		; LINSCI1 Interrupt Vector
33
LINSCI2_vect	label	$ffe4		; LINSCI2 Interrupt Vector
34
TIMER16_vect	label	$ffe6		; 16-bit Timer Interrupt Vector
35
TIMER8_vect	label	$ffe8		; 8-bit Timer Interrupt Vector
36
SPI_vect	label	$ffea		; SPI Interrupt Vector
37
EI3_vect	label	$fff0		; External Interrupt Vector B7..4
38
EI2_vect	label	$fff2		; External Interrupt Vector B3..0
39
EI1_vect	label	$fff4		; External Interrupt Vector F2..0
40
EI0_vect	label	$fff6		; External Interrupt Vector A3..0, shared with
41
AWU_vect	label	$fff6		; Auto wake up from halt
42
MCC_RTC_vect	label	$fff8		; Main clock controller time base interrupt
43
TLI_vect	label	$fffa		; Top Level Interrupt
44
TRAP_vect	label	$fffc		; TRAP (software) Interrupt Vector
45
RESET_vect	label	$fffe		; RESET Vector
46
 
47
;----------------------------------------------------------------------------
48
; GPIO
49
 
50
		include	"gpio.inc"
51
		__defgpio "PA",$0000
52
		__defgpio "PB",$0003
53
		__defgpio "PC",$0006
54
		__defgpio "PD",$0009
55
		__defgpio "PE",$000c
56
		__defgpio "PF",$000f
57
 
58
;----------------------------------------------------------------------------
59
; SPI
60
 
61
		include	"spi2.inc"
62
		__defspi $0021
63
 
64
;----------------------------------------------------------------------------
65
; Flash
66
 
67
FCSR		label	$0024		; Flash Control/Status Register
68
 
69
;----------------------------------------------------------------------------
70
; ITC
71
 
72
ISPR0		label	$0025		; Interrupt Software Priority Register 0
73
I0_0		bit	ISPR0,0
74
I1_0		bit	ISPR0,1
75
I0_1		bit	ISPR0,2
76
I1_1		bit	ISPR0,3
77
I0_2		bit	ISPR0,4
78
I1_2		bit	ISPR0,5
79
I0_3		bit	ISPR0,6
80
I1_3		bit	ISPR0,7
81
ISPR1		label	$0026		; Interrupt Software Priority Register 1
82
I0_4		bit	ISPR1,0
83
I1_4		bit	ISPR1,1
84
I0_5		bit	ISPR1,2
85
I1_5		bit	ISPR1,3
86
I0_6		bit	ISPR1,4
87
I1_6		bit	ISPR1,5
88
I0_7		bit	ISPR1,6
89
I1_7		bit	ISPR1,7
90
ISPR2		label	$0027		; Interrupt Software Priority Register 2
91
I0_8		bit	ISPR2,0
92
I1_8		bit	ISPR2,1
93
I0_9		bit	ISPR2,2
94
I1_9		bit	ISPR2,3
95
I0_10		bit	ISPR2,4
96
I1_10		bit	ISPR2,5
97
I0_11		bit	ISPR2,6
98
I1_11		bit	ISPR2,7
99
ISPR3		label	$0028		; Interrupt Software Priority Register 3
100
I0_12		bit	ISPR3,0
101
I1_12		bit	ISPR3,1
102
I0_13		bit	ISPR3,2
103
I1_13		bit	ISPR3,3
104
EICR0		label	$0029		; External Interrupt Control Register 0
105
IS3		bfield	EICR0,6,2	;  ei3 sensitivity
106
IS2		bfield	EICR0,4,2	;  ei2 sensitivity
107
IS1		bfield	EICR0,2,2	;  ei1 sensitivity
108
IS0		bfield	EICR0,0,2	;  ei0 sensitivity
109
EICR1		label	$002a		; External Interrupt Control Register 1
110
TLIS		bit	EICR1,1		;  Top Level Interrupt sensitivity
111
TLIE		bit	EICR1,0		;  Top Level Interrupt enable
112
 
113
;----------------------------------------------------------------------------
114
; PWM ART
115
 
116
		include	"pwm_art.inc"
117
		__defpwmart $0031
118
 
119
;----------------------------------------------------------------------------
120
; 8-bit Timer
121
 
122
T8CR2		label	$003c		; Timer Control Register 2
123
T8ICIE		bit	T8CR2,7		;  Input Capture Interrupt Enable
124
T8OCIE		bit	T8CR2,6		;  Output Compare Interrupt Enable
125
T8TOIE		bit	T8CR2,5		;  Timer Overflow Interrupt Enable
126
T8FOLV2		bit	T8CR2,4		;  Forced Output Compare 2
127
T8FOLV1		bit	T8CR2,3		;  Forced Output Compare 1
128
T8OLVL2		bit	T8CR2,2		;  Output Level 2
129
T8IEDG1		bit	T8CR2,1		;  Input Edge 1
130
T8OLVL1		bit	T8CR2,0		;  Output Level 1
131
T8CR1		label	$003d		; Timer Control Register 1
132
T8OC1E		bit	T8CR1,7		;  Output Compare 1 Pin Enable
133
T8OC2E		bit	T8CR1,6		;  Output Compare 2 Pin Enable
134
T8OPM		bit	T8CR1,5		;  One Pulse Mode
135
T8PWM		bit	T8CR1,4		;  Pulse Width Modulation
136
T8CC		bfield	T8CR1,2,2	;  Clock Control
137
T8IEDG2		bit	T8CR1,1		;  Input Edge 2
138
T8CSR		label	$003e		; Timer Control/Status Register
139
T8ICF1		bit	T8CSR,7		;  Input Capture Flag 1
140
T8OCF1		bit	T8CSR,6		;  Output Compare Flag 1
141
T8TOF		bit	T8CSR,5		;  Timer Overflow Flag
142
T8ICF2		bit	T8CSR,4		;  Input Capture Flag 2
143
T8OCF2		bit	T8CSR,3		;  Output Compare Flag 2
144
T8TIMD		bit	T8CSR,2		;  Timer disable
145
T8IC1R		label	$003f		; Timer Input Capture 1 Register
146
T8OC1R		label	$0040		; Timer Output Compare 1 Register
147
T8CTR		label	$0041		; Timer Counter Register
148
T8ACTR		label	$0042		; Timer Alternate Counter Register
149
T8IC2R		label	$0043		; Timer Input Capture 2 Register
150
T8OC2R		label	$0044		; Timer Output Compare 2 Register
151
 
152
;----------------------------------------------------------------------------
153
; 16-bit Timer
154
 
155
		include	"timer.inc"
156
		__deftimer "T16",$0050
157
T16CSR		label	T16SR		; Control/Status Register
158
T16TIMD		bit	T16CSR,2	;  Timer Disable
159
 
160
;----------------------------------------------------------------------------
161
; LINSCI
162
 
163
__deflinsci	macro	Name,Base
164
__NS		set	"\{NAME}"
165
SCI{__NS}SR	label	$0050		; SCI Status Register
166
SCI{__NS}TDRE	bit	SCI{__NS}SR,7	;  Transmit data register empty
167
SCI{__NS}TC	bit	SCI{__NS}SR,6	;  Transmission complete
168
SCI{__NS}RDRF	bit	SCI{__NS}SR,5	;  Received data ready flag
169
SCI{__NS}IDLE	bit	SCI{__NS}SR,4	;  Idle line detect
170
SCI{__NS}OR	bit	SCI{__NS}SR,3	;  Overrun error
171
SCI{__NS}NF	bit	SCI{__NS}SR,2	;  Noise flag
172
SCI{__NS}FE	bit	SCI{__NS}SR,1	;  Framing error
173
SCI{__NS}PE	bit	SCI{__NS}SR,0	;  Parity Error
174
SCI{__NS}DR	label	Base+$01	; SCI Data Register
175
SCI{__NS}BRR	label	Base+$02	; SCI Baud Rate Register
176
SCI{__NS}SCP	bfield	SCI{__NS}BRR,6,2	;  First SCI Prescaler [1:0]
177
SCI{__NS}SCT	bfield	SCI{__NS}BRR,3,3	;  SCI Transmitter rate divisor [2:0]
178
SCI{__NS}SCR	bfield	SCI{__NS}BRR,0,3	;  SCI Receiver rate divisor [2:0]
179
SCI{__NS}CR1	label	Base+$03	; SCI Control Register 1
180
SCI{__NS}R8	bit	SCI{__NS}CR1,7	;  Receive data bit 8
181
SCI{__NS}T8	bit	SCI{__NS}CR1,6	;  Transmit data bit 8
182
SCI{__NS}SCID	bit	SCI{__NS}CR1,5	;  SCI Disable
183
SCI{__NS}M	bit	SCI{__NS}CR1,4	;  Word length
184
SCI{__NS}WAKE	bit	SCI{__NS}CR1,3	;  Wake-Up method
185
SCI{__NS}PCE	bit	SCI{__NS}CR1,2	;  Parity control enable
186
SCI{__NS}PS	bit	SCI{__NS}CR1,1	;  Parity selection
187
SCI{__NS}PIE	bit	SCI{__NS}CR1,0	;  Parity interrupt enable
188
SCI{__NS}CR2	label	Base+$04	; SCI Control Register 2
189
SCI{__NS}TIE	bit	SCI{__NS}CR2,7	;  Transmitter interrupt enable
190
SCI{__NS}TCIE	bit	SCI{__NS}CR2,6	;  Transmission complete interrupt enable
191
SCI{__NS}RIE	bit	SCI{__NS}CR2,5	;  Receiver interrupt enable
192
SCI{__NS}ILIE	bit	SCI{__NS}CR2,4	;  Idle line interrupt enable
193
SCI{__NS}TE	bit	SCI{__NS}CR2,3	;  Transmitter enable
194
SCI{__NS}RE	bit	SCI{__NS}CR2,2	;  Receiver enable
195
SCI{__NS}RWU	bit	SCI{__NS}CR2,1	;  Receiver wake-up
196
SCI{__NS}SBK	bit	SCI{__NS}CR2,0	;  Send break
197
SCI{__NS}CR3	label	Base+$05	; SCI Control Register 3
198
SCI{__NS}LINE	bit	SCI{__NS}CR3,6	;  LIN Mode Enable
199
SCI{__NS}CLKEN	bit	SCI{__NS}CR3,3	;  Clock Enable
200
SCI{__NS}CPOL	bit	SCI{__NS}CR3,2	;  Clock Polarity
201
SCI{__NS}CPHA	bit	SCI{__NS}CR3,1	;  Clock Phase
202
SCI{__NS}LBCL	bit	SCI{__NS}CR3,0	;  Last bit clock pulse
203
SCI{__NS}ERPR	label	Base+$06	; SCI Extended Receive Prescaler Register
204
SCI{__NS}ETPR	label	Base+$07	; SCI Extended Transmit Prescaler Register
205
		endm
206
		__deflinsci "1",$0048
207
		__deflinsci "2",$0060
208
 
209
;----------------------------------------------------------------------------
210
; Analog/Digital Converter
211
 
212
		include	"adc10.inc"
213
		__defadc10 $0045
214
SLOW		bit	ADCCSR,4	;  A/D Clock Selection
215
 
216
		restore
217
 
218
		endif			; __reg72361inc