Main Page   Compound List   File List   Compound Members   File Members  

io8535.h

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

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