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

📄 handlekey.lst

📁 一个用于驱动TFT屏的驱动程序,使用IC:1828,program (无EEPROM 无IR,完整说明)IIC只写一个
💻 LST
📖 第 1 页 / 共 5 页
字号:
C51 COMPILER V7.50   HANDLEKEY                                                             09/29/2006 10:54:53 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE HANDLEKEY
OBJECT MODULE PLACED IN handleKey.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE handleKey.c BROWSE DEBUG OBJECTEXTEND CODE

line level    source

   1          //*********************************************************************
   2          //               handleKey.c     对按健进行处理
   3          //               by hibernate  2006.01.19  
   4          //       ShenZhen Challenge Technology Co.,Ltd
   5          //remarks:这里不包含DVDPLAY的开关机操作按键处理
   6          //*********************************************************************
   7          #include <intrins.h>
   8          #include <stdio.h>
   9          #include <reg51.h>
  10          
  11          #include "vxis1828.h"
  12          #include "config.h"                     //这个文件中包含有一些约定
  13          
  14          //包含使用的外部函数定义
  15          #include "inital.h"
  16          #include "IIC_RW.h"
  17          #include "osd.h"
  18          #include "status.h"
  19          #include "setDVDplay.h"
  20          #include "timer.h"
  21          
  22          //本文件中的函数定义
  23          void initsubmenu1(void);                                //Initial Brightness menu Function
  24          void adjValue(unsigned char * value,bit add_flag,unsigned char MAX_value);
  25          void adjMsgBox(unsigned char value,unsigned char max_value);
  26          
  27          void printModeInfo();
  28          void printMenuInfo();
  29          void printSwitchInfo(unsigned char kind,unsigned char choose);
  30          void displayCap(unsigned char ch_index,unsigned char format);
  31          
  32          void clearMenuFlag();
  33          void clearMenuSel();
  34          void clearIrFlag();
  35          
  36          void getIrKey();
  37          void handleKey();
  38          void handleMenu();
  39          void handleMenuValue();
  40          void handleSCMode();
  41          void handleCh();
  42          
  43          void loadAppInitValue();
  44          void setICAppValue(); 
  45          
  46          //按健定义
  47          sbit key_valueDown = DOWN_PORT;
  48          sbit key_valueUp   = UP_PORT;
  49          sbit key_menu      = MENU_PORT;
  50          sbit key_ch        = AV_PORT;
  51          sbit key_mode      = SEL_PORT;
  52          
  53          // 可调节菜单值的变量定义
  54          unsigned char britc_value   = 0x80;                             // Combine Brightness selection
  55          unsigned char contc_value   = 0x80;                             // Combine Contrast selection
C51 COMPILER V7.50   HANDLEKEY                                                             09/29/2006 10:54:53 PAGE 2   

  56          unsigned char hue_value     = 0x20;                             // Hue menu selection
  57          unsigned char satr_value    = 0x80;                             // Saturation menu selection
  58          unsigned char scMode_value  = 0x00;                             // 默认是16:9
  59          
  60          //主板菜单活动标志
  61          bit topMenu_flag  = 0;                                                  // topmenu flag
  62          bit modeMenu_flag = 0;                                                  // 屏幕比例切换的标志
  63          unsigned char idata top_sel  = 0x01;                    // Top menu selection
  64          
  65          // 菜单选择标志
  66          bit sel_brit   = 0;                                                             // Brightness menu flag
  67          bit sel_cont   = 0;                                                             // Contrast menu flag
  68          bit sel_satr   = 0;                                                             // Saturation menu flag
  69          bit sel_hue    = 0;                                                             // Hue menu flag
  70          bit sel_scMode = 0;                                                             // aspect ratio menu flag
  71          bit sel_reset  = 0;                                                             // Reset register flag
  72          bit sel_save   = 0;                                                             // Save register flag
  73          
  74          // top menu 中的英文字体定义
  75          char code code_Volume[0x06] = {0x15,0x0E,0x0B,0x14,0x0C,0x04};                                  // Volume
  76          char code code_Brit[0x06]   = {0x01,0x11,0x08,0x06,0x07,0x13};                                          // Brightness
  77          char code code_Cont[0x08]   = {0x02,0x0e,0x0d,0x13,0x11,0x00,0x12,0x13};                        // Contrast
  78          char code code_Satr[0x05]   = {0x02,0x0e,0x0b,0x0e,0x11};                                               // Saturation
  79          char code code_Hue[0x04]    = {0x07,0x14,0x04,0x6D};                                                            // Hue(tint)'色彩'
  80          //char code code_Sharp[0x09]  = {0x12,0x07,0x00,0x11,0x0f,0x0d,0x04,0x12,0x12};     // Sharpness logo Line
             -2
  81          char code code_Reset[0x05]  = {0x11,0x04,0x12,0x04,0x13};                                               // Reset
  82          //char code code_Setup[0x05]  = {0x12,0x04,0x0B,0x14,0x0F};                                             // 出厂值设置
  83          //char code code_Save[0x04]   = {0x12,0x00,0x15,0x04};                                                          // Save
  84          char code code_ScMode[0x04] = {0x0C,0x0E,0x03,0x04};
  85          
  86          // 开关信息变量定义() (屏幕比)  
  87          // 为了统一.这里使用的都是5个字符                                                                         
  88          char code code_4to3[0x05]   = {0x6D,0x66,0x47,0x65,0x6D};                                                   // 4:3模式
  89          char code code_16to9[0x05]  = {0x63,0x68,0x47,0x6b,0x6D};                                                       // 16:9模式
  90          char code code_Yes[0x05]    = {0x6D,0x18,0x04,0x12,0x6D};                                               // yes 
  91          char code code_No[0x05]     = {0x6D,0x0D,0x0E,0x6D,0x6D};
  92          char code code_Open[0x05]   = {0x0e,0x0f,0x04,0x0d,0x6D};                                               // 开
  93          char code code_Close[0x05]  = {0x02,0x0b,0x0e,0x12,0x04};                                               // 关
  94          
  95          //屏幕提示信息字体定义
  96          char code code_OK[0x03]     = {0x0e,0x0a,0x43};                                                                         // 'ok!'
  97          char code NESS[0x04]        = {0x0d,0x04,0x12,0x12};                                                            // NESS
  98          
  99          //屏幕提示信息字体定义
 100          char code code_Video[0x05]  = {0x15,0x08,0x03,0x04,0x0e};                                               // Video
 101          char code code_Svideo[0x07] = {0x12,0x54,0x15,0x08,0x03,0x04,0x0e};                                     // S-Video
 102          char code code_AV1[0x03]    = {0x00,0x15,0x63};                                                                         // AV1
 103          char code code_AV2[0x03]    = {0x00,0x15,0x64};                                                                         // AV2
 104          char code code_AV3[0x03]    = {0x00,0x15,0x65};                                                                         // AV3 
 105          char code code_PAL[0x05]    = {0x6D,0x0f,0x00,0x0b,0x6D};                                                       // PAL
 106          char code code_NTSC[0x05]   = {0x0d,0x13,0x12,0x02,0xc0};                                                       // NTSC
 107          
 108          
 109          //********************************************************************
 110          // 函数:void handleKey()
 111          // 作用:按健处理流程设置
 112          // 参数:
 113          // remarks:
 114          //*********************************************************************
 115          void handleKey()
 116          {
C51 COMPILER V7.50   HANDLEKEY                                                             09/29/2006 10:54:53 PAGE 3   

 117   1              if(!key_menu && modeMenu_flag == 0x00)
 118   1                      handleMenu();
 119   1      
 120   1              if((topMenu_flag != 0x00 )
 121   1                  && (!key_valueDown || !key_valueUp))                                        //此时"up"、"down"就是作为选项的调节按钮
 122   1                      handleMenuValue();
 123   1      
 124   1              //signal mode select
 125   1              if (!key_ch)
 126   1                      handleCh();     
 127   1      
 128   1              if( !key_mode&&(topMenu_flag == 0x00))
 129   1                      handleSCMode();
 130   1      
 131   1      }
 132          
 133          //********************************************************************
 134          // 函数:void handleMenu()
 135          // 作用:菜单健按下时的处理,
 136          // 参数:
 137          // remarks:     这里的菜单健同时也是选择健
 138          //*********************************************************************
 139          void handleMenu()
 140          {
 141   1          top_sel++;
 142   1                 
 143   1              if (top_sel == 0x06)                                                                            // 这里的菜单选择键有循环功能
 144   1                      top_sel = 0x01; 
 145   1                                                      
 146   1              if(topMenu_flag == 0)
 147   1              {
 148   2                      clrScreen();                                                                                     // Clear osd Memory
 149   2                      osdSwitch(0x00);                                                                                 // Turn the OSD T/C/B block off
 150   2                      DelayXms(0xC8);                                                                                  // DELAY 0.2
 151   2                              
 152   2                      printMenuInfo();                                                                                 // Initial Top menu 
 153   2                      initsubmenu1();                                                                                  // Initial Brightness menu 
 154   2                      
 155   2                      topMenu_flag = 1;
 156   2              }
 157   1      
 158   1              clearTimer();                                                                                            // 计时器osd_timer = 0
 159   1              clearMenuSel();
 160   1      
 161   1              switch(top_sel )
 162   1              {
 163   2                      case 1:                                                                                                 // Hue menu 
 164   2                              sel_hue   = 1;
 165   2                      
 166   2                              initsubmenu1();
 167   2                              adjMsgBox(hue_value,0x3F);
 168   2                              //osdSwitch(0x03);
 169   2                              osd_pos_Highlight(content,0x01,0x0A,0x01,0x01);
 170   2                              osd_BackColor_H(content,Blue);
 171   2      
 172   2                              break;
 173   2      
 174   2                      case 2:                                                                                                 // Saturation menu 
 175   2                              sel_satr  = 1;
 176   2                      
 177   2                              initsubmenu1();
 178   2                              adjMsgBox(satr_value,0xFF);
C51 COMPILER V7.50   HANDLEKEY                                                             09/29/2006 10:54:53 PAGE 4   

 179   2                              //osdSwitch(0x03);
 180   2                              osd_pos_Highlight(content,0x01,0x0A,0x02,0x02);
 181   2                              osd_BackColor_H(content,Blue);
 182   2      
 183   2                              break;
 184   2                              
 185   2                      case 3:                                                                                                 // Contrast menu        
 186   2                              sel_cont    = 1;
 187   2                      
 188   2                              initsubmenu1();
 189   2                              adjMsgBox(contc_value,0xFF);
 190   2                              //osdSwitch(0x03);
 191   2                              osd_pos_Highlight(content,0x01,0x0A,0x03,0x03);
 192   2                              osd_BackColor_H(content,Blue);
 193   2      
 194   2                              break;
 195   2                      
 196   2                      case 4:                                                                                                  // Brightness menu 
 197   2                              sel_brit    = 1;
 198   2                      
 199   2                              initsubmenu1();
 200   2                              adjMsgBox(britc_value,0xFF);
 201   2                              //osdSwitch(0x03);
 202   2                              osd_pos_Highlight(content,0x01,0x0A,0x04,0x04);
 203   2                              osd_BackColor_H(content,Blue);
 204   2      
 205   2                              break;
 206   2      
 207   2                      case 5:                                                                                                 // Save menu
 208   2                              sel_reset = 1;  
 209   2                      
 210   2                              initsubmenu1();
 211   2                              osd_madr(bottom,0xB0);

⌨️ 快捷键说明

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