- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
STC89
SSTTCC8899 单片机自动下载(免断电)的方法
STC在传统51的基础,对其功能进行了增强,不光增加了更多的硬件资源,最大的特
色在于它的串口ISP功能,可以使用户不用专用下载线缆就可以直接进行程序下载,这也正
是其如此流行的主要原因。
下面将详细介绍STC单片机的串口ISP原理与操作方法,另外在笔者对STC单片机深
入研究的基础,对其ISP功能进行了改造,实现了免断电自动下载。
在介绍STC串口ISP前,先了解一下传统S51 的ISP功能。
传统的89S51是支持ISP(InSystemProgramming)功能的,可以使用户不用将芯片拆
下就可以通过计算机并口对其重新编程,但是需要专用的下载电缆。
以下是下载电路,有兴趣的读者可以依此仿制:
配合以相应的下载软件就可以实现在系统下载:
以下是ISP下载电路的效果图:
以并口ISP为基础,又衍生出了串口ISP,其实是用串口的握手信号来模拟ISP下载的
时序,以下是串口ISP的下载电路,笔者没有经过验证,读者可自行试制:
相应的下载软件如下:
STC的串口ISP与S51的串口ISP是有本质区别的,S51 的串口ISP只是通过串口的握
手线来模拟ISP时序,并没有用到串口的通信线,但 STC的串口ISP则是通过一个ISP监
控程序与计算机串口进行数据通信来实现的。
它的下载电路就是经典的232电路:
在STC 单片机中有两个程序区,用户程序区与 ISP程序区。单片机上电后(冷启动,
并非外部手动复位或看门狗复位),先会运行ISP程序,检测是否有合法的下载命令流,占
时几十毫秒到几百毫秒,如果没有合法的下载命令流,则立即运行用户程序。如果有合法的
下载命令流,则ISP监控程序开始与ISP下载软件通信,软件也会进入编程模式,向监控程
序发送程序码,监控程序接收程序码,并将其写入用户程序区中。在编程完毕,对程序校验
成功后,用户程序立即生效,开始运行用户程序。
ISP下载软件如下:
总之,下载的流程是这样的(前提是单片机下载电路正确):
打开STC-ISP软件--选择相应的芯片型号--打开要下载的.hex 或.bin 文件(如果文件长度
超过所选芯片的程序存储器容量,则会报错)--选择下载要用的串口 COMn 与下载波特率
(从1200bps到115200bps,波特率越高下载速度越快,但由于用户电路的不同,不一定所
有的用户电路都可以使用115200 的最高下载波特率。)--选择单片机的时钟数(STC对传
统51单片机进行改造,12 时钟与6 时钟可选,6时钟比12时钟运行速度快一倍。)--振荡
器增益(STC可以工作于较高时钟频率,从而造成功耗上升,使用1/2gain 可以通过降低振
荡器增益,实现降低功耗。)--点击下载按钮,开始下载。--硬重启单片机,引导ISP监控
程序。
(上面未提及的选项可保持默认。)
以下详细介绍了STC单片机的下载方法,但其中有一个问题可能您已经发现了,就是
每次下载时都要将单片机硬重启(因为ISP下载软件不能让单片机自动从用户程序转入ISP
监控程序),在就给实际的应用开发带来了不便,无法想像,如果要更改100次程序,就要
断电100次,单对开关器件来说就是很大的损耗。
以下是对这一问题的解决方法,此方法不需要添加任何硬件,采用软件实现,应用只需
简单嵌入到用户程序中即可。嵌入的代码非常小巧,它主要功能为:使用户程序能够接收
STC-ISP下载软件的命令流,在接收到合法的命令流后,说明STC-ISP正在等待单片机进入
ISP监控程序,如果此时单片机从用户程序转入ISP监控程序,则下载过程开始。而嵌入的
代码就是通过单片机提供的 IAP功能,让程序转入 ISP程序区,从而实现自动下载,本质
上来说,只是改变了启动ISP监控程序的方式,由手动方式变成了程序自动启动方式。
首先来分析一下STC-ISP下载软件的下载命令流,采用Ser232mon,笔者在应用开发中
经常用到该软件,用来监视串口各种动作、运行状态与数据截获。
按下下载按钮后看看它所发的下载指令到底是什么,这也是嵌入代码的重要基础。
从截获的数据来看,STC-ISP发送下载命令流的波特率为1200bps(使用如此低的波特
率应该是为了稳定)。在将串口波特率设置为1200bps后,开始不停地发送十六进制的7F。
既然知道了STC-ISP 的下载命令流,那么就可以让嵌入的代码在接
文档评论(0)