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

📄 atmega128.h

📁 本程序是用 ATmega16 控制实时时钟芯片 DS12887 接口驱动的源程序文件。
💻 H
📖 第 1 页 / 共 5 页
字号:
SFR_B_N(0x11, DDRD, DDD7, DDD6, DDD5, DDD4, DDD3, DDD2, DDD1, DDD0)
                                              // 端口D数据方向寄存器
SFR_B_N(0x12, PORTD, PORTD7, PORTD6, PORTD5, PORTD4, PORTD3, PORTD2, PORTD1, PORTD0)
                                              // 端口D数据寄存器
SFR_B_N(0x13, PINC, PINC7, PINC6, PINC5, PINC4, PINC3, PINC2, PINC1, PINC0)
                                              // 端口C输入引脚地址
SFR_B_N(0x14, DDRC, DDC7, DDC6, DDC5, DDC4, DDC3, DDC2, DDC1, DDC0)
                                              // 端口C数据方向寄存器
SFR_B_N(0x15, PORTC, PORTC7, PORTC6, PORTC5, PORTC4, PORTC3, PORTC2, PORTC1, PORTC0)
                                              // 端口C数据寄存器
SFR_B_N(0x16, PINB, PINB0, PINB1, PINB2, PINB3, PINB4, PINB5, PINB6, PINB7)
                                              // 端口B输入引脚地址
SFR_B_N(0x17, DDRB, DDB7, DDB6, DDB5, DDB4, DDB3, DDB2, DDB1, DDB0)
                                              // 端口B数据方向寄存器
SFR_B_N(0x18, PORTB, PORTB7, PORTB6, PORTB5, PORTB4, PORTB3, PORTB2, PORTB1, PORTB0)
                                              // 端口B数据寄存器
SFR_B_N(0x19, PINA, PINA7, PINA6, PINA5, PINA4, PINA3, PINA2, PINA1, PINA0)
                                              // 端口A输入引脚地址
SFR_B_N(0x1A, DDRA, DDA7, DDA6, DDA5, DDA4, DDA3, DDA2, DDA1, DDA0)
                                              // 端口A数据方向寄存器
SFR_B_N(0x1B, PORTA, PORTA7, PORTA6, PORTA5, PORTA4, PORTA3, PORTA2, PORTA1, PORTA0)
                                              // 端口A数据寄存器
SFR_B_N(0x1C, EECR, Dummy7, Dummy6, Dummy5, Dummy4, EERIE, EEMWE, EEWE, EERE)
                                              // EEPROM控制寄存器
SFR_B_R(0x1D, EEDR)                           // EEPROM数据寄存器
SFR_W_R(0x1E, EEAR)                           // EEPROM地址寄存器(16 位存取模式)
SFR_B_N(0x20, SFIOR, TSM, Dummy6, Dummy5, Dummy4, ACME, PUD, PSR0, PSR321)
                                              // 特殊功能I/O寄存器
SFR_B_N(0x21, WDTCR, Dummy7, Dummy6, Dummy5, WDCE, WDE, WDP2, WDP1, WDP0)
                                              // 看门狗定时器控制寄存器
SFR_B_N(0x22, OCDR, OCDR7, OCDR6, OCDR5, OCDR4, OCDR3, OCDR2, OCDR1, OCDR0)
                                              // 片上调试系统(OCD)寄存器
SFR_B_R(0x23, OCR2)                           // 定时器/计数器2输出比较寄存器
SFR_B_R(0x24, TCNT2)                          // 定时器/计数器2
SFR_B_N(0x25, TCCR2, FOC2, WGM20, COM21, COM20, WGM21, CS22, CS21, CS20)
                                              // 定时器/计数器2控制寄存器
SFR_W_R(0x26, ICR1)                           // 定时器/计数器1输入捕获寄存器(16 位)
SFR_W_R(0x28, OCR1B)                          // 定时器/计数器1输出比较寄存器B(16 位)
SFR_W_R(0x2A, OCR1A)                          // 定时器/计数器1输出比较寄存器A(16 位)
SFR_W_R(0x2C, TCNT1)                          // 定时器/计数器1(16 位存取模式)
SFR_B_N(0x2E, TCCR1B, ICNC1, ICES1, Dummy5, WGM13, WGM12, CS12, CS11, CS10)
                                              // 定时器/计数器1控制寄存器B
SFR_B_N(0x2F, TCCR1A, COM1A1, COM1A0, COM1B1, COM1B0, COM1C1, COM1C0, WGM11, WGM10)
                                              // 定时器/计数器1控制寄存器A
SFR_B_N(0x30, ASSR, Dummy7, Dummy6, Dummy5, Dummy4, AS0, TCN0UB, OCR0UB, TCR0UB)
                                              // 异步方式状态寄存器
SFR_B_R(0x31, OCR0)                           // 定时器/计数器0输出比较寄存器
SFR_B_R(0x32, TCNT0)                          // 定时器/计数器0
SFR_B_N(0x33, TCCR0, FOC0, WGM00, COM01, COM00, WGM01, CS02, CS01, CS00)
                                              // 定时器/计数器0控制寄存器
SFR_B_N(0x34, MCUCSR, JTD, Dummy6, Dummy5, JTRF, WDRF, BORF, EXTRF, PORF)
                                              // MCU控制与状态寄存器
SFR_B_N(0x35, MCUCR, SRE, SRW10, SE, SM1, SM0, SM2, IVSEL, IVCE)
                                              // MCU控制寄存器
SFR_B_N(0x36, TIFR, OCF2, TOV2, ICF1, OCF1A, OCF1B, TOV1, OCF0, TOV0)
                                              // 定时器/计数器中断标志寄存器
SFR_B_N(0x37, TIMSK, OCIE2, TOIE2, TICIE1, OCIE1A, OCIE1B, TOIE1, OCIE0, TOIE0)
                                              // 定时器/计数器中断屏蔽寄存器
SFR_B_N(0x38, EIFR, INTF7, INTF6, INTF5, INTF4, INTF3, INTF2, INTF1, INTF0)
                                              // 外部中断标志寄存器
SFR_B_N(0x39, EIMSK, INT7, INT6, INT5, INT4, INT3, INT2, INT1, INT0)
                                              // 外部中断屏蔽寄存器
SFR_B_N(0x3A, EICRB, ISC71, ISC70, ISC61, ISC60, ISC51, ISC50, ISC41, ISC40)
                                              // 外部中断控制寄存器B
SFR_B_N(0x3B, RAMPZ, Dummy7, Dummy6, Dummy5, Dummy4, Dummy3, Dummy2, Dummy1, RAMPZ0)
                                              // 程序存储器页面的Z指针选择寄存器
SFR_B_N(0x3C, XDIV, XDIVEN, XDIV6, XDIV5, XDIV4, XDIV3, XDIV2, XDIV1, XDIV0)
                                              // XTAL分频控制寄存器
SFR_W_N(0x3D, SP, SP15, SP14, SP13, SP12, SP11, SP10, SP9, SP8, SP7, SP6, SP5, SP4, SP3, SP2, SP1, SP0)
                                              // 堆栈指针(16 位存取模式)
SFR_B_N(0x3F, SREG, I, T, H, S, V, N, Z, C)
                                              // 状态寄存器

/*--------------------------------------------------------------------------------------
存储器映射式的I/O 寄存器定义(0xFF~0x60)
--------------------------------------------------------------------------------------*/
SFR_B_N(0x61, DDRF, DDF7, DDF6, DDF5, DDF4, DDF3, DDF2, DDF1, DDF0)
                                              // 端口F数据方向寄存器
SFR_B_N(0x62, PORTF, PORTF7, PORTF6, PORTF5, PORTF4, PORTF3, PORTF2, PORTF1, PORTF0)
                                              // 端口F数据寄存器
SFR_B_N(0x63, PING, Dummy7, Dummy6, Dummy5, PING4, PING3, PING2, PING1, PING0)
                                              // 端口G输入引脚地址
SFR_B_N(0x64, DDRG, Dummy7, Dummy6, Dummy5, DDG4, DDG3, DDG2, DDG1, DDG0 )
                                              // 端口G数据方向寄存器
SFR_B_N(0x65, PORTG, Dummy7, Dummy6, Dummy5, PORTG4, PORTG3, PORTG2, PORTG1, PORTG0)
                                              // 端口G数据寄存器
SFR_B_N(0x68, SPMCSR, SPMIE, RWWSB, Dummy5, RWWSRE, BLBSET, PGWRT, PGERS, SPMEN)
                                              // 保存程序存储器控制寄存器
SFR_B_N(0x6A, EICRA, ISC31, ISC30, ISC21, ISC20, ISC11, ISC10, ISC01, ISC00)
                                              // 外部中断控制寄存器A
SFR_B_N(0x6C, XMCRB, XMBK, Dummy6, Dummy5, Dummy4, Dummy3, XMM2, XMM1, XMM0)
                                              // 外部存储器控制寄存器B
SFR_B_N(0x6D, XMCRA, Dummy7, SRL2, SRL1, SRL0, SRW01, SRW00, SRW11, Dummy0)
                                              // 外部存储器控制寄存器A
SFR_B_R(0x6F, OSCCAL)                         // 振荡器定标寄存器
SFR_B_R(0x70, TWBR)                           // TWI比特率寄存器
SFR_B_N(0x71, TWSR, TWS7, TWS6, TWS5, TWS4, TWS3, Dummy2, TWPS1, TWPS0)
                                              // TWI状态寄存器
SFR_B_N(0x72, TWAR, TWA6, TWA5, TWA4, TWA3, TWA2, TWA1, TWA0, TWGCE)
                                              // TWI(从机)地址寄存器
SFR_B_R(0x73, TWDR)                           // TWI数据寄存器
SFR_B_N(0x74, TWCR, TWINT, TWEA, TWSTA, TWSTO, TWWC, TWEN, Dummy1, TWIE)
                                              // TWI控制寄存器
SFR_W_R(0x78, OCR1C)                          // 定时器/计数器1输出比较寄存器C(16 位)
SFR_B_N(0x7A, TCCR1C, FOC1A, FOC1B, FOC1C, Dummy4, Dummy3, Dummy2, Dummy1, Dummy0)
                                              // 定时器/计数器1控制寄存器C
SFR_B_N(0x7C, ETIFR, Dummy7, Dummy6, ICF3, OCF3A, OCF3B, TOV3, OCF3C, OCF1C)
                                              // 扩展的定时器/计数器中断标志寄存器
SFR_B_N(0x7D, ETIMSK, Dummy7, Dummy6, TICIE3, OCIE3A, OCIE3B, TOIE3, OCIE3C, OCIE1C)
                                              // 扩展的定时器/计数器中断屏蔽寄存器
SFR_W_R(0x80, ICR3)                           // 定时器/计数器3输入捕获寄存器(16 位)
SFR_W_R(0x82, OCR3C)                          // 定时器/计数器3输出比较寄存器C(16 位)
SFR_W_R(0x84, OCR3B)                          // 定时器/计数器3输出比较寄存器B(16 位)
SFR_W_R(0x86, OCR3A)                          // 定时器/计数器3输出比较寄存器A(16 位)
SFR_W_R(0x88, TCNT3)                          // 定时器/计数器3(16 位存取模式)
SFR_B_N(0x8A, TCCR3B, ICNC3, ICES3, Dummy5, WGM33, WGM32, CS32, CS31, CS30)
                                              // 定时器/计数器3控制寄存器B
SFR_B_N(0x8B, TCCR3A, COM3A1, COM3A0, COM3B1, COM3B0, COM3C1, COM3C0, WGM31, WGM30)
                                              // 定时器/计数器3控制寄存器A
SFR_B_N(0x8C, TCCR3C, FOC3A, FOC3B, FOC3C, Dummy4, Dummy3, Dummy2, Dummy1, Dummy0)
                                              // 定时器/计数器3控制寄存器C

SFR_B_R(0x90, UBRR0H)                         // USART0波特率寄存器高字节

SFR_B_N(0x95, UCSR0C, Dummy7, UMSEL0, UPM01, UPM00, USBS0, UCSZ01, UCSZ00, UCPOL0)
                                              // USART0控制和状态寄存器C
SFR_B_R(0x98, UBRR1H)                         // USART1波特率寄存器高字节
SFR_B_R(0x99, UBRR1L)                         // USART1波特率寄存器低字节
SFR_B_N(0x9A, UCSR1B, RXCIE1, TXCIE1, UDRIE1, RXEN1, TXEN1, UCSZ12, RXB81, TXB81)
                                              // USART1控制和状态寄存器B
SFR_B_N(0x9B, UCSR1A, RXC1, TXC1, UDRE1, FE1, DOR1, UPE1, U2X1, MPCM1)
                                              // USART1控制和状态寄存器A
SFR_B_R(0x9C, UDR1)                           // USART1 I/O 数据寄存器
SFR_B_N(0x9D, UCSR1C, Dummy7, UMSEL1, UPM11, UPM10, USBS1, UCSZ11, UCSZ10, UCPOL1)
                                              // USART1控制和状态寄存器C



/*==========================================================================================
下面两条指令是本头部文件条件编译的预处理指令,用于防止本头部文件被其他文件重复引用。
==========================================================================================*/
#ifndef __IOM128_H                            // "__IOM128_H" 条件编译开始
#define __IOM128_H


/*==========================================================================================
                                      中断向量地址定义
                       注意:本头部文件的中断向量地址指定为字节地址。
==========================================================================================*/
#define RESET_vect         (0x00)             // 外部引脚、上电复位、掉电检测、看门狗复位、
                                                // 以及 JTAG AVR 复位中断向量
#define INT0_vect          (0x04)             // 外部中断请求0中断向量
#define INT1_vect          (0x08)             // 外部中断请求1中断向量
#define INT2_vect          (0x0C)             // 外部中断请求2中断向量
#define INT3_vect          (0x10)             // 外部中断请求3中断向量
#define INT4_vect          (0x14)             // 外部中断请求4中断向量
#define INT5_vect          (0x18)             // 外部中断请求5中断向量
#define INT6_vect          (0x1C)             // 外部中断请求6中断向量
#define INT7_vect          (0x20)             // 外部中断请求7中断向量
#define TIMER2_COMP_vect   (0x24)             // 定时器/计数器2比较匹配中断向量
#define TIMER2_OVF_vect    (0x28)             // 定时器/计数器2溢出中断向量
#define TIMER1_CAPT_vect   (0x2C)             // 定时器/计数器1输入捕获中断向量
#define TIMER1_COMPA_vect  (0x30)             // 定时器/计数器1A比较匹配中断向量
#define TIMER1_COMPB_vect  (0x34)             // 定时器/计数器1B比较匹配中断向量
#define TIMER1_OVF_vect    (0x38)             // 定时器/计数器1溢出中断向量
#define TIMER0_COMP_vect   (0x3C)             // 定时器/计数器0比较匹配中断向量
#define TIMER0_OVF_vect    (0x40)             // 定时器/计数器0溢出中断向量
#define SPI_STC_vect       (0x44)             // SPI串行传输结束中断向量
#define USART0_RXC_vect    (0x48)             // USART0接收结束中断向量
#define USART0_UDRE_vect   (0x4C)             // USART0数据寄存器空中断向量
#define USART0_TXC_vect    (0x50)             // USART0发送结束中断向量
#define ADC_vect           (0x54)             // ADC转换结束中断向量
#define EE_RDY_vect        (0x58)             // EEPROM就绪中断向量
#define ANA_COMP_vect      (0x5C)             // 模拟比较器中断向量
#define TIMER1_COMPC_vect  (0x60)             // 定时器/计数器1C比较匹配中断向量

⌨️ 快捷键说明

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