gui.c

来自「DDS产生程序」· C语言 代码 · 共 1,654 行 · 第 1/5 页

C
1,654
字号
      }
           
       else if (KeyInputPoint == 7)
       {
            if ((DigitalBuffer[0] < 4) && (Dot == 7))
            {
                CurrentState.Freq = (DigitalBuffer[0]*1000000.0 + DigitalBuffer[1]*100000.0 + DigitalBuffer[2] * 10000.0 + DigitalBuffer[3]*1000.0 + DigitalBuffer[4]*100.0 + DigitalBuffer[5]*10.0 + DigitalBuffer[6]*1.0 + DigitalBuffer[7]*0.1);
                WriteFreq(CurrentState.Freq);
                DispBuffer[0] = LedTable[DigitalBuffer[0]] | 0x02;
                DispBuffer[1] = LedTable[DigitalBuffer[1]];
                DispBuffer[2] = LedTable[DigitalBuffer[2]];
                DispBuffer[3] = LedTable[DigitalBuffer[3]];
                DispBuffer[4] = LedTable[DigitalBuffer[4]];
                DispBuffer[5] = LedTable[DigitalBuffer[5]];
                DispBuffer[6] = LedTable[DigitalBuffer[6]];
                DispBuffer[7] = LedTable[DigitalBuffer[7]];
                DispMark[1] |= (1 << MLed);
                DispMark[2] |= (1 << HzLed);
                DispMark[2] &= ~(1 << kLed);
           }
           
           else
           {
               error();
           }
        }
    }
    
    else if (CurrentState.CurrentMode == DUTYMODE)
    {
         CurrentState.Duty = (DigitalBuffer[0]*10 + DigitalBuffer[1]);
         if ((CurrentState.Duty >= 20) && (CurrentState.Duty <= 80))
         {
             OCR1B = (1232 - (CurrentState.Duty - 20)*8);
         }
         else
         {
             error();
         }
    }
    else
    {
         error();
    }
       UpDataCH451();
       KeyInputPoint = 0;
       Dot = 0;
}

void KeykHzFun(void)
{
       if (KeyInputPoint == 0)
       {
             CurrentState.Freq = DigitalBuffer[0]*1000.0;
             WriteFreq(CurrentState.Freq);
             DispBuffer[0] = LedTable[DigitalBuffer[0]] | 0x02;
             DispBuffer[1] = LedTable[0];
             DispBuffer[2] = LedTable[0];
             DispBuffer[3] = LedTable[0];
             DispBuffer[4] = LedTable[0];
             DispMark[1] |= (1 << kLed) | (1 << HzLed);
             DispMark[1] &= ~(1 << MLed);
             //UpDataCH451();
       }
       
       else if (KeyInputPoint == 1)
       {
            if (Dot == 0)
            {
                  CurrentState.Freq = (DigitalBuffer[0]*10000.0 + DigitalBuffer[1]*1000.0);
                    //SignalInit();
                 WriteFreq(CurrentState.Freq);
                 DispBuffer[0] = LedTable[DigitalBuffer[0]];
                 DispBuffer[1] = LedTable[DigitalBuffer[1]] | 0x02;
                 DispBuffer[2] = LedTable[0];
                 DispBuffer[3] = LedTable[0];
                 DispBuffer[4] = LedTable[0];
                 DispBuffer[5] = LedTable[0];
                 DispMark[1] |= (1 << kLed) | (1 << HzLed);
                 DispMark[1] &= ~(1 << MLed);
                 // UpDataCH451(); 
                
            }
            
            else if (Dot == 1)
            {
                 CurrentState.Freq = (DigitalBuffer[0]*1000.0 + DigitalBuffer[1]*100.0);
                 WriteFreq(CurrentState.Freq);
                 DispBuffer[0] = LedTable[DigitalBuffer[0]] | 0x02;
                 DispBuffer[1] = LedTable[DigitalBuffer[1]];
                 DispBuffer[2] = LedTable[0];
                 DispBuffer[3] = LedTable[0];
                 DispBuffer[4] = LedTable[0];
                 DispMark[1] |= (1 << kLed) | (1 << HzLed);
                 DispMark[1] &= ~(1 << MLed);
            }
            
            else
            {
                error();
            }
             
       }
       
       else if (KeyInputPoint == 2)
       {
            if (Dot == 0)
            {
                 CurrentState.Freq = (DigitalBuffer[0]*100000.0 + DigitalBuffer[1]*10000.0 + DigitalBuffer[2]*1000.0);
                 //SignalInit();
                 WriteFreq(CurrentState.Freq);
                 DispBuffer[0] = LedTable[DigitalBuffer[0]];
                 DispBuffer[1] = LedTable[DigitalBuffer[1]];
                 DispBuffer[2] = LedTable[DigitalBuffer[2]] | 0x02;
                 DispBuffer[3] = LedTable[0];
                 DispBuffer[4] = LedTable[0];
                 DispBuffer[5] = LedTable[0];
                 DispBuffer[6] = LedTable[0];
                 DispMark[2] |= (1 << kLed) | (1 << HzLed);
                 DispMark[1] &= ~(1 << MLed);
                // UpDataCH451();
            }
            else if (Dot == 1)
            {
                 CurrentState.Freq = (DigitalBuffer[0]*1000.0 + DigitalBuffer[1]*100.0 + DigitalBuffer[2]*10.0);
                 WriteFreq(CurrentState.Freq);
                 DispBuffer[0] = LedTable[DigitalBuffer[0]] | 0x02;
                 DispBuffer[1] = LedTable[DigitalBuffer[1]];
                 DispBuffer[2] = LedTable[DigitalBuffer[2]];
                 DispBuffer[3] = LedTable[0];
                 DispBuffer[4] = LedTable[0];
                 DispMark[2] |= (1 << kLed) | (1 << HzLed);
                 DispMark[1] &= ~(1 << MLed);
            }
            else if (Dot == 2)
            {
                 CurrentState.Freq = (DigitalBuffer[0]*10000.0 + DigitalBuffer[1]*1000.0 + DigitalBuffer[2]*100.0);
                 WriteFreq(CurrentState.Freq);
                 DispBuffer[0] = LedTable[DigitalBuffer[0]];
                 DispBuffer[1] = LedTable[DigitalBuffer[1]] | 0x02;
                 DispBuffer[2] = LedTable[DigitalBuffer[2]];
                 DispBuffer[3] = LedTable[0];
                 DispBuffer[4] = LedTable[0];
                 DispBuffer[5] = LedTable[0];
                 DispMark[2] |= (1 << kLed) | (1 << HzLed);
                 DispMark[1] &= ~(1 << MLed);
            }
            
            else
            {
                 error();
            }
       }
       
       else if (KeyInputPoint == 3)
       {
             if ((DigitalBuffer[0] < 4) && (Dot == 0))
             {
                 CurrentState.Freq = (DigitalBuffer[0]*1000000.0 + DigitalBuffer[1]*100000.0 + DigitalBuffer[2]*10000.0 + DigitalBuffer[3]*1000.0);
                 //SignalInit();
                 WriteFreq(CurrentState.Freq);
                 DispBuffer[0] = LedTable[DigitalBuffer[0]] | 0x02;
                 DispBuffer[1] = LedTable[DigitalBuffer[1]];
                 DispBuffer[2] = LedTable[DigitalBuffer[2]];
                 DispBuffer[3] = LedTable[DigitalBuffer[3]];
                 DispBuffer[4] = LedTable[0];
                 DispBuffer[5] = LedTable[0];
                 DispBuffer[6] = LedTable[0];
                 DispBuffer[7] = LedTable[0];
                 DispMark[1] |= (1 << MLed);
                 DispMark[2] |= (1 << HzLed);
                 DispMark[2] &= ~(1 << kLed);
                      // UpDataCH451();
             }  
                  
            else if (Dot == 1)
            {
                 CurrentState.Freq = (DigitalBuffer[0]*1000.0 + DigitalBuffer[1]*100.0 + DigitalBuffer[2] * 10.0 + DigitalBuffer[3]*1.0);
                 WriteFreq(CurrentState.Freq);
                 DispBuffer[0] = LedTable[DigitalBuffer[0]] | 0x02;
                 DispBuffer[1] = LedTable[DigitalBuffer[1]];
                 DispBuffer[2] = LedTable[DigitalBuffer[2]];
                 DispBuffer[3] = LedTable[DigitalBuffer[3]];
                 DispBuffer[4] = LedTable[0];
                 DispMark[1] &= ~(1 << MLed);
                 DispMark[2] |= (1 << HzLed);
                 DispMark[2] |= (1 << kLed);
            }
            
            else if (Dot == 2)
            {
                  CurrentState.Freq = (DigitalBuffer[0]*10000.0 + DigitalBuffer[1]*1000.0 + DigitalBuffer[2]*100.0 + DigitalBuffer[3]*10.0);
                  WriteFreq(CurrentState.Freq);
                  DispBuffer[0] = LedTable[DigitalBuffer[0]];
                  DispBuffer[1] = LedTable[DigitalBuffer[1]] | 0x02;
                  DispBuffer[2] = LedTable[DigitalBuffer[2]];
                  DispBuffer[3] = LedTable[DigitalBuffer[3]];
                  DispBuffer[4] = LedTable[0];
                  DispBuffer[5] = LedTable[0];
                  DispMark[1] &= ~(1 << MLed);
                  DispMark[2] |= (1 << HzLed);
                  DispMark[2] |= (1 << kLed);
             }
            
            else if (Dot == 3)
            {
                  CurrentState.Freq = (DigitalBuffer[0]*100000.0 + DigitalBuffer[1]*10000.0 + DigitalBuffer[2]*1000.0 + DigitalBuffer[3]*100.0);
                  WriteFreq(CurrentState.Freq);
                  DispBuffer[0] = LedTable[DigitalBuffer[0]];
                  DispBuffer[1] = LedTable[DigitalBuffer[1]];
                  DispBuffer[2] = LedTable[DigitalBuffer[2]] | 0x02;
                  DispBuffer[3] = LedTable[DigitalBuffer[3]];
                  DispBuffer[4] = LedTable[0];
                  DispBuffer[5] = LedTable[0];
                  DispBuffer[6] = LedTable[0];
                  DispMark[1] &= ~(1 << MLed);
                  DispMark[2] |= (1 << HzLed);
                  DispMark[2] |= (1 << kLed);
            }
       
            else
            {
                  error();
            }
       }
       
       else if (KeyInputPoint == 4)
       {
            if (Dot == 1)
            {
                  CurrentState.Freq = (DigitalBuffer[0]*1000.0 + DigitalBuffer[1]*100.0 + DigitalBuffer[2]*10.0 + DigitalBuffer[3]*1.0 + DigitalBuffer[4]*0.1);
                  WriteFreq(CurrentState.Freq);
                  DispBuffer[0] = LedTable[DigitalBuffer[0]] | 0x02;
                  DispBuffer[1] = LedTable[DigitalBuffer[1]];
                  DispBuffer[2] = LedTable[DigitalBuffer[2]];
                  DispBuffer[3] = LedTable[DigitalBuffer[3]];
                  DispBuffer[4] = LedTable[DigitalBuffer[4]];
                  DispMark[1] &= ~(1 << MLed);
                  DispMark[2] |= (1 << HzLed);
                  DispMark[2] |= (1 << kLed);
            }
            
            else if (Dot == 2)
            {
                  CurrentState.Freq = (DigitalBuffer[0]*10000.0 + DigitalBuffer[1]*1000.0 + DigitalBuffer[2]*100.0 + DigitalBuffer[3]*10.0 + DigitalBuffer[4]*1.0);
                  WriteFreq(CurrentState.Freq);
                  DispBuffer[0] = LedTable[DigitalBuffer[0]];
                  DispBuffer[1] = LedTable[DigitalBuffer[1]] | 0x02;
                  DispBuffer[2] = LedTable[DigitalBuffer[2]];
                  DispBuffer[3] = LedTable[DigitalBuffer[3]];
                  DispBuffer[4] = LedTable[DigitalBuffer[4]];
                  DispBuffer[5] = LedTable[0];
                  DispMark[1] &= ~(1 << MLed);
                  DispMark[2] |= (1 << HzLed);
                  DispMark[2] |= (1 << kLed);
            }
            
            else if (Dot == 3)
            {
                  CurrentState.Freq = (DigitalBuffer[0] * 100000.0 + DigitalBuffer[1] * 10000.0 + DigitalBuffer[2] * 1000.0 + DigitalBuffer[3] * 100.0 + DigitalBuffer[4] * 10.0);
                  WriteFreq(CurrentState.Freq);
                  DispBuffer[0] = LedTable[DigitalBuffer[0]];
                  DispBuffer[1] = LedTable[DigitalBuffer[1]];
                  DispBuffer[2] = LedTable[DigitalBuffer[2]] | 0x02;
                  DispBuffer[3] = LedTable[DigitalBuffer[3]];
                  DispBuffer[4] = LedTable[DigitalBuffer[4]];
                  DispBuffer[5] = LedTable[0];
                  DispBuffer[6] = LedTable[0];
                  DispMark[1] &= ~(1 << MLed);
                  DispMark[2] |= (1 << HzLed);
                  DispMark[2] |= (1 << kLed);
            }
            
             else if ((Dot == 4) && (DigitalBuffer[0] < 4))
            {
                  CurrentState.Freq = (DigitalBuffer[0] * 1000000.0 + DigitalBuffer[1] * 100000.0 + DigitalBuffer[2] * 10000.0 + DigitalBuffer[3] * 1000.0);
                  WriteFreq(CurrentState.Freq);
                  DispBuffer[0] = LedTable[DigitalBuffer[0]] | 0x02;
                  DispBuffer[1] = LedTable[DigitalBuffer[1]];
                  DispBuffer[2] = LedTable[DigitalBuffer[2]];
                  DispBuffer[3] = LedTable[DigitalBuffer[3]];
                  DispBuffer[4] = LedTable[0];
                  DispBuffer[5] = LedTable[0];
                  DispBuffer[6] = LedTable[0];
                  DispBuffer[7] = LedTable[0];
                  DispMark[1] |= (1 << MLed);
                  DispMark[2] |= (1 << HzLed);
                  DispMark[2] &= ~(1 << kLed);
            }
            
            else
            {
                  error();
            }
       }
       
       else if (KeyInputPoint == 5)
       {
            if (Dot == 2)
            {
                  CurrentState.Freq = (DigitalBuffer[0]*10000.0 + DigitalBuffer[1]*1000.0 + DigitalBuffer[2]*100.0 + DigitalBuffer[3]*10.0 + DigitalBuffer[4]*1.0 + DigitalBuffer[5]*0.1);
                  WriteFreq(CurrentState.Freq);
                  DispBuffer[0] = LedTable[DigitalBuffer[0]];
                  DispBuffer[1] = LedTable[DigitalBuffer[1]] | 0x02;
                  DispBuffer[2] = LedTable[DigitalBuffer[2]];
                  DispBuffer[3] = LedTable[DigitalBuffer[3]];
                  DispBuffer[4] = LedTable[DigitalBuffer[4]];
                  DispBuffer[5] = LedTable[DigitalBuffer[5]];
                  DispMark[1] |= (1 << MLed);
                  DispMark[2] |= (1 << HzLed);
                  DispMark[2] &= ~(1 << kLed);
            }
            
            else if (Dot == 3)
            {
                  CurrentState.Freq = (DigitalBuffer[0]*100000.0 + DigitalBuffer[1]*10000.0 + DigitalBuffer[2]*1000.0 + DigitalBuffer[3]*100.0 + DigitalBuffer[4]*10.0 + DigitalBuffer[5]*1.0);
                  WriteFreq(CurrentState.Freq);
                  DispBuffer[0] = LedTable[DigitalBuffer[0]];
                  DispBuffer[1] = LedTable[DigitalBuffer[1]];
                  DispBuffer[2] = LedTable[DigitalBuffer[2]] | 0x02;
                  DispBuffer[3] = LedTable[DigitalBuffer[3]];
                  DispBuffer[4] = LedTable[DigitalBuffer[4]];
                  DispBuffer[5] = LedTable[DigitalBuffer[5]];
                  DispBuffer[6] = LedTable[0];
                  DispMark[1] &= ~(1 << MLed);
                  DispMark[2] |= (1 << HzLed);
                  DispMark[2] |= (1 << kLed);
            }
            
            else if ((Dot == 4) && (DigitalBuffer[0] < 4))
            {

⌨️ 快捷键说明

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