找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4214|回复: 24
收起左侧

自己画51单片机的板焊好了,ch340能检测到但烧不了程序的问题

[复制链接]
ID:960244 发表于 2021-9-24 20:08 | 显示全部楼层 |阅读模式
参考别人的原理图自己尝试画了板做出来焊好了但是烧不进程序。
usb线插上去之后ch340芯片能检测到,但是程序烧不进去。
工程链接发出来不知道有没有大佬帮忙看看问题。如果原理图和PCB理论上是没问题的话就很大可能是焊接的问题了。
STC89C52RC+CH340C
自己实在是看不出问题来了

回复

使用道具 举报

ID:624769 发表于 2021-9-24 21:23 | 显示全部楼层
1) 先用串口助手 验证自发自收能不能成功,排除CH340 问题。
2) 再用ISP下载软件,检测单片机芯片,是否成功,判断电路问题。

然后再来考虑为何不能下载。
回复

使用道具 举报

ID:960244 发表于 2021-9-24 21:55 | 显示全部楼层
188610329 发表于 2021-9-24 21:23
1) 先用串口助手 验证自发自收能不能成功,排除CH340 问题。
2) 再用ISP下载软件,检测单片机芯片,是否 ...

1)验证自发自收的方法?我需要怎么做?
2)没做第一步的排除,目前是检测不到单片机芯片的。


第一步可以用短接板子上的RXD和TXD引脚来实现自发自收来验证CH340芯片的好坏吗?
回复

使用道具 举报

ID:624769 发表于 2021-9-24 22:08 | 显示全部楼层
Srs_K 发表于 2021-9-24 21:55
1)验证自发自收的方法?我需要怎么做?
2)没做第一步的排除,目前是检测不到单片机芯片的。

1) 短接 TX RX  对应你STC单片机的 3.0  3.1 引脚   你应该有接 引出 排针的吧? 插个跳线帽就可以了
2)第一步排除后 再考虑这个
回复

使用道具 举报

ID:960244 发表于 2021-9-24 22:11 | 显示全部楼层
188610329 发表于 2021-9-24 22:08
1) 短接 TX RX  对应你STC单片机的 3.0  3.1 引脚   你应该有接 引出 排针的吧? 插个跳线帽就可以了
2 ...

感谢回答!我先试试你说的方法。
回复

使用道具 举报

ID:88256 发表于 2021-9-24 22:23 | 显示全部楼层
350°的温度,只要时间不长,是焊不坏的;
电路图粗看没有问题,但细一琢磨,就感觉不对劲了,你这个电路不带自动下载的,也就是说下载必须断开开关一下吧?可是你的CH340C的供电可是和单片机直接并联的,也就是说连带着CH340C也断电了,这又怎么能下载得了?这点我做第一块板时就考虑到了,CH340C接在开关之前,但我偏偏忘了串口交叉,这点又比你糊涂了
回复

使用道具 举报

ID:624769 发表于 2021-9-24 22:33 | 显示全部楼层
hhdsdy 发表于 2021-9-24 22:23
350°的温度,只要时间不长,是焊不坏的;
电路图粗看没有问题,但细一琢磨,就感觉不对劲了,你这个电路 ...

他CH340接的VCC 单片机接的SW2  所以,他单片机是可以独立断电的。
回复

使用道具 举报

ID:88256 发表于 2021-9-24 22:34 | 显示全部楼层
PCB布线,排阻用那么小体积的,供电却又用标准USB插座,这个反差也太大了吧,为什么不考虑用Micro插座或者Type-C插座,随便充电线或者充电宝就可以供电,尺寸还小,我老眼昏花,焊0603封装的都很吃力,却也是焊得了这类插座,只要烙铁头和焊锡丝好用就行。
回复

使用道具 举报

ID:960244 发表于 2021-9-24 22:37 | 显示全部楼层
hhdsdy 发表于 2021-9-24 22:23
350°的温度,只要时间不长,是焊不坏的;
电路图粗看没有问题,但细一琢磨,就感觉不对劲了,你这个电路 ...

感谢回答!你说的这个我也排查过这个情况,具体是用usb转ttl工具连rxd和txd,然后通过5v排针引脚供电,下载时断开重新上电(此期间usb转ttl工具是不断电的,这样应该就没ch340什么事了)。但就算是这样也行不通。
回复

使用道具 举报

ID:88256 发表于 2021-9-24 22:38 | 显示全部楼层
188610329 发表于 2021-9-24 22:33
他CH340接的VCC 单片机接的SW2  所以,他单片机是可以独立断电的。

看他链接的工程,是直接并联的,开关之前没接任何元件(当然USB不算) 51hei图片20210924223532.png

回复

使用道具 举报

ID:960244 发表于 2021-9-24 22:39 | 显示全部楼层
188610329 发表于 2021-9-24 22:33
他CH340接的VCC 单片机接的SW2  所以,他单片机是可以独立断电的。

不行的,ch340和单片机的电源是连在一起的,这个确实是设计上存在的缺陷
回复

使用道具 举报

ID:88256 发表于 2021-9-24 22:45 | 显示全部楼层
Srs_K 发表于 2021-9-24 22:37
感谢回答!你说的这个我也排查过这个情况,具体是用usb转ttl工具连rxd和txd,然后通过5v排针引脚供电,下 ...

也就是说板上的CH340C也有供电串口线也并联着?不知道这样会不会互相影响?你当初设计时就应该按推荐的RXD、TXD输出各串一个300欧的电阻,这样可以拆掉电阻试一下更准确。
回复

使用道具 举报

ID:624769 发表于 2021-9-24 22:48 | 显示全部楼层
hhdsdy 发表于 2021-9-24 22:38
看他链接的工程,是直接并联的,开关之前没接任何元件(当然USB不算)

看来是我搞错了, 我以为他是 USB VCC到 5   通过开关 短接到 6 然后给单片机供电。 原来不是这个意思。
回复

使用道具 举报

ID:16255 发表于 2021-9-24 22:50 | 显示全部楼层
路过一下……

回复

使用道具 举报

ID:88256 发表于 2021-9-24 22:55 | 显示全部楼层
Srs_K 发表于 2021-9-24 22:39
不行的,ch340和单片机的电源是连在一起的,这个确实是设计上存在的缺陷

你这块板也还可以补救的,割断CH340C的16脚引线,16脚直接跳线到USB插座上
回复

使用道具 举报

ID:624769 发表于 2021-9-24 22:59 | 显示全部楼层
hhdsdy 发表于 2021-9-24 22:55
你这块板也还可以补救的,割断CH340C的16脚引线,16脚直接跳线到USB插座上

割的时候,注意电容,要在靠近右边排阻的地方割, 不要在 引脚边上直接下手。
回复

使用道具 举报

ID:624769 发表于 2021-9-24 23:14 | 显示全部楼层
想起一件事,你可以做个试验,反正也不亏。
先断开SW2, 然后你按住 SW1 开关不要松手,然后开SW2, 等到电脑识别出了, CH340之后, 在ISP上点击检测MCU, 然后,再松开 SW1 , 看看能不能成功, 印象当中,89系列,是可以通过这个方法,延迟冷启动的。
回复

使用道具 举报

ID:960244 发表于 2021-9-24 23:15 | 显示全部楼层
hhdsdy 发表于 2021-9-24 22:45
也就是说板上的CH340C也有供电串口线也并联着?不知道这样会不会互相影响?你当初设计时就应该按推荐的RX ...

对,CH340C有供电并且串口线也并联着。我一直以为串口之间不用接电阻的。完全没有模电的知识,参考的图也没有画电阻,所以就没接。
回复

使用道具 举报

ID:960244 发表于 2021-9-24 23:16 | 显示全部楼层
188610329 发表于 2021-9-24 23:14
想起一件事,你可以做个试验,反正也不亏。
先断开SW2, 然后你按住 SW1 开关不要松手,然后开SW2, 等到电 ...

好的,我明天试试。非常感谢耐心解答!
回复

使用道具 举报

ID:960244 发表于 2021-9-25 09:53 | 显示全部楼层
188610329 发表于 2021-9-24 23:14
想起一件事,你可以做个试验,反正也不亏。
先断开SW2, 然后你按住 SW1 开关不要松手,然后开SW2, 等到电 ...

这个方法可行!太感谢了!要改一下设计,把ch340芯片供电独立出来。
回复

使用道具 举报

ID:624769 发表于 2021-9-25 18:48 | 显示全部楼层
Srs_K 发表于 2021-9-25 09:53
这个方法可行!太感谢了!要改一下设计,把ch340芯片供电独立出来。

可行就好,至少,哪怕啥也不改,你也能先凑活着用起来了。看来STC89系列,我还没忘光。

接下来你可以考虑三个方案:
1) 就这样凑或用,频繁烧录会比较麻烦。

2)硬改,重新飞线把CH340电源剥离出来,这是一劳永逸的方案,但是,如果动手能力有限,有一定风险。

3)软件克服,2个方案:
A)  在所有要在这块实验板上跑得程序里都 加上:  ISP_CONTR  |= 0x40;   这段代码,理论上,可以按复位(SW1) 就进入冷启动,即 ISP 点下载或者检测MCU , 后按 (SW1) 就能 开始烧录 而不需要断电。(这个方案需要验证,89是不是支持不记得了)
B)  在所有要在这块实验板上跑得程序 增加一个中断,比如 INT0  里面只有一行代码: ISP_CONTR = 0x60;  那么,你只要触发外部中断1,比如 P3.2 接一下地,就能进入冷启动,而不用断电。(这个是一定可行的方案),但是会占用一个中断。你自行选择吧。
回复

使用道具 举报

ID:960244 发表于 2021-10-8 11:48 | 显示全部楼层
188610329 发表于 2021-9-25 18:48
可行就好,至少,哪怕啥也不改,你也能先凑活着用起来了。看来STC89系列,我还没忘光。

接下来你可以 ...

过了这么久才想起来回来看看后续,耐心解答谢谢了!
对51系列还只是了解了一点点皮毛。非常感谢!
回复

使用道具 举报

ID:23640 发表于 2021-10-8 13:51 | 显示全部楼层
直接按住SW1,然后按下载按钮,接着松开SW1应该也是可以的
回复

使用道具 举报

ID:624769 发表于 2021-10-8 14:49 | 显示全部楼层
yaosongjin 发表于 2021-10-8 13:51
直接按住SW1,然后按下载按钮,接着松开SW1应该也是可以的

在STC的复位逻辑里面, RST引脚,是直接热启动的。 而ISP烧录程序,是只能冷启动才进入的。

STC15系列往后, 可以通过 IAP_CONTR |= 0x40; 设置冷启动标志后, 按RST 进入冷启动。
但是,89系列 用的还是 ISP_CONTR 是不是也能这样不知道,但是 ISP_CONTR = 0x60; 直接重启进入ISP是绝对没问题的。

所以,楼主那块板子,他只有在断电的前提下按住RST,才有机会进入ISP, 已经启动了,RST按再久都没有,除非,ISP_CONTR |= 0x40; 能有效。
回复

使用道具 举报

ID:624769 发表于 2021-10-13 00:19 | 显示全部楼层
Srs_K 发表于 2021-10-8 11:48
过了这么久才想起来回来看看后续,耐心解答谢谢了!
对51系列还只是了解了一点点皮毛。非常感谢!

告诉你一个好消息,今天找出了尘封已久的 STC89C52RC 亲自测试通过。

只要,你在Main 函数里 加一句   ISP_CONTR |= 0x40;  就可以在任何情况下,直接按 RST 进入下载。这样子,你完全不用改板子了。
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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