📄 df5.lst
字号:
C51 COMPILER V6.20c DF5 03/19/2004 10:25:14 PAGE 1
C51 COMPILER V6.20c, COMPILATION OF MODULE DF5
OBJECT MODULE PLACED IN Df5.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Df5.c LARGE DEBUG OBJECTEXTEND
stmt level source
1 #include <At89x55.h>
2 //#include <reg52.h>
3 #include <stdio.h>
4 #include <absacc.h>
5 #include <intrins.h>
6
7 #define ulong unsigned long
8 #define uint unsigned int
9 #define uchar unsigned char
10
11 #define VOD 2000
12 #define ZVD 1 /*自检交流电压值下限*/
13 #define SETD_PI (uint xdata *)0x1e00 //led enable
14 #define JDQ XBYTE[0xa000] //377 address
15 #define WC_8255 XBYTE[0xef7f]
16 #define WD_8255 XBYTE[0xef7c]
17
18 extern void dog(void);
19 extern void lcd_int(void);
20 extern void wrfx(void); //lcd
21 extern void lcd_zl(void); //display
22 extern void lcd_zs(void); //load int
23
24 uchar nnt;
25 uchar zzm; //q
26 uchar guagzu;
27
28 uchar bdata statel;
29 sbit s0=statel^0; /*频率 1:ok*/
30 sbit s1=statel^1; /*波动 1:ok*/
31 sbit s2=statel^2; /*电压 1:ok*/
32 sbit s3=statel^3; /*燃烧 1: 着火;0:灭火*/
33 sbit s4=statel^4; /*送煤 1:开启;0:关闭*/
34 sbit s5=statel^5; /*观察 1:偷看;0:不偷看*/
35 sbit s6=statel^6; /*强度 1:ok*/
36 sbit s7=statel^7; /*状态 1: 正常 0:不正常*/
37
38
39 sbit P3_2=P3^2; //Input 送煤
40 sbit P3_5=P3^5; //
41
42 bit b_fsb;
43 bit b_xj;
44 bit b_timer1;
45
46
47 uchar data timer1;
48 extern uchar data zj;
49 uchar time_zh,time_xh;
50 uchar jsq1,jsq2;
51
52 uchar plus;
53 uchar da;
54 uint fr_up,fr_do,fr_sa;
55 uint fr_te,fr_qz;
C51 COMPILER V6.20c DF5 03/19/2004 10:25:14 PAGE 2
56 uint ss_up,ss_do,ss_sa;
57 uint ss_te,ss_qz;
58 uint ss5;
59 uchar wa_up,wa_do,wa_sa;
60 uint vo_up,vo_do,vo_sa;
61 uint zv_sa;
62 uchar dss;
63 uint xdata ss[10];
64
65 /////////////////////////////////////////////
66
67 int_temer1() interrupt 3 using 1
68 {
69 1 ET1=0;
70 1 TR1=0;
71 1 timer1++;
72 1 if(timer1>=47)
73 1 {
74 2 TR0=0;
75 2 fr_te=(TH0*256)+TL0;
76 2 fr_te=fr_te*2;
77 2 TH0=0;
78 2 TL0=0;
79 2 TR0=1;
80 2 b_timer1=0;
81 2 timer1=0;
82 2 }
83 1 TH1=-(10000/256);
84 1 TL1=-(10000%256);
85 1 TR1=1;
86 1 ET1=1;
87 1 }
88
89 delay_y(uint i)
90 {
91 1 uint k;
92 1 uchar j;
93 1 for(k=0;k<i;k++)
94 1 {
95 2 dog();
96 2 for(j=0;j<100;j++);
97 2 }
98 1 }
99
100
101 init()
102 {
103 1 dog();
104 1 TMOD=0x15;
105 1 T2CON=0x34;
106 1 TH2=0xff;
107 1 TL2=0xdc;
108 1 RCAP2H=0xff;
109 1 RCAP2L=0xdc;
110 1 TR2=1;
111 1 SCON=0x50;
112 1 TH1=-(10000/256);
113 1 TL1=-(10000%256);
114 1 TR1=1;
115 1 ET1=1;
116 1 EA=1;
117 1 P3_5=0;
C51 COMPILER V6.20c DF5 03/19/2004 10:25:14 PAGE 3
118 1 statel=0xcf;
119 1 b_fsb=1;
120 1 JDQ=(JDQ&0xfc)|0x01;
121 1 dss=0;
122 1 jsq1=0;
123 1 jsq2=0;
124 1 da=0;
125 1 }
126
127 uchar wa(uint *array,uchar n)
128 {
129 1 uchar num;
130 1 uint max,min;
131 1 uint *p,*array_end;
132 1 array_end=array+n;
133 1 max=min=*array;
134 1 for (p=array+1;p<array_end;p++)
135 1 {
136 2 if (*p>max) max=*p;
137 2 else if (*p<min) min=*p;
138 2 }
139 1 if(min>0) num=max/min;
140 1 return (num);
141 1 }
142
143 tz()
144 {
145 1 long tt1,tt2;
146 1 uint i;
147 1 dog();
148 1 i=ss_te-500;
149 1 if(i>ss_te) ss_sa=1;
150 1 else ss_sa=i;
151 1 tt1=ss_qz;
152 1 tt1*=60;
153 1 tt1/=100;
154 1 tt2=ss_sa;
155 1 tt2*=40;
156 1 tt2/=100;
157 1 tt1+=tt2;
158 1 ss_sa=tt1;
159 1 ss_qz=ss_sa;
160 1 ss[dss]=ss_sa;
161 1 dss++;
162 1 if(dss>9) dss=0;
163 1 if(ss_sa<200) wa_sa=0;
164 1 else if(ss_sa<300) wa_sa=1;
165 1 else if(ss_sa<400) wa_sa=2;
166 1 else wa_sa=wa(ss,10);
167 1 /*
168 1 i=ss5-500;
169 1 if(i>ss5) ss5=0;
170 1 else ss5=i;
171 1 ss5=ss5/2;
172 1 if((ss_sa!=0)&&(ss5!=0))
173 1 wa_sa=ss_sa/ss5;
174 1 */
175 1 tt1=fr_qz;
176 1 tt1*=50;
177 1 tt1/=100;
178 1 tt2=fr_sa;
179 1 tt2*=50;
C51 COMPILER V6.20c DF5 03/19/2004 10:25:14 PAGE 4
180 1 tt2/=100;
181 1 tt1+=tt2;
182 1 fr_sa=tt1;
183 1 fr_qz=fr_sa;
184 1 }
185
186 input()
187 {
188 1 uchar i;
189 1 uchar d[8];
190 1 uint *pi;
191 1 do
192 1 {
193 2 dog();
194 2 SBUF=0xaa;
195 2 while(TI==0);
196 2 TI=0;
197 2 while(RI==0);
198 2 RI=0;
199 2 }while((SBUF^0xbb)!=0);
200 1 for(i=0;i<8;i++)
201 1 {
202 2 while(RI==0);
203 2 RI=0;
204 2 d[i]=SBUF;
205 2 }
206 1 SBUF=da;
207 1 while(TI==0);
208 1 TI=0;
209 1
210 1 pi=(uint *)d;
211 1 ss_te=*pi;
212 1 pi++;
213 1 ss5=*pi;
214 1 pi++;
215 1 zv_sa=*pi;
216 1 pi++;
217 1 vo_sa=*pi;
218 1
219 1 fr_sa=fr_te;
220 1 tz();
221 1 if(P3_2==0) s4=0;
222 1 else s4=1;
223 1 if(zj==0x55)
224 1 {
225 2 ss_sa=6000;
226 2 ss5=400;
227 2 vo_sa=6000;
228 2 s4=1;
229 2 fr_sa=100;
230 2 }
231 1 }
232
233 uchar zhm()
234 {
235 1 long lcc;
236 1 uint av,cc,dd;
237 1 uchar fb,ssb;
238 1 av=(fr_up-fr_do)/2;
239 1 cc=av-fr_do;
240 1 if(cc==0) cc=1;
241 1 if(fr_sa<=fr_do) fb=0;
C51 COMPILER V6.20c DF5 03/19/2004 10:25:14 PAGE 5
242 1 else if(fr_sa<fr_up)
243 1 {
244 2 if(fr_sa<av)
245 2 {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -