?? download.lst
字號:
205 2 mDelay(3);
206 2 // mDelay(2);
207 2 }
208 1 }
209
210 //***************************************************************************
211
212 //伺服電機左轉(zhuǎn)程序
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 //主函數(shù)
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(); //調(diào)用鍵盤程序并獲得鍵值
360 if(KValue) //如果該值不等于0
361 {
362 KProce(KValue); //調(diào)用鍵盤處理程序
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)
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -