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

📄 sca61t.c

📁 使用MC9S12DG128芯片
💻 C
字号:
#include "includes.h"

/*****************************************************************************/
const word Ref4096Angel[900]=
{
9000,8638,8487,8372,8275,8189,8111,8040,7974,7911,7852,7796,7742,7691,7641,7593,7547,7502,7458,7415,7374,7334,7294,7255,7218,7181,7144,7108,7073,7039,7005,6972,6939,6907,6875,6843,6813,6782,6752,6722,6693,6664,6635,6606,6578,6551,6523,6496,6469,6442,6416,6390,6364,6338,6313,6287,6262,6237,6213,6188,6164,6140,6116,6093,6069,6046,6023,6000,5977,5954,5932,5909,5887,5865,5843,5821,5799,5778,5756,5735,5714,5693,5672,5651,5630,5610,5589,5569,5549,5529,5508,5489,5469,5449,5429,5410,5390,5371,5351,5332,5313,5294,5275,5256,5237,5219,5200,5181,5163,5144,5126,5108,5090,5071,5053,5035,5017,5000,4982,4964,4946,4929,4911,4894,4876,4859,4842,4825,4807,4790,4773,4756,4739,4722,4705,4689,4672,4655,4639,4622,4605,4589,4573,4556,4540,4523,4507,4491,4475,4459,4443,4427,4411,4395,4379,4363,4347,4331,4316,4300,4284,4269,4253,4238,4222,4207,4191,4176,4161,4145,4130,4115,4100,4084,4069,4054,4039,4024,4009,3994,3979,3964,3949,3935,3920,3905,3890,3876,3861,3846,3832,3817,3802,3788,3773,3759,3745,3730,3716,3701,3687,3673,3658,3644,3630,3616,3602,3587,3573,3559,3545,3531,3517,3503,3489,3475,3461,3447,3433,3419,3406,3392,3378,3364,3350,3337,3323,3309,3296,3282,3268,3255,3241,3228,3214,3201,3187,3174,3160,3147,3133,3120,3106,3093,3080,3066,3053,3040,3026,3013,3000,2987,2974,2960,2947,2934,2921,2908,2895,2882,2869,2855,2842,2829,2816,2803,2790,2777,2765,2752,2739,2726,2713,2700,2687,2674,2662,2649,2636,2623,2610,2598,2585,2572,2559,2547,2534,2521,2509,2496,2483,2471,2458,2446,2433,2420,2408,2395,2383,2370,2358,2345,2333,2320,2308,2295,2283,2271,2258,2246,2233,2221,2209,2196,2184,2172,2159,2147,2135,2122,2110,2098,2085,2073,2061,2049,2037,2024,2012,2000,1988,1976,1963,1951,1939,1927,1915,1903,1891,1878,1866,1854,1842,1830,1818,1806,1794,1782,1770,1758,1746,1734,1722,1710,1698,1686,1674,1662,1650,1638,1626,1614,1602,1590,1578,1566,1555,1543,1531,1519,1507,1495,1483,1471,1460,1448,1436,1424,1412,1400,1389,1377,1365,1353,1341,1330,1318,1306,1294,1283,1271,1259,1247,1236,1224,1212,1201,1189,1177,1165,1154,1142,1130,1119,1107,1095,1084,1072,1060,1049,1037,1025,1014,1002,990,979,967,956,944,932,921,909,897,886,874,863,851,840,828,816,805,793,782,770,759,747,735,724,712,701,689,678,666,655,643,632,620,608,597,585,574,562,551,539,528,516,505,493,482,470,459,447,436,424,413,401,390,378,367,355,344,333,321,310,298,287,275,264,252,241,229,218,206,195,183,172,160,149,138,126,115,103,92,80,69,57,46,34,23,11,0,11,23,34,46,57,69,80,92,103,115,126,138,149,160,172,183,195,206,218,229,241,252,264,275,287,298,310,321,333,344,355,367,378,390,401,413,424,436,447,459,470,482,493,505,516,528,539,551,562,574,585,597,608,620,632,643,655,666,678,689,701,712,724,735,747,759,770,782,793,805,816,828,840,851,863,874,886,897,909,921,932,944,956,967,979,990,1002,1014,1025,1037,1049,1060,1072,1084,1095,1107,1119,1130,1142,1154,1165,1177,1189,1201,1212,1224,1236,1247,1259,1271,1283,1294,1306,1318,1330,1341,1353,1365,1377,1389,1400,1412,1424,1436,1448,1460,1471,1483,1495,1507,1519,1531,1543,1555,1566,1578,1590,1602,1614,1626,1638,1650,1662,1674,1686,1698,1710,1722,1734,1746,1758,1770,1782,1794,1806,1818,1830,1842,1854,1866,1878,1891,1903,1915,1927,1939,1951,1963,1976,1988,2000,2012,2024,2037,2049,2061,2073,2085,2098,2110,2122,2135,2147,2159,2172,2184,2196,2209,2221,2233,2246,2258,2271,2283,2295,2308,2320,2333,2345,2358,2370,2383,2395,2408,2420,2433,2446,2458,2471,2483,2496,2509,2521,2534,2547,2559,2572,2585,2598,2610,2623,2636,2649,2662,2674,2687,2700,2713,2726,2739,2752,2765,2777,2790,2803,2816,2829,2842,2855,2869,2882,2895,2908,2921,2934,2947,2960,2974,2987,3000,3013,3026,3040,3053,3066,3080,3093,3106,3120,3133,3147,3160,3174,3187,3201,3214,3228,3241,3255,3268,3282,3296,3309,3323,3337,3350,3364,3378,3392,3406,3419,3433,3447,3461,3475,3489,3503,3517,3531,3545,3559,3573,3587,3602,3616,3630,3644,3658,3673,3687,3701,3716,3730,3745,3759,3773,3788,3802,3817,3832,3846,3861,3876,3890,3905,3920,3935,3949,3964,3979,3994,4009,4024,4039,4054,4069,4084,4100,4115,4130,4145,4161,4176,4191,4207,4222,4238,4253,4269,4284,4300,4316,4331,4347,4363,4379,4395,4411,4427,4443,4459,4475,4491,4507,4523,4540,4556,4573,4589,4605,4622,4639,4655,4672,4689,4705,4722,4739,4756,4773,4790,4807,4825,4842,4859,4876,4894,4911,4929,4946,4964,4982,5000,5017,5035,5053,5071,5090,5108,5126,5144,5163,5181,5200,5219,5237,5256,5275,5294
};

INT8U  BalanceFlag;

INT16U ScaData;   //用于调试观察角度值

INT16U Angle;

INT8U Flag;

INT16U BalanceAngle =  625;


void Test_SCA61T(void) {
  
      INT16U Angle2 = 0;
      
      INT8U  Flag1 = 0;
      
      INT16U i = 0;
      
    //  InitTC1();     //初始化TC1,用来计算当前所运行的时间

 // StartTC1();    //开始计时间
      
      for(;;){
        
          while (i <5000) { i++;}
          
          i = 0;
            
          //Flag1 = SCA_Angle(&Angle1);
          
     //     Angle = ReadADC0();
     
     Angle2 = ReadADC(0);
          
          //LcdWriteOne(0xC0,&Flag1,1);
          
          LcdWrite16U(0xC2,Angle2,4);
        
          while(KeyFlag == ON) {
            
            KeyFlag = OFF;
            
            if(ValueKey == Exit) {return;} 
            
            //else if (ValueKey == Enter) {Flag = SCA_Angle(&Angle1);LcdWriteOne(0xC0,&Flag1,1);LcdWrite16U(0xC2,Angle1,4);}
              
         }
      }
}
   
/******************************************************************************/

void SCA_Func(void) {
  
       INT8U SCALcd[] = {"SCA61T Angle                    "};
      
       //INT16U Angle;
       
       INT8U Flag;
       
       LcdWriteAll(SCALcd);
       
          for(;;) {
       
          Flag = SCA_Angle(&Angle);
    
          while (KeyFlag == ON) {
      
          KeyFlag = OFF;
      
          if (ValueKey == Exit) {return;} 
          
          else if (ValueKey == Enter) { Flag = SCA_Angle(&Angle);} 
          
          else if (ValueKey == 0x0D) {Test_SCA61T();}
            
        
      }
   
    }
       
       
       return;
          
}

/******************************************************************/

INT8U SCA_Angle(INT16U *pAngle) {                   //代入指针存放角度,返回方向标志
      
       //INT8U Flag;
       
       //INT16U ScaData;
       
       INT16S j = 0;          
       
       InitADC0();
       
       ScaData=ReadADC(0);                        //采用AD通道0进行采样
       
       if(BalanceFlag == ON){BalanceAngle = ScaData;BalanceFlag = OFF;}
              
       j = ScaData-125;
       
       if (j>=125) {                             //必须大于最小值
        
          if (ScaData<625) {Flag = CarBack;}        //电压为负,往上
        
          else {Flag = CarFront;}
          
          ScaData = Ref4096Angel[j];
          
          //if(BalanceFlag == ON){BalanceFlag = OFF;BalanceAngle2 = ScaData;}            
          
          *pAngle = ScaData;
       
       } 
       
       else {Flag = 0xFF;*pAngle = 0xFFFF;}
       
      return (Flag);
       
}

⌨️ 快捷键说明

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