热度 20
2012-9-3 23:37
3417 次阅读|
0 个评论
使用过STC单片机的人都知道,下载程序时,每次都要对目标板断电、再上电,原因是:STC下载的系统环境由3个部分组成,即电脑PC、串口线、单片机。串口线一般都由USB线代替,USB起的作用就是把USB转换成串口,而且可以向单片机输出5V电源。下载时,需要先在PC上运行STC-ISP软件,此软件通过串口向STC单片机不断发送通讯同步头,等待单片机响应。而单片机只有在冷启动(断电状态时上电)时才会查询串口有无来自PC的同步头,如果有,就进入片内监控程序的执行,这是一段下载处理代码,接收来自PC的STC-ISP软件的目标程序代码,并写入单片机的FLASH中,从而完成程序下载的功能。对于单片机复位,是不会执行监控程序的,所以只有冷启动才能下载。 由此不难看出,每次下载都要冷启动,非常繁琐。有没有办法避免手动断电、再上电的过程,从而实现STC单片机程序自动下载?一个思路是,在单片机目标板上,专门设计一个电路,通过串口侦测是否有来自STC-ISP软件的同步头,如果有,则通过继电器或开关电路断开目标板上单片机电源、然后再接通电源,相当于模拟了手动断电、上电过程,从而达到了自动下载的目的。 海东青电子的51学习板《HDQ-51E》不仅实现了免重启、自动下载,而且可以跟KEIL开发环境无缝对接,通过合理设置一些选项,能实现C语言源程序的编写、编译、下载一键完成,非常方便。配置方法如下: 一、STC-ISP软件配置见下图,注意红色框中的2个选项全部勾选。 二、“打开程序文件”一项,选择KEIL中用户程序生成的hex文件所在目录位置。例如,用户源代码位于D:\C51\MyTest\目录下,生成的目标文件为Test.hex,则在STC-ISP软件中打开程序文件:D:\C51\MyTest\Test.hex。 三、在KEIL中,按通常操作编写源代码、编译连接生成hex文件,此时,STC会自动执行下载,《HDQ-51E》目标板会自动冷启动,新的hex文件目标代码即自动被下载到目标板上。 实际操作过程见视频: http://v.youku.com/v_show/id_XNDQ2MzUxMDAw.html 。 当需要经常下载、调试程序时,《HDQ-51E》51学习板的全自动下载功能将非常方便,能大大节约下载时间。如果需要量产STC芯片,可以选择海东青电子的《STC自动下载器》,视频见: http://v.youku.com/v_show/id_XMzkwMzQyMzIw.html 。 《HDQ-51E》51学习板: http://item.taobao.com/item.htm?spm=a1z10.1.11.5id=15769166730 。 《STC自动下载器》: http://item.taobao.com/item.htm?spm=a1z10.1.11.8id=15328983822 。 (本文最初发表于ENDCHINA,转载请注明出处,谢谢!)