📄 handlekey.lst
字号:
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 + -