keyproc.lst
来自「philip RTC 芯片的驱动程序 8563」· LST 代码 · 共 806 行 · 第 1/4 页
LST
806 行
C51 COMPILER V7.50 KEYPROC 10/18/2005 14:13:29 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE KEYPROC
OBJECT MODULE PLACED IN keyproc.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE keyproc.c DEBUG OBJECTEXTEND
line level source
1 #include "reg52.h"
2 #include "intrins.h"
3 #include "globedef.h"
4 #include "keyproc.h"
5 #include "delay.h"
6 #include "m62429.h"
7 #include "keydef.h"
8 #include "i2c.h"
9 #include "Lcd.h "
10
11 unsigned char h,m;
12 unsigned char adj_counter;
13 unsigned char clock_flag;
14 unsigned char source_select_bak;
15 extern unsigned char hour;
16 extern unsigned char minute;
17
18 unsigned char ff_key_flag;
19 unsigned char fb_key_flag;
20
21 extern unsigned char sector_erase(unsigned int sector_addr);
22 extern unsigned char byte_program(unsigned int byte_addr, unsigned char original_data);
23 extern unsigned char byte_read(unsigned int byte_addr);
24
25 code BYTE POWER_ON_TBL[] = {0x05, 0x02, 0x0, 0x0, 0x0, 0x02, 0xF7};
26 code BYTE POWER_OFF_TBL[] ={0x05, 0x02, 0x0, 0x0, 0x0, 0x04, 0xF5};
27 code BYTE PLAYPAUSE_TBL[] ={0x03, 0x02, 0x0, 0x01,0xFA};
28 code BYTE KeyBound_TBL[] = {0x03, 0x02, 0x0, 0x0, 0xFB};
29
30 code BYTE NEXT_KEY_TBL[] ={0x03, 0x02, 0x0, 0x08,0xF3};
31 code BYTE PREVIOUS_KEY_TBL[] ={0x03, 0x02, 0x0, 0x10,0xEB};
32 code BYTE FF_KEY_TBL[] ={0x05, 0x02, 0x0, 0x0, 0x0, 0x10, 0xE9};
33 code BYTE FB_KEY_TBL[] ={0x05, 0x02, 0x0, 0x0, 0x0, 0x20, 0xD9};
34
35 code BYTE IR_KEY_TBL[] =
36 {
37 NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY, CLOCK_KEY, NO_KEY, NO_KEY,
38 VOLUME_UP_KEY, NEXT_KEY, NO_KEY, NO_KEY, VOLUME_DOWN_KEY, PLAYPAUSE_KEY, NO_KEY, NO_KEY, NO_KEY, IPOD_OFF
-_KEY,
39 NO_KEY, NO_KEY, NO_KEY, POWER_KEY, NO_KEY, NO_KEY, NO_KEY, PREVIOUS_KEY, NO_KEY, NO_KEY,
40 NO_KEY, KEY_MUTE, NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY,
41 NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY,
42 NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY,
43 NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY,
44 NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY,
45 NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY,
46 NO_KEY, NO_KEY, Source_Select
47 };
48
49 void KEY_Proc(void)
50 {
51 1 unsigned char Send_Count;
52 1 if((Panel_KeyAct == 1 ) || (IR_KeyAct == 1))
53 1 {
54 2 if(IR_KeyAct == 1 )
C51 COMPILER V7.50 KEYPROC 10/18/2005 14:13:29 PAGE 2
55 2 {
56 3 Current_Key = IR_KEY_TBL[Remote_Key];
57 3 IR_KeyAct = 0;
58 3 }
59 2 else if(Panel_KeyAct == 1)
60 2 {
61 3 Current_Key = Panel_Key;
62 3 Panel_KeyAct = 0;
63 3 }
64 2 if(Current_Key == POWER_KEY)
65 2 {
66 3 Need_Button_up = 0;
67 3 Power_Proc();
68 3 }
69 2 else if(POWER_Status == 1)
70 2 {
71 3 Need_Button_up = 0;
72 3 switch(Current_Key)
73 3 {
74 4 case VOLUME_UP_KEY:
75 4 //调整音量时解除静音
76 4 // MUTE_DETECT1 = 1;
77 4 MUTE_DETECT2 = 1;//写1准备读
78 4 if((AV_MUTE == 1)&&(MUTE_DETECT2 != 0)/*&&(MUTE_DETECT1 != 0)*/)
79 4 {
80 5 AV_MUTE = 0;
81 5 mute_flag =(unsigned char)AV_MUTE;
82 5 display_mute(lcd_unmute);
83 5 }
84 4 else{
85 5 if(Current_Volume < Volume_Max)
86 5 {
87 6 Current_Volume++;
88 6 // DelayX1ms(200);//improve esd
89 6 Volume_Tune(Current_Volume);
90 6 Volume_Need_Record = 1;
91 6 //显示音量进度条
92 6 switch(Current_Volume / 5)
93 6 {
94 7 case 0:
95 7 break;
96 7 case 1:
97 7 display_1bar();
98 7 break;
99 7 case 2:
100 7 display_2bar();
101 7 break;
102 7 case 3:
103 7 display_3bar();
104 7 break;
105 7 case 4:
106 7 display_4bar();
107 7 break;
108 7 case 5:
109 7 display_5bar();
110 7 break;
111 7 case 6:
112 7 display_6bar();
113 7 break;
114 7 case 7:
115 7 display_7bar();
116 7 break;
C51 COMPILER V7.50 KEYPROC 10/18/2005 14:13:29 PAGE 3
117 7 case 8:
118 7 display_8bar();
119 7 break;
120 7 case 9:
121 7 display_9bar();
122 7 break;
123 7 case 10:
124 7 display_10bar();
125 7 break;
126 7
127 7 default:
128 7 break;
129 7 }
130 6 //显示音量数码值
131 6 display_68(Current_Volume % 10 );
132 6 display_58(Current_Volume / 10);
133 6 }
134 5 }
135 4 break;
136 4 case VOLUME_DOWN_KEY:
137 4 //调整音量时解除静音
138 4 // MUTE_DETECT1 = 1;
139 4 MUTE_DETECT2 = 1;//写1准备读
140 4 if((AV_MUTE == 1)&&(MUTE_DETECT2 != 0)/*&&(MUTE_DETECT1 != 0)*/)
141 4 {
142 5 AV_MUTE = 0;
143 5 mute_flag =(unsigned char)AV_MUTE;
144 5 display_mute(lcd_unmute);
145 5 }
146 4 else{
147 5 if(Current_Volume > Volume_Min)
148 5 {
149 6 Volume_Need_Record = 1;
150 6 Current_Volume--;
151 6 // DelayX1ms(200);//improve esd
152 6 Volume_Tune(Current_Volume);
153 6 //显示音量进度条
154 6 switch(Current_Volume / 5)
155 6 {
156 7 case 0:
157 7 display_0bar();
158 7 break;
159 7 case 1:
160 7 display_1bar();
161 7 break;
162 7 case 2:
163 7 display_2bar();
164 7 break;
165 7 case 3:
166 7 display_3bar();
167 7 break;
168 7 case 4:
169 7 display_4bar();
170 7 break;
171 7 case 5:
172 7 display_5bar();
173 7 break;
174 7 case 6:
175 7 display_6bar();
176 7 break;
177 7 case 7:
178 7 display_7bar();
C51 COMPILER V7.50 KEYPROC 10/18/2005 14:13:29 PAGE 4
179 7 break;
180 7 case 8:
181 7 display_8bar();
182 7 break;
183 7 case 9:
184 7 display_9bar();
185 7 break;
186 7 case 10:
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?