📄 ireceive.lst
字号:
C51 COMPILER V8.08 IRECEIVE 11/01/2012 15:19:58 PAGE 1
C51 COMPILER V8.08, COMPILATION OF MODULE IRECEIVE
OBJECT MODULE PLACED IN IReceive.OBJ
COMPILER INVOKED BY: D:\Program Files\keil_51\C51\BIN\C51.EXE IReceive.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include "NEW_8051.H"
2 #include"task.h"
3 #include <intrins.h>
4 #include"sbit.h"
5 unsigned char irtime;//红外用全局变量
6 bit irokk;
7 uchar IRcord[2];
8 uchar irdata[17];
9 /************************************************/
10 void tim1_isr (void) interrupt 3 using 1//定时器0中断服务函数
11 {
12 1 irtime++;
13 1 }
14 /*************************************************************/
15 //外部中断0解码程序
16 void ex0_isr (void) interrupt 0 using 2//外部中断0服务函数
17 {
18 1 static unsigned char i,p,z;
19 1 static bit startflag;
20 1 TR1=1;
21 1 if(startflag)
22 1 {
23 2 if(irtime<100&&irtime>=53)//引导码 TC9012的头码 13.5
24 2 {
25 3 i=0;
26 3 p=1;
27 3 z=0;
28 3 irdata[i]=irtime;
29 3 irtime=0;
30 3 }
31 2 z++;
32 2 if(z>=18)
33 2 {
34 3 irdata[p]=irtime;
35 3 irtime=0;
36 3 p++;
37 3 if(p==17)
38 3 {
39 4 irokk=1;
40 4 p=0;
41 4 TR1=0;
42 4 }
43 3 }
44 2 else
45 2 irtime=0;
46 2
47 2 }
48 1 else
49 1 {
50 2 irtime=0;
51 2 startflag=1;
52 2 }
53 1 }
54 /************************************************/
55 void Ircordpro(void)//红外码值处理函数
C51 COMPILER V8.08 IRECEIVE 11/01/2012 15:19:58 PAGE 2
56 {
57 1 uchar i, j, k;
58 1 uchar cord,value;
59 1
60 1 k=1;
61 1 for(i=0;i<2;i++)//处理4个字节
62 1 {
63 2 for(j=1;j<=8;j++) //处理1个字节8位
64 2 {
65 3 cord=irdata[k];
66 3 if(cord>11)//大于某值为1
67 3 {
68 4 value=value|0x80;
69 4 }
70 3 else
71 3 {
72 4 value=value;
73 4 }
74 3 if(j<8)
75 3 {
76 4 value=value>>1;
77 4 }
78 3 k++;
79 3 }
80 2 IRcord[i]=value;
81 2 value=0;
82 2 }
83 1 //if(((IRcord[2])==~IRcord[3])&&(IRcord[0])==~IRcord[1])
84 1 //{
85 1 // IrOK=1;//处理完毕标志位置1
86 1 //}
87 1 //else
88 1 //IrOK=0;
89 1
90 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 147 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 23 ----
IDATA SIZE = ---- ----
BIT SIZE = 2 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -