background image
宏晶科技:www.MCU-Memory.com   Mobile:13922805190(姚永平)   Tel:0755-82948409    Fax: 0755-82944243
宏晶科技:专业单片机 / 存储器供应商   www.MCU-Memory.com   STC12C5410AD 系列 1T 8051 单片机中文指南
38
; 扇区擦除,没有字节擦除,只有扇区擦除,5 1 2 字节 / 扇区, 每个扇区用得越少越方便
; 如果要对某个扇区进行擦除,而其中有些字节的内容需要保留,则需将其先读到单片机
; 内部的 R A M 中保存,再将该扇区擦除,然后将须保留的数据写回该扇区,所以每个扇区
; 中用的字节数越少越好,操作起来越灵活越快.
MOV
ISP_ADDRH, #SECTOR_FIRST_BYTE_ADDR_HIGH ;送扇区起始地址高字节
MOV
ISP_ADDRL, #SECTOR_FIRST_BYTE_ADDR_LOW  ;送扇区起始地址低字节
MOV
ISP_CONTR, #WAIT_TIME ;设置等待时间
ORL
ISP_CONTR, #10000000B ;允许 ISP/IAP
MOV
ISP_CMD,
#ISP_IAP_SECTOR_ERASE;送扇区擦除命令,命令不需改变时,不需重新送命令
     MOV
ISP_TRIG,
#46h
;先送 46h,再送 B9h 到 ISP/IAP 触发寄存器,每次都需如此
     MOV
ISP_TRIG,
#0B9h           ;送完 B9h 后,ISP/IAP 命令立即被触发起动
; C P U 等待 I A P 动作完成后,才会继续执行程序.
     NOP
; 扇区擦除成功后,C P U 继续执行程序
;以下语句可不用, 只是出于安全考虑而已
MOV
ISP_CONTR, #00000000B      ;禁止 ISP/IAP 操作
MOV
ISP_CMD,
#00000000B      ;去除 ISP/IAP 命令
;MOV ISP_TRIG, #00000000B      ;防止 ISP/IAP 命令误触发
;MOV ISP_ADDRH, #0
;送地址高字节单元为 00,指向非 EEPROM 区
;MOV ISP_ADDRL, #0
;送地址低字节单元为 00,防止误操作
地址需要改变时
才需重新送地址
此两句可以合成一句, 并且只送一次就够了