(ATMEGA16.H)AVR的头文件

更新时间:2023-06-27 17:58:27 阅读: 评论:0

#ifndef __ATMEGA16_H__
#define __ATMEGA16_H__
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~特殊功能寄存器声明部分~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
//2线串行接口
#define TWBR (*(volatile unsigned char *)0x20)
#define TWSR (*(volatile unsigned char *)0x21)
#define TWCR (*(volatile unsigned char *)0x56)
#define TWAR (*(volatile unsigned char *)0x22)
#define TWDR (*(volatile unsigned char *)0x23)
/
/模数转换器ADC
#define ADC  (*(volatile unsigned int *)0x24)
#define ADCL (*(volatile unsigned char *)0x24)
#define ADCH (*(volatile unsigned char *)0x25)
#define ADCSR (*(volatile unsigned char *)0x26)
#define ADCSRA (*(volatile unsigned char *)0x26)
#define ADMUX (*(volatile unsigned char *)0x27)
//模拟比较器
#define ACSR (*(volatile unsigned char *)0x28)
// 通用同步异步收发机USART
#define UBRRHI (*(volatile unsigned char *)0x40)
#define UBRRH (*(volatile unsigned char *)0x40)
#define UBRR (*(volatile unsigned char *)0x29)
#define UBRRL (*(volatile unsigned char *)0x29)
#define UCSRC (*(volatile unsigned char *)0x40)
#define UCSRB (*(volatile unsigned char *)0x2A)
#define UCSRA (*(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)
/
/四组输入输出端口PORTA/PORTB/PORTC/PORTD
#define PIND (*(volatile unsigned char *)0x30)
#define DDRD (*(volatile unsigned char *)0x31)
#define PORTD (*(volatile unsigned char *)0x32)
#define PINC (*(volatile unsigned char *)0x33)
#define DDRC (*(volatile unsigned char *)0x34)
#define PORTC (*(volatile unsigned char *)0x35)
#define PINB (*(volatile unsigned char *)0x36)
#define DDRB (*(volatile unsigned char *)0x37)
#define PORTB (*(volatile unsigned char *)0x38)
#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)
//看门狗定时器
#define WDTCR (*(volatile unsigned char *)0x41)
//定时器计数器T2
#define ASSR (*(volatile unsigned char *)0x42)
#define OCR2 (*(volatile unsigned char *)0x43)
#define TCNT2 (*(volatile unsigned char *)0x44)
#define TCCR2 (*(volatile unsigned char *)0x45)
//定时器计数器T1
#define ICR1 (*(volatile unsigned int *)0x46)
#define ICR1L (*(volatile unsigned char *)0x46)
#define ICR1H (*(volatile unsigned char *)0x47)
#define OCR1B (*(volatile unsigned int *)0x48)
#define OCR1BL (*(volatile unsigned char *)0x48)
#define OCR1BH (*(volatile unsigned char *)0x49)
#define OCR1A (*(volatile unsigned i
nt *)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)
//特殊功能的I/O寄存器
#define SFIOR (*(volatile unsigned char *)0x50)
/
/振荡器校准
#define OSCCAL (*(volatile unsigned char *)0x51)
//芯片上的调试寄存器
#define OCDR (*(volatile unsigned char *)0x51)
//定时器计数器T0
#define OCR0 (*(volatile unsigned char *)0x5C)
#define TCNT0 (*(volatile unsigned char *)0x52)
#define TCCR0 (*(volatile unsigned char *)0x53)
//MCU通用寄存器
#define MCUCSR (*(volatile unsigned char *)0x54)
#define MCUSR (*(volatile unsigned char *)0x54)
#define MCUCR (*(volatile unsigned char *)0x55)
//SPM控制寄存器
#define SPMCR (*(volatile unsigned char *)0x57)
//定时器计数器中断
#define TIFR (*(volatile unsigned char *)0x58)
#define TIMSK (*(volatile unsigned char *)0x59)
//普通中断
#define GIFR (*(volatile unsigned char *)0x5A)
#define GICR (*(volatile unsigned char *)0x5B)
//堆栈指针
#define SP  (*(volatile unsigned int *)0x5D)
#define SPL  (*(volatile unsigned char *)0x5D)
#define SPH  (*(volatile unsigned char *)0x5E)
//状态寄存器
#define SREG (*(volatile unsigned char *)0x5F)
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~特殊功能函数部分~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
//移位定义
#ifndef BIT
#define BIT(x) (1<<(x))
#endif
/
/IAR兼容性
#if  !defined(flash)
#define flash __flash
#endif
//
#ifndef C_task
#define C_task
#endif
//汇编指令定义
#define _asm asm 
#define WDR()  asm("wdr")
#define SEI() asm("i")  //开全局中断
#define CLI() asm("cli")  //禁止所有中断
#define NOP() asm("nop")
#define SLEEP() asm("sleep");
#define _WDR()  asm("wdr")
#define _SEI() asm("i")
#define _CLI() asm("cli")
#define _NOP() asm("nop")
#define _SLEEP() asm("sleep");
//寄存器保存/恢复使用
unsigned char FlashReadByte(unsigned char ramp, unsigned addr);
unsigned FlashReadWord(unsigned char ramp, unsigned addr);
unsigned long FlashReadLWord(unsigned char ramp, unsigned addr);
void FlashReadBytes(unsigned char ramp, unsigned addr, unsigned char *buf, int n);
unsigned char EDataReadByte(unsigned char ramp, unsigned addr);
unsigned EDataReadWord(unsigned char ramp, unsigned addr);
unsigned long EDataReadLWord(unsigned char ramp, unsigned addr);
void EDataReadBytes(unsigned char ramp, unsigned addr, unsigned char *buf, int n);
void EDataWriteByte(unsigned char ramp, unsigned addr);
void EDataWriteWord(unsigned char ramp, unsigned addr);
void EDataWriteLWord(unsigned char ramp, unsigned addr);
void EDataWriteBytes(unsigned char ramp, unsigned addr, unsigned char *buf, int
n);
//使用AppBuilder对于UART初始化
#define BAUD9600 25
#define BAUD19K  12
#define UART_TRANSMIT_ON() UCR |= 0x8
#define UART_TRANSMIT_OFF() UCR &= ~0x8
#define UART_RECEIVE_ON() UCR |= 0x10
#define UART_RECEIVE_OFF() UCR &= ~0x10
#define COMPRESS_DISABLE  NOCC_START()
#define COMPRESS_REENABLE  NOCC_END()
#define NOCC_START() asm(".nocc_start")
#define NOCC_END()  asm(".nocc_end")
void _StackCheck(void);
void _StackOverflowed(char);
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~有关特殊功能寄存器兼容性定义~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
//2线串行接口
#define  TWPS1    1
#define  TWPS0    0
#define  TWINT    7
#define  TWEA    6
#define  TWSTA    5
#define  TWSTO    4
#define  TWWC    3
#define  TWEN    2
#define  TWIE    0
#define  TWGCE    0
//模数转换器ADC
#define  ADEN    7
#define  ADSC    6
#define  ADATE    5
#define  ADFR    5 
#define  ADIF    4
#define  ADIE    3
#define  ADPS2    2
#define  ADPS1    1
#define  ADPS0    0
#define  REFS1    7
#define  REFS0    6
#define  ADLAR    5
电脑显示器怎么选
#define  MUX4    4
#define  MUX3    3
#define  MUX2    2
#define  MUX1    1
#define  MUX0    0
//模拟比较器
#define  ACD      7
#define  ACBG    6
#define  ACO      5
#define  ACI      4
#define  ACIE    3
#define  ACIC    2
#define  ACIS1    1
#define  ACIS0    0
/
/ 通用同步异步收发机USART
#define  URSEL    7
#define  URSEL    7
#define  UMSEL    6
#define  UPM1    5
#define  UPM0    4
#define  USBS    3
#define  UCSZ1    2
#define  UCSZ0    1
#define  UCPOL    0
#define  RXCIE    7
#define  TXCIE    6
#define  UDRIE    5
#define  RXEN    4
#define  TXEN    3
#define  UCSZ2    2
#define  RXB8    1
#define  TXB8    0
#define  RXC      7
#define  TXC      6
#define  UDRE    5
#define  FE      4
#define  DOR      3
#define  OVR      3 
#define  PE      2
#define  U2X      1
#define  MPCM    0
//串行外设接口SPI
#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  SPIF    7
#define  WCOL    6
#define  SPI2X    0
//电可擦只读存储器EEPROM
#define  EERIE    3
#define  EEMWE    2
#define  EEWE    1
#define  EERE    0
/
/看门狗定时器
#define  WDTOE    4
#define  WDE      3
#define  WDP2    2
一年级全部古诗#define  WDP1    1
#define  WDP0    0
//定时器计数器T2
#define  AS2      3
#define  TCN2UB  2
#define  OCR2UB  1
#define  TCR2UB  0
兰蔻怎么样#define  FOC2    7
#define  WGM20    6
#define  COM21    5
#define  COM20    4
#define  WGM21    3
#define  CS22    2
#define  CS21    1
#define  CS20    0
//定时器计数器T1
#define  ICNC1    7
#define  ICES1    6
#define  WGM13    4
#define  WGM12    3
#define  CS12    2
#define  CS11    1
#define  CS10    0
#define  COM1A1  7
#define 
COM1A0  6
#define  COM1B1  5
#define  COM1B0  4
#define  FOC1A    3
#define  FOC1B    2
#define  WGM11    1
#define  WGM10    0
//特殊功能的I/O寄存器
#define  ADTS2    7
#define  ADTS1    6
#define  ADTS0    5
#define  ACME    3
#define  PUD      2
#define  PSR2    1
#define  PSR10    0
/
/定时器计数器T0
#define  FOC0    7
#define  WGM00    6
#define  COM01    5
#define  COM00    4
#define  WGM01    3
#define  CS02    2
#define  CS01    1
#define  CS00    0
//MCU通用寄存器
#define  JTD      7
#define  ISC2    6
#define  JTRF    4
#define  WDRF    3
#define  BORF    2
#define  EXTRF    1
#define  PORF    0
#define  SM2      7
#define  SE      6
#define  SM1      5
#define  SM0      4
#define  ISC11    3
#define  ISC10    2
#define  ISC01    1
#define  ISC00    0
//SPM控制寄存器
我被亲弟弟#define  SPMIE    7
#define  RWWSB    6
#define  RWWSRE  4
#define  BLBSET  3
#define  PGWRT    2
#define  PGERS    1
#define  SPMEN    0
/
/定时器计数器中断
#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  OCIE2    7
#define  TOIE2    6
#define  TICIE1  5
#define  OCIE1A  4
#define  OCIE1B  3
#define  TOIE1    2
#define  OCIE0    1
#define  TOIE0    0
//普通中断
#define  INTF1    7
#define  INTF0    6
#define  INTF2    5
#define  INT1    7
#define  INT0    6
#define  INT2    5
#define  IVSEL    1
#define  IVCE    0
//I/O端口位定义
#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    2c4isr
#define  PINA1    1
#define  PINA0    0
#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
#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
#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
//加密位
#define  BLB12    5
#define  BLB11    4
#define  BLB02    3
#define  BLB01    2
#define  LB2      1
#define  LB1      0
//熔丝低位
#define  BODLEVEL 7
#define  BODEN    6
#define  SUT1    5
#define  SUT0    4
#define  CKSEL3  3
#define  CKSEL2  2
#define  CKSEL1  1
#define  CKSEL0  0
//熔丝高位
#define  OCDEN    7
#define  JTAGEN  6
#define  SPIEN    5
#define  CKOPT    4
#define  EESAVE  3
#define  BOOTSZ1  2
#define  BOOTSZ0  1
#define  BOOTRST  0
//中断矢量编号
#define iv_RESET        1
#define iv_INT0        2
#define iv_EXT_INT0    2
#define iv_INT1        3
#define iv_EXT_INT1    3
#define iv_TIMER2_COMPA 4
#define iv_TIMER2_COMP  4
#define iv_TIM2_COMP    4
#define iv_TIMER2_OVF  5
#define iv_TIM2_OVF    5
#define iv_TIMER1_CAPT  6
#define iv_TIM1_CAPT    6
#define iv_TIMER1_COMPA 7
#define iv_TIM1_COMPA  7
#define iv_TIMER1_COMPB 8
#define iv_TIM1_COMPB  8
#define iv_TIMER1_OVF  9
#define iv_TIM1_OVF    9
#define iv_TIMER0_OVF  10
#define iv_TIM0_OVF    10
#define iv_SPI_STC      11
#define iv_USART_RX    12
#define iv_USART_RXC    12
#define iv_USART0_RX    12
#define iv_USART0_RXC  12
#define iv_USART_DRE    13
#define iv_USART_UDRE  13
#define iv_USART0_DRE  13
#define iv_USART0_UDRE  13
#define iv_USART_TX    14
#define iv_USART_TXC    14
#define iv_USART0_TX    14
#define iv_USART0_TXC  14
#define iv_ADC          15
#define iv_EE_RDY      16
#define iv_EE_READY    16
#define iv_ANA_COMP    17
#define iv_ANALOG_COMP  17
#define iv_TWI          18
#define iv_TWSI        18
#define iv_INT2        19
#define iv_EXT_INT2    19
#define iv_TIMER0_COMPA 20
#define iv_TI

本文发布于:2023-06-27 17:58:27,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/1052972.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:寄存器   中断   功能
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图