📄 download.lst
字号:
205 2 mDelay(3);
206 2 // mDelay(2);
207 2 }
208 1 }
209
210 //***************************************************************************
211
212 //伺服电机左转程序
213
214 //***************************************************************************
215
216 void LEFT_MOVE_SERVO(uint Pluse2_num)
217 {
218 1 // SERVO_ON = 0;
219 1 // mDelay(100);
220 1 SERVO_DIR = 0;
221 1 mDelay(33);
222 1 SERVO_PULSE1 = 1;//脉冲负
223 1
224 1 for(;Pluse2_num>0;Pluse2_num--)
225 1 {
226 2 SERVO_PULSE1 = ~SERVO_PULSE1;//脉冲负
227 2 //Delay();
228 2 mDelay(3);
229 2 SERVO_PULSE1 = ~SERVO_PULSE1;//脉冲负
230 2 //Delay();//
231 2 mDelay(3);
232 2 }
233 1 }
234
235 //***************************************************************************
236
237 //伺服电机停止程序
238
239 //***************************************************************************
240
241 void SERVO_PULSE1_Stop()
C51 COMPILER V7.50 DOWNLOAD 03/09/2009 17:03:12 PAGE 5
242 {
243 1 SERVO_DIR=0;
244 1 SERVO_PULSE1 = 1;//脉冲负
245 1 mDelay(20);
246 1 }
247 //***************************************************************************
248
249 //键盘处理程序
250
251 //***************************************************************************
252
253 uchar Key()
254 {
255 1 uchar KValue;
256 1 uchar tmp;
257 1 P3|=0x3c; //将P3口的接键盘的中间四位置1
258 1 KValue=P3;
259 1 KValue|=0xc3; //将未接键的4位置1
260 1 if(KValue==0xff) //中间4位均为1,无键按下
261 1 return(0); //返回
262 1 mDelay(10); //延时10ms,去键抖
263 1 KValue=P3;
264 1 KValue|=0xc3; //将未接键的4位置1
265 1 if(KValue==0xff) //中间4位均为1,无键按下
266 1 return(0); //返回
267 1 //如尚未返回,说明一定有1或更多位被按下
268 1 for(;;)
269 1 { tmp=P3;
270 2 if((tmp|0xc3)==0xff)
271 2 break; //等待按键释放
272 2 }
273 1 return(KValue);
274 1 }
275
276 void KProce(uchar KValue) //键值处理
277 {
278 1 if((KValue&0x04)==0)
279 1
280 1 LEFT_MOVE_SERVO(10000);
281 1
282 1 //RIGHT_MOVE_DOWNLOAD_HS30806_X(2000);
283 1 //QIGANG=0;
284 1 if((KValue&0x08)==0)
285 1
286 1 RIGHT_MOVE_SERVO(10000);
287 1 //LEFT_MOVE_DOWNLOAD_HS30806_X(2000);
288 1 //QIGANG=1;
289 1 if((KValue&0x10)==0)
290 1 SERVO_ON = 0;
291 1 mDelay(100);
292 1 // RIGHT_MOVE_DOWNLOAD_HS30806_Y(2000);
293 1 if((KValue&0x20)==0)
294 1 SERVO_ON = 1;
295 1 mDelay(100);
296 1 //LEFT_MOVE_DOWNLOAD_HS30806_Y(2000);
297 1 }
298
299 //***************************************************************************
300
301 //初始化程序
302
303 //***************************************************************************
C51 COMPILER V7.50 DOWNLOAD 03/09/2009 17:03:12 PAGE 6
304
305 void init()
306 {
307 1 // P0=0xFF;
308 1 // P1=0xFF;
309 1 // P2=0xFF;
310 1 // P3=0xFF;
311 1 P3=0xFD;
312 1 mDelay(1000);
313 1 while(S2==1)
314 1 {
315 2 LEFT_MOVE_DOWNLOAD_HS30806_Y(1);
316 2 }
317 1 RIGHT_MOVE_DOWNLOAD_HS30806_Y(1600);
318 1 while(S3==1)
319 1 {
320 2 LEFT_MOVE_DOWNLOAD_HS30806_X(1);
321 2 }
322 1 RIGHT_MOVE_DOWNLOAD_HS30806_X(1600);
323 1 }
324
325 //***************************************************************************
326
327 //主函数
328
329 //***************************************************************************
330
331 /*
332 void main()
333 {
334 uchar KValue,m;//,n,flag; //存放键值;
335 //g init();//
336 //SERVO_ON = 0;
337 //mDelay(100);//延时0.00111300s
338 mDelay(1);
339 mDelay(2);
340 mDelay(3);
341 mDelay(4);
342 mDelay(10);
343 mDelay(20);
344 for(m=0;m<100;m++)
345 {
346 RIGHT_MOVE_SERVO(25000);
347 //mDelay(20);//延时0.00023s
348 LEFT_MOVE_SERVO(25000);
349 mDelay(20);
350 }
351 while(1)
352 {
353 // for(m=0;m<100;m++)
354 // {
355 // RIGHT_MOVE_DOWNLOAD_HS30806_Y(800);
356 // }
357
358 for(;;)
359 { KValue=Key(); //调用键盘程序并获得键值
360 if(KValue) //如果该值不等于0
361 {
362 KProce(KValue); //调用键盘处理程序
363 }
364 }
365
C51 COMPILER V7.50 DOWNLOAD 03/09/2009 17:03:12 PAGE 7
366 }
367
368 }
369
370 */
371 void Initia()
372 {
373 1 LEFT_MOVE_SERVO(1);
374 1 mDelay(6);
375 1 }
376
377 void main()
378 {
379 1 Initia();
380 1 RIGHT_MOVE_SERVO(100);
381 1 while(SERVO_POINT==0)
382 1 while(1)
383 1 {
384 2 while(S2==0)
385 2 {
386 3 while(1)
387 3 {
388 4 RIGHT_MOVE_SERVO(100);
389 4 mDelay(20);
390 4 LEFT_MOVE_SERVO(100);
391 4 mDelay(20);
392 4 }
393 3 }
394 2 }
395 1 }
396
397
398
399
400
401
402
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 484 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -