AVR单片机学习--mega48_88_168熔丝位含义简述
熔丝位简要说明
熔丝位 |
功能 |
配置说明 |
|
熔丝低位 |
CKDIV8 |
时钟8分频 |
0:时钟8分频 |
1:时钟不分频 |
|||
CKOUT |
时钟输出 |
0:系统时钟输出(PB0) |
|
1:不输出 |
|||
SUT1 |
选择启动时间 |
根据时钟源选择的不同会有不同的设置,详见下文。 |
|
SUT0 |
|||
CKSEL3 |
选择时钟源 |
1111-1000:低功率晶振 |
|
0111-0110:满振幅晶振 |
|||
CKSEL2 |
0101-0100:低频晶振 |
||
CKSEL1 |
0011:内部128K RC振荡器 |
||
CKSEL0 |
0010:校准的内部RC振荡器 |
||
0000:外部时钟 |
|||
熔丝高位 |
RSTDISBL |
外部复用禁止 |
0:PC6为普通引脚 |
1:PC6为复位引脚 |
|||
DWEN |
调试线使能 |
0:使能片上调试系统 |
|
1:部使能片上调试系统 |
|||
SPIEN |
使能串行程序和数据下载 |
0:SPI编程使能 |
|
1:SPI编程未使能 |
|||
WDTON |
看门狗时间一直启用 |
0:看门狗时间一直启用 |
|
1:看门狗时间通过软件设置 |
|||
EESAVE |
执行芯片擦除时EEPROM内容保留 |
0:芯片擦除时EEPROM不受影响 |
|
1:芯片擦除时EEPROM清除 |
|||
BODLEVEL2 |
BOD触发电平 |
111:BOD禁用 |
|
110:Min=1.7,Typ=1.8,Max=2.0 (V) |
|||
BODLEVEL1 |
101:Min=2.5,Typ=2.7,Max=2.9 (V) |
||
BODLEVEL0 |
100:Min=4.1,Typ=4.3,Max=4.5 (V) |
||
mega88/168熔丝扩展位 |
BOOTSZ1 |
选择boot区大小 |
00::1024字 |
01:512字 |
|||
BOOTSZ0 |
10:256字 |
||
00:128字 |
|||
BOOTRST |
选择复位向量 |
0:Boot区复位地址 |
|
1:0x000 |
|||
加密位 |
BLB12 |
Boot锁定位 |
11:SPM和LPM访问没有限制 |
BLB11 |
10:禁止SPM指令 |
||
BLB02 |
01:禁止LPM指令 |
||
BLB01 |
11:SPM和LPM全禁止 |
||
LB2 |
锁定位 |
11:内存锁定不使能 |
|
LB1 |
10、00:Flash和EEPROM编程禁止 |
一、熔丝低位
低熔丝位 |
位号 |
描述 |
默认值 |
CKDIV8 |
7 |
时钟8分频 |
0 |
CKOUT |
6 |
时钟输出 |
1 |
SUT1 |
5 |
选择启动时间 |
1 |
SUT0 |
4 |
0 |
|
CKSEL3 |
3 |
选择时钟源 |
0 |
CKSEL2 |
2 |
0 |
|
CKSEL1 |
1 |
1 |
|
CKSEL0 |
0 |
0 |
1、第七位CKDIV8:决定CLKPS的初始值,CKDIV8为1,CLKPS将设置为0000(分频因子1);CKDIV8为0,CLKPS将设置为0011(分频因子8)。所选的时钟源超出所允许的最大频率,一定要编程这个熔丝位。CKDIV8设置了也可以更改CLKPS,若所选时钟源超出所允许的最大频率,通过程序配置必须选择合适的分频因子。
2、第六位CKOUT:CKOUT为0,系统时钟可以从CLKO引脚输出。这个模式用于芯片时钟驱动其他系统。芯片复位状态下时钟也会输出,CKOUT为0,I/O口(PB0)的正常操作被切换为时钟输出。当CLKO作为时钟输出时,系统时钟可以为包括RC振荡器在内的所有时钟源。如果系统时钟预分频,输出的是被分频后的系统时钟频率。
3、低六位一块写,SUT1..0:选择启动时间,CKSEL3..0:选择时钟源
时钟源选择
器件时钟选择 |
CKSEL3..0 |
低功率晶振 |
1111 - 1000 |
满振幅晶振 |
0111 - 0110 |
低频晶振 |
0101 - 0100 |
内部128K RC振荡器 |
0011 |
校准的内部RC振荡器 |
0010 |
外部时钟 |
0000 |
保留 |
0001 |
- 低功率晶振工作模式 (后边好多表格,直接抄过来,没有带截图)
频率范围(MHz) |
电容C1、C2推荐范围(pF) |
CKSEL3..1 |
0.4 - 0.9 |
-- |
100 |
0.9 - 3.0 |
12 - 22 |
101 |
3.0 - 8.0 |
12 - 22 |
110 |
8.0 - 16.0 |
12 - 22 |
111 |
低频率晶振时钟选项对应的启动时间
振荡源/电源状态 |
掉电和节电模式下的启动时间 |
复位时的额外延时(VCC=5.0V) |
CKSEL0 |
SUT1..0 |
陶瓷谐振器,电源快速上升 |
258CK |
14CK + 4.1ms |
0 |
00 |
陶瓷谐振器,电源缓慢上升 |
258CK |
14CK + 65ms |
0 |
01 |
陶瓷谐振器,BOD使能 |
1KCK |
14CK |
0 |
10 |
陶瓷谐振器,电源快速上升 |
1KCK |
14CK + 4.1ms |
0 |
11 |
陶瓷谐振器,电源缓慢上升 |
1KCK |
14CK + 65ms |
1 |
00 |
石英振荡器,BOD使能 |
16KCK |
14CK |
1 |
01 |
石英振荡器,电源快速上升 |
16KCK |
14CK + 4.1ms |
1 |
10 |
石英振荡器,电源缓慢上升 |
16KCK |
14Ck + 65ms |
1 |
11 |
- 满振幅晶振工作模式
频率范围(MHz) |
电容C1、C2推荐范围(pF) |
CKSEL3..1 |
0.4 - 20 |
12 - 22 |
011 |
满振幅晶振时钟选项对应的启动时间
振荡源/电源状态 |
掉电和节电模式下的启动时间 |
复位时的额外延时(VCC=5.0V) |
CKSEL0 |
SUT1..0 |
陶瓷谐振器,电源快速上升 |
258CK |
14CK + 4.1ms |
0 |
00 |
陶瓷谐振器,电源缓慢上升 |
258CK |
14CK + 65ms |
0 |
01 |
陶瓷谐振器,BOD使能 |
1KCK |
14CK |
0 |
10 |
陶瓷谐振器,电源快速上升 |
1KCK |
14CK + 4.1ms |
0 |
11 |
陶瓷谐振器,电源缓慢上升 |
1KCK |
14CK + 65ms |
1 |
00 |
石英振荡器,BOD使能 |
16KCK |
14CK |
1 |
01 |
石英振荡器,电源快速上升 |
16KCK |
14CK + 4.1ms |
1 |
10 |
石英振荡器,电源缓慢上升 |
16KCK |
14Ck + 65ms |
1 |
11 |
- 低频晶振:可以使用外部32.768kHz表用振荡器作为低频时钟源。
低频晶振时钟选项对应的启动时间
电源状态 |
掉电和节电模式下的启动时间 |
复位时的额外延时(VCC=5.0V) |
CKSEL0 |
SUT1..0 |
BOD使能 |
1KCK |
14CK |
0 |
00 |
电源快速上升 |
1KCK |
14CK + 4.1ms |
0 |
01 |
电源缓慢上升 |
1KCK |
14CK + 65ms |
0 |
10 |
保留 |
0 |
11 |
||
BOD使能 |
32KCK |
14CK |
1 |
00 |
电源快速上升 |
32KCK |
14CK + 4.1ms |
1 |
01 |
电源缓慢上升 |
32KCK |
14CK + 65ms |
1 |
10 |
保留 |
1 |
11 |
- 校准的内部RC振荡器工作模式
频率范围(MHz) |
CKSEL3..0 |
7.3 - 8.1 |
0010 |
校准的内部RC振荡器对应的启动时间
电源状态 |
掉电和节电模式下的启动时间 |
复位时的额外延时(VCC=5.0V) |
SUT1..0 |
BOD使能 |
6CK |
14CK |
00 |
电源快速上升 |
6CK |
14CK + 4.1ms |
01 |
电源缓慢上升 |
6CK |
14CK + 65ms |
10 |
保留 |
11 |
5)128kHz内部振荡器工作模式
频率范围 |
CKSEL3..0 |
128kHz |
0011 |
128kHz内部振荡器对应的启动时间
电源状态 |
掉电和节电模式下的启动时间 |
复位时的额外延时(VCC=5.0V) |
SUT1..0 |
BOD使能 |
6CK |
14CK |
00 |
电源快速上升 |
6CK |
14CK + 4.1ms |
01 |
电源缓慢上升 |
6CK |
14CK + 65ms |
10 |
保留 |
11 |
6)石英振荡器时钟频率
频率范围 |
CKSEL3..0 |
0 - 20MHz |
0000 |
外部时钟对应的启动时间
电源状态 |
掉电和节电模式下的启动时间 |
复位时的额外延时(VCC=5.0V) |
SUT1..0 |
BOD使能 |
6CK |
14CK |
00 |
电源快速上升 |
6CK |
14CK + 4.1ms |
01 |
电源缓慢上升 |
6CK |
14CK + 65ms |
10 |
保留 |
11 |
二、熔丝高位
高熔丝位 |
位号 |
描述 |
默认值 |
RSTDISBL |
7 |
外部复位禁用 |
1 |
DWEN |
6 |
调试线使能 |
1 |
SPIEN |
5 |
使能串行程序和数据下载 |
0(SPI编程使能) |
WDTON |
4 |
看门狗时间一直启用 |
1) |
EESAVE |
3 |
执行芯片擦除时EEPROM内容保留 |
1,EEPROM内容不保留 |
BODLEVEL2 |
2 |
BOD触发电平 |
1 |
BODLEVEL1 |
1 |
1 |
|
BODLEVEL0 |
0 |
1 |
- 第七位RSTDISBL:设置PC6引脚的功能,RSTDISBL为0时,该引脚作为普通的I/O引脚,芯片内部的上电复位和欠压复位作为系统的复位源。RSTDISBL为1时,复位电路将连接到该引脚,该引脚不能作为I/O使用。
- 第六位DWEN:如果通过熔丝位DWEN使能了片上调试系统,芯片进入休眠状态时,主时钟保持运行,因此总是消耗功率。在深度休眠模式,这个功耗将会在整个功耗中占很大比重。
当debugWIRE使能DWEN熔丝位为0并且锁定位为1,目标设备中的debugWIRE系统被激活。RESET端口引脚配置为上拉使能的线与(开漏)双向I/O,成为目标与仿真器间的联系通路。
一个程序DWEN使能使一些时钟系统在所有休眠模式下都运行。这将增加器件在休眠时的功耗。所以在不使用debugWIRE时,DWEN熔丝位应该禁用(为1)。
3、第五位SPIEN:设置为0时,SPI使能。
在串行编程模式下SPIEN熔丝位不可访问。
4、第四位WDTON:如果WDTON为0,看门狗一直开启,将迫使看门狗定时器进入系统复位模式。该熔丝位为0使系统复位模式位(WDE)和中断模式位(WDIE)分别锁定为1和0。为了进一步确保程序安全性,对看门狗设置的更改必须遵循定时顺序。清除WDE和更改超时配置的顺序如下:
- 在同一个指令内对WDCE和WDE写"1“。虽然WDE总是为置位状态,也必须写"1“以启动时序。
- 在接下来的4个时钟周期中必须在同一指令内对WDCE位写”0”和为WDE和WDP写合适的数据。
看门狗定时器配置
WDTON |
WDE |
WDIE |
状态 |
超时动作 |
1 |
0 |
0 |
停止 |
无 |
1 |
0 |
1 |
中断模式 |
中断 |
1 |
1 |
0 |
系统复位模式 |
复位 |
1 |
1 |
1 |
中断和系统复位模式 |
中断,然后进入系统复位模式 |
0 |
x |
x |
系统复位模式 |
复位 |
- 第三位EESAVE:如果EESAVE 熔丝位为0,那么在芯片擦除时EEPRPOM 不受影响。
当向EEPROM写数据0xFF时可以跳过(高效编程),EESAVE熔丝位为0状态下不能跳过。
- 低三位BODLEVEL2..0:BOD触发电平
VBOT 可能低于某些器件的最小标称工作电压。对于有这种情形的器件,在产品测试时将做VCC = VBOT 的实验。这保证了在芯片工作电压VCC 降至微处理器已经无法正常工作之前,发生掉电复位。ATmega48V/88V/168V用BODLEVEL = 110与BODLEVEL = 101做检测, ATmega48/88/168用BODLEVEL = 101与BODLEVEL = 100做检测。
三、mega88/168的熔丝位扩展位
熔丝位扩展位 |
位号 |
描述 |
默认值 |
-- |
7 |
-- |
1 |
-- |
6 |
-- |
1 |
-- |
5 |
-- |
1 |
-- |
4 |
-- |
1 |
-- |
3 |
-- |
1 |
BOOTSZ1 |
2 |
选择boot区大小 |
0 |
BOOTSZ0 |
1 |
选择boot区大小 |
0 |
BOOTRST |
0 |
选择复位向量 |
1 |
- 第二位、第一位:BOOTSZ1 BOOTSZ0 选择boot区大小
BOOTSZ1 |
BOOTSZ0 |
Boot区大小 |
页数 |
应用Flash区 |
Boot Loader Flash区 |
应用区结束地址 |
Boot复位地址(Boot Loader起始地址) |
1 |
1 |
128字 |
4 |
0x000 - 0xF7F |
0xF80 - 0xFFF |
0xF7F |
0xF80 |
1 |
0 |
256字 |
8 |
0x000 - 0xEFF |
0xF00 - 0xFFF |
0xEFF |
0xF00 |
0 |
1 |
512字 |
16 |
0x000 - 0xDFF |
0xE00 - 0xFFF |
0xDFF |
0xE00 |
0 |
0 |
1024字 |
32 |
0x000 - 0xBFF |
0xC00 - 0xFFF |
0xBFF |
0xC00 |
- 第零位BOOTRST:决定复位向量
在ATmega88 与ATmega168 中,复位向量由BOOTRST 熔丝位决定,中断向量的起始地址由MCUCR 寄存器的IVSEL决定。
ATmega88复位和中断向量位置的确定
BOOTRST |
IVSEL |
复位地址 |
中断起始地址 |
1 |
0 |
0x000 |
0x001 |
1 |
1 |
0x000 |
Boot区复位地址 + 0x001 |
0 |
0 |
Boot区复位地址 |
0x001 |
0 |
1 |
Boot区复位地址 |
Boot区复位地址 + 0x001 |
四、加密位
加密位 |
位号 |
描述 |
默认值 |
-- |
7 |
-- |
1 |
-- |
6 |
-- |
1 |
BLB12 |
5 |
Boot锁定位 |
1 |
BLB11 |
4 |
Boot锁定位 |
1 |
BLB02 |
3 |
Boot锁定位 |
1 |
BLB01 |
2 |
Boot锁定位 |
1 |
LB2 |
1 |
锁定位 |
1 |
LB1 |
0 |
锁定位 |
1 |
锁定位保护模式
内存锁定位 |
保护类型 |
||
LB模式 |
LB2 |
LB1 |
|
1 |
1 |
1 |
没有内存锁定特征使能 |
2 |
1 |
0 |
在并行和串行编程模式中Flash和EEPROM的进一步编程被禁止,熔丝位被锁定。 |
3 |
0 |
0 |
在并行和串行编程模式中Flash和EEPROM的进一步编程及验证被禁止,锁定位和熔丝位被锁定。 |
ATmega88/168的锁定位保护模式
BLB0模式 |
BLB02 |
BLB01 |
|
1 |
1 |
1 |
SPM和LPM对应用区的访问没有限制 |
2 |
1 |
0 |
不允许SPM对应用区进行写操作 |
3 |
0 |
0 |
不允许SPM对应用区进行写操作,也不允许运行于boot loader区的LPM从应用区读取数据。若中断向量位于boot loader区,那么执行应用区代码时中断是禁止的。 |
4 |
0 |
1 |
不允许运行于boot loader区的LPM指令从应用区读取数据。若中断向量位于boot loader区,那么执行应用区代码时中断是禁止的。 |
BLB1模式 |
BLB12 |
BLB11 |
|
1 |
1 |
1 |
SPM和LPM对boot loader区的访问没有限制 |
2 |
1 |
0 |
不允许SPM对boot loader区进行写操作 |
3 |
0 |
0 |
不允许SPM对boot loader区进行写操作,也不允许运行于应用区的LPM指令从boot loader区读取数据。若中断向量位于应用区,那么执行boot loader区代码时中断是禁止的。 |
4 |
0 |
1 |
不允许运行于应用区的LPM 指令从boot loader区读取数据。若中断向量位于应用区,那么执行boot loader区代码时中断是禁止的。 |
AVR单片机学习--mega48_88_168熔丝位含义简述相关推荐
- 单片机学习笔记 —— 8位数码管动态扫描
我们知道,依次只能让一个数码管/led灯亮起来,但是我们可以通过高频动态扫描得到8位数码管同时亮起来,这里介绍如何实现. 一.八位数码管 1.八位数码管原理图 下图为原理图: 段选信号:P0[7-0] ...
- avr单片机流水灯程序c语言,AVR单片机学习C语言的流水灯验证
AVR 的IO口简介与寄存器的概念 一.何谓"寄存器" 寄存器就是RAM中的一些特殊单元,映射片上外设的特殊功能 二.何谓"IO口" 可以将"0&qu ...
- AVR Mega16的熔丝位用法总结
AVR Mega16的熔丝位用法总结 熔丝位: 1, 关闭功能 未编程(框内不打钩) 0, 开启功能 编程(框内打钩) Mega16的出厂默认设置为:内部RC振荡8MHZ 6CK+65 m ...
- avr单片机led数码管六位动态显示时分秒c语言程序,AVR单片机8位数码管显示的程序实现(两种方法介绍)...
描述 本文为大家介绍两个AVR单片机8位数码管显示的程序实现. AVR单片机595驱动8位数码管的显示的电路实现 主程序代码 #include > #include //GCC中的延时函数头文件 ...
- 关于AVR单片机熔丝位的设置和拯救方法大全 AVR单片机熔丝位的设置和详细的拯救方法...
熔丝位是ATMEL公司AVR单片机比较独到的特征.在每一种型号的AVR单片机内部都有一些特定含义的熔丝位,其特性表现为多次擦写的E²PROM.用户通过配置(编程)这些熔丝位,可以固定地设置AVR的一些 ...
- 关于AVR单片机熔丝位的设置和拯救方法大全 AVR单片机熔丝位的设置和详细的拯救方法
原文: 关于AVR单片机熔丝位的设置和拯救方法大全 AVR单片机熔丝位的设置和详细的拯救方法 熔丝位是ATMEL公司AVR单片机比较独到的特征.在每一种型号的AVR单片机内部都有一些特定含义的熔丝位, ...
- AVR学习笔记之熔丝位
AVR学习笔记之熔丝位 1.BOD(Brown-out Detection) 掉电检测电路 BODLEVEL(BOD电平选择): 1: 2.7V电平: 0:4.0V电平.这需要根据芯片的工作电压来选择 ...
- AVR单片机熔丝位设置
AVR单片机熔丝位设置 熔丝位可以控制avr单片机的一些功能也有保护知识产权的作用,正确配置熔丝位使单片机正常工作防止锁死,这里以atmega128单片机为例(使用软件为progisp). '0'表示 ...
- 自制AVR高压编程器,解锁熔丝位错误的avr单片机
自制AVR高压编程器,解锁熔丝位错误的avr单片机 这段时间在用atmel的系列单片机at90usb128x/64x和atmega32u4设计键盘,有一块at90的单片机由于熔丝位设置错误被锁死,导致 ...
最新文章
- 为Jupyter notebook配置R kernel过程及踩坑记录
- ffmpeg源码分析——av_register_all
- 网络部署原理加实验步骤
- 企业日常选择网站制作公司大多从这三方面着手
- C++版数据结构继承关系图
- 【深度学习】初识tensorflow之分布式训练
- java将字符串和字符串数组互相转换方法
- Maven用仓库外的jar进行编译
- Windows 11 新版 22593 发布:文件资源管理器全新主页,开始菜单图标优化
- 文档 修订 非修订区别_修订和不变性
- 操作系统【八】文件管理
- Codeforces Round #736 (Div. 2)(B-C)
- 诺禾致源css客户端,诺禾,诺禾致源:CSS 基础教学
- 作者:邹本友,男,中国人民大学信息学院博士生, CCF学生会员。
- shadow Dom(shadowRoot) 访问
- mysql 主从数据库配置_8、MySQL主从数据库配置
- 在SPSS中将统计表格外观修改为三线表外观的步骤
- 下行文格式图片_通知的格式及范文图片_通知格式 通知的格式及范文
- blender做MMD心得(一)
- vue 使用 vue-awesome-swiper(swiper)解决方法
热门文章
- 蔡康永:我完全做好了过气的准备......
- classpath环境变量配置
- Android 颜色金属效果,OPPO R3评测:金属质感出色但性价比不高(七)
- java分装_JAVA 分装 - 战狼6的个人空间 - OSCHINA - 中文开源技术交流社区
- LocalDate和LocalTime的用法介绍
- VC6不支持gotoxy()和clrscr()的替代办法
- 诺基亚安卓手机_诺基亚7.1即将升级安卓10,还有另外5款将在一月更新
- 期末项目——人力资源管理系统需求分析
- 【论文笔记】论文清单备忘录
- Rainbow Brackets使用