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

📄 bu2505fv.c

📁 这是一个7"LCD 液晶屏显示器
💻 C
字号:
#include "indash.h"

extern          char    Current_Status;
extern          char    PICSEL_Next_Mode;
extern          char    Volume_Value;
extern          char    Color_Value;
extern          char    Tint_Value;
extern          char    Bright_Value;
extern          char    Contrast_Value;
extern          char    Dimmer_Value;
extern          char    GM1_Value;
extern          char    GM2_Value;
extern          char    RGBAMP_Value;
extern		bit      Rearview_Enable;

void DA_88347_Init()
{
   
   DA_88347_CLK = 0;//CLK
   DA_88347_LD  = 0;//CS
   DA_88347_DI  = 0;//IOData
   Set_Tint();
   Set_Bright();
   Set_Contrast();
   Set_Color();
   Set_Dimmer();
   Set_R_L(EEPROM_Receive_25_Bit(OP_READ, EE_R_L_ADDR));
   Set_PICTURE(EEPROM_Receive_25_Bit(OP_READ, EE_PICTURE_ADDR));
   Set_COMAD(EEPROM_Receive_25_Bit(OP_READ, EE_COMAD_ADDR));
   Set_ZOOM(EEPROM_Receive_25_Bit(OP_READ, EE_ZOOM_ADDR));
   //Set_AV_IN(EEPROM_Receive_25_Bit(OP_READ, EE_TV_AV_ADDR));
   //Set_IR_IN(EEPROM_Receive_25_Bit(OP_READ, EE_IR_IN_ADDR));
   Set_FM(EEPROM_Receive_25_Bit(OP_READ, EE_FM_ADDR));
   Set_GM1();
   Set_GM2();
   Set_RGBAMP();
   if(EEPROM_Receive_25_Bit(OP_READ, EE_SPEAKER_ADDR))
     {
       Volume_Value = EEPROM_Receive_25_Bit(OP_READ, EE_VOLUME_ADDR);
       DA_88347_Transmit_Data(OUT_VOLUME, Volume_Value, VOLUME_VOL_MAX, VOLUME_VOL_MIN);
     }
   else
     {
       Mute_Enable();
     }
   
}

#ifdef USE_BU2505FV
void DA_88347_Clk()
{
   DA_88347_CLK = 1;
   DA_88347_CLK = 1;
   DA_88347_CLK = 1;
   DA_88347_CLK = 1;
   DA_88347_CLK = 1;
   DA_88347_CLK = 1;
   DA_88347_CLK = 1;
   DA_88347_CLK = 0;
}

void DA_88347_Transmit_Data(char addr, unsigned long value, float max, float min)
{

   char i;
//   char buf[6];
   float value1;
   //float value2;
   /* Load enable */
   DA_88347_LD = 0;
   value1  = (max - min) * value * 204; 
   value1 /= PICSEL_MAX; 
   value1 += min * 204;

   //Printxy_Normal( 1, 3, Ntoa((signed long) value1, Fill(buf, 3, ' '), LEFT, ' '), FONT_GREEN);

   for (i = 0; i < 4; i++)
   {
      DA_88347_DI = addr % 2;
      DA_88347_Clk();
      addr /= 2;
   }

   //value2=(unsigned char)value1;
   for (i = 0; i < 10; i++)
   {
      DA_88347_DI =((unsigned char) value1) % 2;
      DA_88347_Clk();
      value1 /= 2;
   }


   /* Load strobe, setup time > 100ns */
   DA_88347_LD = 1;
   DA_88347_LD = 1;
   DA_88347_LD = 0;
}

#else

void DA_88347_Clk()
{
   DA_88347_CLK = 0;
   DA_88347_CLK = 0;
   DA_88347_CLK = 0;
   DA_88347_CLK = 0;
   DA_88347_CLK = 0;
   DA_88347_CLK = 0;
   DA_88347_CLK = 0;
   DA_88347_CLK = 0;
   DA_88347_CLK = 0;
   DA_88347_CLK = 0;
   DA_88347_CLK = 1;
}

void DA_88347_Transmit_Byte(unsigned char value) reentrant
{
   static char cnt = 0;

   cnt++;
   if (cnt < 8)
      DA_88347_Transmit_Byte(value / 2);
   else
      cnt = 0;

   DA_88347_DI = value % 2;
   DA_88347_Clk();
}

void DA_88347_Transmit_Data(char addr, unsigned char value, float max, float min)
{
   //char buf[4];
   char i;
   float value1;
   /* Load enable */
   DA_88347_LD = 0;
   value1 = (max - min) * value * 204;
   value1 /= PICSEL_MAX;
   value1 += min * 204;

  // Printxy_Normal( 3, 4, Ntoa((signed long)value1, Fill(buf, 3, ' '), LEFT, ' '), FONT_GREEN);
 
   for (i = 0; i < 4; i++)
   {
      DA_88347_DI = addr % 2;
      DA_88347_Clk();
      addr /= 2;
   }
   
   DA_88347_Transmit_Byte((unsigned char)value1 % 256);

   /* Load strobe, setup time > 100ns */
   DA_88347_LD = 1;
   DA_88347_LD = 1;
   DA_88347_LD = 1;
   DA_88347_LD = 1;
   DA_88347_LD = 1;
   DA_88347_LD = 1;
   DA_88347_LD = 1;
   DA_88347_LD = 1;
   DA_88347_LD = 0;
}
#endif

void Key_Volume_Up(void)
{
   char value;

   switch(Current_Status)
   {  
     case IS_SET_GM1:
         if (GM1_Value < GM1_MAX)
            GM1_Value++;
         Set_GM1();
         Show_GM1();
         break;
      case IS_SET_GM2:
         if (GM2_Value < GM2_MAX)
            GM2_Value++;
         Set_GM2();
         Show_GM2();
         break;
      case IS_SET_RGBAMP:
         if (RGBAMP_Value < RGBAMP_MAX)
            RGBAMP_Value++;
         Set_RGBAMP();
         Show_RGBAMP();
         break;     
      case IS_SET_SPEAKER:
         if(EEPROM_Receive_25_Bit(OP_READ, EE_SPEAKER_ADDR))
          Set_Speaker(False);    
         else          
          Set_Speaker(True);         
          Reset_OSD();
          Show_Speaker(); 
         break;
      case IS_SET_FM:
          value = EEPROM_Receive_25_Bit(OP_READ,EE_FM_ADDR);
         if(value<2)
           value++;                  
         else
           value=0;
         Set_FM(value);
         Show_FM();
         break;
      case IS_SET_POWER_MODE:
         value = EEPROM_Receive_25_Bit(OP_READ, EE_POWER_MODE_ADDR);
         if (value < POWER_MODE_MAX)
            value++;
         else
            value = 0;
         Set_Power_Mode(value);
         Show_Power_Mode();
         break;
      case IS_SET_TINT:
         if (Tint_Value < TINT_MAX)
            Tint_Value++;
         Set_Tint();
         Show_Tint();
         break;
      case IS_SET_BRIGHT:
         if (Bright_Value < BRIGHT_MAX)
            Bright_Value++;
         Set_Bright();
         Show_Bright();
         break;
      case IS_SET_CONTRAST:
         if (Contrast_Value > 0)
            Contrast_Value--;
         Set_Contrast();
         Show_Contrast();
         break;
      case IS_SET_COLOR:
         if (Color_Value < COLOR_MAX)
            Color_Value++;
         Set_Color();
         Show_Color();
         break;
      case IS_SET_ZOOM:
         value = EEPROM_Receive_25_Bit(OP_READ, EE_ZOOM_ADDR);
         if (value < ZOOM_MAX)
            value++;
         else
            value = 0;
         Set_ZOOM(value);
         Show_ZOOM();
         break;
      case IS_SET_DIMMER:  //050323
      //   if (Dimmer_Value > 0)  

⌨️ 快捷键说明

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