www.pudn.com > usbcode.rar > io8515v.h
#ifndef __io8515v_h #define __io8515v_h /* AT90S8515/4414 register and bit name header file * for ImageCraft ICCAVR compiler */ /* last changed 01-12-02 */ /* Analog Comparator */ #define ACSR (*(volatile unsigned char *)0x28) /* UART */ #define UBRR (*(volatile unsigned char *)0x29) #define UCR (*(volatile unsigned char *)0x2A) #define USR (*(volatile unsigned char *)0x2B) #define UDR (*(volatile unsigned char *)0x2C) /* SPI */ #define SPCR (*(volatile unsigned char *)0x2D) #define SPSR (*(volatile unsigned char *)0x2E) #define SPDR (*(volatile unsigned char *)0x2F) /* Port D */ #define PIND (*(volatile unsigned char *)0x30) #define DDRD (*(volatile unsigned char *)0x31) #define PORTD (*(volatile unsigned char *)0x32) /* Port C */ #define PINC (*(volatile unsigned char *)0x33) #define DDRC (*(volatile unsigned char *)0x34) #define PORTC (*(volatile unsigned char *)0x35) /* Port B */ #define PINB (*(volatile unsigned char *)0x36) #define DDRB (*(volatile unsigned char *)0x37) #define PORTB (*(volatile unsigned char *)0x38) /* Port A */ #define PINA (*(volatile unsigned char *)0x39) #define DDRA (*(volatile unsigned char *)0x3A) #define PORTA (*(volatile unsigned char *)0x3B) /* EEPROM */ #define EECR (*(volatile unsigned char *)0x3C) #define EEDR (*(volatile unsigned char *)0x3D) #define EEAR (*(volatile unsigned int *)0x3E) #define EEARL (*(volatile unsigned char *)0x3E) #define EEARH (*(volatile unsigned char *)0x3F) /* Watchdog Timer */ #define WDTCR (*(volatile unsigned char *)0x41) /* Timer/Counter 1 */ #define ICR1 (*(volatile unsigned int *)0x44) #define ICR1L (*(volatile unsigned char *)0x44) #define ICR1H (*(volatile unsigned char *)0x45) #define OCR1B (*(volatile unsigned int *)0x48) #define OCR1BL (*(volatile unsigned char *)0x48) #define OCR1BH (*(volatile unsigned char *)0x49) #define OCR1A (*(volatile unsigned int *)0x4A) #define OCR1AL (*(volatile unsigned char *)0x4A) #define OCR1AH (*(volatile unsigned char *)0x4B) #define TCNT1 (*(volatile unsigned int *)0x4C) #define TCNT1L (*(volatile unsigned char *)0x4C) #define TCNT1H (*(volatile unsigned char *)0x4D) #define TCCR1B (*(volatile unsigned char *)0x4E) #define TCCR1A (*(volatile unsigned char *)0x4F) /* Timer/Counter 0 */ #define TCNT0 (*(volatile unsigned char *)0x52) #define TCCR0 (*(volatile unsigned char *)0x53) /* MCU general */ #define MCUCR (*(volatile unsigned char *)0x55) /* Timer/Counter Interrupts */ #define TIFR (*(volatile unsigned char *)0x58) #define TIMSK (*(volatile unsigned char *)0x59) /* General Interrupts */ #define GIFR (*(volatile unsigned char *)0x5A) #define GIMSK (*(volatile unsigned char *)0x5B) /* Stack Pointer */ #define SP (*(volatile unsigned int *)0x5D) #define SPL (*(volatile unsigned char *)0x5D) #define SPH (*(volatile unsigned char *)0x5E) /* CPU Status */ #define SREG (*(volatile unsigned char *)0x5F) /* General Interrupts */ #define INT1 7 #define INT0 6 #define INTF1 7 #define INTF0 6 /* Timer/Counter Interrupts */ #define TOIE1 7 #define OCIE1A 6 #define OCIE1B 5 #define TICIE1 3 #define TOIE0 1 #define TOV1 7 #define OCF1A 6 #define OCF1B 5 #define ICF1 3 #define TOV0 1 /* MCU general controls */ #define SRE 7 #define SRW 6 #define SE 5 #define SM 4 #define ISC11 3 #define ISC10 2 #define ISC01 1 #define ISC00 0 /* Timer/Counter 0 */ #define CS02 2 #define CS01 1 #define CS00 0 /* Timer/Counter 1 */ #define COM1A1 7 #define COM1A0 6 #define COM1B1 5 #define COM1B0 4 #define PWM11 1 #define PWM10 0 #define ICNC1 7 #define ICES1 6 #define CTC1 3 #define CS12 2 #define CS11 1 #define CS10 0 /* Watchdog Timer */ #define WDTOE 4 #define WDE 3 #define WDP2 2 #define WDP1 1 #define WDP0 0 /* EEPROM */ #define EEMWE 2 #define EEWE 1 #define EERE 0 /* Port A */ #define PORTA7 7 #define PORTA6 6 #define PORTA5 5 #define PORTA4 4 #define PORTA3 3 #define PORTA2 2 #define PORTA1 1 #define PORTA0 0 #define PA7 7 #define PA6 6 #define PA5 5 #define PA4 4 #define PA3 3 #define PA2 2 #define PA1 1 #define PA0 0 #define DDA7 7 #define DDA6 6 #define DDA5 5 #define DDA4 4 #define DDA3 3 #define DDA2 2 #define DDA1 1 #define DDA0 0 #define PINA7 7 #define PINA6 6 #define PINA5 5 #define PINA4 4 #define PINA3 3 #define PINA2 2 #define PINA1 1 #define PINA0 0 /* Port B */ #define PORTB7 7 #define PORTB6 6 #define PORTB5 5 #define PORTB4 4 #define PORTB3 3 #define PORTB2 2 #define PORTB1 1 #define PORTB0 0 #define PB7 7 #define PB6 6 #define PB5 5 #define PB4 4 #define PB3 3 #define PB2 2 #define PB1 1 #define PB0 0 #define DDB7 7 #define DDB6 6 #define DDB5 5 #define DDB4 4 #define DDB3 3 #define DDB2 2 #define DDB1 1 #define DDB0 0 #define PINB7 7 #define PINB6 6 #define PINB5 5 #define PINB4 4 #define PINB3 3 #define PINB2 2 #define PINB1 1 #define PINB0 0 /* Port C */ #define PORTC7 7 #define PORTC6 6 #define PORTC5 5 #define PORTC4 4 #define PORTC3 3 #define PORTC2 2 #define PORTC1 1 #define PORTC0 0 #define PC7 7 #define PC6 6 #define PC5 5 #define PC4 4 #define PC3 3 #define PC2 2 #define PC1 1 #define PC0 0 #define DDC7 7 #define DDC6 6 #define DDC5 5 #define DDC4 4 #define DDC3 3 #define DDC2 2 #define DDC1 1 #define DDC0 0 #define PINC7 7 #define PINC6 6 #define PINC5 5 #define PINC4 4 #define PINC3 3 #define PINC2 2 #define PINC1 1 #define PINC0 0 /* Port D */ #define PORTD7 7 #define PORTD6 6 #define PORTD5 5 #define PORTD4 4 #define PORTD3 3 #define PORTD2 2 #define PORTD1 1 #define PORTD0 0 #define PD7 7 #define PD6 6 #define PD5 5 #define PD4 4 #define PD3 3 #define PD2 2 #define PD1 1 #define PD0 0 #define DDD7 7 #define DDD6 6 #define DDD5 5 #define DDD4 4 #define DDD3 3 #define DDD2 2 #define DDD1 1 #define DDD0 0 #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 */ #define SPIF 7 #define WCOL 6 #define SPIE 7 #define SPE 6 #define DORD 5 #define MSTR 4 #define CPOL 3 #define CPHA 2 #define SPR1 1 #define SPR0 0 /* UART */ #define RXC 7 #define TXC 6 #define UDRE 5 #define FE 4 #define DOR 3 /*This definition differs from the databook*/ #define OVR 3 /*This definition differs from the databook*/ #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 /* Interrupt Vector Numbers */ #define iv_RESET 1 #define iv_INT0 2 #define iv_INT1 3 #define iv_TIMER1_CAPT 4 #define iv_TIMER1_COMPA 5 #define iv_TIMER1_COMPB 6 #define iv_TIMER1_OVF 7 #define iv_TIMER0_OVF 8 #define iv_SPI_STC 9 #define iv_UART_RX 10 #define iv_UART_RXC 10 #define iv_UART_DRE 11 #define iv_UART_UDRE 11 #define iv_UART_TX 12 #define iv_UART_TXC 12 #define iv_ANA_COMP 13 #define iv_ANALOG_COMP 13 /* */ #endif