标题: 单片机上电电机异常转动+串口无法接受数据 [打印本页]

作者: yyzzsy    时间: 2023-12-16 23:49
标题: 单片机上电电机异常转动+串口无法接受数据
#include <REGX52.H>

typedef unsigned int u16;
typedef unsigned char u8;

u8 ReceiveData=0;

sbit Motor = P2^7;

void UartInit()
{
SCON=0x50;
TMOD=0x20;
PCON=0x80;
TH1=0xF3;
TL1=0xF3;
ES=1;
EA=1;
TR1=1;
}

void Delay(u8 n)

{
    unsigned int i,j;
    for(j=n;j>0;j--)
    for(i=112;i>0;i--);
}

void main()
{
UartInit();
Motor = 0;
while(1)
{
while(ReceiveData == 0)
{
Motor = 0;
}
else
{
Motor = 1;
Delay(20000);
Motor = 0;
Delay(10000 - ReceiveData*100);
}
}
}

void Uart() interrupt 4
{
ReceiveData = SBUF;
RI = 0;
SBUF = ReceiveData;
while(!TI);
TI = 0;
}
哪位佬能够解答一下吗?按理来说,我的程序应该是一开始motor为0电机为0,不转动的。但是这个程序一烧录进去就开始转动,还有就是为什么我串口发送数据没有任何反应?

连线如下:
P2.7与IN1相连,直流电机与OUT1和VCC相连接。

屏幕截图 2023-12-16 234927.png (57.08 KB, 下载次数: 37)

原理图

原理图

作者: Hephaestus    时间: 2023-12-17 00:32
应该是电源供电不足造成的。先把电机拔掉,然后看串口是否正常。
作者: yyzzsy    时间: 2023-12-17 01:14
Hephaestus 发表于 2023-12-17 00:32
应该是电源供电不足造成的。先把电机拔掉,然后看串口是否正常。

佬,请问一下为什么我的代码一上电机就会运行啦?

作者: yyzzsy    时间: 2023-12-17 08:34
有其他大佬会吗?求助求助!!!
作者: lkc8210    时间: 2023-12-17 09:26
没报错吗?



作者: yyzzsy    时间: 2023-12-17 14:16
lkc8210 发表于 2023-12-17 09:26
没报错吗?

没有,可以编译和烧录
作者: 白画求兮    时间: 2023-12-17 18:39
你可以把Motor = 1;注释,下载如果还是上电就转,电路问题




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1