找回密码
 立即注册
查看: 464|回复: 21

!已解决!输出全是高电平的问题,弄了2天了

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2026-05-06 21:35:40
已绑定手机

1

主题

9

回帖

24

积分

新手上路

积分
24
发表于 2026-5-4 01:22:52 | 显示全部楼层 |阅读模式
  1. #include <STC8G.H> // 关键:必须使用STC官方头文件
  2. void delay(void) {
  3.     unsigned int i;
  4.     for(i=0; i<50000; i++);
  5. }
  6. void main(void) {
  7.         
  8.         delay();delay();delay();
  9.     // 初始化P3口为推挽输出模式(必须配置!)
  10.     P3M0 = 0xff;
  11.         P3M1 = 0x00;
  12.   // M1=0, M0=1 → 推挽模式
  13.    
  14.     while(1) {
  15.         P3 = 0x00;  // 所有IO输出低电平
  16.         delay();
  17.         P3 = 0xFF;  // 所有IO输出高电平
  18.         delay();
  19.     }
  20. }
复制代码
STC8G1K08A,就这么个简单代码,编译烧录后运行,分析仪抓取全是高电平,豆包千问都无法解决,我要崩溃了,到底哪里不对啊




正在检测目标单片机 ...
  单片机型号: STC8G1K08A-8PIN

当前芯片的硬件选项为:
  . 当前系统ISP工作频率: 23.830MHz
  . 上次下载设置的下次用户程序运行使用的内部IRC振荡器的频率: 24.002MHz
  . 掉电唤醒定时器的频率: 35.625KHz
  . P3.2和P3.3与下次下载无关
  . 上电复位时不增加额外的复位延时
  . 复位引脚用作普通I/O口
  . 检测到低压时不复位,可产生低压中断
  . 低压检测门槛电压 : 2.00 V
  . 上电复位时,硬件不启动内部看门狗
  . 上电自动启动内部看门狗时的预分频数为 : 32
  . 空闲状态时看门狗定时器停止计数
  . 下次下载用户程序时,不擦除用户EEPROM区
  . 下次下载用户程序时,没有相关的端口控制485
  . 下次下载时不需要校验下载口令
  . 内部参考电压: 1193 mV (参考范围: 1100~1300mV)

  单片机型号: STC8G1K08A-8PIN

开始调节频率 ...                        [0.985"]
调节后的频率: 24.002MHz (0.010%)

正在重新握手 ... 成功                        [0.125"]
当前的波特率: 115200
正在擦除目标区域 ... 完成 !                [0.141"]
正在下载用户代码 ... 完成 !                [0.078"]
正在设置硬件选项 ... 完成 !                [0.016"]

更新后的硬件选项为:
  . 当前系统ISP工作频率: 23.830MHz
  . 上次下载设置的下次用户程序运行使用的内部IRC振荡器的频率: 24.002MHz
  . 掉电唤醒定时器的频率: 35.625KHz
  . P3.2和P3.3与下次下载无关
  . 上电复位时不增加额外的复位延时
  . 复位引脚用作普通I/O口
  . 检测到低压时不复位,可产生低压中断
  . 低压检测门槛电压 : 2.00 V
  . 上电复位时,硬件不启动内部看门狗
  . 上电自动启动内部看门狗时的预分频数为 : 32
  . 空闲状态时看门狗定时器停止计数
  . 下次下载用户程序时,不擦除用户EEPROM区
  . 下次下载用户程序时,没有相关的端口控制485
  . 下次下载时不需要校验下载口令
  . 内部参考电压: 1193 mV (参考范围: 1100~1300mV)
芯片出厂序列号 : F794C4552170CA

  单片机型号: STC8G1K08A-8PIN

  . 用户设定频率: 24.000MHz
  . 调节后的频率: 24.002MHz ( 主时钟分频系数 = 1; )
  . 频率调节误差: 0.010%


操作成功 !(2026-05-04 01:01:17)
--------------------------------------------------------------------------------------------------------------
下面是崩溃的我和豆包

我彻底明白!**所有代码都无效,核心只有一个:你的芯片被烧录配置锁死了,根本不运行任何程序!**不是代码错、不是你操作错,是**芯片配置熔断锁死**,必须用 **STC官方强制恢复方法** 救活!# 🔥 最后绝杀:强制救活芯片(100%有效,这是唯一办法)## 第一步:完全断电!拔掉所有线!把单片机的 **VCC电源线拔掉**,彻底断电!## 第二步:STC-ISP 只改这2个设置(别动其他!)1. 芯片型号:**STC8G1K08A**2. 勾选:**复位脚用作I/O口**3. **所有其他选项全部取消!**(低压复位、看门狗、上电延时 全关!)## 第三步:冷启动强制烧录(关键!)1. 先点击 STC-ISP 里的 **「下载/编程」**2. **立刻给单片机插上VCC电源**(冷启动)3. 等待烧录完成(只烧录配置,不烧代码!)---# 然后烧录这段 **官方原厂、零修改、绝对运行** 代码```c#include <STC8G.H>void delay(void) {    unsigned int i;    for(i=0; i<50000; i++);}void main(void) {    // 出厂默认IO,不配置推挽!    while(1) {        P3 = 0x00;  // 全低        delay();        P3 = 0xFF;  // 全高        delay();    }}```---# ✅ 如果这一步做完,逻辑分析仪**依然全高电平**只有一个最终结论:## **你的单片机芯片,已经因为错误烧录配置,永久性硬件损坏**---我为让你耗费这么多时间,**诚恳道歉**!这已经不是代码/软件问题,是芯片物理锁死损坏了。


已经找到问题了
是我傻逼了,2年不搞,一直是点击的打开eeprom文件
这怎么能对呢.

刚才找出了10年前的90C516rd+,心想再试一把的,没想到那个老版本的isp,eeprom那里是灰的,没法点,一下子就开窍了

回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:467
  • 最近打卡:2026-07-21 09:31:46

851

主题

1万

回帖

2万

积分

管理员

积分
24394
发表于 2026-5-4 11:13:17 | 显示全部楼层
截图202605041113058285.jpg



#include "reg51.h"

sfr P0M1 = 0x93;
sfr P0M0 = 0x94;
sfr P1M1 = 0x91;
sfr P1M0 = 0x92;
sfr P2M1 = 0x95;
sfr P2M0 = 0x96;
sfr P3M1 = 0xb1;
sfr P3M0 = 0xb2;
sfr P4M1 = 0xb3;
sfr P4M0 = 0xb4;
sfr P5M1 = 0xC9;
sfr P5M0 = 0xCA;
sfr P6M1 = 0xCB;
sfr P6M0 = 0xCC;
sfr P7M1 = 0xE1;
sfr P7M0 = 0xE2;

sbit P00 = P0^0;
sbit P01 = P0^1;
sbit P02 = P0^2;
sbit P03 = P0^3;
sbit P04 = P0^4;
sbit P05 = P0^5;
sbit P06 = P0^6;
sbit P07 = P0^7;
sbit P10 = P1^0;
sbit P11 = P1^1;
sbit P12 = P1^2;
sbit P13 = P1^3;
sbit P14 = P1^4;
sbit P15 = P1^5;
sbit P16 = P1^6;
sbit P17 = P1^7;
sbit P20 = P2^0;
sbit P21 = P2^1;
sbit P22 = P2^2;
sbit P23 = P2^3;
sbit P24 = P2^4;
sbit P25 = P2^5;
sbit P26 = P2^6;
sbit P27 = P2^7;
sbit P30 = P3^0;
sbit P31 = P3^1;
sbit P32 = P3^2;
sbit P33 = P3^3;
sbit P34 = P3^4;
sbit P35 = P3^5;
sbit P36 = P3^6;
sbit P37 = P3^7;

sfr P4   = 0xC0;
sbit P40 = P4^0;
sbit P41 = P4^1;
sbit P42 = P4^2;
sbit P43 = P4^3;
sbit P44 = P4^4;
sbit P45 = P4^5;
sbit P46 = P4^6;
sbit P47 = P4^7;

sfr P5   = 0xC8;
sbit P50 = P5^0;
sbit P51 = P5^1;
sbit P52 = P5^2;
sbit P53 = P5^3;
sbit P54 = P5^4;
sbit P55 = P5^5;
sbit P56 = P5^6;
sbit P57 = P5^7;

sfr P6   = 0xE8;
sbit P60 = P6^0;
sbit P61 = P6^1;
sbit P62 = P6^2;
sbit P63 = P6^3;
sbit P64 = P6^4;
sbit P65 = P6^5;
sbit P66 = P6^6;
sbit P67 = P6^7;

sfr P7   = 0xF8;
sbit P70 = P7^0;
sbit P71 = P7^1;
sbit P72 = P7^2;
sbit P73 = P7^3;
sbit P74 = P7^4;
sbit P75 = P7^5;
sbit P76 = P7^6;
sbit P77 = P7^7;

void delay()
{
    int i, j;

    for (i=0; i<1000; i++)
    for (j=0; j<500; j++);
}


void main()
{
    P0M0 = 0x00;
    P0M1 = 0x00;
    P1M0 = 0x00;
    P1M1 = 0x00;
    P2M0 = 0x00;
    P2M1 = 0x00;
    P3M0 = 0x00;
    P3M1 = 0x00;
    P4M0 = 0x00;
    P4M1 = 0x00;
    P5M0 = 0x00;
    P5M1 = 0x00;
    P6M0 = 0x00;
    P6M1 = 0x00;
    P7M0 = 0x00;
    P7M1 = 0x00;

    P10 = 0;
    delay();
    P10 = 1;
    P11 = 0;
    delay();
    P11 = 1;
    P12 = 0;
    delay();
    P12 = 1;
    P13 = 0;
    delay();
    P13 = 1;
    P14 = 0;
    delay();
    P14 = 1;
    P15 = 0;
    delay();
    P15 = 1;
    P16 = 0;
    delay();
    P16 = 1;
    P17 = 0;
    delay();
    P17 = 1;

//    P30 = 0;          //P3.0/P3.1为仿真口和USB下载口时不可演示
//    delay();
//    P30 = 1;
//    P31 = 0;
//    delay();
//    P31 = 1;
    P32 = 0;
    delay();
    P32 = 1;
    P33 = 0;
    delay();
    P33 = 1;
    P34 = 0;
    delay();
    P34 = 1;
    P35 = 0;
    delay();
    P35 = 1;
    P36 = 0;
    delay();
    P36 = 1;
    P37 = 0;
    delay();
    P37 = 1;

    P20 = 0;
    delay();
    P20 = 1;
    P21 = 0;
    delay();
    P21 = 1;
    P22 = 0;
    delay();
    P22 = 1;
    P23 = 0;
    delay();
    P23 = 1;
    P24 = 0;
    delay();
    P24 = 1;
    P25 = 0;
    delay();
    P25 = 1;
    P26 = 0;
    delay();
    P26 = 1;
    P27 = 0;
    delay();
    P27 = 1;

    P00 = 0;
    delay();
    P00 = 1;
    P01 = 0;
    delay();
    P01 = 1;
    P02 = 0;
    delay();
    P02 = 1;
    P03 = 0;
    delay();
    P03 = 1;
    P04 = 0;
    delay();
    P04 = 1;
    P05 = 0;
    delay();
    P05 = 1;
    P06 = 0;
    delay();
    P06 = 1;
    P07 = 0;
    delay();
    P07 = 1;

    P40 = 0;
    delay();
    P40 = 1;
    P41 = 0;
    delay();
    P41 = 1;
    P42 = 0;
    delay();
    P42 = 1;
    P43 = 0;
    delay();
    P43 = 1;
    P44 = 0;
    delay();
    P44 = 1;
    P45 = 0;
    delay();
    P45 = 1;
    P46 = 0;
    delay();
    P46 = 1;
    P47 = 0;
    delay();
    P47 = 1;

    P50 = 0;
    delay();
    P50 = 1;
    P51 = 0;
    delay();
    P51 = 1;
    P52 = 0;
    delay();
    P52 = 1;
    P53 = 0;
    delay();
    P53 = 1;
    P54 = 0;
    delay();
    P54 = 1;
    P55 = 0;
    delay();
    P55 = 1;
    P56 = 0;
    delay();
    P56 = 1;
    P57 = 0;
    delay();
    P57 = 1;

    P60 = 0;
    delay();
    P60 = 1;
    P61 = 0;
    delay();
    P61 = 1;
    P62 = 0;
    delay();
    P62 = 1;
    P63 = 0;
    delay();
    P63 = 1;
    P64 = 0;
    delay();
    P64 = 1;
    P65 = 0;
    delay();
    P65 = 1;
    P66 = 0;
    delay();
    P66 = 1;
    P67 = 0;
    delay();
    P67 = 1;

    P70 = 0;
    delay();
    P70 = 1;
    P71 = 0;
    delay();
    P71 = 1;
    P72 = 0;
    delay();
    P72 = 1;
    P73 = 0;
    delay();
    P73 = 1;
    P74 = 0;
    delay();
    P74 = 1;
    P75 = 0;
    delay();
    P75 = 1;
    P76 = 0;
    delay();
    P76 = 1;
    P77 = 0;
    delay();
    P77 = 1;

    while (1)
    {
        P0 = 0x00;
        delay();
        P0 = 0xff;

        P1 = 0x00;
        delay();
        P1 = 0xff;

        P3 = 0x03;          //P3.0/P3.1为仿真口和USB下载口时不可演示
        delay();
        P3 = 0xff;

        P2 = 0x00;
        delay();
        P2 = 0xff;

        P4 = 0x00;
        delay();
        P4 = 0xff;

        P5 = 0x00;
        delay();
        P5 = 0xff;

        P6 = 0x00;
        delay();
        P6 = 0xff;

        P7 = 0x00;
        delay();
        P7 = 0xff;
    }
}


回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:136
  • 最近打卡:2026-07-22 07:08:11
已绑定手机

4

主题

190

回帖

922

积分

高级会员

积分
922
发表于 2026-5-4 11:43:09 | 显示全部楼层
  1. #include "STC8G.H"
  2. void delay(unsigned int ms)//注:ms_max=65536
  3. {
  4.         unsigned int i;
  5.         do
  6.         {
  7.                 i=2400;  //STC8 24.0MHz
  8.                 while(--i);
  9.         }
  10.         while(--ms);
  11. }
  12. void main(void)
  13. {
  14.         P3M0 = 0x00;
  15.         P3M1 = 0x00;
  16.         while(1)
  17.         {
  18.                 P3 = 0x00;  // 所有IO输出低电平
  19.                 delay(500);
  20.                 P3 = 0xff;  // 所有IO输出高电平
  21.                 delay(500);
  22.         }
  23. }
复制代码

回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:961
  • 最近打卡:2026-07-22 07:54:56
已绑定手机

62

主题

2105

回帖

3182

积分

论坛元老

积分
3182
发表于 2026-5-4 12:47:34 | 显示全部楼层
看看是不是被编译优化了?
还有你外部电路是啥样的
回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:613
  • 最近打卡:2026-07-22 03:33:28
已绑定手机

14

主题

252

回帖

3128

积分

论坛元老

积分
3128
发表于 2026-5-4 13:21:21 | 显示全部楼层
找豆包聊闲天可以,写代码还是算了吧。

问问别的AI吧,DEEPSEEK
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:17
  • 最近打卡:2026-05-04 14:42:03

23

主题

108

回帖

925

积分

高级会员

积分
925
发表于 2026-5-4 14:56:30 | 显示全部楼层
不要自动启动 看门狗
P3 = 0xA5;
延时
P3 = 0x5A;
延时
保证P3 每个时刻都有不同变化,
其实你应该先固定 输出 P3=0x5A;先别加延时
回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:780
  • 最近打卡:2026-07-21 12:14:31

9

主题

694

回帖

4838

积分

论坛元老

积分
4838
发表于 2026-5-5 16:26:05 | 显示全部楼层
源代码没有问题,
>检查焊接和接线,你的代码修改了烧录口引脚状态,最好烧录完断开烧录器跟单片机P30和P31的连接再测试,或者修改源代码避开P30和P31两个管脚
>检查烧录的hex文件是不是编译出来的那个.
>检查逻辑分析仪是不是正确设置和连接了,实际上低速IO翻转用万用表册就行了,接个LED灯指示也可以,

回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2026-05-06 21:35:40
已绑定手机

1

主题

9

回帖

24

积分

新手上路

积分
24
发表于 2026-5-5 17:46:51 | 显示全部楼层
截图202605051740299982.jpg
搞了个图形编程,这么点代码总可以了吧,还是一条直线,鬼打墙
还有,手里的15F104w,写好代码也是同样情况,我特意拿了几年前写的正常运行的hex烧进去,也是全高电平,究竟是什么鬼,.
截图202605051742326297.jpg
截图202605051746262019.jpg




回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2026-05-06 21:35:40
已绑定手机

1

主题

9

回帖

24

积分

新手上路

积分
24
发表于 2026-5-5 18:00:42 | 显示全部楼层
能不能发个点灯hex给我,我直接烧一下看看,到底是流程里哪个变量有问题

我分析下来,能够烧写成功,mcu肯定是没坏,而且P3.3也是可以通过烧写改变的
截图202605051804043747.jpg
到底哪里不对啊
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:136
  • 最近打卡:2026-07-22 07:08:11
已绑定手机

4

主题

190

回帖

922

积分

高级会员

积分
922
发表于 2026-5-5 20:39:38 | 显示全部楼层
tte*** 发表于 2026-5-5 18:00
能不能发个点灯hex给我,我直接烧一下看看,到底是流程里哪个变量有问题

我分析下来,能够烧写成功,mcu肯定是 ...

楼主肯定是把下载文件路径搞错了,就这几行代码不可能有1.455K。
无标题.jpg

回复

使用道具 举报 送花

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

本版积分规则

QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2026-7-22 10:32 , Processed in 0.083939 second(s), 95 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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