STC89单片机自动(免断电)的方法.pdfVIP

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 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)

天马行空 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档