📄 ir.lst
字号:
C51 COMPILER V9.01 IR 07/19/2012 20:38:48 PAGE 1
C51 COMPILER V9.01, COMPILATION OF MODULE IR
OBJECT MODULE PLACED IN ir.OBJ
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE ir.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include "ir.h"
2
3 unsigned char irtime = 0;
4 unsigned char irdata[33] = ""; //缓存,存储“时间”
5 unsigned char ircode[4] = "";
6 bit irok = 0;
7 void ir_init()
8 {
9 1 EX0 = 1;
10 1 IT0 = 1;
11 1
12 1 TMOD = 0x02;
13 1 TH0 = 0;
14 1 TL0 = 0;
15 1 ET0 = 1;
16 1 TR0 = 1;
17 1 EA = 1;
18 1 }
19
20 void it0_isr() interrupt 0
21 {
22 1 static char i = 0; //数据
23 1 int temp = irtime;
24 1 irtime = 0;
25 1 if((temp>30) && (temp < 35))
26 1 i = 0;
27 1 irdata[i] = temp;
28 1 i++;
29 1 if(i == 33)
30 1 {
31 2 irok = 1;
32 2 }
33 1 }
34
35 void timer0_isr() interrupt 1
36 {
37 1 irtime++;
38 1 }
39
40 void ir_pro()
41 {
42 1 char i = 0;
43 1 char j = 0;
44 1 char k = 1;
45 1 for(i=0; i<4; i++)
46 1 {
47 2 char temp_code = 0;
48 2 for(j=0; j<8; j++) //irtime = 4 (0)
49 2 { //irtime = 8 (1)
50 3 temp_code >>= 1;
51 3 if(irdata[k] >= 7)
52 3 {
53 4 temp_code = temp_code | 0x80;
54 4 }
55 3 k++;
C51 COMPILER V9.01 IR 07/19/2012 20:38:48 PAGE 2
56 3 }
57 2 ircode[i] = temp_code;
58 2 }
59 1
60 1 }
61 /*
62 temp_code
63 byte7 byte6 ... byte0
64 1 0 0 0 0 0 0 0
65 1 1 1 1 1 1 1 1
66 */
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 133 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 39 1
IDATA SIZE = ---- ----
BIT SIZE = 1 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -