📄 atmega128.h
字号:
#define TIM0_COMP 16 // 定时器/计数器0比较匹配中断向量
#define TIM0_OVF 17 // 定时器/计数器0溢出中断向量
#define SPI_STC 18 // SPI串行传输结束中断向量
#define USART0_RXC 19 // USART0接收结束中断向量
#define USART0_DRE 20 // USART0数据寄存器空中断向量
#define USART0_TXC 21 // USART0传送结束中断向量
#define ADC_INT 22 // ADC转换结束中断向量
#define EE_RDY 23 // EEPROM就绪中断向量
#define ANA_COMP 24 // 模拟比较器中断向量
#define TIM1_COMPC 25 // 定时器/计数器1C比较匹配中断向量
#define TIM3_CAPT 26 // 定时器/计数器3输入捕获中断向量
#define TIM3_COMPA 27 // 定时器/计数器3A比较匹配中断向量
#define TIM3_COMPB 28 // 定时器/计数器3B比较匹配中断向量
#define TIM3_COMPC 29 // 定时器/计数器3C比较匹配中断向量
#define TIM3_OVF 30 // 定时器/计数器3溢出中断向量
#define USART1_RXC 31 // USART1接收结束中断向量
#define USART1_DRE 32 // USART1数据寄存器空中断向量
#define USART1_TXC 33 // USART1传送结束中断向量
#define TWI 34 // 两线串行总线接口中断向量
#define SPM_RDY 35 // 保存程序存储器内容就绪中断向量
#endif // "_MEGA128_INCLUDED_" 条件编译结束
#endif // "defined(_CodeVision_AVR_)" 条件编译结束
/*
********************************************************************************************
适合的编译系统:ICCAVR 版本:6.31A 以上
********************************************************************************************
*/
#if defined(_ICC_AVR_) // "ICCAVR 编译器"条件编译开始
/*==========================================================================================
下面两条指令是本头部文件条件编译的预处理指令,用于防止本头部文件被其他文件重复引用。
==========================================================================================*/
#ifndef __iom128_h // "__iom128_h" 条件编译开始
#define __iom128_h
/*==========================================================================================
I/O 寄存器定义
==========================================================================================*/
/*--------------------------------------------------------------------------------------
I/O 寄存器定义($3F-$00)
--------------------------------------------------------------------------------------*/
#define SREG (*(volatile Uchar8 *)0x5F) // 状态寄存器
#define SPH (*(volatile Uchar8 *)0x5E) // 堆栈指针高字节
#define SPL (*(volatile Uchar8 *)0x5D) // 堆栈指针低字节
#define XDIV (*(volatile Uchar8 *)0x5C) // XTAL分频控制寄存器
#define RAMPZ (*(volatile Uchar8 *)0x5B) // 程序存储器页面的Z指针选择寄存器
#define EICRB (*(volatile Uchar8 *)0x5A) // 外部中断控制寄存器B
#define EIMSK (*(volatile Uchar8 *)0x59) // 外部中断屏蔽寄存器
#define EIFR (*(volatile Uchar8 *)0x58) // 外部中断标志寄存器
#define TIMSK (*(volatile Uchar8 *)0x57) // 定时器/计数器中断屏蔽寄存器
#define TIFR (*(volatile Uchar8 *)0x56) // 定时器/计数器中断标志寄存器
#define MCUCR (*(volatile Uchar8 *)0x55) // MCU控制寄存器
#define MCUCSR (*(volatile Uchar8 *)0x54) // MCU控制与状态寄存器
#define TCCR0 (*(volatile Uchar8 *)0x53) // 定时器/计数器0控制寄存器
#define TCNT0 (*(volatile Uchar8 *)0x52) // 定时器/计数器0(8位)
#define OCR0 (*(volatile Uchar8 *)0x51) // 定时器/计数器0输出比较寄存器
#define ASSR (*(volatile Uchar8 *)0x50) // 异步方式状态寄存器
#define TCCR1A (*(volatile Uchar8 *)0x4F) // 定时器/计数器1控制寄存器A
#define TCCR1B (*(volatile Uchar8 *)0x4E) // 定时器/计数器1控制寄存器B
#define TCNT1H (*(volatile Uchar8 *)0x4D) // 定时器/计数器1高字节
#define TCNT1L (*(volatile Uchar8 *)0x4C) // 定时器/计数器1低字节
#define TCNT1 (*(volatile Uchar8 *)0x4C) // 定时器/计数器1(16 位模式)
#define OCR1AH (*(volatile Uchar8 *)0x4B) // 定时器/计数器1输出比较寄存器A高字节
#define OCR1AL (*(volatile Uchar8 *)0x4A) // 定时器/计数器1输出比较寄存器A低字节
#define OCR1A (*(volatile Uchar8 *)0x4A) // 定时器/计数器1输出比较寄存器A(16 位)
#define OCR1BH (*(volatile Uchar8 *)0x49) // 定时器/计数器1输出比较寄存器B高字节
#define OCR1BL (*(volatile Uchar8 *)0x48) // 定时器/计数器1输出比较寄存器B低字节
#define OCR1B (*(volatile Uchar8 *)0x48) // 定时器/计数器1输出比较寄存器B(16 位)
#define ICR1H (*(volatile Uchar8 *)0x47) // 定时器/计数器1输入捕获寄存器高字节
#define ICR1L (*(volatile Uchar8 *)0x46) // 定时器/计数器1输入捕获寄存器低字节
#define ICR1 (*(volatile Uchar8 *)0x46) // 定时器/计数器1输入捕获寄存器(16 位)
#define TCCR2 (*(volatile Uchar8 *)0x45) // 定时器/计数器2控制寄存器
#define TCNT2 (*(volatile Uchar8 *)0x44) // 定时器/计数器2(8位)
#define OCR2 (*(volatile Uchar8 *)0x43) // 定时器/计数器2输出比较寄存器
#define OCDR (*(volatile Uchar8 *)0x42) // 片上调试系统(OCD)寄存器
#define WDTCR (*(volatile Uchar8 *)0x41) // 看门狗定时器控制寄存器
#define SFIOR (*(volatile Uchar8 *)0x40) // 特殊功能IO寄存器
#define EEARH (*(volatile Uchar8 *)0x3F) // EEPROM地址寄存器高字节
#define EEARL (*(volatile Uchar8 *)0x3E) // EEPROM地址寄存器低字节
#define EEAR (*(volatile Uchar8 *)0x3E) // EEPROM地址寄存器(16 位模式)
#define EEDR (*(volatile Uchar8 *)0x3D) // EEPROM数据寄存器
#define EECR (*(volatile Uchar8 *)0x3C) // EEPROM控制寄存器
#define PORTA (*(volatile Uchar8 *)0x3B) // 端口A数据寄存器
#define DDRA (*(volatile Uchar8 *)0x3A) // 端口A数据方向寄存器
#define PINA (*(volatile Uchar8 *)0x39) // 端口A输入引脚地址
#define PORTB (*(volatile Uchar8 *)0x38) // 端口B数据寄存器
#define DDRB (*(volatile Uchar8 *)0x37) // 端口B数据方向寄存器
#define PINB (*(volatile Uchar8 *)0x36) // 端口B输入引脚地址
#define PORTC (*(volatile Uchar8 *)0x35) // 端口C数据寄存器
#define DDRC (*(volatile Uchar8 *)0x34) // 端口C数据方向寄存器
#define PINC (*(volatile Uchar8 *)0x33) // 端口C输入引脚地址
#define PORTD (*(volatile Uchar8 *)0x32) // 端口D数据寄存器
#define DDRD (*(volatile Uchar8 *)0x31) // 端口D数据方向寄存器
#define PIND (*(volatile Uchar8 *)0x30) // 端口D输入引脚地址
#define SPDR (*(volatile Uchar8 *)0x2F) // SPI数据寄存器
#define SPSR (*(volatile Uchar8 *)0x2E) // SPI状态寄存器
#define SPCR (*(volatile Uchar8 *)0x2D) // SPI控制寄存器
#define UDR0 (*(volatile Uchar8 *)0x2C) // USART0 I/O 数据寄存器
#define UCSR0A (*(volatile Uchar8 *)0x2B) // USART0控制和状态寄存器A
#define UCSR0B (*(volatile Uchar8 *)0x2A) // USART0控制和状态寄存器B
#define UBRR0L (*(volatile Uchar8 *)0x29) // USART0波特率寄存器低字节
#define ACSR (*(volatile Uchar8 *)0x28) // 模拟比较器控制和状态寄存器
#define ADMUX (*(volatile Uchar8 *)0x27) // ADC多路选择寄存器
#define ADCSR (*(volatile Uchar8 *)0x26) // ADC控制和状态寄存器
#define ADCH (*(volatile Uchar8 *)0x25) // ADC数据寄存器高字节
#define ADCL (*(volatile Uchar8 *)0x24) // ADC数据寄存器低字节
#define ADC (*(volatile Uchar8 *)0x24) // ADC数据寄存器(16 位模式)
#define PORTE (*(volatile Uchar8 *)0x23) // 端口E数据寄存器
#define DDRE (*(volatile Uchar8 *)0x22) // 端口E数据方向寄存器
#define PINE (*(volatile Uchar8 *)0x21) // 端口E输入引脚地址
#define PINF (*(volatile Uchar8 *)0x20) // 端口F输入引脚地址
/*--------------------------------------------------------------------------------------
存储器映射式的I/O 寄存器定义(0xFF~0x60)
--------------------------------------------------------------------------------------*/
#define UCSR1C (*(volatile Uchar8 *)0x9D) // USART1控制和状态寄存器C
#define UDR1 (*(volatile Uchar8 *)0x9C) // USART1 I/O 数据寄存器
#define UCSR1A (*(volatile Uchar8 *)0x9B) // USART1控制和状态寄存器A
#define UCSR1B (*(volatile Uchar8 *)0x9A) // USART1控制和状态寄存器B
#define UBRR1L (*(volatile Uchar8 *)0x99) // USART1波特率寄存器低字节
#define UBRR1H (*(volatile Uchar8 *)0x98) // USART1波特率寄存器高字节
#define UBRR1 (*(volatile Uchar8 *)0x98) // USART1波特率寄存器 (16 位模式)
#define UCSR0C (*(volatile Uchar8 *)0x95) // USART0控制和状态寄存器C
#define UBRR0H (*(volatile Uchar8 *)0x90) // USART0波特率寄存器高字节
#define TCCR3C (*(volatile Uchar8 *)0x8C) // 定时器/计数器3控制寄存器C
#define TCCR3A (*(volatile Uchar8 *)0x8B) // 定时器/计数器3控制寄存器A
#define TCCR3B (*(volatile Uchar8 *)0x8A) // 定时器/计数器3控制寄存器B
#define TCNT3H (*(volatile Uchar8 *)0x89) // 定时器/计数器3高字节
#define TCNT3L (*(volatile Uchar8 *)0x88) // 定时器/计数器3低字节
#define TCNT3 (*(volatile Uchar8 *)0x88) // 定时器/计数器3(16 位模式)
#define OCR3AH (*(volatile Uchar8 *)0x87) // 定时器/计数器3输出比较寄存器A高字节
#define OCR3AL (*(volatile Uchar8 *)0x86) // 定时器/计数器3输出比较寄存器A低字节
#define OCR3A (*(volatile Uchar8 *)0x86) // 定时器/计数器3输出比较寄存器A(16 位)
#define OCR3BH (*(volatile Uchar8 *)0x85) // 定时器/计数器3输出比较寄存器B高字节
#define OCR3BL (*(volatile Uchar8 *)0x84) // 定时器/计数器3输出比较寄存器B低字节
#define OCR3B (*(volatile Uchar8 *)0x84) // 定时器/计数器3输出比较寄存器B(16 位)
#define OCR3CH (*(volatile Uchar8 *)0x83) // 定时器/计数器3输出比较寄存器C高字节
#define OCR3CL (*(volatile Uchar8 *)0x82) // 定时器/计数器3输出比较寄存器C低字节
#define OCR3C (*(volatile Uchar8 *)0x82) // 定时器/计数器3输出比较寄存器C(16 位)
#define ICR3H (*(volatile Uchar8 *)0x81) // 定时器/计数器3输入捕获寄存器高字节
#define ICR3L (*(volatile Uchar8 *)0x80) // 定时器/计数器3输入捕获寄存器低字节
#define ICR3 (*(volatile Uchar8 *)0x80) // 定时器/计数器3输入捕获寄存器(16 位)
#define ETIMSK (*(volatile Uchar8 *)0x7D) // 扩展的定时器/计数器中断屏蔽寄存器
#define ETIFR (*(volatile Uchar8 *)0x7C) // 扩展的定时器/计数器中断标志寄存器
#define TCCR1C (*(volatile Uchar8 *)0x7A) // 定时器/计数器1控制寄存器C
#define OCR1CH (*(volatile Uchar8 *)0x79) // 定时器/计数器1输出比较寄存器C高字节
#define OCR1CL (*(volatile Uchar8 *)0x78) // 定时器/计数器1输出比较寄存器C低字节
#define OCR1C (*(volatile Uchar8 *)0x78) // 定时器/计数器1输出比较寄存器C(16 位)
#define TWCR (*(volatile Uchar8 *)0x74) // TWI控制寄存器
#define TWDR (*(volatile Uchar8 *)0x73) // TWI数据寄存器
#define TWAR (*(volatile Uchar8 *)0x72) // TWI(从机)地址寄存器
#define TWSR (*(volatile Uchar8 *)0x71) // TWI状态寄存器
#define TWBR (*(volatile Uchar8 *)0x70) // TWI比特率寄存器
#define OSCCAL (*(volatile Uchar8 *)0x6F) // 振荡器标定寄存器
#define XMCRA (*(volatile Uchar8 *)0x6D) // 外部存储器控制寄存器A
#define XMCRB (*(volatile Uchar8 *)0x6C) // 外部存储器控制寄存器B
#define EICRA (*(volatile Uchar8 *)0x6A) // 外部中断控制寄存器A
#define SPMCSR (*(volatile Uchar8 *)0x68) // 保存程序存储器控制寄存器
#define PORTG (*(volatile Uchar8 *)0x65) // 端口G数据寄存器
#define DDRG (*(volatile Uchar8 *)0x64) // 端口G数据方向寄存器
#define PING (*(volatile Uchar8 *)0x63) // 端口G输入引脚地址
#define PORTF (*(volatile Uchar8 *)0x62) // 端口F数据寄存器
#define DDRF (*(volatile Uchar8 *)0x61) // 端口F数据方向寄存器
/*==========================================================================================
中断向量地址定义
==========================================================================================*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -