📄 main.lst
字号:
C51 COMPILER V7.20 MAIN 05/10/2005 14:11:43 PAGE 1
C51 COMPILER V7.20, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\KEIL\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <at89x52.h>
2
3 #define address 0x0aa
4 #define power 0x0fe
5 #define menu 0x0f8
6 #define up 0x0fd
7 #define enter 0x0fb
8 #define down 0x0fc
9
10
11 void clsconnect_key(void);
12 void power_key(void);
13 void manu_key(void);
14 void up_key(void);
15 void down_key(void);
16 void enter_key(void);
17 void init(void);
18 void delay(unsigned char t);
19
20 bit interruptFlag,flag = 0;
21 unsigned char command,recommand;
22
23
24 main()
25 {
26 1 init();
27 1 while(1)
28 1 {
29 2
30 2 if(interruptFlag==1)
31 2 {
32 3 interruptFlag=0;
33 3 if(SM2)
34 3 {
35 4 if(command==address)
36 4 {
37 5 SM2=0;
38 5 recommand = address;
39 5 TB8 = 1;
40 5 SBUF = recommand;
41 5 while(~TI){}
42 5 P2 = 0xff; //led
43 5 }
44 4 TI = 0;
45 4 RI = 0;
46 4 EA = 1;
47 4 REN = 1;
48 4 }
49 3
50 3
51 3 else
52 3 {
53 4 if(RB8)
54 4 {
55 5 if(command == address)
C51 COMPILER V7.20 MAIN 05/10/2005 14:11:43 PAGE 2
56 5 {
57 6 clsconnect_key();
58 6 TB8 = 1;
59 6 SBUF = recommand;
60 6 while(~TI){}
61 6 }
62 5 REN= 1;
63 5 TI = 0;
64 5 RI = 0;
65 5 EA = 1;
66 5 }
67 4 else
68 4 {
69 5 switch(command)
70 5 {
71 6 case power :
72 6 power_key() ;break;
73 6 case menu :
74 6 manu_key() ;break;
75 6 case up :
76 6 up_key() ;break;
77 6 case down :
78 6 down_key() ;break;
79 6 case enter :
80 6 enter_key() ;break;
81 6
82 6
83 6
84 6 }
85 5 if(flag == 1)
86 5 {
87 6 flag = 0;
88 6 TB8 = 1 ;
89 6 SBUF = recommand;
90 6 while(~TI){}
91 6 TI = 0;
92 6 RI = 0;
93 6
94 6 EA = 1;
95 6 REN = 1;
96 6 }
97 5 }
98 4
99 4 }
100 3 }
101 2 }
102 1
103 1 }
104
105 void clsconnect_key()
106 {
107 1 P2 = 0xdf;
108 1 recommand=command ;
109 1
110 1 }
111
112 void power_key()
113 {
114 1 P2 = 0xfe;
115 1 recommand=command ;
116 1 flag = 1;
117 1 delay(255);
C51 COMPILER V7.20 MAIN 05/10/2005 14:11:43 PAGE 3
118 1 P2 = 0xff;
119 1 }
120
121 void manu_key()
122 {
123 1 P2 = 0xf7 ;
124 1 recommand=command ;
125 1 flag = 1;
126 1 delay(255);
127 1 P2 = 0xff;
128 1 }
129
130
131 void up_key()
132 {
133 1 P2 = 0xfb ;
134 1 recommand=command ;
135 1 flag = 1;
136 1 delay(255);
137 1 P2 = 0xff;
138 1 }
139
140
141 void down_key()
142 {
143 1 P2 = 0xfd ;
144 1 recommand=command ;
145 1 flag = 1;
146 1 delay(255);
147 1 P2 = 0xff;
148 1 }
149
150 void enter_key()
151 {
152 1 P2 = 0xef;
153 1 recommand=command ;
154 1 flag = 1;
155 1 delay(255);
156 1 P2 = 0xff;
157 1 }
158
159 void serial(void) interrupt 4 using 1
160 {
161 1 EA=0;
162 1
163 1 REN=0;
164 1
165 1 command = SBUF;
166 1 interruptFlag = 1;
167 1 RI=0;
168 1 }
169
170 void init()
171 {
172 1 P2 = 0xff;
173 1 interruptFlag=0;
174 1 TI = 0;
175 1 SCON = 0x0f0; /* mode 1: 8-bit UART, enable receiver */
176 1 TMOD = 0x20; /* timer 1 mode 2: 8-Bit reload */
177 1 TH1 = 0x0f3; /* reload value 2400 baud */
178 1 TL1 = 0x0f3;
179 1 PCON = 0x00;
C51 COMPILER V7.20 MAIN 05/10/2005 14:11:43 PAGE 4
180 1 TR1 = 1; /* timer 1 run */
181 1 TB8 = 1;
182 1 ES = 1;
183 1 EA = 1;
184 1 }
185
186 void delay(unsigned char t)
187 {
188 1 unsigned char i , j;
189 1 for(i = 0;i < t;i ++)
190 1 {
191 2 for(j = 0; j < 180 ; j++)
192 2 {}
193 2 }
194 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 267 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 2 ----
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 + -