ATMEGAL16
一、管脚定义 管脚 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
定义 PB0/XCK/T0 PB1/T1 PB2/INT2 /AIN0 PB3/OC0 /AIN1 PB4/SS PB5/MISI PB6/MOSO PB7/SCK RESET VCC GND XTAL2 XTAL1 PD0/RXD PD1/TXD PD2/INT0 PD3/INT1 PD4/OC1B PD5/OC1A PD6/ICP1 PD7/OC2 PC0/SCL PC1/SDA PC2/TCK PC3/TMS PC4/TDO PC5/TDI PC6/TOSC1 PC7/TOSC2 AVCC GND AREF PA7/AD7 PA6/AD6 PA5/AD5 PA4/AD4 PA3/AD3 PA2/AD2 PA1/AD1 PA0/AD0 第1功能 IO口B_0 IO口B_1 IO口B_2 IO口B_3 IO口B_4 IO口B_5 IO口B_6 IO口B_7 复位 电源 地 时钟输入2 时钟输入1 IO口D_0 IO口D_1 IO口D_2 IO口D_3 IO口D_4 IO口D_5 IO口D_6 IO口D_7 IO口C_0 IO口C_1 IO口C_2 IO口C_3 IO口C_4 IO口C_5 IO口C_6 IO口C_7 模拟电源 地 ADC基准 IO口A_7 IO口A_6 IO口A_5 IO口A_4 IO口A_3 IO口A_2 IO口A_1 IO口A_0 第2功能 串口0时钟 T1时钟 外中断2 T0输出比较和PWM SPI从机选择 第3功能 T0时钟 模拟比较器+ 模拟比较器- SPI从机输入主机输出 SPI从机输出主机输入 SPI时钟 串口接收 串口发送 外中断0 外中断1 T1输出比较和PWMB T1输出比较和PWMA T1输入捕捉触发 T2输出比较和PWM IIC时钟 IIC数据 JTAG时钟 JTAG模式选择 JTAG输出 JTAG输入 T0振荡器引脚2 T0振荡器引脚1 1
二、寄存器地址 H\\L 1100-FFFF 100-10FF 6L- FF 5H 5L 4H 4L 3H 3L 2H 2L 1H 1L 0 (一)SREG:程序状态 I T H S V N Z C (1)I: 全局中断使能 I=1:允许全局中断 C=0:禁止全局中断 (2)T:位复制存储
将寄存器某一位复制到T,或将T复制到寄存器某一位 (3)H:半进位标志位
H=1:低4位向高4位有进位 H=0:低4位向高4位无进位 (4)S:符号位 S=N异或V
(5)V:2进制补码溢出标志 V=1:2进制补码有溢出 V=0:2进制补码无溢出 (6)N:负数标志位 N=1:结果是负数 N=0:结果是正数 (7)Z:零标志 Z=1:结果是零 Z=0:结果不是零
(二、 三)SPH,SPL:堆栈指针
堆栈区的初地址,SPL是低8位,SPH是高8位
2
F/7 E/6 D/5 C/4 B/3 A/2 9/1 8/0 外部SRAM 内部SRAM - SREG SPMCR SPH TWCR SPL OCR0 GICR TCCR0 GIFR TCNT0 OCR1A L ASSR DDRA PORTD TWAR R26(XL) TIMSK OHCCAL/ OCDR TIFR SFIOR MCUCR MCUCSR TCCR1A TCCR1B ICR1H EEARH DDRB SPDR R31(ZH) ICR1L EEARL PINB SPSR R30(ZL) TCNT1H TCNT1L OCR1AH TCCR2 EEDR PORTC SPCR ADCH R29(YH) TCNT2 EECR DDRC UDR ADCL R28 (YL) OCR2 PORTA PINC TWDR R27(XH) OCR1BH OCR1BL WDTCR PINA DDRD UBRR0L TWSR R25 UBRRH/ UCHRC PORTB PIND ACSR TWBR R24 UCSR0A UCSR0B ADMUX ADCSRA R0-R23 (四)MCUCR:控制 SM2 SE SM1 SM0 ISC11 ISC10 ISC01 ISC00 (1)SE:睡眠使能 SE=1:使能睡眠模式
SE=0:禁止睡眠模式SRE:外部扩展使能 (2)SM2,SM1,SM0:睡眠模式选择 SM2 0 0 0 0 1 1 ISCn1 0 0 1 1 JTD SM1 0 0 1 1 1 1 SM0 0 1 0 1 0 1 ISCn0 0 1 0 1 ISC2 - 睡眠模式 空闲模式 ADC噪声压制模式 掉电模式 省电模式 Standby模式 扩展Standby模式 外中断n触发方式 低电平中断 高电平中断 下降沿中断 上升沿中断 JTRF WDRF BORF EXTRF PORF (3)ISC11、ISC10、ISC01、ISC00:外中断1或0触发方式 (五)MCUCSR:复位标志 (1) JTD:JTAG测试使能 JTD=1:JTAG测试使能 JTD=0:禁止JTAG测试
(2) ISC2:外中断2触发方式 ISC2=1:上升沿中断 ISC2=0:下降沿中断
(3) JTRF:JTAG测试复位标志 JTRF=1:JTAG复位 JTRF=0:JTAG没复位
(4) WDRF:看门狗复位标志 WDRF=1:看门狗复位 WDRF=0:看门狗没复位
(5) BORF:掉电检测复位标志 BORF=1:掉电检测复位 BORF=0:没掉电
(6) EXTRF:外部引脚复位标志 EXTRF=1:外部引脚复位 EXTRF=0:外部引脚没复位 (7) PORF:上电复位标志 PORF=1:上电复位 PORF=0:没上电复位 (六)SFIOR:特殊功能 ADPS2
ADPS1 ADPS0 - ACME PUD PSR2 PSR10 3
(1) ADPS2~0:ADC分频选择 ADPS2 0 0 0 0 1 1 1 1 ADPS1 0 0 1 1 0 0 1 1 ADPS0 0 1 0 1 0 1 0 1 分频因子 2 2 4 8 16 32 64 128
(2)ACME:模拟比较器多路复用器使用标志
ACME=1:ADC多路复用器为模拟比较器选择负极输入 ACME=0:AN1连接到比较器负极 (3)PUD:禁止上拉电阻 PUT=1:禁止上拉电阻 PUT=0:允许上拉电阻
(4) PSR2:T/C2预分频复位 PSR2=1:T/C0预分频复位 PSR2=0:不操作
(5) PSR10:T/C1或0预分频复位 PSR10=1:T/C1或0预分频复位 PSR10=0:不操作
(七、八)EEARH ,EEARL:EEPROM地址 EEARH是高地址 ,EEARL是低地址 (九)EEDR:EEPROM读写的数据 (十)EECR:EEPROM控制
- - - - EERIE EEMWE EEWE EERE (1) EERIE:EEPROM中断使能 EERIE=1:允许EEPROM中断 EERIE=0:禁止EEPROM中断
(2) EEMWE:EEPROM写使能 EEMWE=1:允许EEPROM写 EEMWE=0:禁止EEPROM写 (3) EEWE:写EEPROM EEWE=1:写EEPROM EEWE=0:无操作
(4) EERE:读EEPROM EERE=1:读EEPROM EERE=0:无操作
(十一、十二、十三、十四)DDRA、DDRB、DDRC、DDRD:ABCD的I/O口方向 DDRn7 DDRn6 DDRn5 DDRn4 DDRn3 DDRn2 DDRn1 DDRn0 每一位=1表示此位是输出引脚。每一位=0表示此位是输入引脚,无输入时是高阻状态,但当PORTnn置位时是高电平。
4
(十五、十六、十七、十八)PORT A、PORTB 、PORTC、PORTD:ABCD的I/O口输出数据
(十九、二十、二十一、二十二)PINA、PINB 、PINC、PIND:ABCD的I/O口输入数据。 (二十三)GICR:外中断控制 INT1 INT0 INT2 - - - IVSEL IVCE (1)INTn:外中断使能 INTn=1:允许n中断 INTn=0:禁止n中断
(2)IVSEL:中断向量选择
IVSEL=1:中断向量地址选择Boot区起始地址 IVSEL=0:中断向量地址选择Flash区起始地址 (3)IVCE:中断向量选择使能 IVCE=1:使能中断向量选择 IVCE=0:禁止中断向量选择 (二十四)GIFR:外中断标志 INTF1 INTF0 INTF2 - - - - - INTFn=1:外中断n有中断 INTFn=0:外中断n无中断
(二十五、二十六)TCCR0、TCCT2:T/C0、T/C2控制 FOC0(2) WGM0(2)0 COM0(2)1 COM0(2)0 WGM0(2)1 CS0(2)2 CS0(2)1 CS0(2)0 (1)FOC0(2):强制输出比较标志
FOC0(2)=1:强制波形发生器立即进行比较操作 FOC0(2)=0:不操作
(2)WGM0(2)1 、WGM0(2)0:波形产生模式控制 TOP是计数器到达计数序列的最大值 WGM0(2)1 0 0 1 1 波形产生模式 普通或CTC WGM0(2)0 0 1 0 1 COM0(2)1 0 0 1 1 快速PWM 0 0 1 1 相位修正PWM 0 T/C工作模式 普通 相位修正PWM CTC 快速PWM COM0(2)0 0 1 0 1 0 1 0 1 0 输出设置 正常的端口操作,不与OC0(2)相连接 比较匹配发生时OC0(2)取反 比较匹配发生时OC0(2)清零 比较匹配发生时OC0(2)置位 正常的端口操作,不与OC0(2)相连接 无 比较匹配发生时OC0(2)清零,计数到TOP时OC0(2)置位 比较匹配发生时OC0(2)置位,计数到TOP时OC0(2) 清零 正常的端口操作,不与OC0(2)相连接 TOP 0xff 0xff OCR0(2) 0xff (1) COM0(2)1 、COM0(2)0:比较匹配输出设置 5