数码之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 1656|回复: 20

[C51] 用SP3232芯片做一个STC单片机烧录线[多图、分享源码]

[复制链接]
发表于 2025-6-23 15:47:44 | 显示全部楼层 |阅读模式

爱科技、爱创意、爱折腾、爱极致,我们都是技术控

您需要 登录 才可以下载或查看,没有账号?立即注册 微信登录

x
本帖最后由 慕名而来 于 2025-6-23 15:55 编辑

玩了太久的二手价签墨水屏,烦了,十多天不焊东西手痒、心痒、浑身不舒服,忽然想起来手里还有一个前年打好的PCB小板子没有焊件,于是有了这个制作。玩STC单片机十好几年了,从开始上手到现在也做了五六个下载线了,本坛的老站、新站也都有发帖显摆过,我真的不缺这东西,仅厂家免费送的就有:1.USB-Link 1D。2.一箭双雕之USB转双串口。3.USB转双串口@AI8H2KUV-1.1。这些多功能下载线、实验板因为有厂家固件加成工作稳定使用方便。除了这些“标准件”还有已经退役的那些网购的HC340G-TTL小板、自制的MAX232烧录线。

综上,本次DIY对于我而言就是一个打发无聊的制作,记录于此仅供消遣。而有对于这个制作感兴趣的新手朋友对这个烧录线有疑问的话可以跟帖讨论,至于用电脑原生COM口给单片机烧录代码的稳定性就毋庸置疑了,只是现在很多电脑早已经没有了这个9针接口,而有些电脑虽然没有外置接口但某些主板却仍旧保留了插针,喜欢玩的就找找吧,这个烧录线做成后我测试了手里的几种STC单片机,除AI8051U需要降低一点最高波特率以外其他都是一蹴而就成功完成。

原理很简单,一片8脚的STC15W204S单片机做监控芯片,它的INT0端口实时监控电脑COM口的DTR线信号,一旦该信号出现高电平跳变就输出控制信号操控继电器断开负载电源,并且延时一段时间后重新给负载上电,而后再等待一段时间后重新恢复监控功能,在监控芯片的等待过程中电脑完成了对目标单片机的程序下载,电路中配置了一个自锁按键开关、一个轻触按键、一个拨动开关,其中:自锁开关做5V、3.3V供电输出的转换,也正是由于这个开关的限制使得本系统输出电流不大于300mA,在此也提醒一下:如果仿制请在输出电压的正极回路添加一个500ma的自恢复保险元件,既可以保护开关更可以避免负载因意外反接引起的电流超载。轻触开关可以直接控制负载电源的通断。拨动开关常态位时系统工作在烧录工作状态,拨动开关换位后系统工作在串口通讯工作状态,此状态下每次打开串口时系统不做断电操作,其他详见下图:


Schematic_New-Project_2025-06-23.png
PCB图:
COM-TTL板图.jpg

制成品图:
15_副本.jpg

13_副本.jpg

程序的控制原理在代码中有详细注释


  1. //代码编写于2025/06/15
  2. //下载监控用单片机:STC15W204S
  3. //程序烧录时设定时钟频率11.0592MHz
  4. //控制方式为:COM1_DTR信号触发监控芯片外部中断INT0(P3.2)控制负载断电/延时通电
  5. //COM1_DTR引脚信号经二极管整流及10K+2K电阻分压得到0-2.4V的信号电平
  6. //对目标板进行二次烧录的间隔时间应大于3秒钟等待监控芯片阻塞结束
  7. //1.自锁开关可以切换5V/3V供电
  8. //2.轻触开关可以手动断电
  9. //3.拨动开关可以切换串口烧录/串口通讯,解决打开串口时自动断电的问题
  10. //----------------------------------------------------------------------------
  11. #include "STC15.h"
  12. #include <intrins.h>
  13. //========================================
  14. sbit power_reset = P5 ^ 4; //继电器驱动端
  15. sbit STC_isp = P3 ^ 3; //烧录/串口通讯控制端,浮空=烧录、下拉=串口通讯
  16. bit flag;
  17. unsigned char n;
  18. //========================================
  19. void Delay_1ms(unsigned int t)//11.0592MHz@t毫秒
  20. {
  21.   unsigned char i, j;

  22.   while(t--)
  23.   {
  24.     _nop_();
  25.     _nop_();
  26.     i = 12;
  27.     j = 168;

  28.     do
  29.     {
  30.       while(--j);
  31.     } while(--i);
  32.   }
  33. }

  34. //====外部中断INT0响应COM口DTR信号中断函数========
  35. void INT0_ser()interrupt 0
  36. {
  37.   if(INT0 == 1)
  38.   {
  39.     flag = 1;
  40.   }
  41.   else
  42.   {
  43.     flag = 0;
  44.   }
  45. }
  46. //====主函数=======================================
  47. void main()
  48. {
  49.   P5M0 = 0x10;         //P5.4推挽输出
  50.   P5M1 = 0x00;

  51.   INT0 = 1;                                //P3.2口置1
  52.   IT0 = 0;                                //配置INT0响应上升沿&下降沿中断
  53.   EX0 = 1;                                //使能INT0中断
  54.   EA = 1;

  55.   power_reset = 0; //继电器断开状态、常闭接点为目标板供电
  56.   flag = 0;

  57.   while(1)
  58.   {

  59.     if(flag && STC_isp)
  60.     {
  61.       EX0 = 0;                        //关闭外部中断
  62.       flag = 0;
  63.       power_reset = 1;                //目标板单片机断电
  64.       Delay_1ms(1500);
  65.       power_reset = 0;                //目标板单片机得电复位开始烧录
  66.       Delay_1ms(3000);                //监控芯片阻塞3秒钟等待目标板烧录完成、规避串口断开时COM1_DTR的下降沿二次触发中断
  67.       EX0 = 1;                        //重开外部中断响应下次操持
  68.     }

  69.   }
  70. }

复制代码



打赏

参与人数 2家元 +90 收起 理由
家睦 + 60
兔包公 + 30 熱心會員

查看全部打赏

发表于 2025-6-23 16:31:47 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2025-6-23 16:55:17 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2025-6-23 17:29:18 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2025-6-23 18:16:47 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2025-6-23 18:20:27 来自手机浏览器 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-6-23 20:03:21 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-6-23 20:06:42 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-6-23 20:14:55 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-6-23 20:22:28 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2025-6-24 08:29:51 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2025-6-24 10:03:02 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2025-6-24 10:29:11 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-6-24 16:05:18 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-6-24 16:19:27 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2025-6-24 16:34:04 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-6-24 18:04:05 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2025-6-24 18:30:21 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2025-6-27 11:52:09 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-6-27 14:22:49 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 1 反对 0

使用道具 举报

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

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-12-9 06:19 , Processed in 0.124800 second(s), 11 queries , Gzip On, Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

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