单片机实现IAPISP程序和笔记
单片机实现IAP/ISP程序和笔记 本文档详细介绍了单片机实现IAP/ISP程序的寄存器和基本原理,并提供了调试成功的程序作为参考。IAP(In-Application Programming)是指MCU可以在系统中获取新代码并对自己重新编程,即可用程序来改变程序。在应用编程(IAP)是用户的应用代码对片内Flash存储器进行擦除/编程的方法。 单片机的ISP功能可以实现程序的在线下载,无需停止当前程序便可更改程序。这在大型装配工厂中具有非常重要的作用,可以提高效率和质量。 要实现单片机的IAP功能,首先必须对单片机的EEPROM非常了解。下面以STC单片机为例,来介绍ISP/IAP特殊功能寄存器。 IAP_DATA寄存器是ISP/IAP操作时的数据寄存器,ISP/IAP从FLASH读出数据放在此处,向FLASH写的数据也需放在此处。 IAP_ADDRH寄存器是ISP/IAP操作时的地址寄存器高八位,IAP_ADDRL寄存器是ISP/IAP操作时的地址寄存器低八位。 IAP_CMD寄存器是ISP/IAP操作时的命令模式寄存器,需命令触发寄存器触发方可生效。 IAP_TRIG寄存器是ISP/IAP操作时的命令触发寄存器。在IAPEN(IAP_CONTR.7)=1时,对IAP_TRIG先写入46,在写入b9,ISP/IAP命令才会生效。 IAP_CONTR寄存器是ISP/IAP控制寄存器,地址在0xe7单元。IAP_CONTR寄存器的各个位的功能如下所示: B7B6B5B4B3B2B1B0Reset value IAPEN:ISP/IAP功能允许位。0:禁止ISP/IAP编程改变Flash;1:允许编程改变Flash。 SWBS:软件选择从用户程序区启动(0),还是从isp程序区启动(1)。 SWRST:0:不操作;1:产生软件系统复位,硬件自动清零。 CMD_FAIL:如果送了ISP/IAP命令,并对ISP_TRIG送46/b9触发失败则为1,需由软件清零。 此外,还有设置等待时间的寄存器,CPU等待时间(多少个CPU工作时钟)WT2 WT1WT0 Read/读 Program/编程扇区擦除Recommended system clock推荐跟等待参数对应的系统时钟。 单片机的IAP/ISP功能可以实现程序的在线下载和更改,提高效率和质量,对大型装配工厂具有非常重要的作用。
剩余6页未读,继续阅读
- zigozhang2013-07-19可以使用 谢谢分享
- flystoneslwb2013-08-08看了一下,虽然不太详细,但还是有帮助。
- 粉丝: 0
- 资源: 3
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助