关于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);
}
用面包板拼的感觉就只有P10有接。如果连线没问题应该会亮灯吧。 复位脚做IO口,不是复位的问题
面包板大概率接触不良
DebugLab 发表于 2025-2-27 16:14
复位脚做IO口,不是复位的问题
面包板大概率接触不良
还是不行呢,我直接碰的串口都不行呢 soma 发表于 2025-2-27 15:56
用面包板拼的感觉就只有P10有接。如果连线没问题应该会亮灯吧。
我都能烧录成功,不至于接线问题吧?同时我还试过直接碰着串口一样不行呢 晓星晨曦 发表于 2025-2-27 16:41
我都能烧录成功,不至于接线问题吧?同时我还试过直接碰着串口一样不行呢 ...
寄存器P1M0,和P1M1也要配置一下吧。这个和传统51单片机不一样。 soma 发表于 2025-2-27 17:05
寄存器P1M0,和P1M1也要配置一下吧。这个和传统51单片机不一样。
嗯???这咋配置? 晓星晨曦 发表于 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);
}
soma 发表于 2025-2-27 17:05
寄存器P1M0,和P1M1也要配置一下吧。这个和传统51单片机不一样。
同志,你说对了一半,不过也感谢你的回复。经过我的尝试,首先需要在STC-ISP上把32位改成8位。同时代码里P1M0=0xFF;P1M1=0x00;如此之后,成功点灯,哈哈哈哈哈。
最后感谢各位回复我帖子的同志,感恩!!!!
页:
[1]