📄 key.lst
字号:
178 3 Band_Data=0;//切换回默认状态
179 3 Band_Change(Band_Data);//波段数据转换
C51 COMPILER V7.06 KEY 03/16/2009 19:12:49 PAGE 4
180 3 }
181 2 while(Band==0) //判断是否有松键
182 2 {
183 3 WatchDog; //喂狗
184 3 }
185 2 Data_Change=1;//有关键数据改变标志
186 2 return 0;
187 2 }
188 1
189 1 return 0;
190 1 }
191
192 //加键程序
193 void Dec_Process(void)
194 {
195 1 switch(Mode)//显示切换
196 1 {
197 2 case 0: {
198 3 gdwPresetVCO=gdwPresetVCO-STEP;
199 3 if(Band_Data==0)//是高高波段了
200 3 {
201 4 if(gdwPresetVCO<Min_FreqH)
202 4 gdwPresetVCO=Max_FreqH;
203 4
204 4 }
205 3 else //是低波段了
206 3 {
207 4 if(gdwPresetVCO<Min_FreqL)
208 4 gdwPresetVCO=Max_FreqL;
209 4 }
210 3 Frequency_Change(gdwPresetVCO);
211 3 WatchDog;
212 3 Tuner_Preset (False,True,Low,gdwPresetVCO);//向5767发码
213 3 // Radio_Mode=1;//使能手动搜频功能
214 3 }
215 2 break;
216 2 case 1: {
217 3 if(Volume)
218 3 {
219 4 Volume--;
220 4 VolSet(Volume+19);
221 4 }
222 3 else
223 3 VolSet(0);//不出声音了
224 3 Volume_Change(Volume);
225 3 }
226 2 break;
227 2 case 2:{
228 3 Delay_s=Delay_s-1;
229 3 if(Delay_s<10) Delay_s=250;
230 3 Delays_change(Delay_s);
231 3 }
232 2 break;
233 2 case 3: {
234 3 District=District-1;
235 3 if(District<1)District=128;
236 3 District_Change(District);
237 3 }
238 2 break;
239 2 case 4: {
240 3 Node=Node-1;
241 3 if(Node<1) Node=255;
C51 COMPILER V7.06 KEY 03/16/2009 19:12:49 PAGE 5
242 3 Node_Change(Node);
243 3 }
244 2 break;
245 2 default: break;
246 2 }
247 1 }
248
249 //减键程序
250 void Add_Process(void)
251 {
252 1 switch(Mode)//显示切换
253 1 {
254 2 case 0: {
255 3 gdwPresetVCO=gdwPresetVCO+STEP;
256 3 if(Band_Data==0)//是高波段了
257 3 {
258 4 if(gdwPresetVCO>Max_FreqH)
259 4 gdwPresetVCO=Min_FreqH;
260 4 }
261 3 else //是低波段了
262 3 {
263 4 if(gdwPresetVCO>Max_FreqL)
264 4 gdwPresetVCO=Min_FreqL;
265 4 }
266 3 //gdwPresetVCO+=STEP;
267 3 Frequency_Change(gdwPresetVCO);
268 3 WatchDog;
269 3 Tuner_Preset (False,True,Low,gdwPresetVCO);//向5767发码
270 3 // Radio_Mode=1;//使能手动搜频功能
271 3 }
272 2 break;
273 2 case 1: {
274 3 //Volume=Volume+1;
275 3 if(Volume<68) Volume++;
276 3 Volume_Change(Volume);
277 3 VolSet(Volume+19);
278 3 }
279 2 break;
280 2 case 2: {
281 3 Delay_s=Delay_s+1;
282 3 if(Delay_s>250) Delay_s=10;
283 3 Delays_change(Delay_s);
284 3 }
285 2 break;
286 2 case 3:{
287 3 District=District+1;
288 3 if(District>128)
289 3 District=1;
290 3 District_Change(District);
291 3 }
292 2 break;
293 2 case 4:{
294 3 Node=Node+1;
295 3 if(Node==0) Node=1;
296 3 Node_Change(Node);
297 3 }
298 2 break;
299 2 default: break;
300 2 }
301 1 }
302
303 /*
C51 COMPILER V7.06 KEY 03/16/2009 19:12:49 PAGE 6
304 void Radio_Process(void)
305 {
306 //uchar vol;
307 //vol=(uchar)Volume/2;
308 switch(Radio_Mode)
309 {
310 case 1:{
311 Tuner_Preset(False,False,High,gdwPresetVCO);
312
313 }
314 break; //手动搜台
315 case 2:break;
316 case 3:break;
317 default: break;
318 }
319 Radio_Mode=0;//清搜台功能
320 }
321 */
322
323 bit SearchDelayMs(unsigned int Time)
324 {
325 1 unsigned char i;
326 1
327 1 while( --Time != 0)
328 1 {
329 2 for(i = 0; i < 125; i++); //i 从0加到125,CPU大概就耗时1 毫秒 。
330 2 WatchDog;
331 2
332 2 if((Time%20)==0)//大约20ms检测一次
333 2 {
334 3 if((Up_Key!=1)||(Down_Key!=1))//如果有按下时,表示有人为的停下要求了
335 3 // {
336 3 // WatchDog;
337 3 //
338 3 // }
339 3 return 1;//表示有键按下了
340 3 }
341 2 }
342 1 return 0;//无键按下了
343 1 }
344
345
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 836 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 4 ----
IDATA SIZE = ---- ----
BIT SIZE = 4 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -