AVR单片机熔丝位配置参数

发布者:心灵捕手最新更新时间:2017-11-22 来源: eefocus关键字:AVR  单片机  熔丝位  配置参数 手机看文章 扫描二维码
随时随地手机看文章

mega8的熔丝位设置
以下内容根据mega8的英文手册翻译,希望对大家有所帮助。如发现错误,恳请大家指正。
mega8熔丝位:
1:未编程(不选中)
0:编程(选中)
********************************
熔丝位 说明 缺省设置
********************************
RSTDISBL: 复位或I/O功能选择 1 1:复位功能;0:I/O功能(PC6)
WDTON: 看门狗开关 1 1:看门狗打开(通过WDTCR允许);0:看门狗禁止
SPIEN: SPI下载允许 0 1:SPI下载禁止;0:SPI下载允许(注:当使用SPI编程时,该项不可用)
EEAVE: 烧录时EEPROM数据保留 1 1:不保留;0:保留
BODEN: BOD功能控制 1 1:BOD功能禁止;0:BOD功能允许
BODLEVEL: BOD电平选择 1 1:2.7V电平;0:4.0V电平
BOOTRST: 复位入口选择 1 1:程序从0x0000地址开始执行;0:程序从引导区确定的入口地址开始执行
********************************
BOOTSZ1/0: 引导区程序大小及入口 00
00:1024Word/0xc00;
01:512Word/0xe00;
10:256Word/0xf00;
11:128Word/0xf80
********************************
BLB02/01: 程序区指令位选择 11
11:SPM和LPM指令都允许执行
10:SPM指令禁止写程序区
01:引导区LPM指令禁止读取程序区内容;如果中断向量定义在引导区,则禁止该中断在程序区执行。
00:SPM指令禁止写程序区;引导区LPM指令禁止读取程序区内容;如果中断向量定义在引导区,则禁止该中断在程序区执行。
********************************
BLB12/11: 引导区指令位选择 11
11:SPM和LPM指令都允许执行
10:SPM指令禁止写引导区
01:程序区LPM指令禁止读取引导区内容;如果中断向量定义在程序区,则禁止该中断在引导区执行。
00:SPM指令禁止写引导区;程序区LPM指令禁止读取引导区内容;如果中断向量定义在程序区,则禁止该中断在引导区执行。
********************************
LB2/1: 程序区加密位选择 11
11:未加密
10:程序和EEPROM编程功能禁止,熔丝位锁定
00:程序和EEPROM编程及校验功能禁止,熔丝位锁定
(注:先编程其他熔丝位,再编程加密位)
********************************
CKSEL3/0: 时钟源选择 0001
CKOPT: 晶振选择 1
SUT1/0: 复位启动时间选择 10
********************************
CKSEL3/0=0000:外部时钟,CKOPT=0:允许芯片内部XTAL1管脚对GND接一个36PF电容;CKOPT=1:禁止该电容
----------------
CKSEL3/0=0001-0100:已经校准的内部RC振荡,CKOPT总为1
0001:1.0M
0010:2.0M
0011:4.0M
0100:8.0M
----------------
CKSEL3/0=0101-1000:外部RC振荡,CKOPT=0:允许芯片内部XTAL1管脚对GND接一个36PF电容;CKOPT=1:禁止该电容
0101:<0.9M 0110:0.9-3.0M 0111:3.0-8.0M 1000:8.0-12.0M ---------------- CKSEL3/0=1001:外部低频晶振,CKOPT=0:允许芯片内部XTAL1/XTAL2管脚对GND各接一个36PF电容;CKOPT=1:禁止该电容 ---------------- CKSEL3/0=1010-1111:外部晶振,陶瓷振荡子,CKOPT=0:高幅度振荡输出;CKOPT=1:低幅度振荡输出 101X:0.4-0.9M 110X:0.9-3.0M 111X:3.0-8.0M ******************************** SUT1/0: 复位启动时间选择 当选择不同晶振时,SUT有所不同。 mega128增加了以下几个选项: ******************************** 熔丝位 说明 缺省设置 ******************************** M103C: mega103兼容模式 0 1:mega128模式;0:mega103模式 JTAGEN: JTAG允许 0 1:JTAG禁止;0:JTAG允许 OCDEN: OCD功能允许 1 1:OCD功能禁止;0:OCD功能允许 其他基本相同,引导区程序大小及入口有所差别。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 关于avr的熔丝的使用和设置  作者:马潮老师   看到这么多的人对AVR的熔丝位不会使用和误操作,给出参考。 5.1.1 正确配置AVR熔丝位 对AVR熔丝位的配置是比较细致的工作,用户往往忽视其重要性,或感到不易掌握。下面给出对AVR熔丝位的配置操作时的一些要点和需要注意的相关事项。有关ATmega128熔丝位的具体定义和功能请查看本书相关章节,在附录中将给出一个完整的汇总表。 (1)在AVR的器件手册中,对熔丝位使用已编程(Programmed)和未编程(Unprogrammed)定义熔丝位的状态,“Unprogrammed”表示熔丝状态为“1”(禁止);“Programmed”表示熔丝状态为“0”(允许)。因此,配置熔丝位的过程实际上是“配置熔丝位成为未编程状态“1”或成为已编程状态“0””。 (2)在使用通过选择打钩“√”方式确定熔丝位状态值的编程工具软件时,请首先仔细阅读软件的使用说明,弄清楚“√”表示设置熔丝位状态为“0”还是为“1”。 (3)使用CVAVR中的编程下载程序时应特别注意,由于CVAVR编程下载界面初始打开时,大部分熔丝位的初始状态定义为“1”,因此不要使用其编程菜单选项中的“all”选项。此时的“all”选项会以熔丝位的初始状态定义来配置芯片的熔丝位,而实际上其往往并不是用户所需要的配置结果。如果要使用“all”选项,应先使用“read->fuse bits”读取芯片中熔丝位实际状态后,再使用“all” 选项。
(4)新的AVR芯片在使用前,应首先查看它熔丝位的配置情况,再根据实际需要,进行熔丝位的配置,并将各个熔丝位的状态记录备案。
(5)AVR芯片加密以后仅仅是不能读取芯片内部Flash和E2PROM中的数据,熔丝位的状态仍然可以读取但不能修改配置。芯片擦除命令是将Flash和E2PROM中的数据清除,并同时将两位锁定位状态配置成“11”,处于无锁定状态。但芯片擦除命令并不改变其它熔丝位的状态。
(6)正确的操作程序是:在芯片无锁定状态下,下载运行代码和数据,配置相关的熔丝位,最后配置芯片的锁定位。芯片被锁定后,如果发现熔丝位配置不对,必须使用芯片擦除命令,清除芯片中的数据,并解除锁定。然后重新下载运行代码和数据,修改配置相关的熔丝位,最后再次配置芯片的锁定位。
(7)使用ISP串行方式下载编程时,应配置SPIEN熔丝位为“0”。芯片出厂时SPIEN位的状态默认为“0”,表示允许ISP串行方式下载数据。只有该位处于编程状态“0”,才可以通过AVR的SPI口进行ISP下载,如果该位被配置为未编程“1”后,ISP串行方式下载数据立即被禁止,此时只能通过并行方式或JTAG编程方式才能将SPIEN的状态重新设置为“0”,开放ISP。通常情况下,应保持SPIEN的状态为“0”,允许ISP编程不会影响其引脚的I/O功能,只要在硬件电路设计时,注意ISP接口与其并接的器件进行必要的隔离,如使用串接电阻或断路跳线等。
(8)当你的系统中,不使用JTAG接口下载编程或实时在线仿真调试,且JTAG接口的引脚需要作为I/O口使用时,必须设置熔丝位JTAGEN的状态为“1”。芯片出厂时JTAGEN的状态默认为“0”,表示允许JTAG接口,JTAG的外部引脚不能作为I/O口使用。当JTAGEN的状态设置为“1”后,JTAG接口立即被禁止,此时只能通过并行方式或ISP编程方式才能将JTAG重新设置为“0”,开放JTAG。
(9)一般情况下不要设置熔丝位把RESET引脚定义成I/O使用(如设置ATmega8熔丝位RSTDISBL的状态为“0”),这样会造成ISP的下载编程无法进行,因为在进入ISP方式编程时前,需要将RESET引脚拉低,使芯片先进入复位状态。
(10)使用内部有RC振荡器的AVR芯片时,要特别注意熔丝位CKSEL的配置。一般情况下,芯片出厂时CKSEL位的状态默认为使用内部1MHz的RC振荡器作为系统的时钟源。如果你使用了外部振荡器作为系统的时钟源时,不要忘记首先正确配置CKSEL熔丝位,否则你整个系统的定时都会出现问题。而当在你的设计中没有使用外部振荡器(或某钟特定的振荡源)作为系统的时钟源时,千万不要误操作或错误的把CKSEL熔丝位配置成使用外部振荡器(或其它不同类型的振荡源)。一旦这种情况产生,使用ISP编程方式则无法对芯片操作了(因为ISP方式需要芯片的系统时钟工作并产生定时控制信号),芯片看上去“坏了”。此时只有使用取下芯片使用并行编程方式,或使用JTAG方式(如果JTAG为允许时且目标板上留有JTAG接口)来解救了。另一种解救的方式是:尝试在芯片的晶体引脚上临时人为的叠加上不同类型的振荡时钟信号,一旦ISP可以对芯片操作,立即将CKSEL配置成使用内部1MHz的RC振荡器作为系统的时钟源,然后再根据实际情况重新正确配置CKSEL。
(11)使用支持IAP的AVR芯片时,如果你不使用BOOTLOADER功能,注意不要把熔丝位BOOTRST设置为“0”状态,它会使芯片在上电时不是从Flash的0x0000处开始执行程序。芯片出厂时BOOTRST位的状态默认为“1”。关于BOOTRST的配置以及BOOTLOADER程序的设计与IAP的应用请参考本章相关内容。
5.1.2 ATmega128中重要熔丝位的配置
上一小节介绍了配置AVR熔丝位的要点和注意事项,本小节把在一般情况下使用ATmega128时,几个重要的熔丝位配置情况进行说明。
(1)熔丝位M103C。M103C的配置将设定ATmega128是以ATmega103兼容方式工作运行还是以ATmega128本身的方式工作运行。ATmega128在出厂时M103C默认状态为“0”,即默认以ATmega103兼容方式工作。当用户系统设计使芯片以ATmega128方式工作时,应首先将M103C的状态配置为“1”。
(2)CLKSEL0..3。CLKSEL0、CLKSEL1、CLKSEL2、CLKSEL3用于选择系统的时钟源。有五种不同类型的时钟源可供选择(每种类型还有细的划分)。芯片出厂时的默认情况为CLKSEL3..0和SUT1..0分别是“0001”和“10”。即使用内部1MHz RC振荡器,使用最长的启动延时。这保证了无论外部振荡电路是否工作,都可以进行最初的ISP下载。对于CLKSEL3..0熔丝位的改写需要十分慎重,因为一旦改写错误,会造成芯片无法启动,见上一小节第10点说明。
(3)JTAGEN。如果不使用JTAG接口,应将JTAGEN的状态设置为“1”,即禁止JTAG,JTAG引脚用于I/O口。
(4)SPIEN。SPI方式下载数据和程序允许,默认状态为允许“0”。一般保留其状态。
(5)WDTON。看门狗的定时器始终开启。WDTON默认为“1”,即禁止看门狗的定时器始终开启。如果该位设置为“0”后,看门狗的定时器就会始终打开,不能被内部程序控制了,这是为了防止当程序跑飞时,未知代码通过写寄存器将看门狗定时器关断而设计的(尽管关断看门狗定时器需要特殊的方式,但它保证了更高的可靠行)。
(6)EESAVE。执行擦除命令时是否保留E2PROM中的内容,默认状态为“1”,表示E2PROM中的内容同Flash中的内容一同擦除。如果该位设置为“0”,对程序进行下载前的擦除命令只会对FLASH代码区有效,而对E2PROM区无效。这对于希望在系统更新程序时,需要保留E2PROM中数据的情况下是十分有用的。
(7)BOOTRST。决定芯片上电起动时,第一条执行指令的地址。默认状态为“1”,表示起动时从0x0000开始执行。如果BOOTRST设置为“0”,则起动时从BOOTLOADER区的起始地址处开始执行程序。BOOTLOADER区的大小由BOOTSZ1和BOOTSZ0决定,因此其首地址也随之变化。
(8)BOOTSZ1和BOOTSZ0:这两位确定了BOOTLOADER区的大小以及其起始的首地址。默认的状态为“00”,表示BOOTLOADER区为4096字,起始首地址为0xF000。
(9)推荐用户使用ISP方式配置熔丝位。配置工具选用BASCOM-AVR(网上下载试用版,它对ISP下载无限制),和STK200/STK300兼容的下载电缆(见第四章内容)。
注:不同AVR的熔丝也不同,使用前必须仔细查看芯片手册

关键字:AVR  单片机  熔丝位  配置参数 引用地址:AVR单片机熔丝位配置参数

上一篇:AVR简单通用的串口配置方法
下一篇:AVR单片机的优越性

推荐阅读最新更新时间:2024-03-16 15:46

32段LCD驱动器AY0438及其与单片机的接口设计
1. 概述   AY0438是Microchip公司生产的一种完整的MCOS显示驱动器,可在单片机或微处理器的控制下直接驱动 LCD显示模块。它结构简单,使用方便。特别是在驱动32段LCD显示器方面,更能显示出它的精巧和方便。AY0438只用三条控制线即可连续不断地向与它相连的LCD显示器输送驱动信号。该器件内含32位锁存器,它既可对被显示的数据进行锁存,也可以锁存微处理器的状态或波形。   AY0438能够驱动任何标准的LCD显示器,也可以驱动与标准LCD显示器相类似的显示器相类似的显示模块。可显示用于7段、9段、14段或16段字符、十进制数的“+”“- ”号以及其它特殊字符。如果需要显示更多段位的数据或字符,则可
[应用]
基于AVR的电源管理系统的设计
0 引言 当今, 由于在民用及国防等诸多领域中的广泛应用, 空中机器人技术已经越来越被人们所重视, 并吸引了各国专家学者的注意。小型旋翼机器人是以模型直升机为载体, 装备上传感器单元, 控制单元和伺服机构等装置以实现自主飞行。而为了提高飞机的安全性, 需要设计一套设备监测系统, 实时的监测飞机的姿态信息, 机载设备的状况以及电源的情况等。 该平台所使用的电源是两节锂电池串联组成的电池组, 利用锂离子电池的充放电特性, 设计了一套以mega16l 为核心的充放电管理系统。锂电池具有体积小、能量密度高、无记忆效应、循环寿命高、高电压电池和自放电率低等优点, 与镍镉电池、镍氢电池不太一样的是必须考虑充电、放电时的安全性,以防止特性劣
[单片机]
基于<font color='red'>AVR</font>的电源管理系统的设计
基于单片机的多参数测量仪设计
  本文给出了一种由单片机MSP430F149和部分外围电路来构成多参数 测量仪 的设计方案。详细介绍了测量RLC、频率及相位差的具体方法,同时给出了硬件电路和软件程序框图。   引言   现在常用的仪表一般还是传统的模拟式仪表,漂移大,程控性能不好,而有些仪表功能过于单一,不能满足实际需求。为此,本文考虑到实际的科研实验需要,给出了一种可同时测量RLC、频率及相位差的测量仪的设计方法。   1 系统组成与硬件电路设计   1.1 系统组成   该仪器包括信号产生与接收模块、信号的放大整形滤波处理模块、单片机中央处理器、显示模块LCD12864和外部按键控制模块等几个部分,其系统组成结构框图如图1所示。   
[测试测量]
基于<font color='red'>单片机</font>的多<font color='red'>参数</font>测量仪设计
PIC单片机实例八:四种方式24X24点阵显示
最近终于有空更新了,花了几天时间,弄出个小东西,虽然有很多种实现方式在网上流传了,但我却从没有试过,乘有时间,也弄出了四种方式的显示,各位帮忙看看,哪里还有不好的地方,希不吝指教. 一.原理及仿真图 此种为从右往左显示. 此中为从左往右显示 此种为从下往上显示 此种为从上往下显示 原理图说明: 1.本实例采用微芯PIC16F877A单片机,此单片机适合初学者 2.点阵采用24X24点,左边为行线,采用U1-U3三个74LS373地址所存芯片,复用单片机RB端口. 右边为列线,采用U4-U6三个74LS373地址所存芯片,复用单片机RD端口. 3.单片机RC端口控制六片373的选通. 4
[单片机]
PIC<font color='red'>单片机</font>实例八:四种方式24X24点阵显示
基于单片机与计算机串口的温度实时监控系统设计
温度监控系统在农业、工业和生活中有着广泛的应用,但随着监控的面积扩大,监控点的增加及控制处理趋于智能化等新的应用要求出现,传统的温度控制系统已经逐渐不适用,首先是不便于观察而且不能及时地对异常温度变化做出迅速反应,其次是传统的温度控制系统不能储存大量数据,不能对监控的数据进行分析,不便于对温度情况进行长期的监测和科学的分析,为了解决以上问题,本文设计了一个能实时响应温度并进行控制的温度实时控制系统,并且采用与计算机串口通信结合的方式通过计算机增大了系统储存量,而且在计算机系统中收集和处理温度控制系统的数据,大幅度的增强了该系统的功能,并具备较强的扩展性。 随着计算机技术特别是单片机技术的发展,串口通信在诸多领域上得到了广泛的
[单片机]
基于<font color='red'>单片机</font>与计算机串口的温度实时监控系统设计
D001-开发工具-AVR Studio 环境配置和使用笔记
开发环境:AVR Studio 4.19 + avr-toolchain-installer-3.4.1.1195-win32.win32.x86 1、 编译连接类 1-1、 使用-Os级别的优化(执行所有优化,但不增加代码尺寸): 2、 编辑类 2-1、 退出工程时自动保存、工程中的文件只显示文件名: 2-2、 将1个tab输入替换成4个空格: 2-3、 设置字体格式、解决中文乱码 2016.10.16遇到一个问题: 1、将notepad++的内容复制到avr studio,发现中文乱码; 2、反过来从avr studio复制到notepad++,也是乱码。 于是将默认字体、从Courier改为新宋体
[单片机]
D001-开发工具-<font color='red'>AVR</font> Studio 环境<font color='red'>配置</font>和使用笔记
51单片机外部中断示例
void Usart_INT0_init() { TMOD = 0X21; TH1 = 0XFD; TL1 = 0XFD; SM0 = 0; SM1 = 1; REN = 1; TR1 = 1; //ES = 1;//串口中断影响外部中断0 这句话会让程序无法进入外部中断服务 TH0 = 0; TL0 = 0; ET0 = 0;//关闭定时器0 IT0 = 1;//外部中断下降沿触发*/ EX0 = 1;//打开外部中断 EA = 1; //ES = 1; } void Send_data(unsigned char dat) { SBUF = dat; while(!TI); TI =
[单片机]
基于单片机和CPLD的高精度大型望远镜伺服控制器设计
设计基于高速单片机C8051F120和CPLD的高精度大型望远镜的伺服控制器,由单片机实现闭环控制算法、上位机通信和LCD显示控制,CPLD实现增量式编码器计数、电机驱动波形发生以及I/O接口。该控制器可独立进行电机控制,也可配合上位机进行控制,具有实时性和抗干扰能力强、成本低、调试方便等特点。 引言 微电子技术和计算机的发展推动着伺服控制技术的进步,控制系统的硬件系统越来越高速化、小型化、模块化,功能也日趋强大完善;而且,伺服控制技术是朝着更开放、更加模块化的控制结构的方向发展的,要求控制器算法实现简单、控制接口灵活,针对不同的伺服控制对象时硬件系统不变,软件系统也可以完成参数的自动调整。 在高精度大型望远镜伺服控制应用
[单片机]
基于<font color='red'>单片机</font>和CPLD的高精度大型望远镜伺服控制器设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved