background image
宏晶科技:www.MCU-Memory.com   Mobile:13922805190(姚永平)   Tel:0755-82948409    Fax: 0755-82944243
宏晶科技:专业单片机 / 存储器供应商   www.MCU-Memory.com   STC12C5410AD 系列 1T 8051 单片机中文指南
34
STC12C5410AD 系列 1T 8051 单片机 ISP/IAP 特殊功能寄存器    ISP/IAP SFRs
    STC12C5410AD 系列 1T 8051 单片机 IAP 应用
ISP_DATA:
I S P / I A P 操作时的数据寄存器。
ISP/IAP 从 Flash 读出的数据放在此处,向 Flash 写的数据也需放在此处
ISP_ADDRH: ISP/IAP 操作时的地址寄存器高八位。
ISP_ADDRL: I S P / I A P 操作时的地址寄存器低八位。
ISP_CMD:
ISP/IAP 操作时的命令模式寄存器,须命令触发寄存器触发方可生效。
B 7
B 6
B 5
B 4
B 3
B 2
B 1
B 0
命 令  /     操 作     模 式 选 择
                  保 留
  命 令
 -
 -
 -
 -
 -
 -
 0
 0
S t a n d b y         待 机 模 式 , 无 I S P 操 作
 -
 -
 -
 -
 -
 -
 0
 1
从 用 户 的 应 用 程 序 区 对  " D a t a   F l a s h / E E P R O M 区 "
进 行 字 节 读
 -
 -
 -
 -
 -
 -
 1
 0
从 用 户 的 应 用 程 序 区 对  " D a t a   F l a s h / E E P R O M 区 "
进 行 字 节 编 程
 -
 -
 -
 -
 -
 -
 1
 1
从 用 户 的 应 用 程 序 区 对  " D a t a   F l a s h / E E P R O M 区 "
进 行 扇 区 擦 除
程序在用户应用程序区时,仅可以对数据 F l a s h 区( E E P R O M ) 进行字节读 / 字节编程 / 扇区擦除
STC12C5412AD/STC12LE5412AD 除外。STC12C5410AD 系列单片机
出厂时就已完全加密
ISP_TRIG:
I S P / I A P 操作时的命令触发寄存器。
                在 ISPEN(ISP_CONTR.7) = 1 时,对 ISP_TRIG 先写入 46h,再写入 B9h,
ISP/IAP 命令才会生效。
 STC12C5410AD 系列 1T 8051 单片机
内部 EEPROM 的应用
                  -- 
利用 IAP 技术可实现 EEPROM,内部 Flash 擦写次数为 100,000 次以上
Mnemonic
Add
Name
 7
 6
 5
 4
 3  2
 1
 0
Reset Value
ISP_DATA
E2h ISP/IAP  Flash  Data  Register
1111,1111
ISP_ADDRH E3h ISP/IAP  Flash  Address  High
0000,0000
ISP_ADDRL E4h ISP/IAP  Flash  Address  Low
0000,0000
ISP_CMD
E5h ISP/IAP  Flash  Command  Register  -
 -
 -
 -
 -  -
MS1 MS0 xxxx,xx00
ISP_TRIG
E6h ISP/IAP  Flash  Command  Trigger
xxxx,xxxx
ISP_CONTR E7h ISP/IAP  Control  Register
ISPEN SWBS SWRST  CMD_FAIL  1 WT2 WT1 WT0 0000,1000
ISP_CONTR: ISP/IAP 控制寄存器,地址在 0E7H 单元
  B 7
  B 6
  B 5
  B 4
  B 3
  B 2
  B 1
  B 0
R e s e t   V a l u e
I S P E N
S W B S
S W R S T
    C M D _ F A I L
 1
  W T 2
  W T 1
  W T 0
0 0 0 0 , 1 0 0 0
ISPEN:
ISP/IAP  功能允许位。0:禁止 ISP/IAP 编程改变 Flash,1:允许编程改变 Flash
SWBS:     软件选择从用户主程序区启动(0 ),还是从 I S P 程序区启动(1 )。
SWRST:
0: 不操作;1:  产生软件系统复位,硬件自动清零。
CMD_FAIL: 如果送了 ISP/IAP 命令,并对 ISP_TRIG 送 46h/B9h 触发失败,则为 1,需由
           软件清零。
;在用户应用程序区(AP 区)软件复位并从用户应用程序区(AP 区)开始执行程序
MOV
ISP_CONTR, #00100000B ;SWBS = 0(选择 AP 区), SWRST = 1(软复位)
;在用户应用程序区(AP 区)软件复位并从系统 ISP 监控程序区开始执行程序
MOV
ISP_CONTR, #01100000B ;SWBS = 1(选择 ISP 区), SWRST = 1(软复位)
;在系统 ISP 监控程序区软件复位并从用户应用程序区(AP 区)开始执行程序
MOV
ISP_CONTR, #00100000B ;SWBS = 0(选择 AP 区), SWRST = 1(软复位)
;在系统 ISP 监控程序区软件复位并从系统 ISP 监控程序区开始执行程序
MOV
ISP_CONTR, #01100000B ;SWBS = 1(选择 ISP 区), SWRST = 1(软复位)