立即注冊(cè) 登錄
返回首頁

uid:270142的個(gè)人空間

日志

這個(gè)程序有什么問題么

已有 538 次閱讀2018-1-2 13:36

void Delayms(unsigned int ms)
{
unsigned int i,j;
for(i=0;i<ms;i++)
#if FOSC == 11059200L
for(j=0;j<114;j++);
#elif FOSC == 12000000L
 for(j=0;j<123;j++);
#elif FOSC == 24000000L
for(j=0;j<249;j++);
#else
for(j=0;j<114;j++);
#endif
}
//ms延時(shí)函數(shù)
void Delay_xms(uint x)
{
 uint i,j;
 for(i=0;i<x;i++)
  for(j=0;j<112;j++);
}
//***************************************順時(shí)針轉(zhuǎn)動(dòng)
void MotorCW(void)
{
 uchar i;
 for(i=0;i<4;i++)
  {
   MotorData=phasecw[i];
   Delay_xms(3);//轉(zhuǎn)速調(diào)節(jié)
  }
}
//*******************************************逆時(shí)針轉(zhuǎn)動(dòng)
void MotorCCW(void)
{
 uchar i;
 for(i=0;i<4;i++)
  {
   MotorData=phaseccw[i];
   Delay_xms(3);//轉(zhuǎn)速調(diào)節(jié)
  }
}
//********************************************停止轉(zhuǎn)動(dòng)
void MotorStop(void)
{
 MotorData=0x00;
}
 //********************************************加速運(yùn)動(dòng)
void Moterspeed(void)
{  uchar i;
speed=30;
for(i=0;i<800;i++)
 {     for(i=0;i<4;i++)
        {
         MotorData=phasecw[i];
         Delay_xms(speed);//轉(zhuǎn)速調(diào)節(jié)
        }
speed--;
if(speed<4)  
  {
   speed=30;    //重新開始減速運(yùn)動(dòng)
   MotorStop();
   Delay_xms(500);
  }  
  }  
 }
/*******************************************************************************
* 函 數(shù) 名 :main
* 函數(shù)功能 :主函數(shù)
* 輸    入 :無
* 輸    出 :無
*******************************************************************************/
void main()
{   EA = 1;//總中斷
    IT0=1;
EX0 = 1; //使能 INT0 外部中斷
IT0 = 1; // 觸發(fā)方式為脈沖負(fù)邊沿觸發(fā)
IT1=1;
EX1 = 1; //使能 INT1 外部中斷
IT1 = 1; // 觸發(fā)方式為脈沖負(fù)邊沿觸發(fā)
TMOD=0x66;
TH0=0xff;
TL0=0xff;
ET0=1;
ET1=1;
TR0=1;
TR1=1;
TH1=0xff;
TL1=0xff;
MotorStop();
while(1)
switch(m)
  case 1: MotorCW();break; //反轉(zhuǎn)
  case 2: MotorCCW();break;//正轉(zhuǎn)
  case 3: MotorStop();break;//停止
  case 4: Moterspeed();break;//加速
}
}
}

/*******************************************************************************
* 函 數(shù) 名 :Exit0Int
* 函數(shù)功能 :外部中斷0 ISR
* 輸    入 :無
* 輸    出 :無
*******************************************************************************/
void Exit0_Int() interrupt 0 
{  
  Delayms(30);      //延時(shí)30ms,去掉這行會(huì)出現(xiàn)按一下中斷幾次的情況 
  if(key1 == 0)    //對(duì)按鍵進(jìn)行抗干擾處理 
  { 
   LED1= !LED1;   
   m=3;  
  } 
/*******************************************************************************
* 函 數(shù) 名 :Exit1Int
* 函數(shù)功能 :定時(shí)器中斷0 ISR
* 輸    入 :無
* 輸    出 :無
*******************************************************************************/
void Exit_1Int() interrupt 1
  Delayms(30);      //延時(shí)30ms,去掉這行會(huì)出現(xiàn)按一下中斷幾次的情況 
  if(key3 == 0)    //對(duì)按鍵進(jìn)行抗干擾處理 
  { 
    LED3= !LED3;
m=2;
Delayms(30);
  } 
 /*******************************************************************************
* 函 數(shù) 名 :Exit2Int
* 函數(shù)功能 :外部中斷0 ISR
* 輸    入 :無
* 輸    出 :無
*******************************************************************************/
void Exit_2Int() interrupt 2 
{
  Delayms(30);      //延時(shí)30ms,去掉這行會(huì)出現(xiàn)按一下中斷幾次的情況 
  if(key2 == 0)    //對(duì)按鍵進(jìn)行抗干擾處理 
  { 
    LED2 = !LED2; 
m=1;
  } 
}
 /*******************************************************************************
* 函 數(shù) 名 :Exit3Int
* 函數(shù)功能 :定時(shí)器中斷1 ISR
* 輸    入 :無
* 輸    出 :無
*******************************************************************************/
void Exit3_nt() interrupt 3 
{
  Delayms(30);      //延時(shí)30ms,去掉這行會(huì)出現(xiàn)按一下中斷幾次的情況 
  if(key4== 0)    //對(duì)按鍵進(jìn)行抗干擾處理 
  { 
    LED4 = !LED4;
m=4;
  } 
}

路過

雞蛋

鮮花

握手

雷人

評(píng)論 (0 個(gè)評(píng)論)

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

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

返回頂部