(精)atmega16寄存器笔记整理(6)

2019-04-22 09:20

5. TWI( 从机) 地址寄存器TWAR

bit7 TWA6 bit6 TWA5 bit5 TWA4 bit4 TWA3 bit3 TWA2 bit2 TWA1 bit1 TWA0 bit0 TWGCE TWAR的高7位为从机地址。工作于从机模式时,TWI将根据这个地址进行响应。主机模式不需要此地址。在多主机系统中, TWAR 需要进行设置以便其他主机访问自己。TWAR的LSB 用于识别广播地址 (0x00)。器件内有一个地址比较器。一旦接收到的地址和本机地址一致,芯片就请求中断。 TWA: TWI 从机地址寄存器其值为从机地址。 TWGCE: 使能TWI 广播识别

置位后MCU 可以识别TWI 总线广播。

六、模数转换器

1. ADC 多工选择寄存器ADMUX

bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 REFS1 REFS0 ADLAR MUX4 MUX3 MUX2 MUX1 MUX0 REFS1:0: 参考电压选择

通过这几位可以选择参考电压。如果在转换过程中改变了它们的设置,只有等到当前转换结束(ADCSRA寄存器的ADIF置位)之后改变才会起作用。如果在AREF引脚上施加了外部参考电压,内部参考电压就不能被选用了。

ADC 参考电压选择 REFS1 0 0 1 1 REFS0 0 1 0 1 参考电压选择 AREF, AVCC, 保留 2.56V ADLAR: ADC 转换结果左对齐

ADLAR影响ADC转换结果在ADC数据寄存器中的存放形式。ADLAR置位时转换结果为左对齐,否则为右对齐。ADLAR 的改变将立即影响ADC 数据寄存器的内容,不论是否有转换正在进行。

MUX4:0: 模拟通道与增益选择位

输入通道与增益选择 通过这几位的设置,可以对连接到ADC 的模拟输入进行选择。也可对差分通道增 益进行选择。如果在转换过程中改变这几位的值,那么只有到转换结束 (ADCSRA 寄存器的ADIF 置位) 后新的设置才有效。

输入通道与增益选择 MUX4..0 单端输入正差 MUX4..0 单端输入正差 MUX4..0 分输入负差分输入增益 分输入负差分输入增益 00000 ADC0 ADC1 ADC2 00001 00010 00011 00100 00101 00110 00111 ADC0 01001 01010(1) 01011(1) 01100 01101 01110(1) 01111(1) 10000 10001 10010 10011 10100 10101 10110 10111 11000 11001 11010 11011 11100 11101 11110 11111

ADC5 1.22V 0V N/A ADC0 ADC1 ADC0 ADC1 ADC2 ADC3 ADC2 ADC3 ADC0 ADC1 ADC2 ADC3 ADC4 ADC5 ADC6 ADC7 ADC0 ADC1 ADC2 ADC3 ADC4 ADC2 ADC3 ADC4 ADC5 ADC6 ADC7 ADC0 ADC0 ADC0 ADC0 ADC2 ADC2 ADC2 ADC2 ADC1 ADC1 ADC2 ADC1 ADC1 ADC1 ADC1 ADC1 ADC2 ADC2 ADC2 ADC2 ADC2 ADC2 N/A 10x 10x 200x 200x 10x 10x 200x 200x 1x 1x ADC1 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x

2、ADC 控制和状态寄存器A(ADCSRA) bit7 ADEN bit6 bit5 bit4 ADSC ADATE ADIF bit3 bit2 bit1 bit0 ADIE ADPS2 ADPS1 ADPS0 ADEN: ADC使能

ADEN置位即启动ADC,否则ADC功能关闭。在转换过程中关闭ADC将立即中止正在进行的转换。 ADSC: ADC开始转换

在单次转换模式下,ADSC置位将启动一次ADC转换。在连续转换模式下,ADSC置位将启动首次转换。

第一次转换(在ADC启动之后置位ADSC,或者在使能ADC的同时置位ADSC)需要25个ADC 时钟周期,而不是正常情况下的13 个。第一次转换执行ADC初始化的工作。在转换进行过程中读取ADSC

的返回值为\,直到转换结束。ADSC 清零不产生任何动作。

ADATE: ADC自动触发使能

ADATE置位将启动ADC自动触发功能。触发信号的上跳沿启动ADC转换。触发信号源通过SFIOR寄存器的ADC触发信号源选择位ADTS设置。

ADIF: ADC中断标志

在ADC转换结束,且数据寄存器被更新后, ADIF置位。如果ADIE及SREG中的全局中断使能位I也置位,ADC 转换结束中断服务程序即得以执行,同时ADIF硬件清零。此外,还可以通过向此标志写1来清ADIF。要注意的是,如果对ADCSRA进行读-修改-写操作,那么待处理的中断会被禁止。这也适用于SBI及CBI指令。 ADIE: ADC 中断使能

若ADIE及SREG 的位I置位, ADC转换结束中断即被使能。

ADPS2:0: ADC 预分频器选择位

由这几位来确定XTAL 与ADC 输入时钟之间的分频因子。

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 3、ADC 数据寄存器(ADCL及ADCH)

ADLAR = 0 bit15 – ADC7 bit14 – ADC6 bit13 – ADC5 bit12 – ADC4 bit11 – ADC3 bit10 – ADC2 bit9 ADC9 ADC1 bit8 ADC8 ADC0

ADLAR = 1 bit15 ADC9 ADC1

bit14 ADC8 ADC0 bit13 ADC7 – bit12 ADC6 – bit11 ADC5 – bit10 ADC4 – bit9 ADC3 – bit8 ADC2 – ADC转换结束后,转换结果存于这两个寄存器之中。如果采用差分通道,结果由2的补码形式表示。 读取ADCL之后,ADC数据寄存器一直要等到ADCH也被读出才可以进行数据更新。因此,如果转换结果为左对齐,且要求的精度不高于8比特,那么仅需读取ADCH就足够了。否则必须先读出ADCL再读ADCH。

ADMUX寄存器的ADLAR及MUXn 会影响转换结果在数据寄存器中的表示方式。如果ADLAR 为1,那么结果为左对齐;反之(系统缺省设置),结果为右对齐。 ADC9:0: ADC转换结果

4.特殊功能IO寄存器SFIOR

bit7 ADTS2 bit6 ADTS1 bit5 ADTS0 bit4 – bit3 ACME bit2 PUD bit1 PSR2 bit0 PSR10 ADTS2:0: ADC 自动触发源

若ADCSRA寄存器的ADATE置位,ADTS的值将确定触发ADC转换的触发源;否则,ADTS的设置没有意义。被选中的中断标志在其上升沿触发ADC转换。从一个中断标志清零的触发源切换到中断标志置位的触发源会使触发信号产生一个上升沿。如果此时ADCSRA寄存器的ADEN 为1,ADC转换即被启动。切换到连续运行模式(ADTS[2:0]=0)时,即使ADC中断标志已经置位也不会产生触发事件。 ADC 自动触发源选择 ADTS2 ADTS1 ADTS0 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 触发源 连续转换模式 模拟比较器 外部中断请求0 定时器/ 定时器/ 定时器/ 定时器/ 定时器/ Res: 保留位

这一位保留。为了与以后的器件相兼容,在写SFIOR时这一位应写0。


(精)atmega16寄存器笔记整理(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:中国润唇膏行业商业模式专项分析与企业投资环境研究报告

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: