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

📄 iom162v.h

📁 ARM单片机控制SD卡的读写
💻 H
字号:
#ifndef __iom162v_h
#define __iom162v_h

/* ATmega162 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
 */

/* created 2002/05/17
 */

/* UART1 */
#define UBRR1H  (*(volatile unsigned char *)0x5C)
#define  URSEL1   7
#define UBRR1L  (*(volatile unsigned char *)0x20)
#define UBRR1   (*(volatile unsigned char *)0x20)
#define UCSR1C  (*(volatile unsigned char *)0x5C)
#define  URSEL1   7
#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 *)0x21)
#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 *)0x22)
#define  RXC1     7
#define  TXC1     6
#define  UDRE1    5
#define  FE1      4
#define  OVR1     3    /* Alternative Definition */
#define  DOR1     3
#define  OR1      3    /* Alternative Definition */
#define  UPE1     2
#define  U2X1     1
#define  MPCM1    0
#define UDR1    (*(volatile unsigned char *)0x23)

/* UART0 */
#define UBRR0H  (*(volatile unsigned char *)0x40)
#define  URSEL0   7
#define UBRR0L  (*(volatile unsigned char *)0x29)
#define UBRR0   (*(volatile unsigned char *)0x29)
#define UCSR0C  (*(volatile unsigned char *)0x40)
#define  URSEL0   7
#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  OVR0     3    /* Alternative Definition */
#define  DOR0     3
#define  OR0      3    /* Alternative Definition */
#define  UPE0     2
#define  U2X0     1
#define  MPCM0    0
#define UDR0    (*(volatile unsigned char *)0x2C)

/* Analog Comparator */
#define ACSR	(*(volatile unsigned char *)0x28)
#define  ACD      7
#define  AINBG    6
#define  ACBG     6
#define  ACO      5
#define  ACI      4
#define  ACIE     3
#define  ACIC     2
#define  ACIS1    1
#define  ACIS0    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)

/* Port E */
#define PINE    (*(volatile unsigned char *)0x25)
#define DDRE    (*(volatile unsigned char *)0x26)
#define PORTE   (*(volatile unsigned char *)0x27)

/* 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  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)

/* Watch Dog Timer Control Register */
#define WDTCR   (*(volatile unsigned char *)0x41)
#define  WDTOE    4
#define  WDCE     4
#define  WDE      3
#define  WDP2     2
#define  WDP1     1
#define  WDP0     0

/*Timer/Counter3 */
#define ICR3    (*(volatile unsigned int *)0x80)
#define ICR3L   (*(volatile unsigned char *)0x80)
#define ICR3H   (*(volatile unsigned char *)0x81)
#define OCR3B   (*(volatile unsigned int *)0x84)
#define OCR3BL  (*(volatile unsigned char *)0x84)
#define OCR3BH  (*(volatile unsigned char *)0x85)
#define OCR3A   (*(volatile unsigned int *)0x86)
#define OCR3AL  (*(volatile unsigned char *)0x86)
#define OCR3AH  (*(volatile unsigned char *)0x87)
#define TCNT3   (*(volatile unsigned int *)0x88)
#define TCNT3L  (*(volatile unsigned char *)0x88)
#define TCNT3H  (*(volatile unsigned char *)0x89)
#define TCCR3B  (*(volatile unsigned char *)0x8A)
#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)
#define  COM3A1   7
#define  COM3A0   6
#define  COM3B1   5
#define  COM3B0   4
#define  FOC3A    3
#define  FOC3B    2
#define  WGM31    1
#define  WGM30    0

/* Timer/Counter2 */
#define ASSR    (*(volatile unsigned char *)0x46)
#define  AS2      3
#define  TCN2UB   2
#define  OCR2UB   1
#define  TCR2UB   0
#define OCR2    (*(volatile unsigned char *)0x42)
#define TCNT2   (*(volatile unsigned char *)0x43)
#define TCCR2   (*(volatile unsigned char *)0x47)
#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 *)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  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  FOC1A    3
#define  FOC1B    2
#define  WGM11    1
#define  WGM10    0

/* Timer/Counter0 */
#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

/* Timer/Counter Interrupts */
#define TIFR    (*(volatile unsigned char *)0x58)
#define  TOV1     7
#define  OCF1A    6
#define  OCF1B    5
#define  OCF2     4
#define  ICF1     3
#define  TOV2     2
#define  TOV0     1
#define  OCF0     0
#define TIMSK   (*(volatile unsigned char *)0x59)
#define  TOIE1    7
#define  OCIE1A   6
#define  OCIE1B   5
#define  OCIE2    4
#define  TICIE1   3
#define  TOIE2    2
#define  TOIE0    1
#define  OCIE0    0
#define ETIFR   (*(volatile unsigned char *)0x7C) /* m/m */
#define  ICF3     5
#define  OCF3A    4
#define  OCF3B    3
#define  TOV3     2
#define ETIMSK  (*(volatile unsigned char *)0x7D) /* m/m */
#define  TICIE3   5
#define  OCIE3A   4
#define  OCIE3B   3
#define  TOIE3    2

/* Special Function I/O Register */
#define SFIOR   (*(volatile unsigned char *)0x50)
#define  TSM      7
#define  XMBK     6
#define  XMM2     5
#define  XMM1     4
#define  XMM0     3
#define  PUD      2
#define  PSR2     1
#define  PSR310   0

/* MCU Control/Status Register */
#define MCUSR   (*(volatile unsigned char *)0x54)
#define MCUCSR  (*(volatile unsigned char *)0x54)
#define  JTD      7
#define  SM2      5
#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  ISC11    3
#define  ISC10    2
#define  ISC01    1
#define  ISC00    0
#define EMCUCR  (*(volatile unsigned char *)0x56)
#define  SM0      7
#define  SRL2     6
#define  SRL1     5
#define  SRL0     4
#define  SRW01    3
#define  SRW00    2
#define  SRW11    1
#define  ISC2     0

/* SPM Conrol Register */
#define SPMCR   (*(volatile unsigned char *)0x57)
#define  SPMIE    7
#define  RWWSB    6
#define  RWWSRE   4
#define  BLBSET   3
#define  PGWRT    2
#define  PGERS    1
#define  SPMEN    0

/* JTAG Debug Register */
#define OCDR    (*(volatile unsigned char *)0x24)

/* OSC Calibration Register */
#define OSCCAL  (*(volatile unsigned char *)0x24)

/* Clock Prescaler */
#define CLKPR   (*(volatile unsigned char *)0x61) /* m/m */
#define  CLKPCE   7
#define  CLKPS3   3
#define  CLKPS2   2
#define  CLKPS1   1
#define  CLKPS0   0

/* Pin Change Interrupts */
#define PCMSK1  (*(volatile unsigned char *)0x6C) /* m/m */
#define  PCINT15  7
#define  PCINT14  6
#define  PCINT13  5
#define  PCINT12  4
#define  PCINT11  3
#define  PCINT10  2
#define  PCINT9   1
#define  PCINT8   0
#define PCMSK0  (*(volatile unsigned char *)0x6B) /* m/m */
#define  PCINT7   7
#define  PCINT6   6
#define  PCINT5   5
#define  PCINT4   4
#define  PCINT3   3
#define  PCINT2   2
#define  PCINT1   1
#define  PCINT0   0

/* General Interrupts */
#define GIFR    (*(volatile unsigned char *)0x5A)
#define  INTF1    7
#define  INTF0    6
#define  INTF2    5
#define  PCIF1    4
#define  PCIF0    3
#define GICR    (*(volatile unsigned char *)0x5B)
#define  INT1     7
#define  INT0     6
#define  INT2     5
#define  PCIE1    4
#define  PCIE0    3
#define  IVSEL    1
#define  IVCE     0

/* Stack Pointer */
#define SP      (*(volatile unsigned int *)0x5D)
#define SPL     (*(volatile unsigned char *)0x5D)
#define SPH     (*(volatile unsigned char *)0x5E)

/* Status Register */
#define SREG    (*(volatile unsigned char *)0x5F)


/* Port A bits */
#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 bits */
#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 bits */
#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 bits */
#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

/* Port E bits */
#define  PORTE2   2
#define  PORTE1   1
#define  PORTE0   0
#define  PE2      2
#define  PE1      1
#define  PE0      0

#define  DDE2     2
#define  DDE1     1
#define  DDE0     0

#define  PINE2    2
#define  PINE1    1
#define  PINE0    0


/* Lock and Fuse Bits with LPM/SPM instructions */

#define  BLB12    5
#define  BLB11    4
#define  BLB02    3
#define  BLB01    2
#define  LB2      1
#define  LB1      0

#define  BOOTRST  6
#define  SPIEN    5
#define  BODLEVEL 4
#define  BODEN    3
#define  CKSEL2   2
#define  CKSEL1   1
#define  CKSEL0   0


/* Interrupt Vector Numbers */

#define iv_RESET        1
#define iv_INT0         2
#define iv_INT1         3
#define iv_INT2         4
#define iv_PCINT0       5
#define iv_PCINT1       6
#define iv_TIMER3_CAPT  7
#define iv_TIMER3_COMPA 8
#define iv_TIMER3_COMPB 9
#define iv_TIMER3_OVF   10
#define iv_TIMER2_COMP  11
#define iv_TIMER2_OVF   12
#define iv_TIMER1_CAPT  13
#define iv_TIMER1_COMPA 14
#define iv_TIMER1_COMPB 15
#define iv_TIMER1_OVF   16
#define iv_TIMER0_COMP  17
#define iv_TIMER0_OVF   18
#define iv_SPI_STC      19
#define iv_USART0_RX    20
#define iv_USART0_RXC   20
#define iv_USART1_RX    21
#define iv_USART1_RXC   21
#define iv_USART0_DRE   22
#define iv_USART0_UDRE  22
#define iv_USART1_DRE   23
#define iv_USART1_UDRE  23
#define iv_USART0_TX    24
#define iv_USART0_TXC   24
#define iv_USART1_TX    25
#define iv_USART1_TXC   25
#define iv_EE_RDY       26
#define iv_EE_READY     26
#define iv_ANA_COMP     27
#define iv_ANALOG_COMP  27
#define iv_SPM_RDY      28
#define iv_SPM_READY    28

/* */

#endif

⌨️ 快捷键说明

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