打印

按下K1(K2)时怎么每次都正转72°(反转72°)

[复制链接]
330|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wangpe|  楼主 | 2019-7-13 18:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
按下K1(K2)时怎么每次都正转72°(反转72°)

使用特权

评论回复
沙发
langgq| | 2019-7-13 19:03 | 只看该作者
楼主程序可以公开吗?贴程序看下吧,这么说看不出什么原因

使用特权

评论回复
板凳
wangpe|  楼主 | 2019-7-13 19:06 | 只看该作者

/***************   writer:shopping.w   ******************/
#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char
uchar code FFW[]=          //正转
{
         0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09  
};

uchar code REV[]=        //反转
{
         0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01
};

sbit K1 = P3^0;
sbit K2 = P3^1;
sbit K3 = P3^2;

void DelayMS(uint ms)  //延时
{
         uchar i;
         while(ms--)
         {
                  for(i=0;i<120;i++);
         }
}

void SETP_MOTOR_FFW(uchar n)   //正转
{
         uchar i,j;
         for(i=0;i<1*n;i++)
         {
                  for(j=0;j<8;j++)
                 {
                          if(K3 == 0)        break;
                         P1 = FFW[j];
                         DelayMS(25);
                 }
         }
}

void SETP_MOTOR_REV(uchar n)  //反转
{
         uchar i,j;
         for(i=0;i<1*n;i++)
         {
                  for(j=0;j<8;j++)
                 {
                          if(K3 == 0)        break;
                         P1 = REV[j];
                         DelayMS(25);
                 }
         }
}

void main()
{
         uchar N = 1;
         while(1)
         {
                  if(K1 == 0)
                 {  while(K1==0);
                          P0 = 0xfe; //正转LED指示
                         SETP_MOTOR_FFW(N);
                         if(K3 == 0) break;
                 }
                 else if(K2 == 0)
                 {        while(K2==0);
                          P0 = 0xfd;        //反转LED指示
                         SETP_MOTOR_REV(N);
                         if(K3 == 0) break;
                 }
                 else
                 {
                          P0 = 0xfb;          //停LED指示
                         P1 = 0x03;
                 }
         }
}
当按下K1(K2)时怎么每次都正转72°(反转72°)?

使用特权

评论回复
地板
wangpe|  楼主 | 2019-7-13 19:12 | 只看该作者
怎么改让它只转9°

使用特权

评论回复
5
lium| | 2019-7-13 19:16 | 只看该作者
不懂,帮顶吧

使用特权

评论回复
6
wangpe|  楼主 | 2019-7-13 19:20 | 只看该作者
多谢,已解决,还是亲自问人来的快

使用特权

评论回复
7
guoyt| | 2019-7-13 19:23 | 只看该作者


怎么解决的?

使用特权

评论回复
8
wangpe|  楼主 | 2019-7-13 19:29 | 只看该作者
很简答,都不好意思说了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

938

主题

9837

帖子

2

粉丝