📄 sy.lst
字号:
C51 COMPILER V7.50 SY 08/16/2007 20:47:59 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE SY
OBJECT MODULE PLACED IN sy.OBJ
COMPILER INVOKED BY: D:\keil uvision3\C51\BIN\C51.EXE sy.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include<reg51.h>
2
3 //------字表------------------------------
4 unsigned char code tab[]=
5 { 0x3F,0x06,0x5B,0x4F, //"0","1","2","3"
6 0x66,0x6D,0x7D,0x07, //"4","5","6","7"
7 0x7F,0x6F,0x77,0x7c, //"8","9","A","B"
8 0x39,0x5e,0x79,0x71, //"C","D","E","F"
9 };
10
11 unsigned char yk_flag;
12 unsigned int a,b;
13 int n ;
14 unsigned char ch,ch_1;
15 unsigned char key_code,key_press;
16 sbit rec=P2^4; //红外接收
17
18 //接收遥控器信号--------------------------------------
19 void yaokong()
20 { unsigned char i;
21 1 TR0=1 ;
22 1 n=0;
23 1 if(yk_flag==0)
24 1 {
25 2 while(rec)
26 2 {if(n>400) break; }
27 2 n=0;
28 2 while(!rec);
29 2 if(n>470)
30 2 { //buff[0]=1;
31 3 n=0;
32 3 while(rec);
33 3 if((n>175)&&(n<290))
34 3 {//buff[1]=1;
35 4 n=0;
36 4 for(i=0;i<8;i++)
37 4 { while(!rec);
38 5 n=0;
39 5 while(rec);
40 5 if((n>16)&&(n<58))
41 5 {ch=ch<<1;n=0;}
42 5 else if((n>70)&&(n<118))
43 5 {ch=(ch<<1)|0x01;n=0;}
44 5 }
45 4 // buff[2]=ch>>4;
46 4 // buff[3]=ch&0x0f;
47 4 while(!rec);
48 4 n=0;
49 4 while(rec);
50 4 if((n>168)&&(n<282))
51 4 { for(i=0;i<8;i++)
52 5 { while(!rec);
53 6 n=0;
54 6 while(rec);
55 6 if((n>16)&&(n<58))
C51 COMPILER V7.50 SY 08/16/2007 20:47:59 PAGE 2
56 6 {ch_1=ch_1<<1;n=0;}
57 6 else if((n>70)&&(n<118))
58 6 {ch_1=(ch_1<<1)|0x01;n=0;}
59 6 }
60 5 // buff[4]=ch_1>>4;
61 5 // buff[5]=ch_1&0x0f;
62 5
63 5 }
64 4 yk_flag=2;
65 4 }
66 3 if(ch==0x43)
67 3 { switch(ch_1)
68 4 {
69 5 case 0x08 :key_code=1;key_press=1;break;
70 5 case 0x88 :key_code=2;key_press=1;break;
71 5 case 0x48 :key_code=3;key_press=1;break;
72 5 case 0xc8 :key_code=4;key_press=1;break;
73 5 case 0x28 :key_code=5;key_press=1;break;
74 5 case 0xa8 :key_code=6;key_press=1;break;
75 5 case 0x68 :key_code=7;key_press=1;break;
76 5 case 0xe8 :key_code=8;key_press=1;break;
77 5 case 0x18 :key_code=9;key_press=1;break;
78 5 case 0x98 :key_code=0;key_press=1;break;
79 5 case 0x58 :key_code=0x0a;key_press=1;break;
80 5 case 0xd8 :key_code=0x0b;key_press=1;break;
81 5 case 0x40 :key_code=0x0c;key_press=1;break;
82 5 case 0x80 :key_code=0x0d;key_press=1;break;
83 5 case 0x2c :key_code=0x0e;key_press=1;break;
84 5 case 0x70 :key_code=0x0f;key_press=1;break;
85 5 default :break;//buff[1]=0x0f;
86 5 }
87 4 }
88 3 }
89 2
90 2 n=0;
91 2 }
92 1 TR0=0 ;
93 1 }
94
95
96 void main()
97 {
98 1 TMOD=0x02;
99 1 TR0=1;
100 1 ET0=1;
101 1 EA=1;
102 1 TH0=0xfa;
103 1 TL0=0xfa;
104 1 while(1)
105 1 {
106 2 yaokong();
107 2 P1=tab[key_code];
108 2 yk_flag=0;
109 2 }
110 1 }
111
112 void to(void) interrupt 1 using 0
113 {
114 1 n++;
115 1 }
C51 COMPILER V7.50 SY 08/16/2007 20:47:59 PAGE 3
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 507 ----
CONSTANT SIZE = 16 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 11 ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -