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

📄 atmega128.h

📁 本程序是用 ATmega16 控制实时时钟芯片 DS12887 接口驱动的源程序文件。
💻 H
📖 第 1 页 / 共 5 页
字号:
#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 + -