久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: 單片機控制電機正反轉(zhuǎn),程序1判斷到了break就停止循環(huán)了 [打印本頁]

作者: 郭龍·    時間: 2019-7-25 16:33
標題: 單片機控制電機正反轉(zhuǎn),程序1判斷到了break就停止循環(huán)了
為什么程序1判斷到了break就停止循環(huán)了  但是加了一段返回的語句就一直循環(huán)大佬們求正解



IMG20190725161932.jpg (9.54 KB, 下載次數(shù): 87)

IMG20190725161932.jpg

作者: yong761228    時間: 2019-7-25 19:53
我認為2的里面jiang=1; 可能調(diào)用到了別的程序了,別的程序繼續(xù)滿足了if(num==4)又循環(huán)了,這樣就沒有直接運行下面的break.
作者: 郭龍·    時間: 2019-7-26 10:43
yong761228 發(fā)表于 2019-7-25 19:53
我認為2的里面jiang=1; 可能調(diào)用到了別的程序了,別的程序繼續(xù)滿足了if(num==4)又循環(huán)了,這樣就沒有直接運 ...

那有什么辦法解決沒有  感覺自己對編程比較小白
作者: CENTRE    時間: 2019-7-26 11:16
break;是跳出循環(huán),如果你的就一個大循環(huán)那么就直接跳出循環(huán),把所有的程序都執(zhí)行完了,自然就不會循環(huán)了啊,我猜你復位一下應該又可以按一下,然后遇到break;就又停下來了,返回語句不懂了,你可能把break;改成continue;建議程序不要這樣寫,用switch語句寫會更好
作者: C51oo    時間: 2019-7-26 11:34
你這程序只列了一小部分吧。  都沒看到循環(huán)體系啊。 if語句不是while語句,不會自己循環(huán),執(zhí)行完了繼續(xù)往下走。 你得把整體一點的程序列出來,才好分析。
作者: 郭龍·    時間: 2019-7-26 15:10
C51oo 發(fā)表于 2019-7-26 11:34
你這程序只列了一小部分吧。  都沒看到循環(huán)體系啊。 if語句不是while語句,不會自己循環(huán),執(zhí)行完了繼續(xù)往下 ...

#include <reg52.h>
#include <intrins.h>

sbit KEY_UP=P1^3;
sbit KEY_DW=P1^4;
sbit DIR_UP=P3^2;
sbit DIR_DW=P3^3;
sbit CON_ECU=P3^4;

void DelayUs2x(unsigned char t);
void DelayMs(unsigned char t);
void Delay_ms(unsigned char t);

void main()
{
                KEY_UP=1;
                KEY_DW=1;
                DIR_UP=0;
                DIR_DW=0;
                CON_ECU=1;
       
                while(1)
                {
        if(KEY_UP==0)
                                {       
                                           Delay_ms(5);
                                           if(KEY_UP==0)
                                                {
                                                                CON_ECU=0;
                                                                Delay_ms(10);
                                                          DIR_UP=1;
                                                                DelayMs(10);
                                                          CON_ECU=1;
                                                          Delay_ms(10);
                                                          DIR_UP=0;
                                                          
                                                                DelayMs(190);
                                                       
                                                                DIR_DW=1;
                                              Delay_ms(10);
                                                          DIR_DW=0;
                                                }
                                                    
                                }
                               
        if(KEY_DW==0)
                                {      
                                                                DelayMs(10);
                                                                if(KEY_DW==0)
                                {
                                                                DIR_DW=1;
                                                                Delay_ms(10);
                                                                DIR_DW=0;
                                                       
                                                                DelayMs(190);
                                                                DelayMs(190);
                                                                DelayMs(190);
                                                                DIR_UP=1;
                                                          Delay_ms(10);
                                                                DIR_UP=0;
                                }                
                        }
                }
  }


       
       
void DelayUs2x(unsigned char t)
{   
                while(--t);
}

void DelayMs(unsigned char t)
{   
                while(t--)
                {

                                DelayUs2x(245);
                                DelayUs2x(245);
                }
}

void Delay_ms(unsigned char t)               
{
        unsigned char i,j,k;
  for(k=0;k<t;k++)
        {
                _nop_();
                i = 2;
                j = 199;
                do
                {
                        while (--j);
                } while (--i);
        }
}



看這個  我想改成觸發(fā)一次電機就只轉(zhuǎn)一次 如果這個信號一直維持也只轉(zhuǎn)設定的那幾十毫秒,再次觸發(fā)同樣,怎么搞啊
作者: 281433001    時間: 2019-7-26 17:01
建議直接去掉break,
作者: 郭龍·    時間: 2019-7-26 22:03
281433001 發(fā)表于 2019-7-26 17:01
建議直接去掉break,

這個沒加break啊




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 欧美伊人| 中文字幕av在线播放 | 亚洲精品白浆高清久久久久久 | 精品久久久久久久久久久 | 久久久久九九九九 | 一本一道久久a久久精品综合蜜臀 | 中文字幕一区二区三区四区五区 | 一区二区免费在线观看 | 欧美一区二区免费 | 日韩欧美精品在线 | 国产成人免费视频网站高清观看视频 | 手机日韩 | 婷婷99| 蜜桃传媒av| 91视频播放 | 日韩视频在线播放 | 国产三区在线观看视频 | 欧美日韩一 | 国产精品国产精品国产专区不卡 | 国产区第一页 | 亚洲成人一级 | 精品久久久久久久久久久久久久久久久 | 观看av| 欧美激情一区 | 三级黄片毛片 | 天天曰夜夜| www.9191| 国产一区二区精品在线观看 | 日韩成人在线观看 | 中文字幕亚洲专区 | 免费黄色av网站 | 精品国产乱码久久久久久丨区2区 | 亚洲永久 | aacc678成免费人电影网站 | 亚洲情综合五月天 | 日韩精品久久一区二区三区 | 亚洲午夜精品 | 国产精品3区 | 国产亚洲区| av在线免费不卡 | 在线观看视频亚洲 |