8051-stc冷启动自动下载线原理及DIY

什么是自动冷启?
正常情况下,要想给STC单片机下载程序,必须在下载软件发送下载命令之后再给STC单片机上电(如果之前已经上电,就要断电再上电),这样STC单片机才能进入到下载状态,这是STC定义好的下载协议,这一冷启的动作一般是由手动去完成的。自动冷启就是自动完成冷启这一动作,从而达到自动下载的目的。
STC单片机没有上电,发下载命令有什么用,其实详细的过程是这样的:单片机每次上电都会先检测有无下载命令,下载软件发送的下载命令是一直重复发送的,这样当单片机一上电,就可以检测到下载命令,进入下载状态。单片机只有上电瞬间才会检测下载命令,检测不到就会正常去运行程序,所以单片机上电后再发送下载命令就会错过检测的瞬间。

在STC单片机中有两个程序区,用户程序区与ISP程序区。单片机上电后(冷启动,  
         并非外部手动复位或看门狗复位),先会运行ISP程序,检测是否有合法的下载命令流,占  
         时几十毫秒到几百毫秒,如果没有合法的下载命令流,则立即运行用户程序。如果有合法的  
         下载命令流,则ISP监控程序开始与ISP下载软件通信,软件也会进入编程模式,向监控程  
         序发送程序码,监控程序接收程序码,并将其写入用户程序区中。在编程完毕,对程序校验  
         成功后,用户程序立即生效,开始运行用户程序。  STC-ISP尝试与MCU握手连接的时候,是以“最低波特率”设置项中的波特率不断的从串口 
         发送“0x7F”信号,直到上电冷启(或者软复位至ISP)经几十毫秒到几百毫秒检测下载命令流后,
         才停止发送“0x7F”信号。
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
本文介绍的是带电压电流表的多功能STC冷启动自动下载器,功能如下: 由于常用的STC自动下载器没有电流检测功能,没法判断实验板的工作电流大小,怕电流过大,不方便,所以自己动手DIY个带电压电流表的下载器。主要功能有自动下载、各接口的电压、输出的工作电流、及4路电压表。4路电压表用于实验板特定点的电压监测,充分利用单片机的资源,不浪费。对于自动下载器的原理网上有,就是监测串口是否连续输出0X7F的值,有就说明要断电重启下载数据,本下载器支持1200-115200b的常用波特率,程序是采用每0.1S改变一下串口的波特率(由于采用先判断收到不是7F值就改变波特率的方法会出现有时不响应。所以改为这种方式。),然后检查是否有7F的值,如有就停止改变波特率,如连接接收到7F值,就关电0.4S再开电。 STC自动下载器制作器件清单: 这个制作电压检测最大为25V,电流最大为2A,它的受控输出接有1A的保险的,所以采控电流不能过大,它的输出接口有专门USB供电的直出口,可以利用这个接口外接USB座,可以把这东东变身成USB电压电流表。 工作界面如下,分2页显示,下图为第一页,显示有输出5V的电压值及输出的3.3V的值、输出电流值、外接输入的值、单片机的供电,如当USB电压电流表时,跳线短接USB供电,CPU的电压为USB输出电压。 PCB截图: 说明:由于上图PCB制作是没找到表贴LED的封装,用二极管的封装,所以尺寸大了,而且有一线布不过去,用跳线跳过的,如下图右上角接口那条红线,它是连接两个焊盘。电路板设计是采用表贴47U电容,实际使用中出现向外供电时,单片机出现重启的情况,加表贴电容的方法也解决不了问题,后来只加个普通的100U的电解就解决了,这个有可能是表贴电容性能有问题,所以电路板上多了2个电解电容。 以下是装上元件的图,焊工一般,能用。 接口的图,由于内部单片机及输出有多个输入源可选择,所以有跳线,分别选择USB供电,外接5V供电,外接12V转5V供电,由于板过小,三端稳压散热位小,所以如用12V转5V稳压供电时,电流不能过大,会出现过热的情况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值