找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 7644|回复: 10
收起左侧

STC单片机无线自动下载程序,不用冷启动就能自动下载程序的方法

  [复制链接]
ID:10006 发表于 2021-7-5 17:08 | 显示全部楼层 |阅读模式
STC单片机无线自动下载程序
不用冷启动就能自动下载程序的方法
      
至此之前,朋友们下载STC单片机程序时每次都要按下电源开关进行冷启动单片机下载程序。对于我们需要反反复复下载程序、调试硬件的朋友来说很不方便,特别是调试小车、其他控制类作品时很不方便。本次视频就要教会大家如何实现——STC单片机自动下载程序和无线自动下载程序。

一、STC单片机自动下载程序

1.      STC单片机datasheet中:

1

1





STC单片机datasheet中可以看出:通过对ISP_CONTR寄存器送入0x60产生的软复位和冷启动复位效果是一样的。因此,这种通过热启动复位就是我们要学习的了。

2.     我们再来看ISP_CONTR寄存器:
22.JPG

ISP_CONTR寄存器



       ISP_CONTR寄存器地址是0xE7(STC89C5X系列单片机)
       本人查了很多STC单片机资料发现:
ISP软复位地址0xE7
STC89C5X系列、STC90C5X系列、STC12C205X系列、STC12C56 X系列、STC12C54 X系列
ISP软复位地址0xC7
STC12C5A60 X系列、STC15W408 X系列、STC12C52 X系列、STC15F104 X系列、STC15F104W X系列、STC15F2K6X系列

3.     我们下载程序的时候单片机是通过串口接收数据的

33.JPG

从串口数据传输来看,发送或接收串口数据时起始位是0,先拉低的电平。因此,只需在单片机串口RXD端(P3.0口)变为低电平时进行热启动复位(ISP软复位地址发送0x60),即可下载程序。
       只需在程序中加入:
sfr ISP_DOWNS=0xE7;//定义ISP软复位地址
sbit ISP_SW=P3^0;//串口数据接收口
if(!ISP_SW)ISP_DOWNS=0x60; //需要主循环中调入该函数

注意:
1.第一次下载的时候需要冷启动下载,以后每次下载就不用了。
2.因为这种方法占用了串口接收资源,所以用到串口接收功能时建议不用这种方法下载,以免接收数据时自动复位。


二、无线自动下载程序

前面已经实现了单片机程序有线的自动下载,调试小车、飞行器、其他控制类作品有线下载还是很不方便。
接下来介绍用两个蓝牙模块实现无线自动下载程序。
其实很简单,我们只需通过两个蓝牙模块将需要下载的HEX文件传到STC单片机即可。


44.JPG

这时我们只要设定两个蓝牙模块一个位主模块、一个位从模块将它们连入电路就可以了。
66.JPG
设置模块为从模块的步骤和设置主模块的步骤类似,只需AT+ROLE=1改为AT+ROLE=0即可。
由于蓝牙模块默认的波特率为9600,因此,我们在下载程序时,还需设置STC-ISP的波特率,设置为9600。
55.JPG
如果你觉得下载速度太慢可以改为其他波特率,蓝牙模块改波特率的方法在这里就不再讲述。
       设置好蓝牙模块连号线就大功告成啦!
介绍到这里,谢谢大家。欢迎大家留言!
相关资料

51hei.png

全部资料51hei下载地址:
STC单片机无线自动下载程序,不用冷启动就能自动下载程序的方法.7z (3.77 MB, 下载次数: 109)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:290796 发表于 2022-11-8 15:54 | 显示全部楼层
这个办法不错啊。
回复

使用道具 举报

ID:1042619 发表于 2022-11-10 14:03 | 显示全部楼层
STC-USB Link1D, STC最新 官方仿真烧录工具:
可以支持 STC32系列 SWD仿真, 在线下载,脱机下载,及 再扩展一组 USB-CDC 串口
可以支持 STC8 系列 串口仿真,在线下载,脱机下载,及 再扩展一组 USB-CDC 串口

STC-USB Link1D  = SWD仿真         +        USB-CDC 串口
STC-USB Link1D  = USB-CDC 串口1         +         USB-CDC 串口2
STC-USB Link1D  = U8W-Mini         +         USB-CDC 串口

     1.9 的 STC8H8K64U-45MHz-TSSOP20, 能用自带的硬件USB下载,硬件USB仿真,没有理由再外接 2以上的 CH340了,还不能仿真;原本 USB 下载的 STC MCU 系统,用 STC-USB Link1D 还可以 USB 转串口 自动停电上电下载,将 硬件 USB 下载,打回 STC-USB Link1D  支持的 USB 转串口 不停电下载;让你 USB 下载的 系统,STC8H8K64U/STC32G12K128 系统,软件 模拟 USB 下载系统,照样 通过 STC-USB Link1D 不停电下载,所有用户接口一网打尽。
jpg.1.jpg
1.jpg
jpg.3.jpg
jpg.4.jpg
jpg.5.jpg
jpg.6.jpg
回复

使用道具 举报

ID:688008 发表于 2022-11-11 15:00 | 显示全部楼层
这个确实牛B 啊,免得拖线!
回复

使用道具 举报

ID:1042619 发表于 2022-11-11 15:40 | 显示全部楼层
nuomistudio 发表于 2022-11-11 15:00
这个确实牛B 啊,免得拖线!

加我Q送你一个 STC-USBLink工具感受下实际大牛的效果%
   
回复

使用道具 举报

ID:688008 发表于 2022-11-22 22:21 | 显示全部楼层
大漠孤烟001 发表于 2022-11-11 15:40
加我Q送你一个 STC-USBLink工具感受下实际大牛的效果

不用了,我有好几个
回复

使用道具 举报

ID:25310 发表于 2022-11-23 14:34 | 显示全部楼层
这个东西对波特率有要求,蓝牙模块差的不行,我做了测试HC08 波特率稳定在2400才行。可能好点的蓝牙模块才能提高波特率。
回复

使用道具 举报

ID:373976 发表于 2022-12-4 16:59 | 显示全部楼层
网上卖的貌似没有你这么多线
回复

使用道具 举报

ID:1064915 发表于 2023-8-7 09:35 | 显示全部楼层
热启动,学习了
蓝牙以后学习
回复

使用道具 举报

ID:1041279 发表于 2023-8-10 10:14 | 显示全部楼层
8系的直接IAP_CONTR |= 0x60;就可以了,想怎么用就怎么用,如果调试时你板上有开关也可以用开关触发
回复

使用道具 举报

ID:1041279 发表于 2023-8-10 10:18 | 显示全部楼层
USB下载在调试时问题,但你要发布一个加密项目程序给客户时就没办法用了,你不能直接发程序给客户吧,不然板子一抄,要你没用了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表