Subversion Repositories Kolibri OS

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
6400 punk_joker 1
;***************************************************************************
2
;* A P P L I C A T I O N   N O T E   F O R   T H E   A V R   F A M I L Y
3
;*
4
;* Number		:AVR000
5
;* File Name		:"tn28def.inc"
6
;* Title		:Register/Bit Definitions for the ATtiny28
7
;* Date                 :99.01.28
8
;* Version              :1.30
9
;* Support E-mail	:avr@atmel.com
10
;* Target MCU		:ATtiny28
11
;*
12
;* DESCRIPTION
13
;* When including this file in the assembly program file, all I/O register
14
;* names and I/O register bit names appearing in the data book can be used.
15
;* In addition, the two registers forming the data pointers Z have been
16
;* assigned names ZL - ZH.
17
;*
18
;*
19
;* The Register names are represented by their hexadecimal address.
20
;*
21
;* The Register Bit names are represented by their bit number (0-7).
22
;*
23
;* Please observe the difference in using the bit names with instructions
24
;* such as "sbr"/"cbr" (set/clear bit in register) and "sbrs"/"sbrc"
25
;* (skip if bit in register set/cleared). The following example illustrates
26
;* this:
27
;*
28
;* in	r16,PORTB		;read PORTB latch
29
;* sbr	r16,(1<
30
;* out  PORTB,r16		;output to PORTB
31
;*
32
;* in	r16,TIFR		;read the Timer Interrupt Flag Register
33
;* sbrc	r16,TOV0		;test the overflow flag (use bit#)
34
;* rjmp	TOV0_is_set		;jump if set
35
;* ...				;otherwise do something else
36
;***************************************************************************
37
 
38
;***** Specify Device
39
.device ATtiny28
40
 
41
;***** I/O Register Definitions
42
.equ	SREG	=$3f
43
.equ	PORTA	=$1b
44
.equ	PACR	=$1a
45
.equ	PINA	=$19
46
.equ	PINB	=$16
47
.equ	PORTD	=$12
48
.equ	DDRD	=$11
49
.equ	PIND	=$10
50
.equ	ACSR	=$08
51
.equ	MCUCS	=$07
52
.equ    ICR     =$06
53
.equ    IFR     =$05
54
.equ	TCCR0	=$04
55
.equ	TCNT0	=$03
56
.equ	MODCR	=$02
57
.equ	WDTCR	=$01
58
.equ	OSCCAL	=$00
59
 
60
 
61
;***** Bit Definitions
62
.equ	PA3		=3
63
.equ	PA2		=2
64
.equ	PA1		=1
65
.equ	PA0		=0
66
 
67
.equ	DDA3	=3
68
.equ	PA2HC	=2
69
.equ	DDA1	=1
70
.equ	DDA0	=0
71
 
72
.equ	PINA3	=3
73
.equ	PINA1	=1
74
.equ	PINA0	=0
75
 
76
.equ	PINB7	=7
77
.equ	PINB6	=6
78
.equ	PINB5	=5
79
.equ	PINB4	=4
80
.equ	PINB3	=3
81
.equ	PINB2	=2
82
.equ	PINB1	=1
83
.equ	PINB0	=0
84
 
85
.equ	PD7	=7
86
.equ	PD6	=6
87
.equ	PD5	=5
88
.equ	PD4	=4
89
.equ	PD3	=3
90
.equ	PD2	=2
91
.equ	PD1	=1
92
.equ	PD0	=0
93
 
94
.equ	DDD7	=7
95
.equ	DDD6	=6
96
.equ	DDD5	=5
97
.equ	DDD4	=4
98
.equ	DDD3	=3
99
.equ	DDD2	=2
100
.equ	DDD1	=1
101
.equ	DDD0	=0
102
 
103
.equ	PIND7	=7
104
.equ	PIND6	=6
105
.equ	PIND5	=5
106
.equ	PIND4	=4
107
.equ	PIND3	=3
108
.equ	PIND2	=2
109
.equ	PIND1	=1
110
.equ	PIND0	=0
111
 
112
.equ	ACD	=7
113
.equ	ACO	=5
114
.equ	ACI	=4
115
.equ	ACIE	=3
116
.equ	ACIS1	=1
117
.equ	ACIS0	=0
118
 
119
.equ	PLUPB	=7
120
.equ	SE	=5
121
.equ	SM	=4
122
.equ    WDRF    =3
123
.equ    EXTRF   =1
124
.equ    PORF    =0
125
 
126
.equ	INT1	=7
127
.equ	INT0	=6
128
.equ	LLIE	=5
129
.equ	TOIE0	=4
130
.equ	ISC11	=3
131
.equ	ISC10	=2
132
.equ	ISC01	=1
133
.equ	ISC00	=0
134
 
135
.equ	INTF1	=7
136
.equ	INTF0	=6
137
.equ	TOV0	=4
138
 
139
.equ	FOV0	=7
140
.equ	OOM01	=4
141
.equ	OOM00	=3
142
.equ	CS02	=2
143
.equ	CS01	=1
144
.equ	CS00	=0
145
 
146
.equ	WDTOE	=4
147
.equ	WDE	=3
148
.equ	WDP2	=2
149
.equ	WDP1	=1
150
.equ	WDP0	=0
151
 
152
.equ    ONTIM4  =7
153
.equ    ONTIM3  =6
154
.equ    ONTIM2  =5
155
.equ    ONTIM1  =4
156
.equ    ONTIM0  =3
157
.equ    MCONF2  =2
158
.equ    MCONF1  =1
159
.equ    MCONF0  =0
160
 
161
.equ	CAL7	=7
162
.equ	CAL6	=6
163
.equ	CAL5	=5
164
.equ	CAL4	=4
165
.equ	CAL3	=3
166
.equ	CAL2	=2
167
.equ	CAL1	=1
168
.equ	CAL0	=0
169
 
170
.def	ZL	=r30
171
.def	ZH	=r31
172
 
173
 
174
.equ	FLASHEND = 0x07FF
175
.equ	RAMEND   = 0x03FF
176
 
177
.equ	INT0addr =$001	;External Interrupt0 Vector Address
178
.equ	INT1addr =$002	;External Interrupt1 Vector Address
179
.equ	LLINTaddr=$003	;Low level Interrupt Vector Address
180
.equ	OVF0addr =$004	;Overflow0 Interrupt Vector Address
181
.equ	ACIaddr  =$005	;Analog Comparator Interrupt Vector Address
182
 
183
#pragma AVRPART ADMIN PART_NAME ATtiny28
184
#pragma AVRPART CORE CORE_VERSION V0E
185
#pragma AVRPART MEMORY PROG_FLASH 2048
186
#pragma AVRPART MEMORY EEPROM 0
187
#pragma AVRPART MEMORY INT_SRAM START_ADDR 0x60
188
#pragma AVRPART MEMORY INT_SRAM SIZE  0