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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 6649|回復(fù): 13
打印 上一主題 下一主題
收起左側(cè)

C語言如何設(shè)定某個(gè)程序執(zhí)行一定的時(shí)間后再執(zhí)行其他命令?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:424741 發(fā)表于 2018-12-11 09:32 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
我在寫尋跡小車的程序,想讓小車直行一段時(shí)間后執(zhí)行其他程序,那用keil如何設(shè)定小車的直行時(shí)間,讓它執(zhí)行完這個(gè)命令后再執(zhí)行其他命令,且在執(zhí)行直行命令時(shí)不管遇到其他任何條件都忽視,例如滿足左轉(zhuǎn),滿足右轉(zhuǎn)的條件都忽視,直到直行的時(shí)間結(jié)束后再考慮其他執(zhí)行條件。我用的是if語句

if(LED0==1&&LED1==1&&LED2==1&&LED3==0&&LED4==0&&LED5==1&&LED6==1)  //直走
     {
      RUN();
     }

if(LED0==0&&LED1==0&&LED2==0&&LED3==1&&LED4==1&&LED5==1&&LED6==1)  //左轉(zhuǎn)聲明
         {
         TurnLeft();
         }         
if(LED0==1&&LED1==1&&LED2==1&&LED3==1&&LED4==1&&LED5==0&&LED6==0) //右轉(zhuǎn)聲明
           {
         TurnRight();
         }

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:410399 發(fā)表于 2018-12-11 10:57 | 只看該作者
if的話加delay就好
回復(fù)

使用道具 舉報(bào)

板凳
ID:443937 發(fā)表于 2018-12-11 11:37 | 只看該作者
中斷 和 循環(huán)都可以滿足你的要求

循環(huán) , 比如 for(i=0; i<100; i++);  如果嫌時(shí)間短, 多嵌套幾層
回復(fù)

使用道具 舉報(bào)

地板
ID:443927 發(fā)表于 2018-12-11 11:39 | 只看該作者
一般可以采用延時(shí)函數(shù)進(jìn)行處理。當(dāng)然若要實(shí)現(xiàn)精確的定時(shí),還可以采用定時(shí)器實(shí)現(xiàn)
回復(fù)

使用道具 舉報(bào)

5#
ID:387733 發(fā)表于 2018-12-11 12:26 | 只看該作者
if只是條件判斷語句,不是循環(huán)語句,你要用while(直行條件)語句,  這樣只要滿足直行條件,就一直循環(huán)。
回復(fù)

使用道具 舉報(bào)

6#
ID:123289 發(fā)表于 2018-12-11 12:44 | 只看該作者
做一個(gè)標(biāo)記,如G。用定時(shí)器將你會(huì)要運(yùn)行的時(shí)間做個(gè)定時(shí),到時(shí)間就將G置1,平時(shí)G=0(開起初化也=0)。
在你運(yùn)行的程序結(jié)束的地方,加一個(gè)G識(shí)別,G=1就結(jié)束,G0就再回去重復(fù)。
回復(fù)

使用道具 舉報(bào)

7#
ID:424741 發(fā)表于 2018-12-11 15:20 | 只看該作者

delay我試過,小車的速度會(huì)慢下來,要怎樣寫才能既延時(shí)有不影響小車的速度?
if(LED0==1&&LED1==1&&LED2==1&&LED3==0&&LED4==0&&LED5==1&&LED6==1)  //直走
     {
      RUN();  delay(50);Xiaoying();
回復(fù)

使用道具 舉報(bào)

8#
ID:424741 發(fā)表于 2018-12-11 15:21 | 只看該作者
sxhwdz 發(fā)表于 2018-12-11 12:26
if只是條件判斷語句,不是循環(huán)語句,你要用while(直行條件)語句,  這樣只要滿足直行條件,就一直循環(huán)。

我只直行一段時(shí)間,直行完之后就按判斷的結(jié)果來執(zhí)行其他命令。
除了用delay,有沒有其他的方式呢?
回復(fù)

使用道具 舉報(bào)

9#
ID:410399 發(fā)表于 2018-12-11 16:18 | 只看該作者
天下為家129 發(fā)表于 2018-12-11 15:20
delay我試過,小車的速度會(huì)慢下來,要怎樣寫才能既延時(shí)有不影響小車的速度?
if(LED0==1&&LED1==1&&LED ...

f(LED0==1&&LED1==1&&LED2==1&&LED3==0&&LED4==0&&LED5==1&&LED6==1)  //直走
{
      RUN();  delay(50);Xiaoying();
TMOD = 0x01;   //設(shè)置定時(shí)器0為模式1
    TH0  = 0xB8;
    TL0  = 0x00;   //定時(shí)值初值
    TR0  = 1;      //打開定時(shí)器0
回復(fù)

使用道具 舉報(bào)

10#
ID:410399 發(fā)表于 2018-12-11 16:25 | 只看該作者
天下為家129 發(fā)表于 2018-12-11 15:20
delay我試過,小車的速度會(huì)慢下來,要怎樣寫才能既延時(shí)有不影響小車的速度?
if(LED0==1&&LED1==1&&LED ...

那用定時(shí)器吧,大概流程是這樣子
if(LED0==1&&LED1==1&&LED2==1&&LED3==0&&LED4==0&&LED5==1&&LED6==1)  //直走
{
      RUN();
     TMOD = 0x01;   //設(shè)置定時(shí)器0為模式1
    TH0  = 0xB8;
    TL0  = 0x00;   //定時(shí)值初值
    TR0  = 1;      //打開定時(shí)器0
    if(1 == TF0)            //判斷定時(shí)器0是否溢出
        {
            TF0 = 0;
            TH0 = 0xB8;        //一旦溢出后,重新賦值
            TL0 = 0x00;
            counter++;
            if(50 == counter) //判斷定時(shí)器0溢出是否達(dá)到50次
            {
                 counter = 0;  //counter清0,重新計(jì)數(shù)
                 Xiaoying();
                 TR0  = 0;      //關(guān)閉定時(shí)器0
            }                 
        }
}
回復(fù)

使用道具 舉報(bào)

11#
ID:444221 發(fā)表于 2018-12-11 16:51 | 只看該作者
使用定時(shí)中斷
回復(fù)

使用道具 舉報(bào)

12#
ID:424741 發(fā)表于 2018-12-11 19:20 | 只看該作者
mosqu 發(fā)表于 2018-12-11 16:18
f(LED0==1&&LED1==1&&LED2==1&&LED3==0&&LED4==0&&LED5==1&&LED6==1)  //直走
{
      RUN();  delay(5 ...

請(qǐng)問TH0是什么意思呢?還有如果我要定時(shí)2秒,TL0要怎樣寫?代碼小白,求大神講解
回復(fù)

使用道具 舉報(bào)

13#
ID:424741 發(fā)表于 2018-12-11 19:45 | 只看該作者
天下為家129 發(fā)表于 2018-12-11 19:20
請(qǐng)問TH0是什么意思呢?還有如果我要定時(shí)2秒,TL0要怎樣寫?代碼小白,求大神講解

我用的是89C51單片機(jī),晶振是11.0592Hz的
回復(fù)

使用道具 舉報(bào)

14#
ID:410399 發(fā)表于 2018-12-12 08:28 | 只看該作者
天下為家129 發(fā)表于 2018-12-11 19:20
請(qǐng)問TH0是什么意思呢?還有如果我要定時(shí)2秒,TL0要怎樣寫?代碼小白,求大神講解

TH0是定時(shí)器高8位
TL0是定時(shí)器低8位
都是設(shè)置定時(shí)初值的
2秒大概 if(50 == counter) 改為 if(100 == counter)
定時(shí)啊中斷啊用的挺多的,最好花時(shí)間學(xué)好,下面這個(gè)介紹定時(shí)器的可以看一下
http://www.zg4o1577.cn/bbs/dpj-19016-1.html
我也是個(gè)小白,噶油。51黑還有教程區(qū)的,可以去看一下,我也在看。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 视频一区 国产精品 | 在线区 | 亚洲国产成人久久综合一区,久久久国产99 | 日韩欧美视频在线 | 国产精品av久久久久久久久久 | 亚洲精品视频一区 | 亚洲一区亚洲二区 | 免费在线视频一区二区 | 国产农村妇女毛片精品久久麻豆 | 久久国产精品视频 | 国产午夜三级一区二区三 | 日韩精品一区在线 | av毛片 | 欧美二区三区 | 国产色网 | 日韩亚洲欧美一区 | 日韩视频―中文字幕 | 久久精品视频9 | 日韩精品一区二区三区视频播放 | 久久精品国产一区二区电影 | 亚洲福利 | av大全在线 | 性色的免费视频 | 亚洲精品福利视频 | 亚洲97| 91成人免费看片 | 国产福利精品一区 | 国产小视频精品 | 亚洲免费视频网站 | 国内自拍偷拍视频 | 欧美成人综合 | 在线视频久久 | 99精品福利视频 | 国产成人精品综合 | 亚洲在线成人 | 免费观看一级毛片视频 | 欧美一级高清片 | 国产一级片在线观看视频 | 日本免费黄色 | 在线视频亚洲 | 久久国产精品72免费观看 |