第十一章 复仇、时钟和省电方式控制 本章学习目标 ◇掌握单片机的复位和时钟 ◇掌握单片机的电源检测与控制 ◇正确复位和合适时钟是单片机正常工作的基础,而 单片机的省电方式控制可以降低系统的功耗,从而 实现低功耗设计
第十一章 复位、时钟和省电方式控制 本章学习目标 掌握单片机的复位和时钟 掌握单片机的电源检测与控制 正确复位和合适时钟是单片机正常工作的基础, 而 单片机的省电方式控制可以降低系统的功耗, 从而 实现低功耗设计。 3
§11.1复位 ◇复位就是单片机的初始化工作,复位后中 央处理器(CPU)及单片机内的其他功能 部件都处在一个确定的初始状态,并从这 个状态开始工作。 ◇复位分为热启动复位和冷启动复位两种 它们的区别如表11-1所示
§11.1 复位 复位就是单片机的初始化工作,复位后中 央处理器(CPU)及单片机内的其他功能 部件都处在一个确定的初始状态,并从这 个状态开始工作。 复位分为热启动复位和冷启动复位两种, 它们的区别如表11-1所示。 4
(热启动复位)取决于复位前 表11热启动复位和冷启动复位 SWBS/IAP CONTR6的值为1还是为0 复位类 复位源 复位现象 内部看门狗复位 单片机从用戶程序区0000H处开 始执行用户程序(复位前SwRS-0 通过控制 RESET引脚产从ISP监控程序区开始执行,检测不到 生的硬复位 SP下载流后,或检测到ISP下载流并 下载完后,均会从用户应用程序区执行 热启动通过对 FIAP CONTR寄存从用户程序区000处开始直接 复位器送入20H产生的软复位执行用户程序(SwBS=0 通过对AP(ONTR寄存从系统ISP监控程序区开始执行 器送入60H产生的软复位程序如果检测不到合法的ISP下 内部低电压检测复位载命令流将软复位到用户程序 程序地址非法复位区执行用户程序(复位前SwBS=0 冷启动系统停电后再上电引起的 从系统ISP监控程序区开始执行 复位硬复位 程序,如果检测不到合法的ISP 下载命令流,将软复位到用户 AN8O专用复位电路复位程序区执行用户程序
复位类 复位源 复位现象 热启动 复位 内部看门狗复位 单片机从用户程序区0000H处开 始执行用户程序(复位前SWBS=0) 表11-1 热启动复位和冷启动复位 通过控制RESET引脚产 生的硬复位 从ISP监控程序区开始执行, 检测不到 ISP下载流后, 或检测到ISP下载流并 下载完后, 均会从用户应用程序区执行 通过对IAP_CONTR寄存 器送入20H产生的软复位 从用户程序区0000H处开始直接 执行用户程序 (SWBS=0) 通过对IAP_CONTR寄存 器送入60H产生的软复位 从系统ISP监控程序区开始执行 程序,如果检测不到合法的ISP下 载命令流, 将软复位到用户程序 区执行用户程序(复位前SWBS=0) 冷启动 复位 系统停电后再上电引起的 硬复位 从系统ISP监控程序区开始执行 程序, 如果检测不到合法的ISP 下载命令流,将软复位到用户 程序区执行用户程序 5 MAX810专用复位电路复位 内部低电压检测复位 程序地址非法复位 (热启动复位)取决于复位前 SWBS/IAP_CONTR.6 的值为1还是为0
STc152K60S2单片机有6种复位方式 ◆外部RST引脚复位 ◆软件复位 ◆内部低电压检测复位 ◆看门狗复位 掉电复位/上电复位(并可选择增加额外的复位延 时180ms,也叫MAX810专用复位电路,其实就 是在上电复位后增加一个180ms复位延时) ◆MAX810专用复位电路复位 ◆及程序地址非法复位。(第7种
STC15F2K60S2单片机有6种复位方式 外部RST引脚复位 软件复位 内部低电压检测复位 看门狗复位 掉电复位/上电复位(并可选择增加额外的复位延 时180ms,也叫MAX810专用复位电路,其实就 是在上电复位后增加一个180ms复位延时) MAX810专用复位电路复位 及程序地址非法复位。(第7种) 6
1、外部RST引脚复位 ◇外部RST引脚复位就是从外部向P54/RST引脚施加一定宽 度的复位脉冲,从而实现单片机的复位。 ◇P54/RST引脚出厂时被配置为IO口,要将其配置为复位功 能,可在使用ISP下载程序时设置。 ◇若P54/RST脚已在ISP烧录程序时被设为复位脚,那P54 /RST就是芯片复位的输入脚。 ◇将RST复位脚拉高并维持至少24个时钟加20us后,单片机会 进入复位状态;将RST复位脚拉回低电平后,单片机结束复 位状态并会将 IAP CONTR中的SWBS位置1,同时会使系统 从系统ISP监控程序区开始执行程序,检测不到合法的ISP下 载命令流后,或检测到合法的ISP下载命令流并下载完用户 程序后,均会软复位到用户应用程序区执行用户程序 硬件选项脱机下载BT程序加密后传输|ID 选择使用内部R时钟(不选为外部时钟
1、外部RST引脚复位 外部RST引脚复位就是从外部向P5.4/RST引脚施加一定宽 度的复位脉冲,从而实现单片机的复位。 P5.4/RST引脚出厂时被配置为I/O口, 要将其配置为复位功 能,可在使用ISP下载程序时设置。 若P5.4/RST脚已在ISP烧录程序时被设为复位脚, 那P5.4 /RST就是芯片复位的输入脚。 7 将RST复位脚拉高并维持至少24个时钟加20us后, 单片机会 进入复位状态; 将RST复位脚拉回低电平后, 单片机结束复 位状态并会将IAP_CONTR中的SWBS位置1, 同时会使系统 从系统ISP监控程序区开始执行程序, 检测不到合法的ISP下 载命令流后, 或检测到合法的ISP下载命令流并下载完用户 程序后, 均会软复位到用户应用程序区执行用户程序
2、软件复位 ◇在系统运行过程中,有时会根据特殊需求,需要实 现单片机系统软复位(热启动之一),传统的8051 单片机由于硬件上未支持此功能,用户必须用软件 模拟实现,实现起来较麻烦。 ◇STC15F2K60S2单片机利用 ISP/AP控制寄存器 IAP CONTR(地址为C7H,复位值为00000实 现了此功能。 ◇用户只需简单的控制 IAP CONTR的其中两位SwBS / SWRST就可以系统复位了
2、软件复位 在系统运行过程中,有时会根据特殊需求,需要实 现单片机系统软复位(热启动之一),传统的8051 单片机由于硬件上未支持此功能,用户必须用软件 模拟实现,实现起来较麻烦。 STC15F2K60S2单片机利用ISP/IAP控制寄存器 IAP_CONTR (地址为C7H, 复位值为0000 x000B)实 现了此功能。 用户只需简单的控制IAP_CONTR的其中两位SWBS /SWRST就可以系统复位了。 8
2、软件复位 ◇ISP/AP控制寄存器 IAP CONTR的各位定义如下: 位号D7D6D5D4D3|D2D1D0 名称 APEN SWBS SWRST CMD FAIL-WT2WT1WTo 1) SWRST:产生软件复位的控制位。 ◆1:产生软件系统复位,硬件自动清0 ◆0:不操作 2)SWBS:要与 SWRST配合才可以实现如下复位: ◆软件复位后选择从用户应用程序区启动(0) ◆复位后从ISP程序区启动(1)
2、软件复位 ISP/IAP控制寄存器IAP_CONTR的各位定义如下: 位号 D7 D6 D5 D4 D3 D2 D1 D0 名称 IAPEN SWBS SWRST CMD_FAIL - WT2 WT1 WT0 9 2)SWBS: 要与SWRST配合才可以实现如下复位: 软件复位后选择从用户应用程序区启动(0) 复位后从 ISP程序区启动(1) 1)SWRST:产生软件复位的控制位。 1 :产生软件系统复位,硬件自动清0 0:不操作
第3章第1节(3)数据 Flash→⑤|SPAP控制寄存器 AP CONTR ◇ ISP/IAP控制寄存器 IAP CONTR(地址:C7H,复位值 为00000各位的定义如下: 位号D7D6D5 D4 D3 D2 D1 DO 位名称 IAPEN SWBS| SWRST CMD FAIL-wT2wT1wT0 ◇ LAPEN:ISP/IAP功能允许位。 ◆0:禁止IAP读/写/擦除 Data flash/ EEPROM ◆1:允许IAP读/写/擦除 Data flash/ EEPROM ◇SWBS和 SWRST用于设置单片机的软件复位。 ◇ CMD FAIL:若送了SPAP命令,并对 IAP TRIG送 5AHA5H触发失败,则为1,需由软件清零
⑤ISP/IAP控制寄存器IAP_CONTR ISP/IAP控制寄存器IAP_CONTR(地址:C7H, 复位值 为0000 x000B)各位的定义如下: 0:47 位号 D7 D6 D5 D4 D3 D2 D1 D0 位名称 IAPEN SWBS SWRST CMD_FAIL - WT2 WT1 WT0 IAPEN: ISP/IAP功能允许位。 0:禁止IAP读/写/擦除Data Flash/EEPROM 1: 允许IAP读/写/擦除Data Flash/EEPROM SWBS和SWRST用于设置单片机的软件复位。 IAPEN SWBS SWRST 10 CMD_FAIL: 若送了ISP/IAP命令, 并对IAP_TRIG送 5AH/A5H触发失败, 则为1, 需由软件清零。 CMD_FAIL 第3章 第1节(3)数据Flash→
第3章第1节(3)数据 Flash→⑤|SPAP控制寄存器 HAP CONTR 位号D7D6D5D4D3D2DD0 位名称 JIAPEN SWBS| SWRST CMD FAIL-WT2WTWT ◇WT2~WT0设置IAP/SP时的CPU等待时间,CPU读数据 Fash的等待时间固定为2个时钟。其他等待时间见表3-4。 表3-4 IAP/ISP时的CPU等待时间 WT2WT1WTO CPU等待时间 与等待参数对应 牖程时间(5s区擦出(2lms的推荐系统时钟 5个时钟21012个时钟“kMHz 0①10个时钟42024个时钟2MHz 101165个时钟63036个时钟下3MHz 10030个时钟126072个时钟6MHz 0_11k60个时钟252144个时钟飞12MHz 010100个时钟420240个时钟E20MHz 0011320个时钟504288个时钟下24MHz 0001760个时钟672384个时钟k30MHz
⑤ISP/IAP控制寄存器IAP_CONTR WT2~WT0设置IAP/ISP时的CPU等待时间, CPU读数据 Flash的等待时间固定为2个时钟。其他等待时间见表3-4。 0:47 位号 D7 D6 D5 D4 D3 D2 D1 D0 位名称 IAPEN SWBS SWRST CMD_FAIL - WT2 WWTT11 WT0 11 表3-4 IAP/ISP时的CPU等待时间 WT2 WT1 WT0 CPU等待时间 与等待参数对应 编程时间(55us) 扇区擦出(21ms) 的推荐系统时钟 1 1 1 55个时钟 21012个时钟 ≤ 1MHz 1 1 0 110个时钟 42024个时钟 ≤ 2MHz 1 0 1 165个时钟 63036个时钟 ≤ 3MHz 1 0 0 330个时钟 126072个时钟 ≤ 6MHz 0 1 1 660个时钟 252144个时钟 ≤ 12MHz 0 1 0 1100个时钟 420240个时钟 ≤ 20MHz 0 0 1 1320个时钟 504288个时钟 ≤ 24MHz 0 0 0 1760个时钟 672384个时钟 ≤ 30MHz 第3章 第1节(3)数据Flash→
位号D7D6D5D4D3D2 2、软件复位 名称 APENSWBS| SWRSTCMD FAI-WT2W ◇下面描述中,用户应用程序区简称AP区,系统ISP监控 程序区简称ISP区。 例如,从AP区软件复位并切换到AP区开始执行程序的 IAP CONTR设置代码为: MOV IAP CONTR.#00100000B sWBS0(复位后从AP区启动 SWRST=(产生软复位) ◇从ISP区软件复位并切换到AP区开始执行程序的 IAP CONTR设置代码为: MOV IAP CONTR.#00100000B SwBS0(复位后从AP区启动 SWRST=产生软复位)
2、软件复位 下面描述中, 用户应用程序区简称AP区, 系统ISP监控 程序区简称ISP区。 例如, 从AP区软件复位并切换到AP区开始执行程序的 IAP_CONTR设置代码为: MOV IAP_CONTR, #00100000B ;SWBS=0(复位后从AP区启动),SWRST=1(产生软复位) 从ISP区软件复位并切换到AP区开始执行程序的 IAP_CONTR设置代码为: MOV IAP_CONTR, #00100000B ;SWBS=0(复位后从AP区启动),SWRST=1(产生软复位) 12 位号 D7 D6 D5 D4 D3 D2 D1 名称 IAPEN SWBS SWRST CMD_FAIL - WT2 WT1