清翔电子开源社区

 找回密码
 立即注册

微信扫码 , 快速开始

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 433|回复: 1

请教一下 我这个程序是哪里出错了呢

[复制链接]

1

主题

1

帖子

17

积分

新手上路

Rank: 1

积分
17
发表于 2023-8-6 21:25:41 | 显示全部楼层 |阅读模式
#include<reg51.h>
#define uint unsigned int;
#define uchar unsigned char;
#define ufloat unsigned float;

sbit PU=P1^0;//定义PU为电机运动 控制P11针脚
sbit DR=P1^1;//定义DR为电机转向 控制P14针脚

uint xf=4000;//电机细分4000,4000个脉冲转一圈

void delay(uint z)
{
    uint x,y;
    for(x=z;x>0;x--)
      for(y=1;y>0;y--);//8us
}

void motor_pu(uint z)//Pulse signal 脉冲函数 发送x个脉冲
{
    uint x;
    PU=0;//运动控制:针脚电平归0
    for(x=z;x>0;x--)//循环,实现x个脉冲
    {
        PU=~PU;//从低电位转到高电位
        delay(1);//延时
        PU=~PU;//从高电位转到低电位,完成一个脉冲信号
        delay(1);//延时
    }
}

void motor_ro(ufloat z)//控制电机转x圈
{
    ufloat x;
    x=z*xf;//细分数乘以圈数得到需要的脉冲数
    motor_pu(x);//发送a个脉冲
}

void motor_stop(uint z)//停止函数 停止多长时间
{
    uint x=z;
    PU=0;//运动控制:针脚电平归0
    delay(x);//延时x时间
}

void motor_dr(uint z)//direction control 控制电机转向
{
    if(z==0){DR=0;}
    else {DR=1;}
}

void main()
{
    motor_dr(0);
    motor_ro(0.5);
    delay(500);
    motor_dr(1);
    motor_ro(1.5);
    delay(500);
}

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

3

主题

14

帖子

592

积分

超级版主

Rank: 8Rank: 8

积分
592
发表于 2023-8-19 12:26:36 | 显示全部楼层
宏定义变量类型后面不加分号
回复

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|清翔电子开源社区 ( 蜀ICP备20007201号-3 )

GMT+8, 2024-9-20 07:03 , Processed in 0.116808 second(s), 42 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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