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

📄 cd_dir.c

📁 基于SPMC75F2413A的LCD驱动程式序, 使用128X64的液晶模块,包含有画线,画圆和BMP,字符串等显示处理,全部源码,完整的工程.愿对从事单片机开发的工程式师有用.
💻 C
📖 第 1 页 / 共 2 页
字号:
    SPI_Data = SPI_Data|0x0002;
    TX_Data(SPI_Data);                   //夹块
}
//****************************************************************************************************
// 机器人抱块电机测试程序
// 设计者: 牟联树
// 描  述: 机器人抱块电机测试程序,测试抱块电机的功能
// 问  题:
// 日  期: 2003.11.22
// 版本号: 1.0
//**************************************************************************************************** 
void MOT_Test3(void)
{
    uint Temp;
    LCD_Init(0);
    W_ASII_s(0,0,1,(void *)"MOTO Test Please");
    W_ASII_s(0,2,1,(void *)"Exit!!!!!!!!!!!!");
    while((Temp = Scan_Keya(0))!=Exit)
    {
        if(Temp == Enter)
        {
           /*TX_MOT_S(-550);                       //送上升电机速度    
           while((RX_Data(0)&0x4000)!=0);        //上升电机向下,直到2号霍尔有信号 
           TX_MOT_S(0);*/
           SPI_Data = SPI_Data&(~0x0002);
           TX_Data(SPI_Data);
           Work_daly(500);
           TX_MOT_S(550);
           while((RX_Data(0)&0x8000)!=0);        //上升电机向上,直到1号霍尔有信号
           TX_MOT_S(0);
        }
    }
    TX_MOT_B(0);
}
//****************************************************************************************************
// 机器人卸块电机测试程序
// 设计者: 牟联树
// 描  述: 机器人卸块电机测试程序,测试卸块电机的功能
// 问  题:
// 日  期: 2003.11.22
// 版本号: 1.0
//**************************************************************************************************** 
void MOT_Test4(void)
{
    //SPI_Data = SPI_Data|0x0001;
    //TX_Data(SPI_Data);                           //夹块 
    //Work_daly(500);
    TX_MOT_F(-2000);
    while((RX_Data(0)&0x2000)==0);               //翻斗向外翻出,直到4号霍尔没有信号 
    Work_daly(400);   
    TX_MOT_F(0);
    Work_daly(800);                              //延时
    SPI_Data = SPI_Data&(~0x0001);
    TX_Data(SPI_Data);                           //夹块
    //Work_daly(2000);                             //延时
    TX_MOT_F(1700);                              
    while((RX_Data(0)&0x2000)!=0);               //翻斗向内翻回,直到3号霍尔有信号
    Work_daly(200);
    TX_MOT_F(0);
}
//****************************************************************************************************
// 机器人电机测试程序
// 设计者: 牟联树
// 描  述: 机器人电机测试程序,测试机器人的各个电机的功能
// 问  题:
// 日  期: 2003.11.22
// 版本号: 1.0
//****************************************************************************************************
void MOT_Test(void)
{
   int CD_js = 0;
   uint Temp;
   LCD_Init(0);
   W_ASII_s(0,0,1,(void *)"XZ MOT Test");
   W_ASII_s(0,2,1,(void *)"SS MOT Test");
   W_ASII_s(0,4,1,(void *)"BK MOT Test");
   W_ASII_s(0,6,1,(void *)"FD MOT Test");
   W_ASII(116,CD_js<<1,'~'+1,1);
   while((Temp = Scan_Key(0))!=Exit)
   {
       if(Temp == CD_up)
        {
           CD_js--;
           if(CD_js<0) CD_js = 3;
        }    
        if(Temp == CD_down)
        {
           CD_js++;                                   //菜单计数器
           if(CD_js>3) CD_js = 0;
        }
        if(Temp == Enter)
        {
            switch(CD_js)
            {
               case 0: MOT_Test1();                   //行走电机测试
                       break;
               case 1: MOT_Test2();                  //行走电机设置
                       break;
               case 2: MOT_Test3();                    //传感器测试
                       break;
               case 3: MOT_Test4();                   //传感器设置
                       break;        
               default: break;
            }
        }
        LCD_Init(0);
        W_ASII_s(0,0,1,(void *)"XZ MOT Test");
        W_ASII_s(0,2,1,(void *)"SS MOT Test");
        W_ASII_s(0,4,1,(void *)"BK MOT Test");
        W_ASII_s(0,6,1,(void *)"FD MOT Test");
        W_ASII(116,CD_js<<1,'~'+1,1);
   }
}
//****************************************************************************************************
// 机器人行走红外传感器参数纠正程序
// 设计者: 牟联树
// 描  述: 机器人行走红外传感器参数纠正程序,使红外传感器工作在最佳状态
// 问  题:
// 日  期: 2003.11.22
// 版本号: 1.0
//****************************************************************************************************
void CG_Setup(void)
{
   uint Temp;
   LCD_Init(0);
   W_ASII_s(0,0,1,(void *)"Setting, Please");
   W_ASII_s(0,2,1,(void *)"Wait.......");
   if((Temp = CG_setupa()) > 0) 
   {
      LCD_Init(0);
      W_ASII_s(0,0,1,(void *)"Setting lost !!!");      //setting lost please check CG
      W_ASII_s(0,2,1,(void *)"Please check CG.");      
   }
   else 
   {
      LCD_Init(0);
      W_ASII_s(0,0,1,(void *)"Setting succeed");
   }
   Work_daly(3000); 
}

//****************************************************************************************************
// 机器人行走红外传感器功能测试程序
// 设计者: 牟联树
// 描  述: 机器人行走红外传感器功能测试程序,检查红外传感器工作是否正常
// 问  题:
// 日  期: 2003.11.22
// 版本号: 1.0
//****************************************************************************************************
void CG_Test1(void)
{
   uint Temp[17],i;
   Temp[16] = 0;
   LCD_Init(0);
   W_ASII_s(0,0,1,(void *)"CG_A:");
   W_ASII_s(0,4,1,(void *)"CG_B:");
   while(Scan_Keya(100)!= Exit)
   { 
      W_ASII_s(0,2,1,(void *)"                ");
      W_ASII_s(0,6,1,(void *)"                ");
      if(Read_CG(1)<1)
      {
         for(i=0;i<16;i++)
         {
            if(data_Temp[0]&0x8000) Temp[i] = '*';
            else Temp[i] = ' ';
            data_Temp[0] = data_Temp[0]<<1;
         }
         W_ASII_s(0,2,1,Temp);
      }
      else W_ASII_s(0,2,1,(void *)"CG_Err"); 
      if(Read_CG(2)<1)
      {
         for(i=0;i<16;i++)
         {
            if(data_Temp[1]&0x8000) Temp[i] = '*';
            else Temp[i] = ' ';
            data_Temp[1] = data_Temp[1]<<1;
         }
         W_ASII_s(0,6,1,Temp);
      }
      else  W_ASII_s(0,6,1,(void *)"CG_Err");  
      Work_daly(50);
   }   
}
//****************************************************************************************************
// 机器人各执行机构的霍尔传感器功能测试程序
// 设计者: 牟联树
// 描  述: 机器人各执行机构的霍尔传感器功能测试程序,检查霍尔感器工作是否正常
// 问  题:
// 日  期: 2003.11.22
// 版本号: 1.0
//****************************************************************************************************
void CG_Test2(void)
{
   uint Temp[17],i,Temp_X;
   Temp[16] = 0;
   LCD_Init(0);
   while(Scan_Keya(0x10)!= Exit)
   { 
      W_ASII_s(0,2,1,(void *)"                ");
      Temp_X = RX_Data(0);
      for(i=0;i<16;i++)
      {
         if(Temp_X&0x8000) Temp[i] = '*';
         else Temp[i] = ' ';
         Temp_X = Temp_X<<1;
       }
       W_ASII_s(0,2,1,Temp); 
       Work_daly(20);
    }   
}
//****************************************************************************************************
// 机器人电机测试程序
// 设计者: 牟联树
// 描  述: 机器人电机测试程序,测试机器人的各个电机的功能
// 问  题:
// 日  期: 2003.11.22
// 版本号: 1.0
//****************************************************************************************************
void CG_Test(void)
{
   int CD_js = 0;
   uint Temp;
   LCD_Init(0);
   W_ASII_s(0,0,1,(void *)"WH CG Test");
   W_ASII_s(0,2,1,(void *)"Her CG Test");
   W_ASII_s(0,4,1,(void *)"WH CG_CS");
   W_ASII(116,CD_js<<1,'~'+1,1);
   while((Temp = Scan_Key(0))!=Exit)
   {
       if(Temp == CD_up)
        {
           CD_js--;
           if(CD_js<0) CD_js = 2;
        }    
        if(Temp == CD_down)
        {
           CD_js++;                                  //菜单计数器
           if(CD_js>2) CD_js = 0;
        }
        if(Temp == Enter)
        {
            switch(CD_js)
            {
               case 0: CG_Test1();                   //行走电机测试
                       break;
               case 1: CG_Test2();                   //行走电机设置
                       break;
               case 2: K_A = Data_setup();
                       K_B = Data_setup();
                       break;       
               default: break;
            }
        }
        LCD_Init(0);
        W_ASII_s(0,0,1,(void *)"WH CG Test");
        W_ASII_s(0,2,1,(void *)"Her CG Test");
        W_ASII_s(0,4,1,(void *)"WH CG_CS");
        W_ASII(116,CD_js<<1,'~'+1,1);
   }
}
//****************************************************************************************************
// 机器人各部分测试程序
// 设计者: 牟联树
// 描  述: 机器人各部分测试程序,检查机器人各部分工作是否正常
// 问  题:
// 日  期: 2003.11.22
// 版本号: 1.0
//****************************************************************************************************
void Robot_Sys_setup(void)
{
   int CD_js = 0;
   uint Temp;
   LCD_Init(0);
   W_ASII_s(0,0,1,(void *)"MOT Test");
   W_ASII_s(0,2,1,(void *)"MOT Setup");
   W_ASII_s(0,4,1,(void *)"CG Test");
   W_ASII_s(0,6,1,(void *)"CG Setup");
   W_ASII(116,CD_js<<1,'~'+1,1);
   while((Temp = Scan_Key(0))!=Exit)
   {
       if(Temp == CD_up)
        {
           CD_js--;
           if(CD_js<0) CD_js = 3;
        }    
        if(Temp == CD_down)
        {
           CD_js++;                                   //菜单计数器
           if(CD_js>3) CD_js = 0;
        }
        if(Temp == Enter)
        {
            switch(CD_js)
            {
               case 0: MOT_Test();                   //行走电机测试
                       break;
               case 1: MOT_Setup();                  //行走电机设置
                       break;
               case 2: CG_Test();                    //传感器测试
                       break;
               case 3: CG_Setup();                   //传感器设置
                       break;        
               default: break;
            }
        }
        LCD_Init(0);
        W_ASII_s(0,0,1,(void *)"MOT Test");
        W_ASII_s(0,2,1,(void *)"MOT Setup");
        W_ASII_s(0,4,1,(void *)"CG Test");
        W_ASII_s(0,6,1,(void *)"CG Setup");
        W_ASII(116,CD_js<<1,'~'+1,1);
   }
}        

⌨️ 快捷键说明

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