⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 凌阳单片机的机器人能够寻迹
💻 C
字号:
#include "spce061a.h"
#include"bit.h"                       //位寻址头函数
  void Delay(void);                      //延时函数    
int main()
{  long i;
	*P_IOA_Dir = 0x0000;				//初始化IOA口为带下拉电阻输入口
	*P_IOA_Attrib = 0x0000;
	*P_IOA_Data = 0x0000;
	
	*P_IOB_Dir = 0xffff;				//初始化IOB口为同相输出口
	*P_IOB_Attrib = 0xffff;
	*P_IOB_Data = 0x0000;				//初始化IOB口输出为高电平
	

	while(1)
 { 
  if(P0_3==0&P0_1==0)                      //正常寻轨   
	{
	 *P_IOB_Data=0x000a;                      //小车正常前进  
	 
	} 
  if(P0_3==1)                    //小车右偏  
    // *P_IOB_Data=0x0002;
    // Delay3(); 
 *P_IOB_Data=0x0006;
   //  Delay3();                       //小车原地左转
  if(P0_1==1)                    //小车左偏
    // *P_IOB_Data=0x0008;
   //  Delay3(); 
     *P_IOB_Data=0x0009; 
   //   Delay3();                       //小车原地右转

  if(P0_0==1)                                //探到小球
    {
      *P_IOB_Data=0x0005;                        //后退   
       Delay1();                                  //延时xx s
      *P_IOB_Data=0x0020;                        //取球手臂打开 
       Delay2();                                  //延时2.5s
      *P_IOB_Data=0x000a;
       Delay1();                                 //小车前进xx s
     for(i=0;i<=92766;i++)
       {
       	*P_IOB_Data=0x0010;                   
       	*P_Watchdog_Clear = 0x0001;               //清看门狗               
       	if(P0_4==1)                                //小球进入车中
        {*P_IOB_Data=0x0040;                          //报警
        Delay();
        break;                                           
        }
      
       }
    } 
 
  
   
  
  *P_Watchdog_Clear = 0x0001;                 //清看门狗
 } 
  	
}
void Delay(void)                      //延时0.5s
{
	unsigned int uiCount;
	for(uiCount = 0;uiCount <= 32767;uiCount++)
	{
		*P_Watchdog_Clear = 0x0001;    //清看门狗
	}
}
void Delay1(void)                      //延时0.6s
{
	
		unsigned int uiCount;
	for(uiCount = 0;uiCount <= 42767;uiCount++)
	{
		*P_Watchdog_Clear = 0x0001;    //清看门狗
	}
}
void Delay2(void)                      //延时1.5s
{
	Delay();Delay();Delay();
	{
		*P_Watchdog_Clear = 0x0001;    //清看门狗
	}
}
void Delay3(void)                      
{
	unsigned int uiCount;
	for(uiCount = 0;uiCount <=2767;uiCount++)
	{
		*P_Watchdog_Clear = 0x0001;    //清看门狗
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -