📄 osdkey.lst
字号:
C51 COMPILER V7.50 OSDKEY 03/18/2008 22:29:10 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE OSDKEY
OBJECT MODULE PLACED IN ..\1out\OSDKey.obj
COMPILER INVOKED BY: D:\设计软件\Keil\C51\BIN\C51.EXE ..\UI\OSDKey.c BROWSE INCDIR(..\INC\;..\PANEL\;..\UI\;..\OPTION\;.
-.\SCALER\DSP\) DEFINE(MCU_TYPE_SEL=0) DEBUG OBJECTEXTEND PRINT(..\1out\OSDKey.lst) OBJECT(..\1out\OSDKey.obj)
line level source
1 /******************************************************************************
2 Copyright (c) 2005 MStar Semiconductor, Inc.
3 All rights reserved.
4
5 [Module Name]: OSDKey.c
6 [Date]: 04-Feb-2005
7 [Comment]:
8 OSD Key scan Functions.
9 [Reversion History]:
10 *******************************************************************************/
11 #define _OSDKEY_C_
12 /********************
13 * INCLUDE FILES *
14 *********************/
15 #include "Project.h"
16 #include "Global.h"
17 #include "Mcu_reg.h"
18 #include "TypeDef.h"
19 #include "Ms_RWreg.h"
20 #include "Ms7X_reg.h"
21 #include "Mst7x.h"
22 #include "Debug.h"
23 #include "Misc.h"
24 #include "OSDFunc.h"
25 #include "OSDMenu.h"
26 #include "OSDKey.h"
27 #include "Mcu.h"
28 #include "PANEL.h"
29
30
31 /**********************
32 * FUNCTION PROTOTYPES *
33 ***********************/
34 BYTE osdKeyGetKeypadStatus(void)
35 {
36 1 BYTE ucKeyData = 0xFF;
37 1
38 1 #if (KEY_TYPE_SEL == KEY_ADC)//kevin
39 1 BYTE ucADCValue = 0x00;
40 1 BYTE ucADCValueTemp = 0x00;
41 1 BYTE ucDebounce = 0x00;
42 1
43 1 ucADCValue = MCUXFR_20_KEY_ADC1 & 0x3F;
44 1 ucADCValueTemp = ucADCValue;
45 1
46 1 if (ucADCValue <= (KEY_AD_L3+KEY_AD_DELTA))
47 1 {
48 2 for (ucDebounce = 0 ; ucDebounce<=10; ucDebounce++)
49 2 {
50 3 miscDelay1ms(2);
51 3 ucADCValue = MCUXFR_20_KEY_ADC1 & 0x3F;
52 3
53 3 if ((ucADCValue > (ucADCValueTemp+1)) ||(ucADCValue < ((char)ucADCValueTemp-1)))
54 3 {
C51 COMPILER V7.50 OSDKEY 03/18/2008 22:29:10 PAGE 2
55 4 ucDebounce = 0;
56 4 ucADCValueTemp = ucADCValue;
57 4 }
58 3 }
59 2 #if RS232DBG
60 2 printf("-ADC0 value- %x\r\n",ucADCValue);
61 2 #endif
62 2
63 2 if (ucADCValue < (KEY_AD_L0 + KEY_AD_DELTA))
64 2 ucKeyData &= ~KEY_POWER;
65 2 else if ((KEY_AD_L1-KEY_AD_DELTA) < ucADCValue && ucADCValue < (KEY_AD_L1+KEY_AD_DELTA))
66 2 ucKeyData &= ~KEY_AUTO;
67 2 else if ((KEY_AD_L2-KEY_AD_DELTA) < ucADCValue && ucADCValue < (KEY_AD_L2+KEY_AD_DELTA))
68 2 ucKeyData &= ~KEY_EXIT;
69 2 else if ((KEY_AD_L3-KEY_AD_DELTA) < ucADCValue && ucADCValue < (KEY_AD_L3+KEY_AD_DELTA))
70 2 ucKeyData &= ~KEY_MENU;
71 2 }
72 1
73 1 ucADCValue = MCUXFR_21_KEY_ADC2 & 0x3F;
74 1 ucADCValueTemp = ucADCValue;
75 1
76 1 if (ucADCValue <= (KEY_AD_L3+KEY_AD_DELTA))
77 1 {
78 2 for (ucDebounce = 0 ; ucDebounce<=10; ucDebounce++)
79 2 {
80 3 miscDelay1ms(2);
81 3 ucADCValue = MCUXFR_21_KEY_ADC2 & 0x3F;
82 3
83 3 if((ucADCValue > (ucADCValueTemp+1)) ||(ucADCValue < ((char)ucADCValueTemp-1)))
84 3 {
85 4 ucDebounce = 0;
86 4 ucADCValueTemp = ucADCValue;
87 4 }
88 3 }
89 2 #if RS232DBG
90 2 printf("-ADC1 value- %x\r\n",ucADCValue);
91 2 #endif
92 2
93 2 if (ucADCValue < (KEY_AD_L0 + KEY_AD_DELTA))
94 2 ;//ucKeyData &= ~KEY_MINUS;//Masked 2006-01-09
95 2 else if ((KEY_AD_L1-KEY_AD_DELTA) < ucADCValue && ucADCValue < (KEY_AD_L1+KEY_AD_DELTA))
96 2 ;//ucKeyData &= ~KEY_PLUS;
97 2 else if ((KEY_AD_L2-KEY_AD_DELTA) < ucADCValue && ucADCValue < (KEY_AD_L2+KEY_AD_DELTA))
98 2 ;//ucKeyData &= ~KEY_PLUS;
99 2 else if ((KEY_AD_L3-KEY_AD_DELTA) < ucADCValue && ucADCValue < (KEY_AD_L3+KEY_AD_DELTA))
100 2 ;//ucKeyData &= ~KEY_MINUS;
101 2 }
102 1
103 1 return ucKeyData;
104 1 #else
if (!bPOWER_KEY)
{
ucKeyData &= ~KEY_POWER;
g_ucSystemFlag &= ~ENTER_SPI_DEBUG;//20050920
}
if (!bSOURCE_KEY)
{
ucKeyData &= ~KEY_EXIT;
miscDelay1ms(40);//20050920
if (!bMENU_KEY)//20050920
C51 COMPILER V7.50 OSDKEY 03/18/2008 22:29:10 PAGE 3
{
g_ucSystemFlag |= ENTER_SPI_DEBUG;
}
}
if (!bLEFT_KEY)
ucKeyData &= ~KEY_PLUS;
if (!bRIGHT_KEY)
ucKeyData &= ~KEY_MINUS;
if (!bMENU_KEY)
{
ucKeyData &= ~KEY_MENU;
miscDelay1ms(40);//20050920
if (!bSOURCE_KEY)//20050920
{
g_ucSystemFlag |= ENTER_SPI_DEBUG;
}
}
//while((KEY_PORT & KEY_PORTMASK) != KEY_PORTMASK);
return ucKeyData;
#endif
140 1 }
141
142 void osdKeyScanKeypad(void)
143 {
144 1 BYTE ucKeypadStatus;
145 1
146 1 ucKeypadStatus=(osdKeyGetKeypadStatus()^KEY_PORTMASK)&KEY_PORTMASK;
147 1
148 1 if (ucKeypadStatus)
149 1 {
150 2 if (ucKeypadStatus==KEY_FACTORY) //&& !PowerOnFlag)
151 2 {
152 3 //Set_FactoryModeFlag();
153 3 g_ucKeypadButton=BTN_POWER;
154 3 }
155 2 else if (ucKeypadStatus==KEY_PLUS)
156 2 g_ucKeypadButton=BTN_PLUS;
157 2 else if (ucKeypadStatus==KEY_MINUS)
158 2 g_ucKeypadButton=BTN_MINUS;
159 2 else if (ucKeypadStatus==KEY_MENU)
160 2 {
161 3 if (g_ucKeypadButton==BTN_MENU || g_ucKeypadButton==BTN_REPEAT)
162 3 g_ucKeypadButton=BTN_REPEAT;
163 3 else
164 3 g_ucKeypadButton=BTN_MENU;
165 3 }
166 2 else if (ucKeypadStatus==KEY_EXIT)
167 2 {
168 3 if (g_ucKeypadButton==BTN_REPEAT)
169 3 g_ucKeypadButton=BTN_REPEAT;
170 3 else
171 3 g_ucKeypadButton=BTN_EXIT;
172 3 }
173 2 else if (ucKeypadStatus==KEY_AUTO)
174 2 {
175 3 if (g_ucKeypadButton==BTN_REPEAT)
176 3 g_ucKeypadButton=BTN_REPEAT;
177 3 else
178 3 g_ucKeypadButton=BTN_AUTO;
C51 COMPILER V7.50 OSDKEY 03/18/2008 22:29:10 PAGE 4
179 3 }
180 2 else if (ucKeypadStatus==KEY_POWER)
181 2 {
182 3 if (g_ucKeypadButton==BTN_POWER || g_ucKeypadButton==BTN_REPEAT)
183 3 g_ucKeypadButton=BTN_REPEAT;
184 3 else
185 3 g_ucKeypadButton=BTN_POWER;
186 3 }
187 2 else
188 2 g_ucKeypadButton=BTN_NOTHING;
189 2 }
190 1 else
191 1 g_ucKeypadButton=BTN_NOTHING;
192 1 }
193
194
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 377 ----
CONSTANT SIZE = 36 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 1 4
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -