📄 zhuansukongzhi.lst
字号:
205 1
206 1 return key;
207 1 }
208 void Timer1() interrupt 3
209 {
210 1 TH1=(65636-50000)/256;
211 1 TL1=(65636-50000)%256;
212 1 Count++;
213 1 if(Count>=20)
214 1 { Count=0;
215 2
216 2 truev=cnt;
217 2 cnt=0;
218 2 }
219 1 }
220 void Timer0() interrupt 1
221 { if(flag==1)
222 1 { TH0=(65636-(100-n)*50)/256;
223 2 TL0=(65636-(100-n)*50)%256;
224 2 L298_IN1=0;
225 2
226 2 }
227 1 else
228 1 {
229 2 TH0=(65636-n*50)/256;
230 2 TL0=(65636-n*50)%256;
231 2 L298_IN1=1;
232 2
233 2 }
234 1 flag=~flag;
235 1 }
236
237 void Int1() interrupt 2
238 {
239 1 cnt++;
240 1 }
241 void Int0() interrupt 0
C51 COMPILER V8.02 ZHUANSUKONGZHI 03/04/2009 17:29:09 PAGE 5
242 { uchar s,a,b,p,q;
243 1 uchar m=v;
244 1 uchar k=0;
245 1 EX0=0;
246 1 s=key_scan();
247 1 if (s==12)
248 1 {
249 2 LCD_WriteCommand(0x01); /*清除LCD的显示内容*/
250 2 delay(10);
251 2 show(0,'P');
252 2 show(1,'u');
253 2 show(2,'t');
254 2 show(3,' ');
255 2 show(4,'i');
256 2 show(5,'n');
257 2 show(6,' ');
258 2 show(7,'v');
259 2 show(8,':');
260 2 s=key_scan();
261 2
262 2 while(s!=15)
263 2 {
264 3 if(s==14)
265 3 {k=0; break;}
266 3 if((s>=0)&(s<=9)&(k==0))
267 3 { a=s;
268 4 k++;
269 4 show(9,(a+48));
270 4 }
271 3 s=key_scan();
272 3 if(s==14)
273 3 {k=0; break;}
274 3 if(s==15) break;
275 3 if((s>=0)&(s<=9)&(k==1))
276 3 { b=s;
277 4 k++;
278 4 show(10,(b+48));
279 4 }
280 3 s=key_scan();
281 3 }
282 2 if(k==1) v=a;
283 2 if(k==2) v=a*10+b;
284 2 if((v<10)|(v>40))
285 2 { v=m;
286 3 LCD_WriteCommand(0x01); /*清除LCD的显示内容*/
287 3 delay(10);
288 3 show(4,'E');
289 3 show(5,'R');
290 3 show(6,'R');
291 3 show(7,'O');
292 3 show(8,'R');
293 3 delay(200);
294 3 }
295 2 p=truev;
296 2 q=v;
297 2 LCD_WriteCommand(0x01);
298 2 delay(10);
299 2 show(0,'S');
300 2 show(1,'e');
301 2 show(2,'l');
302 2 show(3,'e');
303 2 show(4,'c');
C51 COMPILER V8.02 ZHUANSUKONGZHI 03/04/2009 17:29:09 PAGE 6
304 2 show(5,'t');
305 2 show(6,' ');
306 2 show(7,'V');
307 2 show(8,'=');
308 2 show(9,(q/10)+48);
309 2 show(10,(q%10)+48);
310 2 show(11,'r');
311 2 show(12,'/');
312 2 show(13,'s');
313 2 show(0xc0,'T');
314 2 show(0xc1,'r');
315 2 show(0xc2,'u');
316 2 show(0xc3,'e');
317 2 show(0xc4,' ');
318 2 show(0xc5,' ');
319 2 show(0xc6,' ');
320 2 show(0xc7,'V');
321 2 show(0xc8,'=');
322 2 show(0xc9,(p/10)+48);
323 2 show(0xca,(p%10)+48);
324 2 show(0xcb,'r');
325 2 show(0xcc,'/');
326 2 show(0xcd,'s');
327 2 }
328 1
329 1 }
330
331
332
333 void main(void)
334 { uchar temp1=0; /*temp1变量保存速度返回值 */
335 1 uchar temp2=0; /*temp2变量保存路程返回值*/
336 1 P0=0x0f;
337 1 n=40;
338 1 flag=1;
339 1 IE=0x8f;
340 1 IP=0x0e;
341 1 TCON=0x55;
342 1 TMOD=0x11;
343 1 TH0=(65636-n*50)/256;
344 1 TL0=(65636-n*50)%256;
345 1 TH1=(65636-50000)/256;
346 1 TL1=(65636-50000)%256;
347 1 LCD_Init();
348 1 while(1)
349 1 { uchar i;
350 2 EX0=1;
351 2 L298_IN2=0;
352 2 LCD_WriteCommand(0x01);
353 2 delay(10);
354 2 show(0,'S');
355 2 show(1,'e');
356 2 show(2,'l');
357 2 show(3,'e');
358 2 show(4,'c');
359 2 show(5,'t');
360 2 show(6,' ');
361 2 show(7,'V');
362 2 show(8,'=');
363 2 show(11,'r');
364 2 show(12,'/');
365 2 show(13,'s');
C51 COMPILER V8.02 ZHUANSUKONGZHI 03/04/2009 17:29:09 PAGE 7
366 2 show(0xc0,'T');
367 2 show(0xc1,'r');
368 2 show(0xc2,'u');
369 2 show(0xc3,'e');
370 2 show(0xc4,' ');
371 2 show(0xc5,' ');
372 2 show(0xc6,' ');
373 2 show(0xc7,'V');
374 2 show(0xc8,'=');
375 2 show(0xcb,'r');
376 2 show(0xcc,'/');
377 2 show(0xcd,'s');
378 2
379 2 for(i=0;i<5;i++)
380 2 { P0=0x0f;
381 3
382 3 temp1=truev;
383 3 temp2=v;
384 3 if(temp2==0) L298_EN=0;
385 3 if(temp2>0) L298_EN=1;
386 3
387 3 if(n>0&n<100)
388 3 {
389 4 if((temp1>temp2+1)&(n>1)) n--; /*现实速度大于设定速度+1,占空比减小*/
390 4 if((temp1<temp2-1)&(n<99)) n++; /*现实速度小于设定速度-1,占空比增加*/
391 4 }
392 3 show(9,(temp2/10)+48);
393 3 show(10,(temp2%10)+48);
394 3 show(0xc9,(temp1/10)+48);
395 3 show(0xca,(temp1%10)+48);
396 3 delay(600);
397 3 }
398 2 }
399 1 }
400
401
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 2007 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 10 7
IDATA SIZE = ---- ----
BIT SIZE = 1 1
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -