Main Page   Compound List   File List   Compound Members   File Members  

io8515.h

Go to the documentation of this file.
00001 /*            - io8515.h -
00002 
00003    This file #defines the internal register addresses for AT90S8515.
00004 */
00005 
00006 #ifndef __IO8515
00007 #define __IO8515 1
00008 
00009 /*==========================*/
00010 /* Predefined SFR Addresses */
00011 /*==========================*/
00012 
00013 /* Analog Comparator Control and Status Register */
00014 #define ACSR           0x08 
00015 
00016 /* UART Baud Rate Register */
00017 #define UBRR      0x09 
00018 
00019 /* UART Control Register */
00020 #define UCR      0x0A 
00021 
00022 /* UART Status Register */
00023 #define USR      0x0B 
00024 
00025 /* UART I/O Data Register */
00026 #define UDR      0x0C 
00027 
00028 /* SPI Control Register */
00029 #define SPCR      0x0D 
00030 
00031 /* SPI Status Register */
00032 #define SPSR      0x0E 
00033 
00034 /* SPI I/O Data Register */
00035 #define SPDR      0x0F 
00036 
00037 /* Input Pins, Port D */
00038 #define PIND      0x10 
00039 
00040 /* Data Direction Register, Port D */
00041 #define DDRD      0x11 
00042 
00043 /* Data Register, Port D */
00044 #define PORTD      0x12 
00045 
00046 /* Input Pins, Port C */
00047 #define PINC      0x13 
00048 
00049 /* Data Direction Register, Port C */
00050 #define DDRC      0x14 
00051 
00052 /* Data Register, Port C */
00053 #define PORTC      0x15 
00054 
00055 /* Input Pins, Port B */
00056 #define PINB      0x16 
00057 
00058 /* Data Direction Register, Port B */
00059 #define DDRB      0x17 
00060 
00061 /* Data Register, Port B */
00062 #define PORTB      0x18 
00063 
00064 /* Input Pins, Port A */
00065 #define PINA      0x19 
00066 
00067 /* Data Direction Register, Port A */
00068 #define DDRA      0x1A 
00069 
00070 /* Data Register, Port A */
00071 #define PORTA      0x1B 
00072 
00073 /* EEPROM Control Register */
00074 #define EECR      0x1C 
00075 
00076 /* EEPROM Data Register */
00077 #define EEDR      0x1D 
00078 
00079 /* EEPROM Address Register */
00080 #define EEARL   0x1E 
00081 #define EEARH   0x1F
00082 
00083 /* Watchdog Timer Control Register */
00084 #define WDTCR      0x21 
00085 
00086 /* T/C 1 Input Capture Register */
00087 #define ICR1L      0x24 
00088 #define ICR1H      0x25 
00089 
00090 /* Timer/Counter1 Output Compare Register B */
00091 #define OCR1BL      0x28 
00092 #define OCR1BH      0x29 
00093 
00094 /* Timer/Counter1 Output Compare Register A */
00095 #define OCR1AL      0x2A 
00096 #define OCR1AH      0x2B 
00097 
00098 /* Timer/Counter 1 */
00099 #define TCNT1L      0x2C 
00100 #define TCNT1H      0x2D 
00101 
00102 /* Timer/Counter 1 Control and Status Register */
00103 #define TCCR1B      0x2E 
00104 
00105 /* Timer/Counter 1 Control Register */
00106 #define TCCR1A      0x2F 
00107 
00108 /* Timer/Counter 0 */
00109 #define TCNT0      0x32 
00110 
00111 /* Timer/Counter 0 Control Register */
00112 #define TCCR0      0x33 
00113 
00114 /* MCU general Control Register */
00115 #define MCUCR      0x35 
00116 
00117 /* Timer/Counter Interrupt Flag register */
00118 #define TIFR      0x38 
00119 
00120 /* Timer/Counter Interrupt MaSK register */
00121 #define TIMSK      0x39 
00122 
00123 /* General Interrupt Flag Register */
00124 #define GIFR   0x3A 
00125 
00126 /* General Interrupt MaSK register */
00127 #define GIMSK      0x3B 
00128 
00129 /* Stack Pointer */
00130 #define SPL      0x3D 
00131 #define SPH      0x3E 
00132 
00133 /* Status REGister */
00134 #define SREG      0x3F 
00135 
00136 
00137 /*==============================*/
00138 /* Interrupt Vector Definitions */
00139 /*==============================*/
00140 
00141 /* NB! vectors are specified as byte addresses */
00142 
00143 #define    RESET_vect          (0x00)
00144 #define    INT0_vect           (0x02)
00145 #define    INT1_vect           (0x04)
00146 #define    TIMER1_CAPT_vect    (0x06)
00147 #define    TIMER1_COMPA_vect   (0x08)
00148 #define    TIMER1_COMPB_vect   (0x0A)
00149 #define    TIMER1_OVF_vect     (0x0C)
00150 #define    TIMER0_OVF_vect     (0x0E)
00151 #define    SPI_STC_vect        (0x10)
00152 #define    UART_RX_vect        (0x12)
00153 #define    UART_UDRE_vect      (0x14)
00154 #define    UART_TX_vect        (0x16)
00155 #define    ANA_COMP_vect       (0x18)
00156 
00157 #define INT_VECT_SIZE (0x1A)
00158 
00159 /*
00160    The Register Bit names are represented by their bit number (0-7).
00161 */
00162 
00163 /* General Interrupt MaSK register */ 
00164 #define    INT1         7
00165 #define    INT0         6
00166  
00167 /* General Interrupt Flag Register */
00168 #define    INTF1        7
00169 #define    INTF0        6
00170 
00171 /* Timer/Counter Interrupt MaSK register */
00172 #define    TOIE1        7
00173 #define    OCIE1A       6
00174 #define    OCIE1B       5
00175 #define    TICIE1       3
00176 #define    TOIE0        1
00177  
00178 /* Timer/Counter Interrupt Flag register */
00179 #define    TOV1         7
00180 #define    OCF1A        6
00181 #define    OCF1B        5
00182 #define    ICF1         3
00183 #define    TOV0         1
00184  
00185 /* MCU general Control Register */   
00186 #define    SRE          7
00187 #define    SRW          6
00188 #define    SE           5
00189 #define    SM           4
00190 #define    ISC11        3
00191 #define    ISC10        2
00192 #define    ISC01        1
00193 #define    ISC00        0
00194  
00195 /* Timer/Counter 0 Control Register */
00196 #define    CS02         2
00197 #define    CS01         1
00198 #define    CS00         0 
00199  
00200 /* Timer/Counter 1 Control Register */
00201 #define    COM1A1       7
00202 #define    COM1A0       6
00203 #define    COM1B1       5
00204 #define    COM1B0       4
00205 #define    PWM11        1
00206 #define    PWM10        0
00207  
00208 /* Timer/Counter 1 Control and Status Register */
00209 #define    ICNC1        7
00210 #define    ICES1        6
00211 #define    CTC1         3
00212 #define    CS12         2
00213 #define    CS11         1
00214 #define    CS10         0
00215                         
00216 /* Watchdog Timer Control Register */  
00217 #define    WDTOE        4
00218 #define    WDE          3
00219 #define    WDP2         2
00220 #define    WDP1         1
00221 #define    WDP0         0
00222  
00223 /* EEPROM Control Register */
00224 #define    EEMWE        2
00225 #define    EEWE         1
00226 #define    EERE         0
00227  
00228 /* Data Register, Port A */ 
00229 #define    PA7          7
00230 #define    PA6          6
00231 #define    PA5          5
00232 #define    PA4          4
00233 #define    PA3          3
00234 #define    PA2          2
00235 #define    PA1          1
00236 #define    PA0          0
00237                                      
00238 /* Data Direction Register, Port A */
00239 #define    DDA7         7
00240 #define    DDA6         6
00241 #define    DDA5         5
00242 #define    DDA4         4
00243 #define    DDA3         3
00244 #define    DDA2         2
00245 #define    DDA1         1
00246 #define    DDA0         0
00247  
00248 /* Input Pins, Port A */
00249 #define    PINA7        7
00250 #define    PINA6        6
00251 #define    PINA5        5
00252 #define    PINA4        4
00253 #define    PINA3        3
00254 #define    PINA2        2
00255 #define    PINA1        1
00256 #define    PINA0        0
00257  
00258 /* Data Register, Port B */  
00259 #define    PB7          7
00260 #define    PB6          6
00261 #define    PB5          5
00262 #define    PB4          4
00263 #define    PB3          3
00264 #define    PB2          2
00265 #define    PB1          1
00266 #define    PB0          0
00267  
00268 /* Data Direction Register, Port B */
00269 #define    DDB7         7
00270 #define    DDB6         6
00271 #define    DDB5         5
00272 #define    DDB4         4
00273 #define    DDB3         3
00274 #define    DDB2         2
00275 #define    DDB1         1
00276 #define    DDB0         0
00277  
00278 /* Input Pins, Port B */
00279 #define    PINB7        7
00280 #define    PINB6        6
00281 #define    PINB5        5
00282 #define    PINB4        4
00283 #define    PINB3        3
00284 #define    PINB2        2
00285 #define    PINB1        1
00286 #define    PINB0        0
00287  
00288 /* Data Register, Port C */
00289 #define    PC7          7
00290 #define    PC6          6
00291 #define    PC5          5
00292 #define    PC4          4
00293 #define    PC3          3
00294 #define    PC2          2
00295 #define    PC1          1
00296 #define    PC0          0
00297  
00298 /* Data Direction Register, Port C */
00299 #define    DDC7         7
00300 #define    DDC6         6
00301 #define    DDC5         5
00302 #define    DDC4         4
00303 #define    DDC3         3
00304 #define    DDC2         2
00305 #define    DDC1         1
00306 #define    DDC0         0
00307  
00308 /* Input Pins, Port C */
00309 #define    PINC7        7
00310 #define    PINC6        6
00311 #define    PINC5        5
00312 #define    PINC4        4
00313 #define    PINC3        3
00314 #define    PINC2        2
00315 #define    PINC1        1
00316 #define    PINC0        0
00317  
00318 /* Data Register, Port D */
00319 #define    PD7          7
00320 #define    PD6          6
00321 #define    PD5          5
00322 #define    PD4          4
00323 #define    PD3          3
00324 #define    PD2          2
00325 #define    PD1          1
00326 #define    PD0          0
00327  
00328 /* Data Direction Register, Port D */
00329 #define    DDD7         7
00330 #define    DDD6         6
00331 #define    DDD5         5
00332 #define    DDD4         4
00333 #define    DDD3         3
00334 #define    DDD2         2
00335 #define    DDD1         1
00336 #define    DDD0         0
00337  
00338 /* Input Pins, Port D */
00339 #define    PIND7        7
00340 #define    PIND6        6
00341 #define    PIND5        5
00342 #define    PIND4        4
00343 #define    PIND3        3
00344 #define    PIND2        2
00345 #define    PIND1        1
00346 #define    PIND0        0
00347  
00348 /* SPI Status Register */
00349 #define    SPIF         7
00350 #define    WCOL         6
00351  
00352 /* SPI Control Register */
00353 #define    SPIE         7
00354 #define    SPE          6
00355 #define    DORD         5
00356 #define    MSTR         4
00357 #define    CPOL         3
00358 #define    CPHA         2
00359 #define    SPR1         1
00360 #define    SPR0         0
00361  
00362 /* UART Status Register */
00363 #define    RXC          7
00364 #define    TXC          6
00365 #define    UDRE         5
00366 #define    FE           4
00367 #define    OVR          3    /*This definition differs from the databook    */
00368                         /*definition to avoid problems with the OR instruction */
00369  
00370 /* UART Control Register */
00371 #define    RXCIE        7
00372 #define    TXCIE        6
00373 #define    UDRIE        5
00374 #define    RXEN         4
00375 #define    TXEN         3
00376 #define    CHR9         2
00377 #define    RXB8         1
00378 #define    TXB8         0
00379  
00380 /* Analog Comparator Control and Status Register */
00381 #define    ACD          7
00382 #define    ACO          5
00383 #define    ACI          4
00384 #define    ACIE         3
00385 #define    ACIC         2
00386 #define    ACIS1        1
00387 #define    ACIS0        0
00388  
00389 /* Pointer definition   */
00390 #define    XL           r26
00391 #define    XH           r27
00392 #define    YL           r28
00393 #define    YH           r29
00394 #define    ZL           r30
00395 #define    ZH           r31
00396  
00397 /* Constants        */
00398 #define    RAMEND       0x25F    /* Last On-Chip SRAM Location */
00399 #define    XRAMEND      0xFFFF
00400 #define    E2END        0x1FF
00401 #define    FLASHEND     0x1FFF
00402 
00403 #endif

Generated at Fri Jul 19 14:55:41 2002 for avrgcc by doxygen1.2.8.1 written by Dimitri van Heesch, © 1997-2001