关注+星标公众,不错过精彩内容

来源 | TsinghuaJoking

STC单片机的程序下载使用ISP模式,下载程序通过微机上串口,或者USB转串口,与单片机上特定的下载端口相连进行下载。不需要任何第三方的下载器,调试器便可以完成单片机的开发,使用起来非常方便,但缺点是每次下载都需要人工复位才行。

本文介绍一种全自动STC下载电路,使得整个下载过程不需要人工干预,这就大大提高的程序的开发效率,使得通过下载-运行-测试 模式完成程序的开发。

STC下载模式介绍

STC单片机ISP下载程序过程具有非常确定的流程,通过以下三个步骤。

  1. PC在TXD每隔10ms发送两个相连的0xff字节;

  2. 单片机上电,并发送给相关的信息;

  3. PC重新握手后继续完成芯片的擦写和下载程序。

其中单片机上电,进行冷启动是一个必要的环节。往往在单片机设计的时候。这部分通过手动的机械开关来给单片机上电。设计的全自动下载电路就是来替代手动上电的环节。

为了避免单片机从下载串口管脚获取电能,则需要通过电阻和二极管来进行有效的隔离。

相关的下载实验参见下面的博文:

  1. STC单片机下载实验

STC下载程序界面。其中最低波特率设置为19200, 最高波特率设置为115200下载的成功率比较高。至于其它的设置为何单片机无法下载,还无法进行解释。

▲ STC-ISP(V6.87C)下载程序界面

全自动下载电路

1. 基本原理

计算机下载程序时,会在串口(或者USB转串口)的TXD管脚上出现低电平脉冲,并且在整个下载程序过程,TXD都会有低电平脉冲。设计的电路板可以通过检测该低脉冲,来产生单片机电源上电控制脉冲,使得单片机断电,然后重新上电。模拟原本手工操作的过程。

单片机供电部分,原本通过一个开关,现在是通过一个受控继电器开关完成掉电和上电过程。

2. 电路的功能描述

根据前面描述的原理,全自动下载电路包括有两部分:

  1. USB转串口电路:这部分是由PL2303(SOP-8)完成;

  2. 电源控制电路:这部分包括有两个单稳态时间定时电路和继电器电路组成;

电路功能框架如下图所示:

▲ 全自动下载电路框图

关于USB转串口部分可以参见博文“Prolific PL2303SA 调试[2]”中的内容,在这里就省略了。

电源控制电路中,可重复触发单稳态定时器是将微机串口TXD上的脉冲合并成一个大的脉冲。该脉冲再驱动后面的单稳态定时器形成一个电源开关脉冲信号,驱动继电器完成单片机的电源开关。

观察STC的下载程序的波形,可以看到在整个下载过程中,脉冲中的最大时间间隔在0.5~1秒钟,所以设计可重复触发的单稳态定时器的时间常数需要大于一秒钟。

▲ STC下载程序过程

考虑到单片机掉电过程中,电路中包括有储能电源滤波电容,需要放电,根据手工测试,掉电时间大于1秒钟基本上可以保证单片机电路可靠掉电。所以第二个单稳态定时器的时间设置为1秒钟。

使用继电器来控制单片机的电源,可以适应单片机电路工作不同的电流范围。这比使用半导体开关器件有更加可靠的控制效果。另外,这也可以将调试电路的工作电源与下载板的工作电源有效的隔离。

3. 电路原理图

(1)电路图

全自动程序下载接口板的原理图如下图所示。

▲ 全自动程序下载接口板
(2) 电路功能描述

定时器使用施密特反相器74HC14来设计。由于HC14中包括有六个相同的反相器,而在实际中只需要三个。所以为了保证工作的可靠和接近理想状态,就将HC14中六个反相器并联成三个反相器。

第一组反相器是对TXD信号进行隔离,并驱动后面的二极管+RC电路。二极管D1, 电阻R11,电容C1,C2组成了可重复触发的单稳态电路,由第二组反相器整形后,驱动后面的单稳态定时器。

第二组定时器是由电容C20,电阻R12以及D3组成,最后经过第三组反相器形成开关脉冲,通过三极管T1驱动继电器RL1完成单片机电源的断开与接入。

PL2303输出的RXD信号也通过继电器RL1另外一组开关与单片机相连,这样也可以确保在单片机断电的时候,RXD不会给单片机供电。PL2303的TXD还是通过二极管D2与单片机相连,可以在单片机掉电时不向单片机供电。

(3)辅助电路功能

除了上面主要电路功能之外,按钮BTN1可以实现手动控制继电器的开关,在必要的时候手动控制下载过程。

发光二极管LED显示可重复触发单稳态电路的状态。当它灭的时候,才能够进行下一次程序下载;当LED亮的时候,说明上一次下载过程还没有完成,此时不能够进行下载程序。

4. PCB板

绘制实验电路,其中为了适合快速单面制版,对电路元器件的布局和布线做了考虑。如果使用商业制版,可以考虑双面排布元器件,以便进一步缩小电路的面积。

▲ 全自动程序下载接口PCB板

经过快速制版和焊接,形成全自动下载电路的测试版。如下图所示:

▲ 快速制版后的测试电路板

根据原理图设计,下载板的五个引线的功能定义如下表所示:

序号 功能 符号
1 工作电源 +5V
2 单片机电源 +5VC
3 底线 GND
4 串口输入 RXD
5 串口输出 TXD

功能测试

1. 测试单片机系统

使用STM15W415AS单片机的实验板作为测试,利用面包板固定测试单片机电路板。将下载板的接口通过面包板与测试单片机板的电源、下载串口线相连。

▲ 全自动下载板与测试电路

2. 测试过程

设置STC的ISP程序,选择MCU型号,调入测试程序。设置最低波特率为19200, 最高波特率115200。

(1)测试下载程序

按动下载/编程按钮,便可以开始下载程序。此时下载板上的继电器会自动断开一秒钟,然后重新上电。ISP程序完成握手信号之后,对单片机进行擦除、编程等过程。当操作成功之后,经过大约2秒钟,下载板上的LED熄灭。之后便可以进行下一次的程序下载了。

▲ 自动下载程序
(2)测试“检测MCU选项”

按动“检测MCU选项”,可以自动完成单片机的选项测试。

小结

在单片机开发中,为了简化调试过程,可以通过迭代“下载-运行”过程完成程序的开发验证过程。使用全自动下载电路板,则可以避免在程序下载过程中的手动开关,提高程序开发的效率。

在STC-ISP程序中,包括有“当目标文件变化时自动装载并发送下载命令” 选项,利用该选项,可以在程序开发IDE完成对工程文件编译之后,自动触发ISP程序下载。此时,全自动下载板将原来手工对电源控制的过程省略,实现了程序的修改-编译-下载-观察的自动过程,提高了程序开发的效率。

下面使用touch命令来模拟修改HEX文件,可以看到可以直接触发ISP程序完成自动单片机程序下载。

▲ 使用touch命令来修改HEX文件,触发自动下载过程

本文所涉及到的电路板的AltiumDesign工程文件可以CSDN中下载。

参考资料

[1]

STC单片机下载实验: https://zhuoqing.blog.csdn.net/article/details/105448141

[2]

Prolific PL2303SA 调试: https://zhuoqing.blog.csdn.net/article/details/105442910

声明:本文素材来源网络,版权归原作者所有。如涉及作品版权问题,请与我联系删除。

------------ END ------------

后台回复『单片机』『嵌入式软件设计与开发』相关文章。

欢迎关注我的公众号回复“加群”按规则加入技术交流群,回复“1024”查看更多内容。

欢迎关注我的视频号:

点击“阅读原文”查看更多分享,欢迎点分享、收藏、点赞、在看。

自制STC单片机下载电路,再也不用人工干预了相关推荐

  1. STC单片机下载电路改进

    STC单片机厂家给出的参考电路如下图所示: 在对单片机下载程序时需要通过Power On开关加电(见实线红圈标出处) ,这种接法在系统没电的情况下经常不能成功下载,表现为没有响应.笔者对加电开关做了下 ...

  2. STC单片机下载实验

    简介 STC(宏晶)公司的单片机是基于8051内核指令集,加速后的单片机.配置有丰富的外设,编程和调试简洁明快,适应于广大消费量电子产品的设计与开发. STC在2020年通过赞助的形式支持全国大学生智 ...

  3. DIY自制STC单片机开发板

    提示:本文属于技术的交流,如有抄袭请联系删除. 文章目录 开始之前 一.单片机硬件选择以及原理图绘制 1.MCU 2.LED点阵 3.蜂鸣器 4.光强度.烟雾浓度 5.温湿度 6.超声波 7.MP3 ...

  4. 关于PL2303用于STC单片机下载的讨论

    测试的STC单片机:STC12LE5A60S2 USB转串口芯片:PL2303HX(E版或F版) 测试环境:win7为主 相信很多人用USB转串口芯片PL2303都会遇到问题,如波特率较低,不能下载之 ...

  5. [开源教程] STC单片机下载固件失败案例

    正在检测目标单片机-- 相信很多不能下载的看到这个"正在检测单片机"就头大,折腾很多天依然是这几个字,到底是哪里出问题? 案例1:下载时单片机没有重新上电 这个问题第一次下载的人都 ...

  6. 豆丁文档下载器再也不用苦于没有积分不能下载而发愁了

    本软件是一款豆丁下载的软件,现分享给大家用,免费下载下载 转载于:https://www.cnblogs.com/58top/archive/2011/07/29/2121160.html

  7. 好用到爆炸的Chrome谷歌插件下载——妈妈再也不用担心我找不到好的插件了

    今天来给大家分享几个很好用的谷歌插件,对你没看错 (没搞懂我为什么发了三次才成功...屏蔽我了吗...) 分别有: 有除广告的ADBlock 1.还有DarkReader把浏览器背景变黑的 2.还有T ...

  8. STC单片机高速下载电路改进

    01改进的思路 在2020年5月20日,收到了来自STC公司发送过来更新后的STC8H技术手册,其中对于原来连接在UART-TTL转换RS232芯片与STC8H下载端口的二极管和电阻可以去掉了. 这两 ...

  9. STC 纯硬件自动下载电路 - 三极管负脉冲电路

    或者叫它延时上升电路.利用USB - TTL 芯片的RTS# 或者DTR# 信号让单片机自动断电复位.比较完整的串口电路参见:STC 串口下载电路 - CH340G USB转串口以及漏电隔离 原理 开 ...

最新文章

  1. koa+mongoose基础入门
  2. TensorFlow之张量
  3. iOS 模仿微信的照片选择器
  4. 生成SLUTION MANAGER KEY 的ABAP程序
  5. Shell中的if语句中的
  6. python冒泡排序函数_python冒泡排序-Python,冒泡排序
  7. hadoop window 搭建
  8. Angular4+AdminLTE+Jeecg 前后端分离框架实战-张代浩-专题视频课程
  9. php软件开发--nodejs
  10. spark学习-64-源代码:schedulerBackend和taskScheduler的创建(2)-StandLone
  11. hadoop源码_HBASE源码导入IDEA并开启DEBUG调试
  12. 计算机组成原理中机器码怎么看,《计算机组成原理》汇编指令机器码对应列表...
  13. Logs Viewer
  14. python 生成testbench_(Testbench用法总结)1. Testbench中文本数据的存储读取操作对比
  15. dnsmasq, ipset和iptables配置
  16. 蓝牙模块 HC-06
  17. wpsarm64linux,64位Ubuntu 14.04 安装wps
  18. Discuz大气游戏风格模板/仿lol英雄联盟游戏DZ游戏模板GBK
  19. [教程]配置青鸟云Web服务器
  20. 生物信息学习--nr/nt 数据库(总+子)构建

热门文章

  1. 在迅影prayaya中phpcms系统图片上传功能无效
  2. 物联网典型场景之智能家电,使用JOSH技术带来的优势和机会
  3. CloudComparePCL 点云按网格划分(点云分幅)
  4. python亚马逊运营工具_使用亚马逊云服务必备的八款SaaS工具
  5. 王洪添:用互联网+大数据打造智慧政府
  6. Nokia 920硬刷win10
  7. 0910-12学习记录-OFDM细节描述
  8. 码仔和码妞用19种语言,祝大家中秋快乐
  9. eclipse theia_如何在Ubuntu 18.04上设置Eclipse Theia Cloud IDE平台
  10. 图像识别的深度残差学习