datasheet

ATmega16熔丝位设定

2015-09-07来源: eefocus关键字:ATmega16  熔丝位设定
特别注意,要使用外部晶体,必须设置熔丝,否则芯片会使用默认的内部晶体。


1、M16的出厂设置

内部RC 振荡1MHz 6 CK + 65 ms CKSEL=0001 SUT=10 JTAGEN=1

默认状况下JTAG已编程(即PC2-PC5 为高电平不可以被拉低) ,如果PC2->PC5要用作普通IO口,需要取消JTAG编程,或者在程序开始时执行以下命令:

      MCUCSR |= 1 << JTD;

      MCUCSR |= 1 << JTD;  //注意要连续操作两次。恢复JTAG功能也要连续两次操作。
   
 [转载]ATmega16 <wbr>熔丝位设定

2、熔丝位配置说明 


2.1低位(时钟及启动时间设置)
2.1.1、 BOD(Brown-out Detection) 掉电检测电路  
BODLEVEL(BOD 电平选择):  1 (2.7V电平)     0(4.0V电平)

BODEN(BOD 功能控制):     1 (BOD 功能禁止) 0(BOD功能允许)   
一旦VCC 下降到触发电平(2.7v 或4.0v)以下,MUC复位;当VCC电平大于触发电平后,经过tTOUT 延时周后重新开始工作。  
2.1.2、复位启动时间选择  
  SUT 1/0:  当选择不同晶振时,SUT有所不同。 
  如果没有特殊要求推荐SUT 1/0 设置复位启动时间稍长,使电源缓慢上升。 
2.1.3、CKSEL3/0: 时钟源选择 
时钟源                             启动延时          熔丝  
外部时钟                          6 CK + 0 ms       CKSEL=0000 SUT=00
外部时钟                          6 CK + 4.1 ms     CKSEL=0000 SUT=01
外部时钟                          6 CK + 65 ms      CKSEL=0000 SUT=10  
内部RC振荡1MHZ                    6 CK + 0 ms       CKSEL=0001 SUT=00
内部RC振荡1MHZ                    6 CK + 4.1 ms     CKSEL=0001 SUT=01
内部RC振荡1MHZ1                   6 CK + 65 ms      CKSEL=0001 SUT=10
内部RC振荡2MHZ                    6 CK + 0 ms       CKSEL=0010 SUT=00
内部RC振荡2MHZ                    6 CK + 4.1 ms     CKSEL=0010 SUT=01
内部RC振荡2MHZ                    6 CK + 65 ms      CKSEL=0010 SUT=10
内部RC振荡4MHZ                    6 CK + 0 ms       CKSEL=0011 SUT=00
内部RC振荡4MHZ                    6 CK + 4.1 ms     CKSEL=0011 SUT=01
内部RC振荡4MHZ                    6 CK + 65 ms      CKSEL=0011 SUT=10
内部RC振荡8MHZ                    6 CK + 0 ms       CKSEL=0100 SUT=00
内部RC振荡8MHZ                    6 CK + 4.1 ms     CKSEL=0100 SUT=01
内部RC振荡8MHZ                    6 CK + 65 ms      CKSEL=0100 SUT=10
外部RC振荡≤0.9MHZ                18 CK + 0 ms      CKSEL=0101 SUT=00
外部RC振荡≤0.9MHZ                18 CK + 4.1 ms    CKSEL=0101 SUT=01
外部RC振荡≤0.9MHZ                18 CK + 65 ms     CKSEL=0101 SUT=10

外部RC振荡≤0.9MHZ                6 CK + 4.1 ms     CKSEL=0101 SUT=11
外部RC振荡0.9-3.0MHZ              18 CK + 0 ms      CKSEL=0110 SUT=00
外部RC振荡0.9-3.0MHZ              18 CK + 4.1 ms    CKSEL=0110 SUT=01
外部RC振荡0.9-3.0MHZ              18 CK + 65 ms     CKSEL=0110 SUT=10
外部RC振荡0.9-3.0MHZ              6 CK + 4.1 ms     CKSEL=0110 SUT=11
外部RC振荡3.0-8.0MHZ              18 CK + 0 ms      CKSEL=0111 SUT=00
外部RC振荡3.0-8.0MHZ              18 CK + 4.1 ms    CKSEL=0111 SUT=01
外部RC振荡3.0-8.0MHZ              18 CK + 65 ms     CKSEL=0111 SUT=10
外部RC振荡3.0-8.0MHZ               6 CK + 4.1 ms    CKSEL=0111 SUT=11
外部RC振荡8.0-12.0MHZ             18 CK + 0 ms      CKSEL=1000 SUT=00
外部RC振荡8.0-12.0MHZ             18 CK + 4.1 ms    CKSEL=1000 SUT=01
外部RC振荡8.0-12.0MHZ             18 CK + 65 ms     CKSEL=1000 SUT=10
外部RC振荡8.0-12.0MHZ              6 CK + 4.1 ms    CKSEL=1000 SUT=11 
 
低频晶振(32.768KHZ)                1K CK + 4.1 ms   CKSEL=1001 SUT=00
低频晶振(32.768KHZ)                1K CK + 65 ms    CKSEL=1001 SUT=01
低频晶振(32.768KHZ)                32K CK + 65 ms   CKSEL=1001 SUT=10 
 
低频石英/陶瓷振荡器(0.4-0.9MHZ)    258 CK + 4.1 ms  CKSEL=1010 SUT=00
低频石英/陶瓷振荡器(0.4-0.9MHZ)    258 CK + 65 ms   CKSEL=1010 SUT=01
低频石英/陶瓷振荡器(0.4-0.9MHZ)    1K CK + 0 ms     CKSEL=1010 SUT=10
低频石英/陶瓷振荡器(0.4-0.9MHZ)    1K CK + 4.1 ms   CKSEL=1010 SUT=11
低频石英/陶瓷振荡器(0.4-0.9MHZ)    1K CK + 65 ms    CKSEL=1011 SUT=00
低频石英/陶瓷振荡器(0.4-0.9MHZ)    16K CK + 0 ms    CKSEL=1011 SUT=01
低频石英/陶瓷振荡器(0.4-0.9MHZ)    16K CK + 4.1ms   CKSEL=1011 SUT=10
低频石英/陶瓷振荡器(0.4-0.9MHZ)    16K CK + 65ms    CKSEL=1011 SUT=11
中频石英/陶瓷振荡器(0.9-3.0MHZ)    258 CK + 4.1 ms  CKSEL=1100 SUT=00
中频石英/陶瓷振荡器(0.9-3.0MHZ)    258 CK + 65 ms   CKSEL=1100 SUT=01
中频石英/陶瓷振荡器(0.9-3.0MHZ)    1K CK + 0 ms     CKSEL=1100 SUT=10
中频石英/陶瓷振荡器(0.9-3.0MHZ)    1K CK + 4.1 ms   CKSEL=1100 SUT=11
中频石英/陶瓷振荡器(0.9-3.0MHZ)    1K CK + 65 ms    CKSEL=1101 SUT=00
中频石英/陶瓷振荡器(0.9-3.0MHZ)    16K CK + 0 ms    CKSEL=1101 SUT=01
中频石英/陶瓷振荡器(0.9-3.0MHZ)    16K CK + 4.1ms   CKSEL=1101 SUT=10
中频石英/陶瓷振荡器(0.9-3.0MHZ)    16K CK + 65ms    CKSEL=1101 SUT=11
高频石英/陶瓷振荡器(3.0-8.0MHZ)    258 CK + 4.1 ms  CKSEL=1110 SUT=00
高频石英/陶瓷振荡器(3.0-8.0MHZ)    258 CK + 65 ms   CKSEL=1110 SUT=01
高频石英/陶瓷振荡器(3.0-8.0MHZ)    1K CK + 0 ms     CKSEL=1110 SUT=10
高频石英/陶瓷振荡器(3.0-8.0MHZ)    1K CK + 4.1 ms   CKSEL=1110 SUT=11
高频石英/陶瓷振荡器(3.0-8.0MHZ)    1K CK + 65 ms    CKSEL=1111 SUT=00
高频石英/陶瓷振荡器(3.0-   MHZ)    16K CK + 0 ms    CKSEL=1111 SUT=01
高频石英/陶瓷振荡器(3.0-   MHZ)    16K CK + 4.1ms   CKSEL=1111 SUT=10
高频石英/陶瓷振荡器(3.0-   MHZ)    16K CK + 65ms    CKSEL=1111 SUT=11
高于8M选8M 的。  


2.2、高位(BOOT区设置) 
2.2.1、 调试相关位

        JTAGEN(JTAG使能):     1:JTAG禁止     0:JTAG允许 
        OCDEN(片上调试使能): 1:OCD功能禁止  0:OCD功能允许   
   OCDEN:(使能 OCD 片上调试系统;默认为1)必须对JTAGEN 熔丝位进行编程才能使能JTAG 测试访问端口。此外还必须保持所有的锁定位处于非锁定状态,才能真正使片上调试系统工作。
    作为片上调试系统的安全特性,在设置了LB1 或 LB2 任一个锁定位时片上调试系统被禁止。否则,片上调试系统就会给安全器件留下后门。
JTAGEN:(使能 JTAG;默认为0)使用方法:在JTAG调试时,使能OCDEN JTAGEN 两位并保持所有的锁定位处于非锁定状态;在实际使用时为降低功耗,不使能 OCDEN JTAGEN,大约减少2-3mA 的电流。  
2.2.2、在线下载

   SPIEN(SPI 下载允许):  1:SPI下载禁止;0:SPI下载使能 
   注:在双龙的软件里,SPIEN是不能编辑的,默认为0。 但是PROGISP中可以,默认为0。 
2.2.3、选择放大器

   CKOPT(选择放大器模式):CKOPT=0 :高幅度振荡输出;CKOPT=1:低幅度振荡输出   
   当CKOPT 被编程时振荡器在输出引脚产生满幅度的振荡。这种模式适合于噪声环境,以及需要通过 XTAL2 驱动第二个时钟缓冲器的情况,而且这种模式的频率范围比较宽。当保持CKOPT 为未编程状态时,振荡器的输出信号幅度比较小。
   其优点是大大降低了功耗,但是频率范围比较窄,而且不能驱动其他时钟缓冲器。

   对于谐振器,当CKOPT 未编程时的最大频率为8 MHz,CKOPT编程时为16 MHz。内部RC振荡器工作时不对CKOPT 编程。  
2.2.4、烧录时EEPROM已有数据如何处理

   EEAVE(烧录时EEPROM数据保留):  1:不保留;0:保留   
2.2.5、复位后程序的入口选择

   BOOTRST(复位入口选择):  1:程序从0x0000地址开始  0:复位后从BOOT 区执行(参考BOOTSZ0/1) 
 
2.2.6、引导区程序大小及入口地址设置

   BOOTSZ          引导区程序大小     入口  
   00:            1024Word           0xc00  
   01:            512Word            0xe00 
   10:            256Word            0xf00  
   11:            128Word            0xf80 

 

3、熔丝位设定示例

  使用外部16MHz晶体,禁止JTAG功能,其它默认。

  [转载]ATmega16 <wbr>熔丝位设定

关键字:ATmega16  熔丝位设定

编辑:什么鱼 引用地址:http://www.eeworld.com.cn/mcu/2015/0907/article_22034.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:AVR单片机M8控制256级七彩流水灯程序
下一篇:nRF24L01 AVR 发送接收驱动程序

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

ATmega16定时器1的时间设定

在Atmel Studio 7环境下编写程序感觉比较舒服。目的:根据设定的时间触发中断,触发一次,变量累加一次;用到中断,所以一开始需要#include变量:unsigned char  time = 0;定时器1配置:void ConfigTimer1(unsigned int set){TCCR1B |= (1<<2);//256分频      比如12M ,就是12000000/256  tmp = 65536-set;//set=( 晶振频率/分频) * 定时时间)TCNT1H = (unsigned char)(tmp>>
发表于 2018-10-07

Atmega16中使用modbus协议

调试工具:Modbus Poll编程软件:Atmel Studio 7理解:PC中的Modbus Poll是主机,而AVR芯片作为从机此处有两种串行传输模式:RTU和ASCII此处使用了RTU模式,这种模式的主要优点是较高的数据密度,在相同的波特率下比ASCII 模式有更高的吞吐率。每个报文必须以连续的字符流传送。//以下是必要的函数void usart_init(uint baud)//波特率{UCSRA = 0X00;UCSRB = 0X00;                
发表于 2018-10-07

Atmega8a的采样(查询法)

];//存温度#define get while(!(ADCSRA & (1 << ADIF)))//若转化完成,ADIF=1========================================atmega8和16不同,16的采样可以由定时器触发
发表于 2018-10-07
Atmega8a的采样(查询法)

Atmega48-88-168熔丝位设置方法

         本文以Atmega168PA+PROGISP为例说明Atmega48-88-168熔丝位的设置方法,参考设计电路图如下图所示,外接7.3728M无源晶振。          1、启动PROGISP软件,正确连接下载器和目标板,选择Atmega168PA,点击“RD”按钮,一切正常的话,应在提示栏中看到正确提示。       2、 点击“...”按钮,打开“Fuse&Lock”对话框,选择“向导方式”。 
发表于 2018-09-10
Atmega48-88-168熔丝位设置方法

Atmega168 外部10M晶振熔丝位设置方法

    本日志介绍 Atmega168外部10M晶振熔丝位设置方法。    图1:Boot Flash 1024;使能串行下载;看门狗使能         图2:电压低于2.7V复位          图3:外部晶振8M以上,启动速度最慢;没有Flash加密;没有Boot Loader     
发表于 2018-09-10

Atmega168 延时函数晶振频率的设置方法

    本文介绍,在Atmel Studio环境中,更改延时函数(宏)的晶振频率的方法。    在Atmel Studio中,可以使用_delay_us(x)宏和_delay_ms(x)进行精准延时,但是在使用这2个宏之前必须设置当前的晶振频率,本日志介绍其设置方法。    1、在项目上点击右键,选择属性         2、在属性栏中,选择工具链,然后选择“Symbols”,然后将F_CPU宏,更改为相应的晶振频率即可。   
发表于 2018-09-10
Atmega168 延时函数晶振频率的设置方法

小广播

何立民专栏

单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2019 EEWORLD.com.cn, Inc. All rights reserved