📄 mcu.lst
字号:
C51 COMPILER V6.23a MCU 10/10/2004 11:47:56 PAGE 1
C51 COMPILER V6.23a, COMPILATION OF MODULE MCU
OBJECT MODULE PLACED IN mcu.OBJ
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE mcu.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include"reg51.h"
2 #include"INTRINS.H"
3 #include"math.h"
4 #define uchar unsigned char
5 #define uint unsigned int
6
7 sbit key=P1^4; //开关输入
8 sbit led0=P1^5; //led2输出
9 sbit led1=P1^6; //led1输出
10 sbit led2=P1^7; //led0输出
11 sbit c_24v0=P3^3; //24v输出控制o
12 sbit c_24v1=P3^2; //24v输出控制1
13 sbit c_220v0=P3^4; //220v输出控制0
14 sbit c_220v1=P3^5; //220v输出控制1
15 sbit c_fan=P3^1; //电扇开启
16 sbit RT1=P1^0; //内部温度检测s
17 sbit RT2=P1^1; //冰箱温度检测
18 sbit c_494=P3^0; //494关闭控制
19 sbit c_kaiguan=P3^7; //输入控制
20 sbit c_hv=P1^2; //300v高压检测
21 sbit c_24in=P1^3; //32v电压检测
22
23 uchar step;
24 uchar keep;
25 bit one_sencond;
26 bit f_c;
27 bit f_c1;
28 uchar time0; //小时标志;
29 uint minute; //秒标志
30 uint mminute; //毫秒标志
31
32 delay(uint number)
33 {
34 1 while(number--)
35 1 {
36 2 _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();
37 2 _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();
38 2 _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();
39 2 _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();
40 2 _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();
41 2 _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();
42 2 _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();
43 2
44 2 }
45 1
46 1
47 1
48 1 }
49 main()
50 {
51 1 uchar m_c=0;
52 1 uchar key_n=0;
53 1 c_24v0=1;
54 1 c_24v1=1;
55 1 f_c=0;
C51 COMPILER V6.23a MCU 10/10/2004 11:47:56 PAGE 2
56 1 f_c1=0;
57 1 step=0;
58 1 keep=0;
59 1 time0=0;
60 1 minute=0;
61 1 mminute=124;
62 1 one_sencond=0;
63 1 TMOD=0X11;
64 1 TH0=0XFD;
65 1 TL0=0X12; //1500 3s 2000 4S
66 1 //TH0=0xff;
67 1 // TL0=0X06; //1500 3s 2000 4S
68 1 TH1=0xfe;
69 1 TL1=0x0c;
70 1 ET0=1;
71 1 ET1=1;
72 1 TR1=0;
73 1 EA=0;keep=0;one_sencond=0;
74 1 TR0=0; EA=1;
75 1 P1=0XFF;
76 1 delay(5);
77 1 //RT2=0;
78 1 // RT1=0;
79 1 while(key==1);/*{if(RT1==1) {delay(5);
80 1 if(RT1==1)led0=0;
81 1 else led0=1;}
82 1 if(RT2==1) {delay(5);
83 1 if(RT1==1)led1=0;
84 1 else led1=1;
85 1 }
86 1 }*/
87 1 while(1)
88 1 {
89 2 if(keep==10){ keep=0;key_n=0;}
90 2
91 2 if((key==0)&&(keep==0))
92 2 {
93 3
94 3 TR1=0;
95 3
96 3 time0=0; //小时标志;
97 3 minute=0; //秒标志
98 3 mminute=0;
99 3 f_c1=0;
100 3
101 3
102 3 if(key==0)
103 3 { TR1=1;
104 4 key_n++;
105 4 if(key_n>=5) key_n=2;
106 4 while(key==0){ if(minute>=3)break;}
107 4 if(minute>=3) { key_n=0;
108 5 TR0=0;
109 5 c_220v0=1;
110 5 c_220v1=1;
111 5 TR1=0;
112 5 c_24v1=0;
113 5 c_24v1=0;c_494=1;
114 5 c_fan=1;led0=1;led1=1;led2=1;f_c=0;
115 5 while(key==0);delay(1000);
116 5
117 5 }
C51 COMPILER V6.23a MCU 10/10/2004 11:47:56 PAGE 3
118 4 else{
119 5 time0=0; //小时标志;
120 5 minute=0; //秒标志
121 5 mminute=0;
122 5 f_c1=0;
123 5 }
124 4
125 4 delay(500);
126 4 if(key_n==1){ led0=0;
127 5 TR0=1;c_494=0;f_c1=0;c_fan=1;TR1=0;}
128 4
129 4 if(key_n==2) {led0=0;led1=0;led2=1; TR1=1;}
130 4 if(key_n==3) {led0=0;led1=1;led2=0; TR1=1;}
131 4 if(key_n==4) {led0=0;led1=1;led2=1; TR1=1;}
132 4
133 4
134 4
135 4 }
136 3 }
137 2
138 2
139 2
140 2
141 2 if((keep==0)&&(minute>=6)&&(f_c1==0))
142 2 {
143 3 TR1=0;
144 3 time0=0; //小时标志;
145 3 minute=0; //秒标志
146 3 mminute=0;
147 3
148 3 switch(key_n)
149 3 {
150 4 // case 1: led0=0;
151 4 // TR0=1;c_494=0;f_c1=0;c_fan=1;
152 4 // break;
153 4 case 2: if(f_c==1)
154 4 {c_24v0=0; c_24v1=0;TR1=1;f_c1=1;c_fan=1;}
155 4 else {c_24v0=0; c_24v1=1;TR1=0;f_c=1;f_c1=0;c_fan=0;}
156 4
157 4
158 4 //c_24v0=0; c_24v1=1;
159 4 led0=0;led1=0; led2=1;
160 4
161 4 break; //制热
162 4 case 3: if(f_c==1)
163 4 {
164 5 c_24v0=0;
165 5 c_24v1=0; // c_24v0=1;
166 5 //c_24v1=0;
167 5 TR1=1;
168 5 c_fan=1;}
169 4 else{c_24v0=1; c_24v1=0;f_c=1;TR1=0;f_c1=0;c_fan=0;}
170 4
171 4 led0=0;led1=1;led2=0; f_c1=1;
172 4 break; //制冷
173 4 case 4: c_24v0=0;
174 4 c_24v1=0;
175 4 c_fan=1;
176 4 TR1=0;
177 4 led0=0;led1=1;led2=1;f_c1=0;
178 4 break; //什么都不做
179 4 }
C51 COMPILER V6.23a MCU 10/10/2004 11:47:56 PAGE 4
180 3 }
181 2
182 2 if((keep==0)&&(minute>=330)&&(f_c1==1))
183 2 {
184 3 TR1=0;
185 3 time0=0; //小时标志;
186 3 minute=0; //秒标志
187 3 mminute=0;
188 3 switch(key_n)
189 3 {
190 4 case 2: c_24v0=0;
191 4 c_24v1=1;
192 4 f_c1=0; c_fan=0;
193 4 break; //制热
194 4 case 3: c_24v0=1;
195 4 c_24v1=0;
196 4 f_c1=0;c_fan=0;
197 4 break; //制冷
198 4 }
199 3
200 3
201 3 }
202 2
203 2
204 2
205 2 if(RT1==1)
206 2 {delay(5);
207 3 if((RT1==1)&&(keep!=1))
208 3 {keep=1;
209 4 TR0=0;
210 4 c_220v0=1;
211 4 c_220v1=1;
212 4
213 4 c_24v0=0;
214 4 c_24v1=0;
215 4 c_fan=1;
216 4 c_494=1;
217 4 TR1=1;
218 4 } //内部温度过高------模块停止工作
219 3
220 3 }
221 2
222 2 if(RT1==0)
223 2 {delay(5);
224 3 if((RT1==0)&&(keep==1))
225 3 {
226 4 keep=0;
227 4 if(key_n==2) {led0=0;led1=0;led2=1;c_24v0=0; c_24v1=1; c_fan=0;}
228 4 if(key_n==3) {led0=0;led1=1;led2=0;c_24v0=1; c_24v1=0; c_fan=0;}
229 4 if(key_n==4) {led0=0;led1=1;led2=1; }
230 4 if(key_n!=0) {TR0=1;c_494=0;}
231 4 //led0=1;led1=1;led2=1;
232 4 if(c_kaiguan==1) //在出现报警的过程中发动机关闭信号产生,当报警恢复正常后,继续计数,6小
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -