找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 9283|回复: 10
打印 上一主题 下一主题
收起左侧

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

  [复制链接]
跳转到指定楼层
楼主
STC单片机无线自动下载程序
不用冷启动就能自动下载程序的方法
      
至此之前,朋友们下载STC单片机程序时每次都要按下电源开关进行冷启动单片机下载程序。对于我们需要反反复复下载程序、调试硬件的朋友来说很不方便,特别是调试小车、其他控制类作品时很不方便。本次视频就要教会大家如何实现——STC单片机自动下载程序和无线自动下载程序。

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

1.      STC单片机datasheet中:





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

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


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.     我们下载程序的时候单片机是通过串口接收数据的



从串口数据传输来看,发送或接收串口数据时起始位是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单片机即可。




这时我们只要设定两个蓝牙模块一个位主模块、一个位从模块将它们连入电路就可以了。

设置模块为从模块的步骤和设置主模块的步骤类似,只需AT+ROLE=1改为AT+ROLE=0即可。
由于蓝牙模块默认的波特率为9600,因此,我们在下载程序时,还需设置STC-ISP的波特率,设置为9600。

如果你觉得下载速度太慢可以改为其他波特率,蓝牙模块改波特率的方法在这里就不再讲述。
       设置好蓝牙模块连号线就大功告成啦!
介绍到这里,谢谢大家。欢迎大家留言!
相关资料



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

评分

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

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏13 分享淘帖 顶1 踩
回复

使用道具 举报

沙发
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 (165.8 KB, 下载次数: 188)

jpg.1.jpg

1.jpg (242.46 KB, 下载次数: 149)

1.jpg

jpg.3.jpg (39.13 KB, 下载次数: 135)

jpg.3.jpg

jpg.4.jpg (6.19 KB, 下载次数: 136)

jpg.4.jpg

jpg.5.jpg (96.93 KB, 下载次数: 139)

jpg.5.jpg

jpg.6.jpg (862.82 KB, 下载次数: 164)

jpg.6.jpg
回复

使用道具 举报

地板
ID:688008 发表于 2022-11-11 15:00 | 只看该作者
这个确实牛B 啊,免得拖线!
回复

使用道具 举报

5#
ID:1042619 发表于 2022-11-11 15:40 | 只看该作者
nuomistudio 发表于 2022-11-11 15:00
这个确实牛B 啊,免得拖线!

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

使用道具 举报

6#
ID:688008 发表于 2022-11-22 22:21 | 只看该作者
大漠孤烟001 发表于 2022-11-11 15:40
加我Q送你一个 STC-USBLink工具感受下实际大牛的效果

不用了,我有好几个
回复

使用道具 举报

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

使用道具 举报

8#
ID:373976 发表于 2022-12-4 16:59 | 只看该作者
网上卖的貌似没有你这么多线
回复

使用道具 举报

9#
ID:1064915 发表于 2023-8-7 09:35 | 只看该作者
热启动,学习了
蓝牙以后学习
回复

使用道具 举报

10#
ID:1041279 发表于 2023-8-10 10:14 | 只看该作者
8系的直接IAP_CONTR |= 0x60;就可以了,想怎么用就怎么用,如果调试时你板上有开关也可以用开关触发
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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