找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 770|回复: 6
打印 上一主题 下一主题
收起左侧

单片机上电电机异常转动+串口无法接受数据

[复制链接]
跳转到指定楼层
楼主
#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, 下载次数: 36)

原理图

原理图
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:883242 发表于 2023-12-17 00:32 | 只看该作者
应该是电源供电不足造成的。先把电机拔掉,然后看串口是否正常。
回复

使用道具 举报

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

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

使用道具 举报

地板
ID:1104628 发表于 2023-12-17 08:34 | 只看该作者
有其他大佬会吗?求助求助!!!
回复

使用道具 举报

5#
ID:161164 发表于 2023-12-17 09:26 | 只看该作者
没报错吗?


回复

使用道具 举报

6#
ID:1104628 发表于 2023-12-17 14:16 | 只看该作者

没有,可以编译和烧录
回复

使用道具 举报

7#
ID:1056324 发表于 2023-12-17 18:39 | 只看该作者
你可以把Motor = 1;注释,下载如果还是上电就转,电路问题
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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