📄 pt2262_decode.lst
字号:
246 ** 功能描述: 初始化
247 ** 输 入: 无
248 ** 输 出:
249 ** 全局变量:
250 ** 调用模块:
251 **
252 ** 作 者: gl
253 ** 日 期: 2007年01月15日
254 **-------------------------------------------------------------------------------------------------------
255 ** 修改人: gl
256 ** 日 期: 2007年01月21日
257 **------------------------------------------------------------------------------------------------------
258 ********************************************************************************************************/
259 void init() //端口初始化
260 {
261 1 P0 = 0xff; //p0.0为ir输入引脚,作为输一定要执行这一条
262 1 FUCTIONOUT_IO = 0;//输出功能,关所有继电器
263 1 IE = 0;
264 1 EA = 0;
265 1 ET0 = 1;
266 1 TMOD = 0X02; //T0工作在模式2下,
267 1 TL0 = 0x06; //定时中断时间为250us,12M晶振
268 1 TH0 = 0x06; //重装初值
269 1 TR0 = 1;
270 1 TR1 = 0;
271 1 _synbitokFG = 0; //同步位检测标志
272 1 IRPINOLDFG = 1; //因为无信号时,为高电平
273 1 LCD_Initial(); //LCM1602A初始化
274 1 EA = 1;
275 1 }
276 /*********************************************************************************************************
277 ** 函数名称: KeyScan
278 ** 功能描述: 读键
279 ** 输 入: 无
280 ** 输 出:
281 ** 全局变量:
282 ** 调用模块:
283 **
284 ** 作 者: gl
285 ** 日 期: 2007年01月15日
286 **-------------------------------------------------------------------------------------------------------
287 ** 修改人: gl
288 ** 日 期: 2007年01月15日
289 **------------------------------------------------------------------------------------------------------
290 ********************************************************************************************************/
291 void KeyScan()
292 {
293 1
294 1
295 1 }
296 /*********************************************************************************************************
297 ** 函数名称: Display
298 ** 功能描述: LCM1602A显示
299 ** 输 入: 无
300 ** 输 出:
301 ** 全局变量:
C51 COMPILER V6.12 PT2262_DECODE 01/23/2007 00:22:16 PAGE 6
302 ** 调用模块:
303 **
304 ** 作 者: gl
305 ** 日 期: 2007年01月15日
306 **-------------------------------------------------------------------------------------------------------
307 ** 修改人: gl
308 ** 日 期: 2007年01月21日
309 **------------------------------------------------------------------------------------------------------
310 ********************************************************************************************************/
311 void Display()
312 {
313 1
314 1 IntToStr(Count,&TempBuffer[0],8);
315 1 GotoXY(0,0);
316 1 Print("CODE:");Print(&TempBuffer[0]);
317 1 GotoXY(0,1);
318 1 switch (keys)
319 1 {
320 2 case 0: Print("key0 ");
321 2 break;
322 2 case 1: Print("key1 ");
323 2 break;
324 2 case 2: Print("key2 ");
325 2 break;
326 2 case 3: Print("key3 ");
327 2 break;
328 2 case 4: Print("key0+key1 ");
329 2 break;
330 2 case 5: Print("key0+key2 ");
331 2 break;
332 2 case 6: Print("key0+key3 ");
333 2 break;
334 2 case 7: Print("key1+key2 ");
335 2 break;
336 2 case 8: Print("key1+key3 ");
337 2 break;
338 2 case 9: Print("key2+key3 ");
339 2 break;
340 2 /*
341 2 case 10:Print("key0+key1+key2 "); //由于data空间不够,只做了10个键,有个问题不理解
342 2 break; //当是当增大KEY值时,data是以每4个字节增加的
343 2 case 11:Print("key0+key1+key3 "); //如果真是这样那么24位解码将占用很大的data
344 2 break; //空间,建议码值改为12位(悬空地址信号不知如何处理).
345 2 case 12:Print("key0key1key2key3");
346 2 break;
347 2 */
348 2 default :Print("NO key ");
349 2 break;
350 2 }
351 1 }
352
353 /*********************************************************************************************************
354 ** 函数名称: GetAd
355 ** 功能描述: 读ad转换结果
356 ** 输 入: 无
357 ** 输 出:
358 ** 全局变量:
359 ** 调用模块:
360 **
361 ** 作 者: gl
362 ** 日 期: 2007年01月15日
363 **-------------------------------------------------------------------------------------------------------
C51 COMPILER V6.12 PT2262_DECODE 01/23/2007 00:22:16 PAGE 7
364 ** 修改人: gl
365 ** 日 期: 2007年01月15日
366 **------------------------------------------------------------------------------------------------------
367 ********************************************************************************************************/
368 void GetAd()
369 {
370 1
371 1
372 1 }
373
374 /*********************************************************************************************************
375 ** 函数名称: time
376 ** 功能描述: 系统时间处理
377 ** 输 入: 无
378 ** 输 出:
379 ** 全局变量:
380 ** 调用模块:
381 **
382 ** 作 者: gl
383 ** 日 期: 2007年01月15日
384 **-------------------------------------------------------------------------------------------------------
385 ** 修改人: gl
386 ** 日 期: 2007年01月15日
387 **------------------------------------------------------------------------------------------------------
388 ********************************************************************************************************/
389 void time()
390 {
391 1 if(_1SFG)
392 1 {
393 2 P3 ^= 0xff; //DEBUG COMMAND,每秒闪烁一次
394 2 _1SFG = 0; //0.5秒
395 2 if(++_1Scount >=120)
396 2 {
397 3 _1Scount = 0; //1分
398 3 if(++_1Mcount > 60)
399 3 {
400 4 _1Mcount = 0; //1小时
401 4 if(++_1Hcount >=24)
402 4 {
403 5 _1Hcount = 0; //1天
404 5 }
405 4 }
406 3 }
407 2 }
408 1
409 1 }
410 /*********************************************************************************************************
411 ** 函数名称: function1
412 ** 功能描述: 功能处理,输出功能控制
413 ** 输 入: 无
414 ** 输 出: 无
415 ** 全局变量:
416 ** 调用模块:
417 **
418 ** 作 者: gl
419 ** 日 期: 2007年01月15日
420 **-------------------------------------------------------------------------------------------------------
421 ** 修改人: gl
422 ** 日 期: 2007年01月21日
423 **------------------------------------------------------------------------------------------------------
424 ********************************************************************************************************/
425
C51 COMPILER V6.12 PT2262_DECODE 01/23/2007 00:22:16 PAGE 8
426 void function1()
427 {
428 1 if(have_count >= 5)
429 1 {
430 2 have_count = 0;
431 2 switch(keys)
432 2 {
433 3 case 0:
434 3 {
435 4 FUCTIONOUT_IO ^= 0X01; //第1路继电器
436 4 break;
437 4 }
438 3 case 1:
439 3 {
440 4 FUCTIONOUT_IO ^= 0X02; //第2路继电器
441 4 break;
442 4 }
443 3 case 2:
444 3 {
445 4 FUCTIONOUT_IO ^= 0X04; //第3路继电器
446 4 break;
447 4 }
448 3 case 3:
449 3 {
450 4 FUCTIONOUT_IO ^= 0X08; //第4路继电器
451 4 break;
452 4 }
453 3 case 4:
454 3 {
455 4
456 4 }
457 3 case 5:
458 3 {
459 4
460 4 }
461 3 case 6:
462 3 {
463 4
464 4 }
465 3 case 7:
466 3 {
467 4
468 4 }
469 3 case 8:
470 3 {
471 4
472 4 }
473 3 case 9:
474 3 {
475 4 FUCTIONOUT_IO = 0X00; //关掉所有继电器
476 4 break;
477 4 }
478 3 default:
479 3 {
480 4 break;
481 4 }
482 3
483 3 }
484 2
485 2 }
486 1
487 1
C51 COMPILER V6.12 PT2262_DECODE 01/23/2007 00:22:16 PAGE 9
488 1 }
489
490
491 /*********************************************************************************************************
492 ** 函数名称: error
493 ** 功能描述: 出错处理
494 ** 输 入: 无
495 ** 输 出: 无
496 ** 全局变量:
497 ** 调用模块:
498 **
499 ** 作 者: gl
500 ** 日 期: 2007年01月15日
501 **-------------------------------------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -