m0_72463655 2022-06-30 10:45 采纳率: 66.7%
浏览 49
已结题

单片机无法运行加速减速

#两相四拍步进电机控制中51芯片程序写加速减速程序带入proteus后,加速减速无法运行
#这是我的c:#include <reg51.h>
#include <absacc.h>
sbit p10=P1^0;
sbit p11=P1^1;
sbit p12=P1^2;
sbit p13=P1^3;
sbit p14=P1^4;

#define UP 20
#define DOWN 30
#define STOP 40
#define HASTEN 50
#define DECLERATE 60

void delay()//延时程序
{
unsigned i,j,k;
for(i=0;i<0x02;i++)
for(j=0;j<0x02;j++)
for(k=0;k<0xff;k++);
}

main()
{
unsigned char temp;
while(1)
{
if(p10==0)
{
temp=UP;//控制正转
P2=0X00;
delay();
}
if(p11==0)
{
temp=DOWN;//控制反转
P2=0X00;
delay();
}
if(p12==0)
{
temp=STOP;//控制停止
}
if(p13==0)
{
temp=HASTEN;//控制加速
P2=0X00;
delay();
}
if(p14==0)
{
temp=DECLERATE;//控制减速
P2=0X00;
delay();
}
switch(temp)
{
case DOWN : P2=0X01;//控制反转 //0011
delay();
delay();
P2=0X02;//0110
delay();
delay();
P2=0X04;//1100
delay();
delay();
P2=0X08;//1001
delay();
delay();
break;
case UP : P2=0X08;//控制正转
delay();
delay();
P2=0X04;
delay();
delay();
P2=0X02;
delay();
delay();
P2=0X01;
delay();
delay();
break;
case STOP ://控制停止
P2=0X00;
delay();
delay();
break;
}
}

  • 写回答

1条回答 默认 最新

  • 乐观的study123 2022-06-30 11:27
    关注

    控制加减速的实质是改变循环周期时间

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 7月8日
  • 已采纳回答 6月30日
  • 修改了问题 6月30日
  • 修改了问题 6月30日
  • 展开全部

悬赏问题

  • ¥15 基于pso参数优化的LightGBM分类模型
  • ¥15 安装Paddleocr时报错无法解决
  • ¥15 python中transformers可以正常下载,但是没有办法使用pipeline
  • ¥50 分布式追踪trace异常问题
  • ¥15 人在外地出差,速帮一点点
  • ¥15 如何使用canvas在图片上进行如下的标注,以下代码不起作用,如何修改
  • ¥15 Windows 系统cmd后提示“加载用户设置时遇到错误”
  • ¥50 vue router 动态路由问题
  • ¥15 关于#.net#的问题:End Function
  • ¥15 无法import pycausal