📄 text1.lst
字号:
C51 COMPILER V8.05a TEXT1 09/23/2007 11:15:54 PAGE 1
C51 COMPILER V8.05a, COMPILATION OF MODULE TEXT1
OBJECT MODULE PLACED IN Text1.OBJ
COMPILER INVOKED BY: C:\Keil3\C51\BIN\C51.EXE Text1.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <absacc.h>
2 #include <reg51f.h>
3 #include <intrins.h>
4 #define uchar unsigned char
5 #define uint unsigned int
6
7
8
9 unsigned char receive_len,send_num,k,i,qunum ;
10 unsigned char receive_check;
11 unsigned char send_check;
12 unsigned char receive_buf[8] ; //定义接收缓冲区
13 unsigned char send_buf[8]; //定义发送缓冲区
14 unsigned char qu[3] ;
15 sbit CO= P1^3; //关机键
16 sbit CO1=P1^2;
17 sbit shutdown_s= P2^6; //关大屏幕
18 sbit shutdown_c= P2^2; // 关计算机
19 sbit shutdown_f= P2^7; // 关烟雾器
20 sbit shutdown= P2^0; //关总电源
21 sbit smog_hand=P1^1; //烟雾手动
22 sbit smog_open=P2^1; //放烟雾
23 sbit start=P1^0;//开机(遥控器)
24 sbit play_1=P3^3;//连续播放即循环播放
25 sbit play_2=P3^2;//单次播放即手动检测激光信号
26 sbit enable=P2^5;//激光琴总允许信号
27 sbit IC4=P1^4;
28 sbit ID4=P1^5;
29 sbit IE4=P1^6;
30 sbit IF4=P1^7;
31 sbit SDA=P2^3;
32
33 bit receive_status;
34 bit send_status;
35 bit auto_smog;
36 bit sr_flag;
37 bit CO_flag;
38 bit start_flag;
39 bit start_flag1;
40 bit auto_flag;
41 bit sh_flag;
42 bit play1_flag;
43 bit play2_flag;
44 bit pause;
45 bit con;
46 bit start_flag;
47 bit KJOK;
48 bit GJOK;
49 bit pp;
50 bit qmend;
51
52 uint time_50ms;
53 uint time_1s;
54 uint time_s;
55 uint time_s_gj;
C51 COMPILER V8.05a TEXT1 09/23/2007 11:15:54 PAGE 2
56 uint time_s_kj;
57 uint time_s_3;
58
59
60
61 void delay(void)
62 { int t;
63 1 for(t=0;t<=800;t++) {}
64 1 }
65 void diao(void) interrupt 9
66 { if(GJOK==0)
67 1 while(1) ;
68 1 }
69 void Timer(void) interrupt 1 using 1
70 {
71 1 TR0=0;
72 1 TH0=0x4c;
73 1 TL0=0x00;
74 1 TR0=1;
75 1
76 1 time_50ms++;
77 1 if(time_50ms==20)
78 1 {time_1s++;
79 2 time_s++;
80 2 time_s_3++;
81 2 time_s_kj++;
82 2 time_s_gj++;
83 2 time_50ms=0;
84 2 }
85 1
86 1 }
87 void rs232(void) interrupt 4 using 2
88 {
89 1 if(RI==1)
90 1 {
91 2 if(receive_status==0)
92 2
93 2 { if (receive_len!=7)
94 3 {
95 4 receive_buf[receive_len] = SBUF;
96 4 receive_len = receive_len+1;
97 4 }
98 3 else
99 3 {
100 4 receive_buf[receive_len] = SBUF;
101 4 receive_status=1;
102 4 receive_len=0;
103 4 }
104 3 }
105 2 RI=0;
106 2 }
107 1 else
108 1 {
109 2 if(send_status==0)
110 2 { SBUF =send_buf[send_num];
111 3 send_num = send_num+1;
112 3 if(send_num==8)
113 3 {send_status = 1;
114 4 send_num=1;}
115 3 }
116 2
117 2 TI=0;
C51 COMPILER V8.05a TEXT1 09/23/2007 11:15:54 PAGE 3
118 2 }
119 1
120 1 }
121
122
123 void pca(void) interrupt 6
124 {
125 1 if(i==3)
126 1 { i=0;
127 2 qu[0]=0;
128 2 qu[1]=0;
129 2 qu[2]=0;
130 2 pp=1;
131 2 }
132 1
133 1 if(IC4==0&&ID4==0&&IE4==0&&IF4==0)
134 1 { for(k=0;k<=20;k++)
135 2 {delay();
136 3 }
137 2 if(IC4==0&&ID4==0&&IE4==0&&IF4==0)
138 2 {shutdown_c=~shutdown_c;
139 3 if(CCF1==1)
140 3 { if(qu[0]==1||qu[1]==1||qu[2]==1)
141 4 {
142 5 i=0;
143 5 qu[0]=0;
144 5 qu[1]=0;
145 5 qu[2]=0;
146 5
147 5 }
148 4 else
149 4 {
150 5 qu[i]=1;
151 5 }
152 4 CCF1=0;
153 4 }
154 3 if(CCF2==1)
155 3 { if(qu[0]==2||qu[1]==2||qu[2]==2)
156 4 {
157 5 i=0;
158 5 qu[0]=0;
159 5 qu[1]=0;
160 5 qu[2]=0;
161 5
162 5 }
163 4 else
164 4 {
165 5 qu[i]=2;
166 5 }
167 4 CCF2=0;
168 4 }
169 3 if(CCF3==1)
170 3 { if(qu[0]==3||qu[1]==3||qu[2]==3)
171 4 {
172 5 i=0;
173 5 qu[0]=0;
174 5 qu[1]=0;
175 5 qu[2]=0;
176 5
177 5 }
178 4 else
179 4 {
C51 COMPILER V8.05a TEXT1 09/23/2007 11:15:54 PAGE 4
180 5 qu[i]=3;
181 5 }
182 4 CCF3=0;
183 4 }
184 3 if(CCF4==1)
185 3 { if(qu[0]==4||qu[1]==4||qu[2]==4)
186 4 {
187 5 i=0;
188 5 qu[0]=0;
189 5 qu[1]=0;
190 5 qu[2]=0;
191 5
192 5 }
193 4 else
194 4 {
195 5 qu[i]=4;
196 5 }
197 4 CCF4=0;
198 4 }
199 3 }
200 2 }
201 1 if(i==2)
202 1 {
203 2 switch(qu[0])
204 2 {case 1:
205 3 {//if(i>=1)
206 4 {switch(qu[1])
207 5 { case 3: { if(qu[2]==2)
208 7 { qunum=0;
209 8 // play2_flag=0;
210 8 pp=0;
211 8 }
212 7 if(qu[2]==4)
213 7 {qunum=1;
214 8 // play2_flag=0;
215 8 pp=0;
216 8 }
217 7 break;
218 7 }
219 6 case 4: { if(qu[2]==2)
220 7 {qunum=2;
221 8 // play2_flag=0;
222 8 pp=0;
223 8 }
224 7 if(qu[2]==3)
225 7 {qunum=3;
226 8 // play2_flag=0;
227 8 pp=0;
228 8 }
229 7 break;
230 7 }
231 6
232 6
233 6 default: { i=0;
234 7 qu[0]=0;
235 7 qu[1]=0;
236 7 qu[2]=0;
237 7 pp=1;
238 7 break;
239 7 }
240 6
241 6 }
C51 COMPILER V8.05a TEXT1 09/23/2007 11:15:54 PAGE 5
242 5 }
243 4 break;
244 4 }
245 3 case 2:
246 3 {
247 4 // if(i>=1)
248 4 {switch(qu[1])
249 5 { case 1: { if(qu[2]==3)
250 7 { qunum=4;
251 8 // play2_flag=0;
252 8 pp=0;
253 8 }
254 7 if(qu[2]==4)
255 7 {qunum=5;
256 8 // play2_flag=0;
257 8 pp=0;
258 8 }
259 7 break;
260 7 }
261 6 case 3:{
262 7 if(qu[2]==1)
263 7 {
264 8 qunum=6;
265 8 // play2_flag=0;
266 8 pp=0;
267 8 }
268 7 if(qu[2]==4)
269 7 {qunum=7;
270 8 // play2_flag=0;
271 8 pp=0;
272 8 shutdown_f=~shutdown_f;
273 8 //EC=0;
274 8 }
275 7
276 7 break;
277 7 }
278 6 case 4: {
279 7 if(qu[2]==1)
280 7 {qunum=8;
281 8 //play2_flag=0;
282 8 pp=0;
283 8 }
284 7 if(qu[2]==3)
285 7 {qunum=9;
286 8 //play2_flag=0;
287 8 pp=0;
288 8 }
289 7
290 7 break;
291 7 }
292 6
293 6 default: { i=0;
294 7 qu[0]=0;
295 7 qu[1]=0;
296 7 qu[2]=0;
297 7 pp=1;
298 7 break;
299 7 }
300 6
301 6 }
302 5 }
303 4 break;
C51 COMPILER V8.05a TEXT1 09/23/2007 11:15:54 PAGE 6
304 4 }
305 3 default: { i=0;
306 4 qu[0]=0;
307 4 qu[1]=0;
308 4 qu[2]=0;
309 4 pp=1;
310 4 break;
311 4 }
312 3 }
313 2 }
314 1 if(qu[0]==1||qu[0]==2)
315 1 {i++;
316 2
317 2 }
318 1
319 1 }
320
321 main()
322 {
323 1 AUXR= 0x0;
324 1 shutdown_s=0;
325 1 shutdown_c=0;
326 1 shutdown_f=0;
327 1 shutdown=1;
328 1 smog_open=0;
329 1 enable=1;
330 1 CO1=1;
331 1
332 1 SDA=1;
333 1 IC4=1;
334 1 ID4=1;
335 1 IE4=1;
336 1 IF4=1;
337 1 TMOD = 0x01; //定时器1,2工作于方式1
338 1 TH0=0x4c;
339 1 TL0=0x00;
340 1 TR0=1;
341 1 RCAP2H=0xff; // 定时器二做波特率发生器 9600
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -