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

QQ登錄

只需一步,快速開始

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

單片機(jī)小車運(yùn)行時(shí)如何不帶動(dòng)voice這個(gè)程序讓他倆互不干涉的運(yùn)行?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:1013009 發(fā)表于 2022-9-21 11:40 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
100黑幣
#include<AT89X52.H>                  
#include<ZY-4WD_PWM.H>
                  
        sbit beep=P2^2;
        sbit key=P3^6;

        bit mode;              
        unsigned int cnt;
        unsigned char i;

void voice()
{
        if(mode)
        {
                beep=0;                              
         }
         else
         {
                  beep=1;
         }
}

   
        void main(void)
{        

        
            P1=0X00;           
                         TMOD=0X01;
                TH0= 0XFc;               
                 TL0= 0X18;
                   TR0= 1;
                ET0= 1;
                EA = 1;        
                                          

        while(1)        
        {
         
                        if( LeftIRBZ == 0 || RightIRBZ == 0 )  

                        {
                        
                          stop();                  

                        }
            
                        

                          else

                         {                                     if(Left_1_led==0&&Right_1_led==0)

                           {
                             run();   

                          
                           }
                                             
                                                           if(Left_1_led==1&&Right_1_led==0)            
                                  {
                                           leftrun();                  
                                

                             }
                           
                                                             if(Right_1_led==1&&Left_1_led==0)        
                                  {         
                                      rightrun();                  

                                  }
                                                    if(Right_1_led==1&&Left_1_led==1)               
                                  {         
                                      stop();               

                                  }

                        }        
                         voice();
                           if(key==0)
                           {
                                mode=1;         
                    }        
                                if(mode==1)
                           {
                                         cnt++;
                                        if(cnt>300)
                                        {
                                                        cnt=0;
                                                        mode=0;
                                        }
                    }
         }

                                
}

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

使用道具 舉報(bào)

沙發(fā)
ID:151348 發(fā)表于 2022-9-21 14:19 | 只看該作者
把voice在函數(shù)放到定時(shí)器中斷函數(shù)里,假如定時(shí)器50ms中斷一次,那記錄定時(shí)器中斷20次就觸發(fā)一次voice函數(shù),相當(dāng)于間隔1s,voice函數(shù)運(yùn)行一次
回復(fù)

使用道具 舉報(bào)

板凳
ID:123289 發(fā)表于 2022-9-21 16:07 | 只看該作者
1、將voice寫成一個(gè)子函數(shù)。
2、設(shè)立一個(gè)標(biāo)記GV,GV=1就運(yùn)行voice,GV=0就不運(yùn)行voice。
3、這樣voice是否運(yùn)行,你只要設(shè)置GV就可以控制了。例如:
    小車運(yùn)行時(shí)讓GV=0,反之讓GV=1。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表