立即注册 找回密码

微雪课堂

搜索
微雪课堂 AVR AVR单片机内核剖析 Atmega16 查看内容

ATmega16 标定的片内RC振荡器

2015-5-27 00:09| 发布者: waveshare-admin| 查看: 2747| 评论: 0

摘要: 标定的片内RC振荡器提供了固定的1.0、2.0、4.0 或8.0 MHz 的时钟。这些频率都是5V、25°C 下的标称数值。这个时钟也可以作为系统时钟,只要按照Table 9 对熔丝位CKSEL进行编程即可。 ...

标定的片内RC振荡器提供了固定的1.0、2.0、4.0 或8.0 MHz 的时钟。这些频率都是5V、25°C 下的标称数值。这个时钟也可以作为系统时钟,只要按照Table 9 对熔丝位CKSEL进行编程即可。

选择这个时钟(此时不能对CKOPT进行编程)之后就无需外部器件了。复位时硬件将标定字节加载到OSCCAL 寄存器,自动完成对RC振荡器的标定。在5V,25°C 和频率为1.0 MHz 时,这种标定可以提供标称频率 ± 1% 的精度。

当使用这个振荡器作为系统时钟时,看门狗仍然使用自己的看门狗定时器作为溢出复位的依据。更多的有关标定数据的信息请参见P249“ 标定字节” 。

选择了这个振荡器之后,启动时间由熔丝位SUT 确定,如Table 10 所示。XTAL1 和XTAL2 要保持为空(NC)。


振荡器标定寄存器- OSCCAL

· Bits 7..0 – CAL7..0: 振荡器标定数据
将标定数据写入这个地址可以对内部振荡器进行调节以消除由于生产工艺所带来的振荡器频率偏差。复位时1 MHz 的标定数据( 标识数据的高字节,地址为0x00) 自动加载到OSCCAL 寄存器。

如果需要内部RC振荡器工作于其他频率,标定数据必须人工加载:首先通过编程器读取标识数据,然后将标定数据保存到Flash 或EEPROM 之中。这些数据可以通过软件读取,然后加载到OSCCAL 寄存器。当OSCCAL 为零时振荡器以最低频率工作。

当对其写如不为零的数据时内部振荡器的频率将增长。写入0xFF 即得到最高频率。标定的振荡器用来为访问EEPROM 和Flash 定时。有写EEPROM 和Flash 的操作时不要将频率标定到超过标称频率的10%,否则写操作有可能失败。要注意振荡器只对1.0、2.0、4.0 和8.0 MHz 这四种频率进行了标定,其他频率则无法保证。

以上资料参考马潮老师的中文手册,由微雪电子整理并发布,转载请注明出处:www.waveshare.net,否则追究相应责任!


234

顶一下

刚表态过的朋友 (234 人)

最新评论

所有教程
内核剖析
    01Atmega16
    深入剖析Atmega16芯片内核
    02Atmega48
    深入剖析Atmega48芯片内核
    03ATmega8
    深入剖析ATmega8芯片内核
    04ATmega128
    深入剖析ATmega128芯片内核
    05ATmega64
    深入剖析ATmega64芯片内核
    06ATmega32
    深入剖析ATmega32芯片内核
    07ATmega168
    深入剖析ATmega168芯片内核
    08ATtiny13
    深入剖析ATtiny13芯片内核
    09ATmega88
    深入剖析ATmega88芯片内核
    010ATtiny2313
    深入剖析ATtiny2313芯片内核
AVR

微雪官网|产品资料|手机版|小黑屋|微雪课堂. ( 粤ICP备05067009号 )

GMT+8, 2024-4-19 18:04 , Processed in 0.018236 second(s), 20 queries .

返回顶部