求助:如何在一个范围值内根据步进值赋值

2019-07-18 02:10发布

假设我的范围值是1-5,步进值为1,我要的结果就1,2,3,4,5。
如附件所示,我设置起点值为1,终点值为5,步进值为1,数值框部分就是显示我要的结果,从数值-数值5能够分别显示1,2,3,4,5。
求助应该怎么编程方便?因为我要显示的数值框可能需要将近40-50个,谢谢谁能指导一下~
无标题.png
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
1条回答
yangzhixiong11
1楼-- · 2019-07-18 07:38
这是我前几天赶赴写的个程序 望对你有帮助
#include "reg52.h"
sbit key1=P2^0;         //端口定义//
sbit key2=P2^1;
sbit key3=P2^2;
int j;
unsigned char code RUN[8]={0xf1,0xf3,0xf2,0xf6,0xf4,0xfc,0xf8,0xf9};  //步进电机相序表正转//
unsigned char code FFZ[8]={0xf9,0xf8,0xfc,0xf4,0xf6,0xf2,0xf3,0xf1};  // 步进电机相序表反转//
void delay(unsigned int t);
//步进电机驱动

void  motor_ffw()                        //正转驱动伸缩模块//
{
   unsigned char i;
  
      for (i=0; i<8; i++)       //一个周期转3.75*8=30度
        {
          P0 = RUN[i]&0x1f;     //取数据
          delay(4);             //调节转速
        }
     }

void  motor_ffz()                                   //反转驱动伸缩模块//
{
   unsigned char i;
  
      for (i=0; i<8; i++)       //一个周期转3.75*8=30度
        {
          P0= FFZ[i]&0x1f;     //取数据
          delay(4);             //调节转速
        }
     }

void  motor_ff2()
{
           unsigned char i;
      for (i=0; i<8; i++)       //一个周期转3.75*8=30度
        {
          P1  = RUN[i]&0x1f;     //取数据
                  
          delay(1);             //调节转速
        }
     }

void delay(unsigned int t)           //延时函数//
{                           
   unsigned int k;
   while(t--)
   {
     for(k=0; k<60; k++)//用for的空循环延长程序的执行时间
     { }
   }
}

main()
{
    while(1)
        {
          P1=0x00;
      if(key1==0)                 //按键1//
          {
          delay(10);
                  if(key1==0)               
                 motor_ffw(); //调用旋转处理函数
                 delay(2);                 //调速度//
                 
          }
          delay(2);
          if(key2==0)                   //按键2//
          {
          delay(2);
                  if(key2==0)                   
                  motor_ffz();
                  delay(2);                   //调速度//
                         
          }
        if(key3==0)
          {
          delay(10);                   //按键3//
                  if(key3==0)
                  {
                   delay(100000);        //延时//
                for (j=0; j<200000; j++)
                    {
                  motor_ff2();
                  delay(1);                   //调速度//
                  }
                }
         }
        }
}

一周热门 更多>