📄 iom48v060215.h
字号:
#ifndef __iom48v_h
#define __iom48v_h
/* ATmega48 header file for
* ImageCraft ICCAVR compiler
*/
/* i/o register addresses
* >= 0x60 are memory mapped only
*/
/* sorted by function rather than by address
*/
/* last changed 2004/01/09
*/
/* Port D */
#define PIND (*(volatile unsigned char *)0x29)
#define DDRD (*(volatile unsigned char *)0x2A)
#define PORTD (*(volatile unsigned char *)0x2B)
/* Port C */
#define PINC (*(volatile unsigned char *)0x26)
#define DDRC (*(volatile unsigned char *)0x27)
#define PORTC (*(volatile unsigned char *)0x28)
/* Port B */
#define PINB (*(volatile unsigned char *)0x23)
#define DDRB (*(volatile unsigned char *)0x24)
#define PORTB (*(volatile unsigned char *)0x25)
/* External Interrupts */
#define EIFR (*(volatile unsigned char *)0x3C)
#define INTF1 1
#define INTF0 0
#define EIMSK (*(volatile unsigned char *)0x3D)
#define INT1 1
#define INT0 0
/* GPIO */
#define GPIOR2 (*(volatile unsigned char *)0x4B)
#define GPIOR1 (*(volatile unsigned char *)0x4A)
#define GPIOR0 (*(volatile unsigned char *)0x3E)
/* ADC */
#define ADC (*(volatile unsigned int *)0x78) /* m/m */
#define ADCL (*(volatile unsigned char *)0x78) /* m/m */
#define ADCH (*(volatile unsigned char *)0x79) /* m/m */
#define ADCSRB (*(volatile unsigned char *)0x7B) /* m/m */
#define ACME 6
#define ADTS2 2
#define ADTS1 1
#define ADTS0 0
#define ADCSRA (*(volatile unsigned char *)0x7A) /* m/m */
#define ADEN 7
#define ADSC 6
#define ADRF 5
#define ADATE 5
#define ADIF 4
#define ADIE 3
#define ADPS2 2
#define ADPS1 1
#define ADPS0 0
#define ADMUX (*(volatile unsigned char *)0x7C) /* m/m */
#define REFS1 7
#define REFS0 6
#define ADLAR 5
#define MUX3 3
#define MUX2 2
#define MUX1 1
#define MUX0 0
/* Analog Comparator Control and Status Register */
#define ACSR (*(volatile unsigned char *)0x50)
#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 *)0xC5) /* m/m */
#define UBRR0L (*(volatile unsigned char *)0xC4) /* m/m */
#define UBRR0 (*(volatile unsigned int *)0xC4) /* m/m */
#define UCSR0C (*(volatile unsigned char *)0xC2) /* m/m */
#define UMSEL01 7
#define UMSEL00 6
#define UPM01 5
#define UPM00 4
#define USBS0 3
#define UCSZ01 2
#define UDORD0 2
#define UCSZ00 1
#define UCPHA0 1
#define UCPOL0 0
#define UCSR0B (*(volatile unsigned char *)0xC1) /* m/m */
#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 *)0xC0) /* m/m */
#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 *)0xC6) /* m/m */
/* 2-wire SI */
#define TWBR (*(volatile unsigned char *)0xB8) /* m/m */
#define TWSR (*(volatile unsigned char *)0xB9) /* m/m */
#define TWS7 7
#define TWS6 6
#define TWS5 5
#define TWS4 4
#define TWS3 3
#define TWPS1 1
#define TWPS0 0
#define TWAR (*(volatile unsigned char *)0xBA) /* m/m */
#define TWGCE 0
#define TWDR (*(volatile unsigned char *)0xBB) /* m/m */
#define TWCR (*(volatile unsigned char *)0xBC) /* m/m */
#define TWINT 7
#define TWEA 6
#define TWSTA 5
#define TWSTO 4
#define TWWC 3
#define TWEN 2
#define TWIE 0
#define TWAMR (*(volatile unsigned char *)0xBD) /* m/m */
#define TWAM6 7
#define TWAM5 6
#define TWAM4 5
#define TWAM3 4
#define TWAM2 3
#define TWAM1 2
#define TWAM0 1
/* SPI */
#define SPCR (*(volatile unsigned char *)0x4C)
#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 *)0x4D)
#define SPIF 7
#define WCOL 6
#define SPI2X 0
#define SPDR (*(volatile unsigned char *)0x4E)
/* EEPROM */
#define EECR (*(volatile unsigned char *)0x3F)
#define EEPM1 5
#define EEPM0 4
#define EERIE 3
#define EEMWE 2
#define EEMPE 2
#define EEWE 1
#define EEPE 1
#define EERE 0
#define EEDR (*(volatile unsigned char *)0x40)
#define EEAR (*(volatile unsigned int *)0x41)
#define EEARL (*(volatile unsigned char *)0x41)
#define EEARH (*(volatile unsigned char *)0x42)
/* high byte unused with m48, must be written 0 */
/* MONDR */
#define MONDR (*(volatile unsigned char *)0x51)
/* MCU */
#define MCUSR (*(volatile unsigned char *)0x54)
#define WDRF 3
#define BORF 2
#define EXTRF 1
#define PORF 0
#define MCUCR (*(volatile unsigned char *)0x55)
#define PUD 4
/* not on m48 */
/* #define IVSEL 1 */
/* #define IVCE 0 */
/* SPM Control and Status Register */
#define SPMCSR (*(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
#define SELFPRGEN 0
/* SMCR */
#define SMCR (*(volatile unsigned char *)0x53)
#define SM2 3
#define SM1 2
#define SM0 1
#define SE 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)
/* Watchdog Timer Control Register */
#define WDTCSR (*(volatile unsigned char *)0x60) /* m/m */
#define WDIF 7
#define WDIE 6
#define WDP3 5
#define WDCE 4
#define WDE 3
#define WDP2 2
#define WDP1 1
#define WDP0 0
/* CLKPR */
#define CLKPR (*(volatile unsigned char *)0x61) /* m/m */
#define CLKPCE 7
#define CLKPS3 3
#define CLKPS2 2
#define CLKPS1 1
#define CLKPS0 0
/* PRR */
#define PRR (*(volatile unsigned char *)0x64) /* m/m */
#define PRTWI 7
#define PRTIM2 6
#define PRTIM1 3
#define PRTIM0 5
#define PRSPI 2
#define PRUSART0 1
#define PRADC 0
/* OSCCAL */
#define OSCCAL (*(volatile unsigned char *)0x66) /* m/m */
/* PCIFR */
#define PCIFR (*(volatile unsigned char *)0x3B)
#define PCIF2 2
#define PCIF1 1
#define PCIF0 0
/* PCICR */
#define PCICR (*(volatile unsigned char *)0x68) /* m/m */
#define PCIE2 2
#define PCIE1 1
#define PCIE0 0
/* PCMSK registers */
#define PCMSK2 (*(volatile unsigned char *)0x6D) /* m/m */
#define PCINT23 7
#define PCINT22 6
#define PCINT21 5
#define PCINT20 4
#define PCINT19 3
#define PCINT18 2
#define PCINT17 1
#define PCINT16 0
#define PCMSK1 (*(volatile unsigned char *)0x6C) /* m/m */
#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
/* EICRA */
#define EICRA (*(volatile unsigned char *)0x69) /* m/m */
#define ISC11 3
#define ISC10 2
#define ISC01 1
#define ISC00 0
/* Timer/Counter 0 */
#define OCR0B (*(volatile unsigned char *)0x48)
#define OCR0A (*(volatile unsigned char *)0x47)
#define TCNT0 (*(volatile unsigned char *)0x46)
#define TCCR0B (*(volatile unsigned char *)0x45)
#define FOC0A 7
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -