stc新型单片机的isp程序设计

stc新型单片机的isp程序设计

ID:22246433

大小:44.50 KB

页数:6页

时间:2018-10-28

stc新型单片机的isp程序设计_第1页
stc新型单片机的isp程序设计_第2页
stc新型单片机的isp程序设计_第3页
stc新型单片机的isp程序设计_第4页
stc新型单片机的isp程序设计_第5页
资源描述:

《stc新型单片机的isp程序设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、STC新型单片机的ISP程序设计随着单片机技术的不断发展,IAP(In-Application-Programming)功能的支持越来越普遍,这给应用系统程序代码升级带来了极大的方便。但是,ISP(In-System-Programming)程序的设计以及程序空间的安排等,是需要开发者认真细致考虑的。本文针对STC新型单片机的应用ISP程序设计作了详细的介绍,以STC11F62X为例,详细说明了具体实现过程,并给出了Keil-C源代码。一.STC新型单片机介绍STC11/10xx系列单片机是宏晶科技设计生产的单时

2、钟/机器周期(1T)的单片机,是高速、低功耗、超强干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。内部集成的FLASH寿命可达10万次,并且完全支持ISP和IAP功能。该系列针对不同功能、电压、封装等的型号规格非常齐全。所有的STC11/10xx系列单片机内部都固化了宏晶科技的ISP程序,不需要并行编程器,通过RS232串口就可以烧录用户程序。但一些系统为了程序保密或者采用其他诸如RS485通讯或其他通讯方式的需要,仍然需要自己编写ISP程序用于系统升级。在STC11/10xx系列单

3、片机中以IAP打头的芯片型号,用户程序和数据FLASH是统一寻址,允许在用户程序中擦写FLASH,因此可以编写自己的ISP程序。本程序例子中选用的单片机是IAP11F62X,包含内部可用的62kFLASH空间和扩展的1024字节XRAM。一.单片机内部FLASH存储器安排为了充分使用单片机内部FLASH,将FLASH划分为三部分:FLASH地址使用分区地址划分例子高地址:低地址(0000):数据存储区0xF400~0xF7FFISP监控程序区0xF000~0xF3FF用户程序区0x0000~0xEFFF用户程序区

4、从低地址0000开始,主体程序运行不受任何影响。当满足特定条件(需要进入ISP监控程序)时,跳转到ISP监控程序区运行,可对用户程序区进行擦除和改写。剩下的高地址FLASH可用作数据存储。二.ISP实现基本结构用户程序启动运行满足系统升级条件ISP监控程序运行软复位结束接受系统指令擦写接收数据,运行IAP程序对FLASH编程实现用户代码升级用户程序可以有多种方式判断是否跳转ISP监控程序:1.串口接收到特殊格式指令;2.用户板上指定的按键或跳线组合;3.由用户板操作功能选择。一.IAP程序设计IAP程序设计比较简

5、单,只需对几个特殊功能寄存器进行操作就可以完成FLASH的擦除和改写。附件二.IAP_11_10.C是IAP程序的C源代码;附件三.IAP_11_10.h是头文件说明,其中可以看到对FLASH存储器的安排:#defineFPRG_END0xEFFF/*用户程序末地址(60k)*/#defineBOOT_ADR0xF000/*在线升级监控程序地址(1k)*/#defineFDAT_ADR0xF400/*数据FLASH地址(1k数据)*/#defineFDAT_PGN2/*数据FLASH页数(1k字节2页)*/程序中

6、需要说明的几点是:开启IAP功能前,将中断允许EA暂存到位变量ea_tmp,并将中断禁止;关闭IAP功能时再将中断恢复。另外,根据硬件选择的振荡器频率,在IAP_11_10.h中设置适当的参数。二.ISP程序设计ISP程序中主要是根据串口接收到的指令,调用IAP函数进行操作。附件四.ISP_DEMO.C是ISP程序的C源代码。附件五.BOOT.A51是程序初始化代码,由于ISP程序被安排从0xF000地址开始,因此与普通程序初始化代码STARTUP.A51不同,BOOT.A51中指定了代码地址是从0xF000开始

7、,即:“CSEGAT0xF000”。生成ISP_DEMO程序需要在Keil-C中建立工程文件,除了包含ISP_DEMO.C,还应包含IAP_11_10.C及BOOT.A51。另外还需设置程序空间地址范围:在Target选项卡中,Off-chipCodememory设置Start:0xF000,Size:0x0400另外,ISP_DEMO程序中同时支持EEPROM读写。程序开始时将1k字节FLASH数据读入xdata缓冲区备用。指令操作过程中,实际都只在xdata缓冲区中操作,直到退出ISP程序前,才将数据FLAS

8、H扇区擦除并将1k字节数据全部写入。如果用户程序开启了看门狗,进入ISP监控程序后,在看门狗最长复位时间内,如果串口没有收到有效的系统复位通讯指令数据,芯片会自动复位返回用户程序区运行。这样可以防止ISP程序的误入,当然还可以修改ISP监控程序作更多的标志和判断以及程序陷阱,进一步防止ISP程序的误操作。一.用户程序设计在用户程序设计中,应该包含有判断以及跳转ISP监控程

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。