⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 io8535.h

📁 DSP应用程序大全
💻 H
字号:
/*            - io8535.h -

   This file #defines the internal register addresses for AT90S8535.
   Used with ICCA90 and AA90.

   Version: 1.10 [JB]

*/

#pragma language = extended

#if (((__TID__ >> 8) & 0x7F) !=  90)
#error This file should only be compiled by icca90/aa90
#endif
#if (((__TID__ >> 4) & 0x0F) !=  1)
#error This file should only be included if the processor option is -v1
#endif

/* Include the SFR part if this file has not been included before,
 * OR this file is included by the assembler (SFRs must be defined in
 * each assembler module). AA90 has __TID__ bit 15 = 0. */
#if !defined(__IO8535_INCLUDED) || ((__TID__ >> 15) == 0)

/* =========================*/
/* Predefined SFR Addresses */
/* =========================*/

/* ADC Data register */
sfrw ADC     = 0x04; 
sfrb ADCL    =  0x04;
sfrb ADCH    =  0x05;

/* ADC Control and Status Register */
sfrb ADCSR    = 0x06;

/* ADC MUX */
sfrb ADMUX    = 0x07;

/* Analog Comparator Control and Status Register */
sfrb ACSR      =     0x08;

/* UART Baud Rate Register */
sfrb UBRR      = 0x09;

/* UART Control Register */
sfrb UCR      = 0x0A;

/* UART Status Register */
sfrb USR      = 0x0B;

/* UART I/O Data Register */
sfrb UDR      = 0x0C;

/* SPI Control Register */
sfrb SPCR      = 0x0D;

/* SPI Status Register */
sfrb SPSR      = 0x0E;

/* SPI I/O Data Register */
sfrb SPDR      = 0x0F;

/* Input Pins, Port D */
sfrb PIND      = 0x10;

/* Data Direction Register, Port D */
sfrb DDRD      = 0x11;

/* Data Register, Port D */
sfrb PORTD      = 0x12;

/* Input Pins, Port C */
sfrb PINC      = 0x13;

/* Data Direction Register, Port C */
sfrb DDRC      = 0x14;

/* Data Register, Port C */
sfrb PORTC      = 0x15;

/* Input Pins, Port B */
sfrb PINB      = 0x16;

/* Data Direction Register, Port B */
sfrb DDRB      = 0x17;

/* Data Register, Port B */
sfrb PORTB      = 0x18;

/* Input Pins, Port A */
sfrb PINA      = 0x19;

/* Data Direction Register, Port A */
sfrb DDRA      = 0x1A;

/* Data Register, Port A */
sfrb PORTA      = 0x1B;

/* EEPROM Control Register */
sfrb EECR      = 0x1C;

/* EEPROM Data Register */
sfrb EEDR      = 0x1D;

/* EEPROM Address Register */
sfrw EEAR      = 0x1E;
sfrb EEARL     = 0x1E;
sfrb EEARH     = 0x1F;

/* Watchdog Timer Control Register */
sfrb WDTCR      = 0x21;

/* Asynchronous mode Status Register */
sfrb ASSR      = 0x22;

/* Timer/Counter2 Output Compare Register */
sfrb OCR2      = 0x23;

/* Timer/Counter 2 */
sfrb TCNT2      = 0x24;

/* Timer/Counter 2 Control Register */
sfrb TCCR2      = 0x25;

/* T/C 1 Input Capture Register */
sfrw ICR1      = 0x26;
sfrb ICR1L     = 0x26;
sfrb ICR1H     = 0x27;

/* Timer/Counter1 Output Compare Register B */
sfrw OCR1B      = 0x28;
sfrb OCR1BL     = 0x28;
sfrb OCR1BH     = 0x29;

/* Timer/Counter1 Output Compare Register A */
sfrw OCR1A      = 0x2A;
sfrb OCR1AL     = 0x2A;
sfrb OCR1AH     = 0x2B;

/* Timer/Counter 1 */
sfrw TCNT1      = 0x2C;
sfrb TCNT1L     = 0x2C;
sfrb TCNT1H     = 0x2D;

/* Timer/Counter 1 Control and Status Register */
sfrb TCCR1B      = 0x2E;

/* Timer/Counter 1 Control Register */
sfrb TCCR1A      = 0x2F;

/* Timer/Counter 0 */
sfrb TCNT0      = 0x32;

/* Timer/Counter 0 Control Register */
sfrb TCCR0      = 0x33;

/* MCU general Status Register */
sfrb MCUSR      = 0x34;

/* MCU general Control Register */
sfrb MCUCR      = 0x35;

/* Timer/Counter Interrupt Flag register */
sfrb TIFR      = 0x38;

/* Timer/Counter Interrupt MaSK register */
sfrb TIMSK      = 0x39;

/* General Interrupt Flag Register */
sfrb GIFR       = 0x3A;

/* General Interrupt MaSK register */
sfrb GIMSK      = 0x3B;
 
/* Stack Pointer */
sfrw SP         = 0x3D;
sfrb SPL        = 0x3D;
sfrb SPH        = 0x3E;

/* Status REGister */
sfrb SREG      = 0x3F;


#ifndef __IO8535_INCLUDED
#define __IO8535_INCLUDED

/* SFRs are local in assembler modules (so this file may need to be */
/* included in more than one module in the same source file), */
/* but #defines must only be made once per source file. */

/*                              */
/* Interrupt Vector Definitions */
/*                              */

/* NB! vectors are specified as byte addresses */

#define    RESET_vect           (0x00)
#define    INT0_vect            (0x02)
#define    INT1_vect            (0x04)
#define    TIMER2_COMP_vect     (0x06)
#define    TIMER2_OVF_vect      (0x08)
#define    TIMER1_CAPT1_vect    (0x0A)
#define    TIMER1_COMPA_vect    (0x0C)
#define    TIMER1_COMPB_vect    (0x0E)
#define    TIMER1_OVF1_vect     (0x10)
#define    TIMER0_OVF0_vect     (0x12)
#define    SPI_STC_vect         (0x14)
#define    UART_RX_vect         (0x16)
#define    UART_UDRE_vect       (0x18)
#define    UART_TX_vect         (0x1A)
#define    ADC_vect             (0x1C)
#define    EE_RDY_vect          (0x1E)
#define    ANA_COMP_vect        (0x20)

/* Bit definitions for use with the IAR Assembler   
   The Register Bit names are represented by their bit number (0-7).
*/    
 
/* MCU general Status Register */    
#define    EXTRF       1
#define    PORF        0
 
/* General Interrupt MaSK register */
#define    INT1        7
#define    INT0        6
 
/* General Interrupt Flag Register */
#define    INTF1       7
#define    INTF0       6                   
 
/* Timer/Counter Interrupt MaSK register */
#define    OCIE2       7 
#define    TOIE2       6 
#define    TICIE1      5
#define    OCIE1A      4
#define    OCIE1B      3
#define    TOIE1       2
#define    TOIE0       0
 
/* Timer/Counter Interrupt Flag register */
#define    OCF2         7
#define    TOV2         6
#define    ICF1         5
#define    OCF1A        4
#define    OCF1B        3
#define    TOV1         2
#define    TOV0         0
 
/* MCU general Control Register */ 
#define    SE           6
#define    SM1          5
#define    SM0          4
#define    ISC11        3
#define    ISC10        2
#define    ISC01        1
#define    ISC00        0
 
/* Timer/Counter 0 Control Register */
#define    CS02         2
#define    CS01         1
#define    CS00         0
 
/* Timer/Counter 1 Control Register */
#define    COM1A1       7
#define    COM1A0       6
#define    COM1B1       5
#define    COM1B0       4
#define    PWM11        1
#define    PWM10        0
 
/* Timer/Counter 1 Control and Status Register */
#define    ICNC1        7
#define    ICES1        6
#define    CTC1         3
#define    CS12         2
#define    CS11         1
#define    CS10         0
 
/* Timer/Counter 2 Control Register */
#define    PWM2         6
#define    COM21        5
#define    COM20        4
#define    CTC2         3
#define    CS22         2
#define    CS21         1
#define    CS20         0

/* Asynchronous mode Status Register */
#define    AS2          3
#define    TCN2UB       2
#define    OCR2UB       1
#define    TCR2UB       0
                        
/* Watchdog Timer Control Register */                         
#define    WDTOE        4
#define    WDE          3
#define    WDP2         2
#define    WDP1         1
#define    WDP0         0    
 
/* EEPROM Control Register */
#define    EERIE        3
#define    EEMWE        2
#define    EEWE         1
#define    EERE         0
 
/* Data Register, Port A */ 
#define    PA7      7
#define    PA6      6
#define    PA5      5
#define    PA4      4
#define    PA3      3
#define    PA2      2
#define    PA1      1
#define    PA0      0
                                     
/* Data Direction Register, Port A */
#define    DDA7     7
#define    DDA6     6
#define    DDA5     5
#define    DDA4     4
#define    DDA3     3
#define    DDA2     2
#define    DDA1     1
#define    DDA0     0
 
/* Input Pins, Port A */
#define    PINA7    7
#define    PINA6    6
#define    PINA5    5
#define    PINA4    4
#define    PINA3    3
#define    PINA2    2
#define    PINA1    1
#define    PINA0    0
 
/* Data Register, Port B */  
#define    PB7      7
#define    PB6      6
#define    PB5      5
#define    PB4      4
#define    PB3      3
#define    PB2      2
#define    PB1      1
#define    PB0      0
 
/* Data Direction Register, Port B */
#define    DDB7     7
#define    DDB6     6
#define    DDB5     5
#define    DDB4     4
#define    DDB3     3
#define    DDB2     2
#define    DDB1     1
#define    DDB0     0
 
/* Input Pins, Port B */
#define    PINB7    7
#define    PINB6    6
#define    PINB5    5
#define    PINB4    4
#define    PINB3    3
#define    PINB2    2
#define    PINB1    1
#define    PINB0    0
 
/* Data Register, Port C */
#define    PC7      7
#define    PC6      6
#define    PC5      5
#define    PC4      4
#define    PC3      3
#define    PC2      2
#define    PC1      1
#define    PC0      0
 
/* Data Direction Register, Port C */
#define    DDC7     7
#define    DDC6     6
#define    DDC5     5
#define    DDC4     4
#define    DDC3     3
#define    DDC2     2
#define    DDC1     1
#define    DDC0     0
 
/* Input Pins, Port C */
#define    PINC7    7
#define    PINC6    6
#define    PINC5    5
#define    PINC4    4
#define    PINC3    3
#define    PINC2    2
#define    PINC1    1
#define    PINC0    0
 
/* Data Register, Port D */
#define    PD7      7
#define    PD6      6
#define    PD5      5
#define    PD4      4
#define    PD3      3
#define    PD2      2
#define    PD1      1
#define    PD0      0
 
/* Data Direction Register, Port D */
#define    DDD7     7
#define    DDD6     6
#define    DDD5     5
#define    DDD4     4
#define    DDD3     3
#define    DDD2     2
#define    DDD1     1
#define    DDD0     0
 
/* Input Pins, Port D */
#define    PIND7     7
#define    PIND6     6
#define    PIND5     5
#define    PIND4     4
#define    PIND3     3
#define    PIND2     2
#define    PIND1     1
#define    PIND0     0
 
/* SPI Control Register */
#define    SPIE     7
#define    SPE     6
#define    DORD     5
#define    MSTR     4
#define    CPOL     3
#define    CPHA     2
#define    SPR1     1
#define    SPR0     0

/* SPI Status Register */
#define    SPIF     7
#define    WCOL     6
 
/* UART Status Register */
#define    RXC      7
#define    TXC      6
#define    UDRE     5
#define    FE       4
#define    OR       3
 
/* UART Control Register */
#define    RXCIE    7
#define    TXCIE    6
#define    UDRIE    5
#define    RXEN     4
#define    TXEN     3
#define    CHR9     2
#define    RXB8     1
#define    TXB8     0
 
/* Analog Comparator Control and Status Register */
#define    ACD      7
#define    ACO      5
#define    ACI      4
#define    ACIE     3
#define    ACIC     2
#define    ACIS1    1
#define    ACIS0    0

/* ADC MUX */
#define    MUX2     2
#define    MUX1     1
#define    MUX0     0

/* ADC Control and Status Register */
#define    ADEN     7
#define    ADSC     6
#define    ADFR     5
#define    ADIF     4
#define    ADIE     3
#define    ADPS2    2
#define    ADPS1    1
#define    ADPS0    0  
 
/* Pointer definition   */
#define    XL     r26
#define    XH     r27
#define    YL     r28
#define    YH     r29
#define    ZL     r30
#define    ZH     r31
 
/* Contants */
#define    RAMEND   $25F    /*Last On-Chip SRAM location*/
#define    XRAMEND  $25F
#define    E2END    $1FF
#define    FLASHEND $1FFF
 
#endif /* __IO8535_INCLUDED (define part) */
#endif /* __IO8535_INCLUDED (SFR part) */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -