0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

解析单片机ISP自动下载程序电路设计原理

GReq_mcu168 来源:程序员大本营 作者:程序员大本营 2021-04-06 16:43 次阅读

STM32 单片机有Boot启动方式,在用UART串口下载程序时,需要手动设置Boot的启动方式,可能有点麻烦,通过设计电路可以实现自动ISP下载。下面和大家分享一下设计原理。STM32支持仿真器和串口下载程序。将要介绍的内容,属于串口下载,即我们通常说的ISP下载。

手动ISP下载程序,我们已经知道了,控制BOOT0引脚实现。STM32上电,会自动检测BOOT0引脚是什么电平,如果是高电平,等待用户下载程序;如果是低电平,运行用户之前下载到单片机的程序。所以我们需要把BOOT0引脚引出,然后控制其接地或接VCC来下载程序或者运行程序。在调试过程中,我们需要不断的控制BOOT0,非常麻烦。那么,自动ISP就该出场了。

自动ISP,把BOOT0与地直接连接,那么每次上电就会运行程序,而且只要点击电脑上的“下载”按钮,就开始下载程序,下载完程序,就开始执行。实现此目的,需要借助串口握手信号DTR和RTS。下面是深圳鹏远电通科技有限公司研发的免费ISP下载软件,请看红色的框里面的部分。

a62fdf92-9404-11eb-8b86-12bb97331649.jpg

DTR连接RESET(复位引脚),控制复位,RTS连接BOOT0,用来控制程序运行或者等待下载。下面说明如何用USB转TTL芯片实现STM32自动ISP。CH340芯片如下图所示:

a638da70-9404-11eb-8b86-12bb97331649.png

CH340芯片,DTR和RTS引脚在一般情况下是高电平,低电平有效。因为STM32的RESET引脚,也是一般情况下是高电平,低电平复位,所以DTR可以与RESET直接连接。但是BOOT0是高电平下载程序,低电平运行程序,正好与RTS相反,所以我们需要把它反相,加一个NPN三极管即可。电路如下图所示:

a6540af2-9404-11eb-8b86-12bb97331649.jpg

ISP软件的选择:

a65fa4de-9404-11eb-8b86-12bb97331649.png

看了上图的选择,有些人一定会产生疑虑。按道理应该是低电平复位,然后低电平进入BOOTLoader呀。但是,有一点需要注意,它这里讲的高低电平,是针对电脑原始的9针串口的,也就是“232电平”,我们用的USB转TTL芯片是“TTL电平”,正好相反。下载过程和结果如下图所示:

a6673afa-9404-11eb-8b86-12bb97331649.jpg

注意:CH340在刚上电,稳定需要几秒钟时间,在此期间,DTR引脚会有两次或者三次的变低情况,这样会引起单片机上电后复位两三次,稳定后不会影响程序运行。如果不想让单片机上电复位好几次,上电的时候把DTR与RESET断开即可。

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    458

    文章

    51419

    浏览量

    428716
  • ISP
    ISP
    +关注

    关注

    6

    文章

    480

    浏览量

    52114
  • 单机片
    +关注

    关注

    0

    文章

    51

    浏览量

    11819

原文标题:单片机ISP自动下载程序电路设计原理

文章出处:【微信号:mcu168,微信公众号:硬件攻城狮】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    相关推荐

    单片机怎么写入程序

    程序通常涉及以下几个步骤: 选择单片机和开发环境 : 确定项目需求,选择合适的单片机型号。 安装相应的开发环境,如Keil、IAR、MPLAB等。 硬件连接 : 将单片机连接到开发板或
    的头像 发表于 10-21 11:21 1061次阅读

    32位单片机电路设计技巧分享!

    。在这种情况下,使用32位单片机比在电路中使用几个逻辑IC更经济。 3.当程序的代码大小对于8位单片机而言太大时。32位单片机内置了更大的
    发表于 09-25 11:21

    单片机烧录程序的基本步骤是什么

    单片机烧录程序单片机开发过程中非常重要的一步,它涉及到将编写好的程序代码通过一定的方式传输到单片机内部的存储器中,使
    的头像 发表于 09-02 09:47 1617次阅读

    PY32F002B单片机 ISP 串口下载注意事项

    PY32F002B 没有 BOOT,需要用 ISP 串口下载的话需要下载串口引导程序下载这个目录下的 IAP
    的头像 发表于 07-16 17:07 1519次阅读
    PY32F002B<b class='flag-5'>单片机</b> <b class='flag-5'>ISP</b> 串口<b class='flag-5'>下载</b>注意事项

    基于51单片机两路红黄绿交通灯电路图及程序

    :      单片机爱好者、电子类专业学生、电子diy爱好者。本资源能学到什么:         可以通过查看电路学习电路设计原理,查看代码学习代码编写原理,通过电路图打样制作并烧录
    发表于 06-24 17:32 2次下载

    基于51单片机四路红黄绿交通灯电路图及程序

    :      单片机爱好者、电子类专业学生、电子diy爱好者。本资源能学到什么:         可以通过查看电路学习电路设计原理,查看代码学习代码编写原理,通过电路图打样制作并烧录
    发表于 06-24 17:31 2次下载

    基于51单片机采集DS18B20多点温度电路图及程序元件清单

    本资源内容概要:       这是基于51单片机采集DS18B20多点温度电路图及程序设计包含了电路图源文件(Altiumdesigner软件打开)、C语言
    发表于 06-24 17:30 0次下载

    基于51单片机16x16点阵显示电路图及程序元件清单

    本资源内容概要:       这是基于51单片机16x16点阵显示电路图及程序设计包含了电路图源文件(Altiumdesigner软件打开)、C语言
    发表于 06-21 14:34 4次下载

    基于51单片机分立器件超声波测距电路图及程序元件清单

    本资源内容概要:       这是基于51单片机分立器件超声波测距电路图及程序设计包含了电路图源文件(Altiumdesigner软件打开)、C语言
    发表于 06-20 16:17 0次下载

    基于51单片机8路抢答器电路图proteus仿真及程序

    本资源内容概要:       这是基于51单片机8路抢答器电路图proteus仿真及程序设计包含了电路图源文件(Altiumdesigner软件打开)、C语言
    发表于 06-19 14:15 1次下载

    基于51单片机SHT11温湿度检测proteus仿真及电路程序

    本资源内容概要:       这是基于51单片机SHT11温湿度检测proteus仿真及电路程序设计包含了电路图源文件(Altiumdesigner软件打开)、C语言
    发表于 06-19 11:45 0次下载

    基于51单片机16路抢答器电路图及程序元件清单

    本资源内容概要:       这是基于51单片机16路抢答器电路图及程序设计包含了电路图源文件(Altiumdesigner软件打开)、C语言程序
    发表于 06-19 11:38 2次下载

    基于51单片机数码管数字钟电路图及程序

    :      单片机爱好者、电子类专业学生、电子diy爱好者。本资源能学到什么:         可以通过查看电路学习电路设计原理,查看代码学习代码编写原理,通过电路图打样制作并烧录
    发表于 06-18 10:14 0次下载

    基于51单片机ADC0832双路电压0-5v检测电路图及程序

    本资源内容概要:       这是基于51单片机ADC0832双路电压0-5v检测电路图及程序设计包含了电路图源文件(Altiumdesigner软件打开)、C语言
    发表于 06-18 10:13 3次下载

    基于51单片机0-10V电压表电路图及程序

    :      单片机爱好者、电子类专业学生、电子diy爱好者。本资源能学到什么:         可以通过查看电路学习电路设计原理,查看代码学习代码编写原理,通过电路图打样制作并烧录
    发表于 06-17 14:24 2次下载