晓星晨曦 发表于 2025-2-27 15:48:11

关于AI8051U烧录成功后无法执行代码

各位同志,大家好。问题是这样的,我通过CH340烧录的代码,然后重新通上电源,无法运行代码。只有碰到RST口的时候灯才会亮。所以我在想是不是复位的问题,但是该如何复位呢?

#include "AI8051U.h"

sbit LED0 = P1 ^ 0;
sbit LED1 = P1 ^ 1;
sbit LED2 = P1 ^ 2;
sbit LED3 = P1 ^ 3;
sbit LED4 = P1 ^ 4;

void delay(unsigned char m)
{
unsigned char i, j, k;

for (k = m; k > 0; k--)
    for (j = 255; j > 0; j--)
      for (i = 255; i > 0; i--);
}

int main()
{
int a = 0;

LED0 = 1;
LED1 = 1;
LED2 = 1;
LED3 = 0;
LED4 = 1;

      while(1);
      
}


soma 发表于 2025-2-27 15:56:17

用面包板拼的感觉就只有P10有接。如果连线没问题应该会亮灯吧。

DebugLab 发表于 2025-2-27 16:14:10

复位脚做IO口,不是复位的问题
面包板大概率接触不良


晓星晨曦 发表于 2025-2-27 16:24:43

DebugLab 发表于 2025-2-27 16:14
复位脚做IO口,不是复位的问题
面包板大概率接触不良

还是不行呢,我直接碰的串口都不行呢

晓星晨曦 发表于 2025-2-27 16:41:45

soma 发表于 2025-2-27 15:56
用面包板拼的感觉就只有P10有接。如果连线没问题应该会亮灯吧。

我都能烧录成功,不至于接线问题吧?同时我还试过直接碰着串口一样不行呢

soma 发表于 2025-2-27 17:05:29

晓星晨曦 发表于 2025-2-27 16:41
我都能烧录成功,不至于接线问题吧?同时我还试过直接碰着串口一样不行呢 ...

寄存器P1M0,和P1M1也要配置一下吧。这个和传统51单片机不一样。

晓星晨曦 发表于 2025-2-27 17:07:48

soma 发表于 2025-2-27 17:05
寄存器P1M0,和P1M1也要配置一下吧。这个和传统51单片机不一样。

嗯???这咋配置?

晓星晨曦 发表于 2025-2-27 17:58:43

晓星晨曦 发表于 2025-2-27 17:07
嗯???这咋配置?

如是说,我代码改成这样依然不行。#include "STC8051U.h"

sbit LED0 = P1 ^ 0;
sbit LED1 = P1 ^ 1;
sbit LED2 = P1 ^ 2;
sbit LED3 = P1 ^ 3;
sbit LED4 = P1 ^ 4;


int main()
{
        P_SW2 = 0x80;
        CKCON = 0x00;
        WTST = 0x00;
       
        P0M0 = 0x00;
        P0M1 = 0x00;
        P1M0 = 0x00;
        P1M1 = 0x00;
        P2M0 = 0x00;
        P2M1 = 0x00;
        P3M0 = 0x00;
        P3M1 = 0x00;
        P4M0 = 0x00;
        P4M1 = 0x00;
        P5M0 = 0x00;
        P5M1 = 0x00;

LED0 = 1;
LED1 = 1;
LED2 = 1;
LED3 = 0;
LED4 = 1;

        while(1);
       
}

晓星晨曦 发表于 2025-2-27 18:18:17

soma 发表于 2025-2-27 17:05
寄存器P1M0,和P1M1也要配置一下吧。这个和传统51单片机不一样。
同志,你说对了一半,不过也感谢你的回复。经过我的尝试,首先需要在STC-ISP上把32位改成8位。同时代码里P1M0=0xFF;P1M1=0x00;如此之后,成功点灯,哈哈哈哈哈。

最后感谢各位回复我帖子的同志,感恩!!!!
页: [1]
查看完整版本: 关于AI8051U烧录成功后无法执行代码