Atmegal16单片机寄存器.docx
《Atmegal16单片机寄存器.docx》由会员分享,可在线阅读,更多相关《Atmegal16单片机寄存器.docx(31页珍藏版)》请在冰豆网上搜索。
![Atmegal16单片机寄存器.docx](https://file1.bdocx.com/fileroot1/2023-1/29/0fbef815-12ba-46e9-bf47-43a5db9ef983/0fbef815-12ba-46e9-bf47-43a5db9ef9831.gif)
Atmegal16单片机寄存器
ATMEGAL16
一、管脚定义
管脚
定义
第1功能
第2功能
第3功能
1
PB0/XCK/T0
IO口B_0
串口0时钟
T0时钟
2
PB1/T1
IO口B_1
T1时钟
3
PB2/INT2/AIN0
IO口B_2
外中断2
模拟比较器+
4
PB3/OC0/AIN1
IO口B_3
T0输出比较和PWM
模拟比较器-
5
PB4/SS
IO口B_4
SPI从机选择
6
PB5/MISI
IO口B_5
SPI从机输入主机输出
7
PB6/MOSO
IO口B_6
SPI从机输出主机输入
8
PB7/SCK
IO口B_7
SPI时钟
9
RESET
复位
10
VCC
电源
11
GND
地
12
XTAL2
时钟输入2
13
XTAL1
时钟输入1
14
PD0/RXD
IO口D_0
串口接收
15
PD1/TXD
IO口D_1
串口发送
16
PD2/INT0
IO口D_2
外中断0
17
PD3/INT1
IO口D_3
外中断1
18
PD4/OC1B
IO口D_4
T1输出比较和PWMB
19
PD5/OC1A
IO口D_5
T1输出比较和PWMA
20
PD6/ICP1
IO口D_6
T1输入捕捉触发
21
PD7/OC2
IO口D_7
T2输出比较和PWM
22
PC0/SCL
IO口C_0
IIC时钟
23
PC1/SDA
IO口C_1
IIC数据
24
PC2/TCK
IO口C_2
JTAG时钟
25
PC3/TMS
IO口C_3
JTAG模式选择
26
PC4/TDO
IO口C_4
JTAG输出
27
PC5/TDI
IO口C_5
JTAG输入
28
PC6/TOSC1
IO口C_6
T0振荡器引脚2
29
PC7/TOSC2
IO口C_7
T0振荡器引脚1
30
AVCC
模拟电源
31
GND
地
32
AREF
ADC基准
33
PA7/AD7
IO口A_7
34
PA6/AD6
IO口A_6
35
PA5/AD5
IO口A_5
36
PA4/AD4
IO口A_4
37
PA3/AD3
IO口A_3
38
PA2/AD2
IO口A_2
39
PA1/AD1
IO口A_1
40
PA0/AD0
IO口A_0
二、寄存器
H\L
F/7
E/6
D/5
C/4
B/3
A/2
9/1
8/0
1100-FFFF
外部SRAM
100-10FF
内部SRAM
6L-FF
-
5H
SREG
SPH
SPL
OCR0
GICR
GIFR
TIMSK
TIFR
5L
SPMCR
TWCR
MCUCR
MCUCSR
TCCR0
TCNT0
OHCCAL/
OCDR
SFIOR
4H
TCCR1A
TCCR1B
TCNT1H
TCNT1L
OCR1AH
OCR1AL
OCR1BH
OCR1BL
4L
ICR1H
ICR1L
TCCR2
TCNT2
OCR2
ASSR
WDTCR
UBRRH/
UCHRC
3H
EEARH
EEARL
EEDR
EECR
PORTA
DDRA
PINA
PORTB
3L
DDRB
PINB
PORTC
DDRC
PINC
PORTD
DDRD
PIND
2H
SPDR
SPSR
SPCR
UDR
UCSR0A
UCSR0B
UBRR0L
ACSR
2L
ADMUX
ADCSRA
ADCH
ADCL
TWDR
TWAR
TWSR
TWBR
1H
R31(ZH)
R30(ZL)
R29(YH)
R28(YL)
R27(XH)
R26(XL)
R25
R24
1L
R0-R23
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位
(四)MCUCR:
控制
SM2
SE
SM1
SM0
ISC11
ISC10
ISC01
ISC00
(1)SE:
睡眠使能
SE=1:
使能睡眠模式
SE=0:
禁止睡眠模式SRE:
外部扩展使能
(2)SM2,SM1,SM0:
睡眠模式选择
SM2
SM1
SM0
睡眠模式
0
0
0
空闲模式
0
0
1
ADC噪声压制模式
0
1
0
掉电模式
0
1
1
省电模式
1
1
0
Standby模式
1
1
1
扩展Standby模式
(3)ISC11、ISC10、ISC01、ISC00:
外中断1或0触发方式
ISCn1
ISCn0
外中断n触发方式
0
0
低电平中断
0
1
高电平中断
1
0
下降沿中断
1
1
上升沿中断
(五)MCUCSR:
复位标志
JTD
ISC2
-
JTRF
WDRF
BORF
EXTRF
PORF
(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
(1)ADPS2~0:
ADC分频选择
ADPS2
ADPS1
ADPS0
分频因子
0
0
0
2
0
0
1
2
0
1
0
4
0
1
1
8
1
0
0
16
1
0
1
32
1
1
0
64
1
1
1
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置位时是高电平。
(十五、十六、十七、十八)PORTA、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
WGM0
(2)0
T/C工作模式
TOP
0
0
普通
0xff
0
1
相位修正PWM
0xff
1
0
CTC
OCR0
(2)
1
1
快速PWM
0xff
(1)COM0
(2)1、COM0
(2)0:
比较匹配输出设置
波形产生模式
COM0
(2)1
COM0
(2)0
输出设置
普通或CTC
0
0
正常的端口操作,不与OC0
(2)相连接
0
1
比较匹配发生时OC0
(2)取反
1
0
比较匹配发生时OC0
(2)清零
1
1
比较匹配发生时OC0
(2)置位
快速PWM
0
0
正常的端口操作,不与OC0
(2)相连接
0
1
无
1
0
比较匹配发生时OC0
(2)清零,计数到TOP时OC0
(2)置位
1
1
比较匹配发生时OC0
(2)置位,计数到TOP时OC0
(2)清零
相位修正PWM
0
0
正常的端口操作,不与OC0
(2)相连接
0
1
无
1
0
在升序计数时发生比较匹配发生时OC0
(2)清零,降序计数时发生比较匹配发生时OC0
(2)置位
1
1
在升序计数时发生比较匹配发生时OC0
(2)置位,降序计数时发生比较匹配发生时OC0
(2)清零
(2)CS0
(2)2、CS0
(2)2、CS0
(2)2:
定时器时钟选择
T/C0
CS02
CS01
CS00
定时器时钟选择,系统时钟分频
0
0
0
无时钟
0
0
1
1
0
1
0
1/8
0
1
1
1/32
1
0
0
1/64
1
0
1
1/128
1
1
0
1/256
1
1
1
1/1024
T/C2
CS22
CS21
CS20
定时器时钟选择,系统时钟分频
0
0
0
无时钟
0
0
1
1
0
1
0
1/8
0
1
1
1/64
1
0
0
1/256
1
0
1
1/1024
1
1
0
T2外部时钟下降沿
1
1
1
T2外部时钟上升沿
(二十七、二十八)TCNT0、TCNT02:
T/C0
(2)数据
定时器/计数器8位的计数数据
(二十九、三十)OCR0、OCR2:
OCR0
(2)输出比较数据
比较的8位数据
(三十一)ASSR:
异步状态
-
-
-
-
AS2
TCN2UB
OCR2UB
TCR2UB
(1)AS2:
异步T/C0驱动标志
AS2=1:
T/C2由接在OCR2引脚的晶振驱动
AS2=0:
T/C2由主时钟驱动器
(2)TCN2UB:
TCNT2更新标志
TCN2UB=1:
TCNT2正在更新中
TCN2UB=0:
TCNT2可以写入新值
(3)OCR2UB:
OCR2更新标志
OCR2UB=1:
OCR2正在更新中
OCR2UB=0:
OCR2可以写入新值
(4)TCR2UB:
TCCR2更新标志
TCR2UB=1:
TCCR2正在更新中
TCR2UB=0:
TCCR2可以写入新值
(三十二)TIMSK:
T/C0
(2)中断使能
OCIE2
TOIE2
TICIE1
OCIE1A
OCIE1B
TOIE1
OCIE0
TOIE0
(1)OCIE0(1A、1B、2):
OCR0(1A、1B、2)输出比较匹配中断使能
OCIE0(1A、1B、2)=1:
允许OCR0(1A、1B、2)输出比较匹配中断
OCIE0(1A、1B、2)=0:
禁止OCR0(1A、1B、2)输出比较匹配中断
(2)TCIE0(1、2):
T/C0(1、2)溢出中断使能
TCIE0(1、2)=1:
允许T/C0(1、2)溢出中断
TCIE0(1、2)=0:
禁止T/C0(1、2)溢出中断
(3)TICIE1:
ICR1输入捕捉中断使能
TICIE1=1:
允许ICR1输入捕捉中断
TICIE1=0:
禁止ICR1输入捕捉中断
(三十三)TIFR:
T/C0
(2)中断标志
OCF2
TOV2
ICF1
OCF1A
OCF1B
TOV1
OCF0
TOV0
(1)OCF0(1A、1B、2):
T/C0(1A、1B、2)输出比较匹配中断使能
OCF0(1A、1B、2)=1:
T/C01A、1B、
(2)与OCR0(1A、1B、2)值比较匹配
OCF0(1A、1B、2)=0:
T/C0(1A、1B、2)与OCR0(1A、1B、2)值比较不匹配
(2)TOV0(1、2):
T/C0(1、2)溢出中断使能
TOV0=1(1、2):
T/C0(1、2)溢出
TOV0=0(1、2):
T/C0(1、2)未溢出
(1)ICF1:
ICR1输入捕捉
ICF1=1:
ICR1输入捕捉
ICF1=0:
未ICR1输入捕捉
(三十四)TCCR1A:
T/C1控制A
COM1A1
COM1A0
COM1B1
COM1B0
FOC1A
FOC1B
WGM11
WGM10
(1)COM1A1、COM1A0、COM1B1、COM1B0:
比较匹配输出设置
波形产生模式
COM1A1
COM1B1
COM1A0
COM1B0
输出设置:
分别控制OC1A,OC1B
普通或CTC
0
0
正常的端口操作,不与OC1AB相连接
0
1
比较匹配发生时OC1AB取反
1
0
比较匹配发生时OC1AB清零
1
1
比较匹配发生时OC1AB置位
快速PWM
0
0
正常的端口操作,不与OCAB相连接
0
1
无
1
0
比较匹配发生时OCAB清零,计数到TOP时OCAB置位
1
1
比较匹配发生时OCAB置位,计数到TOP时OCAB清零
相位修正PWM
0
0
正常的端口操作,不与OCAB相连接
0
1
无
1
0
在升序计数时发生比较匹配发生时OCAB清零,降序计数时发生比较匹配发生时OCAB置位
1
1
在升序计数时发生比较匹配发生时OCAB置位,降序计数时发生比较匹配发生时OCAB清零
(2)FOC1A、FOC1B:
输出强制比较
FOC1AB=1:
强制波形发生器立即进行比较操作
FOC1AB=0:
不操作
(三十五)TCCR1B:
T/C1控制B
ICNC1
ICES1
WGM13
WGM12
CS12
CS11
CS10
(1)WGM13,WGM12,WGM11,WGM10:
波形发生标志
WGM13
WGM12
WGM11
WGM10
工作方式
TOP
0
0
0
0
普通模式
0xffff
0
0
0
1
8位相位修正
0xff
0
0
1
0
9位相位修正
0x1ff
0
0
1
1
10位相位修正
0x3ff
0
1
0
0
CTC
OCRnA
0
1
0
1
8位快速PWM
0xff
0
1
1
0
9位快速PWM
0x1ff
0
1
1
1
10位快速PWM
0x3ff
1
0
0
0
相位与频率修正PWM
ICRn
1
0
0
1
相位与频率修正PWM
OCRnA
1
0
1
0
相位修正PWM
ICRn
1
0
1
1
相位修正PWM
OCRnA
1
1
0
0
CTC
ICRn
1
1
0
1
-
-
1
1
1
0
快速PWM
ICRn
1
1
1
1
快速PWM
OCRnA
(2)ICNC1:
输入捕捉噪声压制
ICNC1=1:
输入捕捉噪声压制
ICNC1=0:
无操作
(3)ICES1:
输入捕捉触发沿选择
ICES1=1:
上升沿触发
ICES1=0:
下降沿触发
(4)CS12、CS11,CS10:
时钟源选择:
CS12
CS11
CS10
定时器时钟选择,系统时钟分频
0
0
0
无时钟
0
0
1
1
0
1
0
1/8
0
1
1
1/64
1
0
0
1/256
1
0
1
1/1024
1
1
0
Tn外部时钟下降沿
1
1
1
Tn外部时钟上升沿
(三十六、三十七)TCNT1H、TCNT1L:
T/C1(3)数据
定时器/计数器1计数数据,H是高八位,L是低八位。
(三十八、三十九)OCR1AH、OCR1AL:
OCR1A输出比较数据
比较器A的数据,H是高八位,L是低八位。
(四十、四十一)OCR1BH、OCR1BL:
OCR1B输出比较数据
比较器B的数据,H是高八位,L是低八位。
(四十二、四十三)ICR1H,ICR1L:
OCR1输入捕捉数据
捕捉的数据,H是高八位,L是低八位
(四十四)SPCR:
SPI控制
SPIE
SPE
DORD
MSTR
CPOL
CPHA
SPR1
SPR0
(1)SPIE:
SPI中断使能
SPIE=1:
允许SPI中断
SPIE=0:
禁止SPI中断
(2)SPE:
SPI使能
SPE=1:
允许SPI
SPE=0:
禁止SPI
(3)DORD:
数据次序
DORD=1:
数据低位先发
DORD=0:
数据高位先发
(4)MSTR:
主从选择
MSTR=1:
机从模式
MSTR=0:
主机模式
(5)CPOL:
时钟极性
CPOL=1:
空闲时SCK是高电平
CPOL=0:
空闲时SCK是低电平
(6)CPHA:
时钟相位
CPHA=1:
在SCK结束沿采样
CPHA=0:
在SCK开始沿采样
(四十五)SPSR:
SPI状态
SPIF
WCOL
-
-
-
-
-
SPI2X
(1)SPI2X、SPR1、SPR0:
主机速率选择
SPI2X
SPR1
SPR0
SCK分频(fosc)
0
0
0
4
0
0
1
16
0
1
0
64
0
1
1
128
1
0
0
2
1
0
1
8
1
1
0
32
1
1
1
64
(2)SPIF:
SPI中断标志
SPIF=1:
SPI发送结束
SPIF=0:
未定义
(3)WCOL:
SPI写冲突标志
WCOL=1:
正在写SPDR
WCOL=0:
未定义
(四十六)SPDR:
SPI数据
发送和接收的8位数据
(四十七)UCSRA:
USART控制和状态A
RXC
TXC
UDRE
FE
DOR
PE
U2X
MPCM
(1)RXC:
USART接收结束
RXC=1:
USART接收缓冲区中有未读数据
RXC=0:
USART接收缓冲区空
(2)TXC:
USART正在发送
TXC=1:
USART发送结束
TXC=0:
USART发送缓冲器空,可写数据
(3)UDRE:
USART数据寄存器空
UDRE=1:
USART缓冲器空
UDRE=0:
USART缓冲器有数据
(4)FE:
USART帧错误
FE=1:
USART接收缓冲区收到的数据有帧错误
FE=0:
USART当接收缓冲区收到收到停止位1
(5)DOR:
USART数据溢出
DOR=1:
USART当接收缓冲区数据还没独处时,有接收到数据
DOR=0:
USART未定义
(6)PE:
USART奇偶效验错误
UPE=1:
USART接收的数据奇偶效验错误
UPE=0:
USART接收的数据正常
(7)U2X:
USART倍速发送。
仅对异步操作有效
U2X=1:
USART将波特率分频因子从16降到8,异步通讯速度加倍
U2X=0:
USART未定义
(8)MPCM:
USART多处理器通讯模式
MPCM=1:
USART启动多处理器通讯模式,接收器接收的不含地址的信号被忽略。
MPCM=0:
USART未定义
(四十八)UCSRB