亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? process.c

?? 本軟件為tft型液晶顯示器的驅動程序 可用于車載主機顯示屏等
?? C
?? 第 1 頁 / 共 2 頁
字號:
#include "define.h"
#include "variable.h"
#include "I2C.h"
#include "osddisplay.h"
#include "key.h"
#include "IEBus.h"
#include "memory.h"
#include "video.h"

extern void Send_Char(uchar c);

void Rev_Process(uchar c);
void Mode_Process(uchar c);



/*{0x17,0xA0,0x87,0xA4,0x5C,0x6E,0x63,0x83,0x01};*/

void Variable_Init(void)
{
  SysMenuDisplayFlg=0x00;
  WindowDispFlag=NO_WINDOW;
  SysWindowsOff;
  SysMenuCnt=0;
  VideoMenuCnt=0;
}
void Video_Init(void)
{
   MemoryInit_Check();
/*  
   SysMenuBright=0x1f;
   SysMenuColor=0xA5;
   SysMenuCont=0x82;
   SysMenuPic=0x5a;
   SysMenuTint=0x9D;
   SysMenuCom=0x81;
   SysMenuSubr=0x6B;
   SysMenuSubb=0x60;
*/   
 
   Pwm_Process(CTRADDR,  0x7C);//0x7c
   Pwm_Process(BRIGHTADDR,SysMenuBright);//+VideoMenuBright);
   Pwm_Process(COLORADDR, SysMenuColor);//+VideoMenuColor);
   Pwm_Process(CONTADDR,  SysMenuCont);//+VideoMenuCont);
   Pwm_Process(PICADDR,   SysMenuPic);
   Pwm_Process(TINTADDR,  SysMenuTint);
   Pwm_Process(COMADDR,   SysMenuCom);
   Pwm_Process(SUBRADDR,  SysMenuSubr);
   Pwm_Process(SUBBADDR,  SysMenuSubb);  
   
   Rev_Process(2);
   Mode_Process(0);
   
   Osd_Init();
   Logo_Disp();   
   
   //Yc_Process(0x4f,0x00,0xd0);
   //Yc_Process(0x00,0x00,0x00);
}


void Pwm_On(void)
{
  ICR1 =150;//210;//0xD5;//8M/8/D5=4.7K
  OCR1A=67;//0x6A;
  TCCR1A=0x82;//0x82;
  //TCCR1B=0x1A;//clk/8 
  TCCR1B=0x1B;//clk/64 
  //TCCR1B=0x1C;//clk/256 
}
void Pwm_Off(void)
{
  TCCR1A=0x82;//0x82;
  TCCR1B=0x18;//clk/8 
}
void SysOn_Init(void)//開機初始化
{  
  Variable_Init();
  I2c_Init();
  DECODE_High;
  VGHGL_High;//+-
  NmDelay(200);
  Video_Init();
  NmDelay(200);
  //Pwm_On();
  NmDelay(100);
  HIGHV_High;//高壓  
  
  NmDelay(100);  
  
  if(!ConnectVal)
  { 
    Osd_Clear();
    Windows_Close();
  }
  
  Rev_Process(VideoMenuRev);
  Mode_Process(VideoMenuMode);
  LED1_High;
  LED2_High;
  
  INT1_Enable;
}

void SysOff_Init(void)//關機初始化
{
  INT1_Disable;  
  HIGHV_Low;//高壓
  VGHGL_Low;//+-
  if(!ConnectVal)//未聯機
     Memory_Save(0);
  //Memory_Save(1);
  //Pwm_Off();
  NmDelay(200);
  DECODE_Low;
  ConnectNo;
  LED1_Low;
  LED2_Low;
}

void Rev_Process(uchar c)
{
  switch(c)
   {
     case 0:
     case 2:UD_Low;LR_High; break;
     case 1:UD_High;LR_Low;break;     
     case 3:UD_High;LR_High;break;
     case 4:UD_Low;LR_Low;break;
     default:break;
    }
}
void Mode_Process(uchar c)
{
  if(c==0)
    MODE_Low;
  else
    MODE_High;
}
void Ctr_Process(void)
{
   if(WindowDispFlag==VIDEO_WINDOW)//user setting
      switch(VideoMenuCnt)
        {
          case NUM_BRIGHT: Pwm_Process(BRIGHTADDR,SysMenuBright+VideoMenuBright);break;
          case NUM_COLOR:  Pwm_Process(COLORADDR,SysMenuColor+VideoMenuColor);  break;
          case NUM_CONT:   Pwm_Process(CONTADDR,SysMenuCont+VideoMenuCont);    break;
          case NUM_REV:    Rev_Process(VideoMenuRev);              break;
          case NUM_MODE:   Mode_Process(VideoMenuMode);            break;  
          default:break;
         }
   
   else if(SysWindowsVal)//sytem setting
      switch(SysMenuCnt)
        {
          case  NUM_BRIGHT: Pwm_Process(BRIGHTADDR,SysMenuBright);break;
          case  NUM_COLOR:  Pwm_Process(COLORADDR, SysMenuColor); break;
          case  NUM_CONT:   Pwm_Process(CONTADDR,  SysMenuCont);  break;
          case  NUM_PIC:    Pwm_Process(PICADDR,   SysMenuPic);   break;
          case  NUM_TINT:   Pwm_Process(TINTADDR,  SysMenuTint);  break; 
          case  NUM_COM:    Pwm_Process(COMADDR,   SysMenuCom);   break; 
          case  NUM_SUBR:   Pwm_Process(SUBRADDR,  SysMenuSubr);  break; 
          case  NUM_SUBB:   Pwm_Process(SUBBADDR,  SysMenuSubb);  break; 
          default:break;
         }
}
void Disp_Process(void)
{      
   if(SysWindowsVal)//System
     {
       Sysdata_Updata();
     }  
   else if(WindowDispFlag==VIDEO_WINDOW)//user setting
     {
       Videodata_Updata();
     }
}

void KeyPower_Process(void)
{  
   if(PowVal)//如果開機
    {      
      SysOff_Init();
      PowOff;//關機
     }
   else
    {
      SysOn_Init();
      PowOn;
     }
}
void KeySet_Process(void)
{
   if(WindowDispFlag==VIDEO_WINDOW)
     { 
       WindowDispFlag=NO_WINDOW;
       Windows_Close();
       SysWindowsOff;
      }
   else
     {
       WindowDispFlag=VIDEO_WINDOW;
       SysWindowsOff;
       VideoSet_Windows();
       //SoundSet_Windows();
       //UsrSet_Windows();
       //RadioFreCH++;
       //if(RadioFreCH>8)
       //   RadioFreCH=0;
       //RadioDisp_Windwos();
       //DvcDisp_Windows();
      }  
}
void KeyVolInc_Process(void)//UP
{
   if(SysMenuDisplayFlg==0||SysMenuDisplayFlg==1)
      SysMenuDisplayFlg=1;
   else
      SysMenuDisplayFlg=0xff;
   
   if(WindowDispFlag==VIDEO_WINDOW)//if video set close return 
    {
      if(VideoMenuCnt>0)
        VideoMenuCnt--;
      else
        VideoMenuCnt=VIDEOMENU_NUM-1;
     }
   else if(SysWindowsVal)//system setting
    {
      if(SysMenuCnt>0)
        SysMenuCnt--;
      else
        SysMenuCnt=SYSMENU_NUM-1;
     }
   Disp_Process();
}
void KeyVolDec_Process(void)//DOWN
{
      if(SysMenuDisplayFlg==1||SysMenuDisplayFlg==2)
      SysMenuDisplayFlg=2;
   else
      SysMenuDisplayFlg=0xff;
  
   if(WindowDispFlag==VIDEO_WINDOW)//if video set close return 
    {
      VideoMenuCnt++;
      if(VideoMenuCnt>=VIDEOMENU_NUM)
         VideoMenuCnt=0;
      }
   else if(SysWindowsVal)//system setting
    {
      SysMenuCnt++;
      if(SysMenuCnt>=SYSMENU_NUM)
         SysMenuCnt=0;
     } 
   Disp_Process();
}

void KeyPrev_Process(void)//LEFT
{
   if(SysMenuDisplayFlg==3)
    { 
      SysMenuDisplayFlg=0xff;
      SysWindowsOn;
      WindowDispFlag=NO_WINDOW;
      Sysdata_Updata();
      return;
     }
   else
      SysMenuDisplayFlg=0xff;
   
   if(WindowDispFlag==VIDEO_WINDOW)//if video set close return 
     switch(VideoMenuCnt)
       {
         case NUM_BRIGHT:  if(VideoMenuBright>0) VideoMenuBright--;break;
         case NUM_COLOR:   if(VideoMenuColor>0)  VideoMenuColor--; break;
         case NUM_CONT:    if(VideoMenuCont>0)   VideoMenuCont--;  break;
         case NUM_REV:     if(VideoMenuRev>1)    VideoMenuRev--;   break;
         case NUM_MODE:    if(VideoMenuMode>0)   VideoMenuMode--;  break;
         default: break;
       }
   else if(SysWindowsVal)//system setting
     switch(SysMenuCnt)
       {
         case NUM_BRIGHT :  if(SysMenuBright>0)   SysMenuBright--;break;
         case NUM_COLOR:    if(SysMenuColor>0)    SysMenuColor--; break;
         case NUM_CONT:     if(SysMenuCont>0)     SysMenuCont--;  break;
         case NUM_PIC:      if(SysMenuPic>0)      SysMenuPic--;   break;
         case NUM_TINT:     if(SysMenuTint>0)     SysMenuTint--;  break;
         case NUM_COM:      if(SysMenuCom>0)      SysMenuCom--;  break;
         case NUM_SUBR:     if(SysMenuSubr>0)     SysMenuSubr--;  break;
         case NUM_SUBB:     if(SysMenuSubb>0)     SysMenuSubb--;  break;
         default: break;
        }
   Disp_Process();
   Ctr_Process();
}
void KeyNext_Process(void)//RIGHT
{
   if(SysMenuDisplayFlg==2||SysMenuDisplayFlg==3)
      SysMenuDisplayFlg=3;
   else
      SysMenuDisplayFlg=0xff;  
   
   if(WindowDispFlag==VIDEO_WINDOW)//if video set close return 
     switch(VideoMenuCnt)
      {
       case NUM_BRIGHT: VideoMenuBright++;if(VideoMenuBright>16) VideoMenuBright=16;break;
       case NUM_COLOR:  VideoMenuColor++; if(VideoMenuColor>16)  VideoMenuColor=16; break;
       case NUM_CONT:   VideoMenuCont++;  if(VideoMenuCont>16)   VideoMenuCont=16;  break;
       case NUM_REV:    VideoMenuRev++;   if(VideoMenuRev>4)     VideoMenuRev=4;    break;
       case NUM_MODE:   VideoMenuMode++;  if(VideoMenuMode>1)    VideoMenuMode=1;   break;
       default:break;
       }
   else if(SysWindowsVal)//system setting
     switch(SysMenuCnt)
       {
         case NUM_BRIGHT:  if(SysMenuBright<0xFF)   SysMenuBright++;break;
         case NUM_COLOR:   if(SysMenuColor<0xFF)    SysMenuColor++; break;
         case NUM_CONT:    if(SysMenuCont<0xFF)     SysMenuCont++;  break;
         case NUM_PIC:     if(SysMenuPic<0xFF)      SysMenuPic++;   break;
         case NUM_TINT:    if(SysMenuTint<0xFF)     SysMenuTint++;  break;
         case NUM_COM:     if(SysMenuCom<0xFF)      SysMenuCom++;  break;
         case NUM_SUBR:    if(SysMenuSubr<0xFF)     SysMenuSubr++;  break;
         case NUM_SUBB:    if(SysMenuSubb<0xFF)     SysMenuSubb++;  break;
         default: break;
        }
   Disp_Process();
   Ctr_Process();
}

void SendDataToBus(uchar Cmd,uchar Val,uchar LongFlag)
{
   IEBus_TBroadcast=0x80;//0x80;
   IEBus_THAddr=IEBus_MASTERADDR>>4;
   IEBus_TLAddr=(uchar)(IEBus_MASTERADDR<<4);   
   IEBus_TLength=3;
   IEBus_TData0=Cmd;//CMD_KEY;//Cmd_KEY
   IEBus_TData1=Val;//KeyPrevious;//KEY
   if(LongFlag)//(KeyLongFlagVal)
      IEBus_TData2=0x01;//Val	
   else
      IEBus_TData2=0x00;//Val	
   IEBus_SendData(IEBus_TxBuf);	  
}

/*********************************************
    
   按鍵處理方式:當面板與外界(主控制板)聯機時,收集到的按鍵直接傳輸給總線
                 當面板沒有與外界聯機,單獨使用時,響應按鍵,但只對面板的video調節的按鍵起作用

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

void Key_Process(void)
{
   if(!ConnectVal)//if not connect mainboard
   {
     if((KeyPrevious!=KEYPOWER)&&(!PowVal))//如果沒有開機,按下的不是power則返回
        return;
        
     switch(KeyPrevious)
      {
       case KEYPOWER: 
                      KeyPower_Process();
                      break;
       case KEYSET:  
                      KeySet_Process();
                      break;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
麻豆freexxxx性91精品| 日韩一级成人av| 欧美老人xxxx18| 国产欧美日韩视频在线观看| 亚洲一区二区三区中文字幕| 国产成人精品亚洲777人妖| 欧美天天综合网| 国产精品伦理一区二区| 国内不卡的二区三区中文字幕| 91久久奴性调教| 国产亚洲福利社区一区| 日日摸夜夜添夜夜添国产精品| 99久久久久久| 国产人成亚洲第一网站在线播放| 日本三级亚洲精品| 在线观看成人小视频| 国产精品私人自拍| 国内精品不卡在线| 精品国产一区二区精华| 日本三级亚洲精品| 91精品国产综合久久香蕉麻豆 | 在线不卡中文字幕播放| 亚洲色图欧洲色图婷婷| 大陆成人av片| 国产视频一区二区在线| 国产一区二区视频在线| 日韩一二三区不卡| 日韩精彩视频在线观看| 欧美日韩视频第一区| 亚洲一区二区三区四区五区中文| www.亚洲在线| 中文字幕在线一区| 成人动漫视频在线| 国产精品国产三级国产三级人妇| 国产精品99久久久久久久vr| 久久久久久99久久久精品网站| 国产在线精品免费| 久久青草欧美一区二区三区| 国产精品一区免费在线观看| 久久久综合精品| 国产精品一区二区三区99| 26uuu另类欧美亚洲曰本| 国产在线视频一区二区三区| 欧美va在线播放| 国产福利视频一区二区三区| 国产精品久久久久久久久免费樱桃 | 日本在线不卡视频一二三区| 欧美男女性生活在线直播观看| 日韩va亚洲va欧美va久久| 欧美成人a视频| 从欧美一区二区三区| 亚洲天堂av老司机| 欧美大片日本大片免费观看| 国产在线一区观看| 中文字幕一区在线观看| 91福利在线观看| 日本不卡高清视频| 日本一区二区在线不卡| 91片黄在线观看| 亚洲va欧美va人人爽| 精品欧美一区二区三区精品久久| 国产福利一区二区三区视频 | 久久久99精品久久| 色综合久久中文综合久久97| 天涯成人国产亚洲精品一区av| 精品三级在线观看| 91麻豆福利精品推荐| 首页国产欧美久久| 欧美极品xxx| 欧美日韩一区不卡| 国产福利一区二区三区视频在线| 亚洲永久免费av| 久久五月婷婷丁香社区| 在线免费视频一区二区| 韩国女主播成人在线观看| 亚洲男女毛片无遮挡| 欧美大片日本大片免费观看| 91理论电影在线观看| 91福利在线导航| 久久精品国产99久久6| 成人免费在线播放视频| 精品剧情在线观看| 色综合天天在线| 久国产精品韩国三级视频| 亚洲国产经典视频| 欧美一区二区三区四区视频| 不卡视频免费播放| 激情综合五月天| 亚洲国产另类av| 亚洲视频在线一区| 久久久精品黄色| 日韩一区二区三区视频在线观看| 色哟哟一区二区三区| 国产九色sp调教91| 日欧美一区二区| 亚洲一区精品在线| 亚洲精品中文在线影院| 日本一区二区三区免费乱视频| 欧美一个色资源| 欧美日韩夫妻久久| 91豆麻精品91久久久久久| 成人av中文字幕| 国产成人啪午夜精品网站男同| 精品一区二区在线免费观看| 视频一区二区不卡| 婷婷综合五月天| 亚洲国产成人av| 亚洲一区免费视频| 亚洲二区在线观看| 亚洲午夜私人影院| 亚洲va中文字幕| 午夜在线成人av| 日韩和的一区二区| 日韩av一区二区三区四区| 天堂久久一区二区三区| 日韩精品乱码免费| 免费在线成人网| 九色综合国产一区二区三区| 久久成人免费日本黄色| 加勒比av一区二区| 国产精品亚洲一区二区三区妖精| 久久99国内精品| 国产一区二区三区黄视频 | 欧美亚洲动漫精品| 91福利资源站| 欧美精品三级日韩久久| 911精品国产一区二区在线| 欧美精品123区| 日韩亚洲欧美高清| 亚洲精品在线免费观看视频| 久久久久久久电影| 亚洲欧美日韩国产另类专区| 亚洲中国最大av网站| 日韩高清在线不卡| 国产一区免费电影| 成人福利视频在线| 欧美午夜理伦三级在线观看| 日韩一区二区视频| 久久久久久久久99精品| 国产精品久久久久久久久快鸭| 中文字幕一区二区视频| 亚洲综合免费观看高清完整版 | 国产精品成人在线观看| 亚洲女同女同女同女同女同69| 亚洲中国最大av网站| 久久99国产精品尤物| av网站一区二区三区| 欧美美女一区二区在线观看| 久久伊人中文字幕| 国产精品成人在线观看| 免费观看30秒视频久久| 成人黄色综合网站| 欧美欧美午夜aⅴ在线观看| 久久午夜老司机| 亚洲午夜免费电影| 国产成人免费视频精品含羞草妖精| 97久久精品人人做人人爽50路| 69av一区二区三区| 17c精品麻豆一区二区免费| 视频一区二区三区入口| 97精品国产露脸对白| 精品人在线二区三区| 亚洲图片你懂的| 黄色精品一二区| 在线欧美一区二区| 欧美激情在线一区二区| 麻豆高清免费国产一区| av日韩在线网站| wwwwww.欧美系列| 无吗不卡中文字幕| 色哟哟在线观看一区二区三区| www欧美成人18+| 天堂一区二区在线| 一本大道久久a久久精品综合| 2021中文字幕一区亚洲| 日韩av电影免费观看高清完整版在线观看| 成人av在线观| 精品欧美久久久| 午夜久久久久久久久| 色婷婷综合五月| 国产精品视频在线看| 国产在线精品一区二区不卡了| 欧美日韩成人一区| 亚洲一区二区不卡免费| 99精品一区二区| 国产精品人妖ts系列视频| 国产精品资源在线| 欧美精品一区二区三区很污很色的| 一区二区三区美女视频| 成人av资源下载| 中日韩av电影| 国产91在线观看| 国产日韩欧美精品电影三级在线| 五月婷婷另类国产| 欧美三区在线观看| 日韩在线一二三区| 欧美久久一区二区| 日韩精品国产精品| 欧美一区中文字幕| 蜜臀av一区二区在线观看 |