📄 iom128v.h
字号:
#ifndef __iom128v_h
#define __iom128v_h
/* ATmega128 header file for
* ImageCraft ICCAVR compiler
*/
/* i/o register addresses
* >= 0x60 are memory mapped only
*/
/* not strictly sorted by address no more
*/
/* interrupt vector number definitions added
*/
/* last changed 2002/09/26
*/
/* Port G */
#define PING (*(volatile unsigned char *)0x63) /* m/m */
#define DDRG (*(volatile unsigned char *)0x64) /* m/m */
#define PORTG (*(volatile unsigned char *)0x65) /* m/m */
/* Port F */
#define PINF (*(volatile unsigned char *)0x20)
#define DDRF (*(volatile unsigned char *)0x61) /* m/m */
#define PORTF (*(volatile unsigned char *)0x62) /* m/m */
/* Port E */
#define PINE (*(volatile unsigned char *)0x21)
#define DDRE (*(volatile unsigned char *)0x22)
#define PORTE (*(volatile unsigned char *)0x23)
/* 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)
/* ADC */
#define ADC (*(volatile unsigned int *)0x24)
#define ADCL (*(volatile unsigned char *)0x24)
#define ADCH (*(volatile unsigned char *)0x25)
#define ADCSRA (*(volatile unsigned char *)0x26)
#define ADEN 7
#define ADSC 6
#define ADFR 5
#define ADATE 5
#define ADIF 4
#define ADIE 3
#define ADPS2 2
#define ADPS1 1
#define ADPS0 0
#define ADMUX (*(volatile unsigned char *)0x27)
#define REFS1 7
#define REFS0 6
#define ADLAR 5
#define MUX4 4
#define MUX3 3
#define MUX2 2
#define MUX1 1
#define MUX0 0
/* Analog Comparator Control and Status Register */
#define ACSR (*(volatile unsigned char *)0x28)
#define ACD 7
#define ACBG 6
#define ACO 5
#define ACI 4
#define ACIE 3
#define ACIC 2
#define ACIS1 1
#define ACIS0 0
/* USART0 */
#define UBRR0H (*(volatile unsigned char *)0x90) /* m/m */
#define UBRR0L (*(volatile unsigned char *)0x29)
#define UCSR0C (*(volatile unsigned char *)0x95) /* m/m */
#define UMSEL0 6
#define UPM01 5
#define UPM00 4
#define USBS0 3
#define UCSZ01 2
#define UCSZ00 1
#define UCPOL0 0
#define UCSR0B (*(volatile unsigned char *)0x2A)
#define RXCIE0 7
#define TXCIE0 6
#define UDRIE0 5
#define RXEN0 4
#define TXEN0 3
#define UCSZ02 2
#define RXB80 1
#define TXB80 0
#define UCSR0A (*(volatile unsigned char *)0x2B)
#define RXC0 7
#define TXC0 6
#define UDRE0 5
#define FE0 4
#define DOR0 3
#define UPE0 2
#define U2X0 1
#define MPCM0 0
#define UDR0 (*(volatile unsigned char *)0x2C)
/* USART1 */
#define UBRR1H (*(volatile unsigned char *)0x98) /* m/m */
#define UBRR1L (*(volatile unsigned char *)0x99) /* m/m */
#define UCSR1C (*(volatile unsigned char *)0x9D) /* m/m */
#define UMSEL1 6
#define UPM11 5
#define UPM10 4
#define USBS1 3
#define UCSZ11 2
#define UCSZ10 1
#define UCPOL1 0
#define UCSR1B (*(volatile unsigned char *)0x9A) /* m/m */
#define RXCIE1 7
#define TXCIE1 6
#define UDRIE1 5
#define RXEN1 4
#define TXEN1 3
#define UCSZ12 2
#define RXB81 1
#define TXB81 0
#define UCSR1A (*(volatile unsigned char *)0x9B) /* m/m */
#define RXC1 7
#define TXC1 6
#define UDRE1 5
#define FE1 4
#define DOR1 3
#define UPE1 2
#define U2X1 1
#define MPCM1 0
#define UDR1 (*(volatile unsigned char *)0x9C) /* m/m */
/* 2-wire SI */
#define TWBR (*(volatile unsigned char *)0x70) /* m/m */
#define TWSR (*(volatile unsigned char *)0x71) /* m/m */
#define TWPS1 1
#define TWPS0 0
#define TWAR (*(volatile unsigned char *)0x72) /* m/m */
#define TWGCE 0
#define TWDR (*(volatile unsigned char *)0x73) /* m/m */
#define TWCR (*(volatile unsigned char *)0x74) /* m/m */
#define TWINT 7
#define TWEA 6
#define TWSTA 5
#define TWSTO 4
#define TWWC 3
#define TWEN 2
#define TWIE 0
/* SPI */
#define SPCR (*(volatile unsigned char *)0x2D)
#define SPIE 7
#define SPE 6
#define DORD 5
#define MSTR 4
#define CPOL 3
#define CPHA 2
#define SPR1 1
#define SPR0 0
#define SPSR (*(volatile unsigned char *)0x2E)
#define SPIF 7
#define WCOL 6
#define SPI2X 0
#define SPDR (*(volatile unsigned char *)0x2F)
/* EEPROM */
#define EECR (*(volatile unsigned char *)0x3C)
#define EERIE 3
#define EEMWE 2
#define EEWE 1
#define EERE 0
#define EEDR (*(volatile unsigned char *)0x3D)
#define EEAR (*(volatile unsigned int *)0x3E)
#define EEARL (*(volatile unsigned char *)0x3E)
#define EEARH (*(volatile unsigned char *)0x3F)
/* Special Function IO Register */
#define SFIOR (*(volatile unsigned char *)0x40)
#define TSM 7
#define ADHSM 4
#define ACME 3
#define PUD 2
#define PSR0 1
#define PSR321 0
/* Watchdog Timer Control Register */
#define WDTCR (*(volatile unsigned char *)0x41)
#define WDCE 4
#define WDE 3
#define WDP2 2
#define WDP1 1
#define WDP0 0
/* OCDR */
#define OCDR (*(volatile unsigned char *)0x42)
#define IDRD 7
/* Timer/Counter3 */
#define ICR3 (*(volatile unsigned int *)0x80) /* m/m */
#define ICR3L (*(volatile unsigned char *)0x80) /* m/m */
#define ICR3H (*(volatile unsigned char *)0x81) /* m/m */
#define OCR3C (*(volatile unsigned int *)0x82) /* m/m */
#define OCR3CL (*(volatile unsigned char *)0x82) /* m/m */
#define OCR3CH (*(volatile unsigned char *)0x83) /* m/m */
#define OCR3B (*(volatile unsigned int *)0x84) /* m/m */
#define OCR3BL (*(volatile unsigned char *)0x84) /* m/m */
#define OCR3BH (*(volatile unsigned char *)0x85) /* m/m */
#define OCR3A (*(volatile unsigned int *)0x86) /* m/m */
#define OCR3AL (*(volatile unsigned char *)0x86) /* m/m */
#define OCR3AH (*(volatile unsigned char *)0x87) /* m/m */
#define TCNT3 (*(volatile unsigned int *)0x88) /* m/m */
#define TCNT3L (*(volatile unsigned char *)0x88) /* m/m */
#define TCNT3H (*(volatile unsigned char *)0x89) /* m/m */
#define TCCR3C (*(volatile unsigned char *)0x8C) /* m/m */
#define FOC3A 7
#define FOC3B 6
#define FOC3C 5
#define TCCR3B (*(volatile unsigned char *)0x8A) /* m/m */
#define ICNC3 7
#define ICES3 6
#define WGM33 4
#define WGM32 3
#define CS32 2
#define CS31 1
#define CS30 0
#define TCCR3A (*(volatile unsigned char *)0x8B) /* m/m */
#define COM3A1 7
#define COM3A0 6
#define COM3B1 5
#define COM3B0 4
#define COM3C1 3
#define COM3C0 2
#define WGM31 1
#define WGM30 0
/* Timer/Counter2 */
#define OCR2 (*(volatile unsigned char *)0x43)
#define TCNT2 (*(volatile unsigned char *)0x44)
#define TCCR2 (*(volatile unsigned char *)0x45)
#define FOC2 7
#define WGM20 6
#define COM21 5
#define COM20 4
#define WGM21 3
#define CS22 2
#define CS21 1
#define CS20 0
/* Timer/Counter1 */
#define ICR1 (*(volatile unsigned int *)0x46)
#define ICR1L (*(volatile unsigned char *)0x46)
#define ICR1H (*(volatile unsigned char *)0x47)
#define OCR1C (*(volatile unsigned int *)0x78) /* m/m */
#define OCR1CL (*(volatile unsigned char *)0x78) /* m/m */
#define OCR1CH (*(volatile unsigned char *)0x79) /* m/m */
#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 TCCR1C (*(volatile unsigned char *)0x7A) /* m/m */
#define FOC1A 7
#define FOC1B 6
#define FOC1C 5
#define TCCR1B (*(volatile unsigned char *)0x4E)
#define ICNC1 7
#define ICES1 6
#define WGM13 4
#define WGM12 3
#define CS12 2
#define CS11 1
#define CS10 0
#define TCCR1A (*(volatile unsigned char *)0x4F)
#define COM1A1 7
#define COM1A0 6
#define COM1B1 5
#define COM1B0 4
#define COM1C1 3
#define COM1C0 2
#define WGM11 1
#define WGM10 0
/* Timer/Counter 0 */
#define ASSR (*(volatile unsigned char *)0x50)
#define AS0 3
#define TCN0UB 2
#define OCR0UB 1
#define TCR0UB 0
#define OCR0 (*(volatile unsigned char *)0x51)
#define TCNT0 (*(volatile unsigned char *)0x52)
#define TCCR0 (*(volatile unsigned char *)0x53)
#define FOC0 7
#define WGM00 6
#define COM01 5
#define COM00 4
#define WGM01 3
#define CS02 2
#define CS01 1
#define CS00 0
/* Oscillator Calibration Register */
#define OSCCAL (*(volatile unsigned char *)0x6F) /* m/m */
/* MCU */
#define MCUSR (*(volatile unsigned char *)0x54)
#define MCUCSR (*(volatile unsigned char *)0x54)
#define JTD 7
#define JTRF 4
#define WDRF 3
#define BORF 2
#define EXTRF 1
#define PORF 0
#define MCUCR (*(volatile unsigned char *)0x55)
#define SRE 7
#define SRW10 6
#define SE 5
#define SM1 4
#define SM0 3
#define SM2 2
#define IVSEL 1
#define IVCE 0
/* SPM Control and Status Register */
#define SPMCSR (*(volatile unsigned char *)0x68) /* m/m */
#define SPMIE 7
#define RWWSB 6
#define RWWSRE 4
#define BLBSET 3
#define PGWRT 2
#define PGERS 1
#define SPMEN 0
/* Timer/Counter Interrupts */
#define TIFR (*(volatile unsigned char *)0x56)
#define OCF2 7
#define TOV2 6
#define ICF1 5
#define OCF1A 4
#define OCF1B 3
#define TOV1 2
#define OCF0 1
#define TOV0 0
#define TIMSK (*(volatile unsigned char *)0x57)
#define OCIE2 7
#define TOIE2 6
#define TICIE1 5
#define OCIE1A 4
#define OCIE1B 3
#define TOIE1 2
#define OCIE0 1
#define TOIE0 0
#define ETIFR (*(volatile unsigned char *)0x7C) /* m/m */
#define ICF3 5
#define OCF3A 4
#define OCF3B 3
#define TOV3 2
#define OCF3C 1
#define OCF1C 0
#define ETIMSK (*(volatile unsigned char *)0x7D) /* m/m */
#define TICIE3 5
#define OCIE3A 4
#define OCIE3B 3
#define TOIE3 2
#define OCIE3C 1
#define OCIE1C 0
/* 葂ternal Interrupts */
#define EIFR (*(volatile unsigned char *)0x58)
#define INTF7 7
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -