background image
宏晶科技:www.MCU-Memory.com   Mobile:13922805190(姚永平)   Tel:0755-82948409    Fax: 0755-82944243
宏晶科技:专业单片机 / 存储器供应商   www.MCU-Memory.com   STC12C5410AD 系列 1T 8051 单片机中文指南
39
; S T C 1 2 C 5 4 1 0 A D 系列和 S T C 1 2 C 2 0 5 2 A D 系列单片机 E E P R O M / I A P 功能测试程序演示
;/* ---  STC International Limited ---------------- */
;/* ---  宏晶科技 姚永平  设计 2006/1/6   V1.0 ----- */
;/* ---  演示 STC12C5410AD 系列 MCU EEPROM/IAP 功能 - */
;/* ---  演示 STC12C2052AD 系列 MCU EEPROM/IAP 功能 - */
;/* ---  Mobile: 13922805190 ---------------------- */
;/* ---  Fax: 0755-82944243 ----------------------- */
;/* ---  Tel: 0755-82948409 ----------------------- */
;/* ---  Web: www.mcu-memory.com ------------------ */
;本演示程序在 STC-ISP Ver 3.0A.PCB 的下载编程工具上测试通过,EEPROM 的数据在 P1 口上显示
;------------------------------------------------
;声明与 IAP/ISP/EEPROM 有关的特殊功能寄存器的地址
ISP_DATA        EQU   0E2H
ISP_ADDRH       EQU   0E3H
ISP_ADDRL       EQU   0E4H
ISP_CMD         EQU   0E5H
ISP_TRIG        EQU   0E6H
ISP_CONTR       EQU   0E7H
;定义 ISP/IAP 命令
ISP_IAP_BYTE_READ
  EQU   1H ;字节读
ISP_IAP_BYTE_PROGRAM   EQU   2H ; 字节编程, 可以将 1 写成 0 ,要将 1 变成 0 ,必须执行字节编程
ISP_IAP_SECTOR_ERASE   EQU   3H ; 扇区擦除, 可以将 0 擦成 1 ,要将 0 变成 1 ,必须擦除整个扇区
;定义 Flash  操作等待时间及允许 IAP/ISP/EEPROM 操作的常数
;ENABLE_ISP      EQU   80H     ;系统工作时钟<30MHz 时,对 ISP_CONTR 寄存器设置此值
;ENABLE_ISP      EQU   81H     ;系统工作时钟<24MHz 时,对 ISP_CONTR 寄存器设置此值
 ENABLE_ISP      EQU   82H     ;系统工作时钟<20MHz 时,对 ISP_CONTR 寄存器设置此值
;ENABLE_ISP      EQU   83H     ;系统工作时钟<12MHz 时,对 ISP_CONTR 寄存器设置此值
;ENABLE_ISP      EQU   84H     ;系统工作时钟<6MHz 时,对 ISP_CONTR 寄存器设置此值
;ENABLE_ISP      EQU   85H     ;系统工作时钟<3MHz 时,对 ISP_CONTR 寄存器设置此值
;ENABLE_ISP      EQU   86H     ;系统工作时钟<2MHz 时,对 ISP_CONTR 寄存器设置此值
;ENABLE_ISP      EQU   87H     ;系统工作时钟<1MHz 时,对 ISP_CONTR 寄存器设置此值
DEBUG_DATA       EQU   5AH ;是本测试程序选定的 EEPROM 单元的数值如正确应等于的数值
;------------------------
;选择 MCU 型号
;DATA_FLASH_START_ADDRESS EQU 1000H ;STC12C2052AD 系列单片机的 EEPROM 测试起始地址
DATA_FLASH_START_ADDRESS EQU 2800H  ;STC12C5410AD 系列单片机的 EEPROM 测试起始地址
;------------------------------------------------
    ORG   0000H
    LJMP  MAIN
;------------------------------------------------
    ORG   0100H
MAIN:
    MOV     P1,#0F0H      ;演示程序开始工作,让 P1.0/P1.1/P1.2/P1.3 控制的灯亮
    LCALL  Delay
;延时
    MOV     P1,#0FH
     ;演示程序开始工作,让 P1.7/P1.6/P1.5/P1.4 控制的灯亮