![单片机原理及应用系统设计](https://wfqqreader-1252317822.image.myqcloud.com/cover/759/41309759/b_41309759.jpg)
上QQ阅读APP看书,第一时间看更新
2.8.4 软件复位
STC单片机ISP/IAP控制寄存器(ISP_CONTR)在特殊的功能寄存器中的地址为E7H,该寄存器用来管理和ISP/IAP相关功能的设定以及是否实现软件复位等。单片机复位时,该寄存器全部清0。
ISP_CONTR寄存器的格式如图2-14所示。
![](https://epubservercos.yuewen.com/0DCF85/21511155608174006/epubprivate/OEBPS/Images/43_03.jpg?sign=1738849906-mfgQXOcIhGmBWoGf9S4raLfGS3ImmhgT-0-5bd61dcd6713acee4b2862b94b307f47)
图2-14 ISP_CONTR寄存器格式
ISPEN:ISP/IAP功能允许位。“0”禁止对FLASH、EEPROM进行读/写/擦除;“1”允许对FLASH、EEPROM进行读/写/擦除。
SWBS:软件选择从用户程序区启动,还是从ISP程序区启动。这要与SWRST直接配合才可以确定:当SWRST=1时,SWBS=1选择从ISP程序区启动,SWBS=0选择从用户程序区启动;当SWRST=0时,SWBS选择无效。
SWRST:“1”产生软件复位,复位后硬件自动清0;“0”不操作。
WT2、WT1、WT0:ISP/IAP编程时间设定(CPU等待的最长时间),见表2-8。ISP/IAP编程时间可对FLASH进行读/写/擦除操作,当进行这些操作时,不同的操作将会耗费不同的时间,如在设定时间内没有完成操作,数据将丢失或错误。
表2-8 ISP/IAP编程时间设置
![](https://epubservercos.yuewen.com/0DCF85/21511155608174006/epubprivate/OEBPS/Images/44_01.jpg?sign=1738849906-qXh0Lzd2bPs6RXxvuLAHvSYL3uV0m17K-0-5350d5b48f3052e031a30e07460d4de0)
ISP监控程序区是指芯片出厂时就已经固化在芯片内部的一段程序,STC单片机之所以可以进行ISP串行下载程序,就是因为芯片在出厂时厂商已经在单片机内部固化了ISP引导码,程序首次上电会先从ISP区开始执行代码,体现在实际实验中时,就是在下载程序时,先要单击下载界面的“下载”,然后再开启单片机的电源,单片机检测到有下载程序的需要时,便启动ISP下载功能给单片机下载程序。若经过短暂时间没有检测到上位机有下载程序的需要时,便会从ISP区开始执行程序。