📄 step_motor_led.lst
字号:
236 2 {
237 3 while(!b3);
238 3 if(dly>=15&&dly<=350)
239 3 {
C51 COMPILER V8.02 STEP_MOTOR_LED 04/05/2007 22:09:43 PAGE 5
240 4 dly-=6;
241 4 }
242 3 else
243 3 {
244 4 dly+=12;
245 4 }
246 3
247 3 }
248 2 }
249 1 Delayms(dly);
250 1 }
251
252
253 /******************************************************************************
254 Function: buffer_clear
255 Description: buffer_clear
256 Calls: - None
257 Input: - None
258 Output: - None
259 Return:
260 ******************************************************************************/
261 void buffer_clear(void)
262 {
263 1 int i;
264 1 for(i=0;i<20;i++)
265 1 {
266 2 cmd.buf[i]='\0';
267 2 }
268 1 cmd.cnt=0;
269 1 }
270
271
272 /******************************************************************************
273 Function: Lcd initial
274 Description: Initialize LCD IO
275 Calls: - None
276 Input: - None
277 Output: - None
278 Return:
279 ******************************************************************************/
280
281 void Lcd_Cmd(uint cmd)
282 {
283 1 P1=cmd;
284 1 LCD_RS=0;
285 1 LCD_RW=0;
286 1 LCD_E=0;
287 1 Lcd_Check();
288 1 LCD_E=1;
289 1 }
290 //--------------Lcd check busy----------------/
291 void Lcd_Check(void)
292 {
293 1 /* volatile uchar i;
294 1 do{
295 1 P0 = 0xff;
296 1 LCD_RS = 0;
297 1 LCD_RW = 1;
298 1 LCD_E = 1;
299 1 for(i=0;i<6;i++)
300 1 ;
301 1 LCD_E = 1;
C51 COMPILER V8.02 STEP_MOTOR_LED 04/05/2007 22:09:43 PAGE 6
302 1 }while(LCD_BUSY_CHECK == 1); */
303 1 Delayms(2);
304 1 }
305
306 //-----------Lcd initial
307 void Lcd_Ini(void)
308 {
309 1 Lcd_Cmd(0x06);
310 1 Delayms(5);
311 1 Lcd_Cmd(0x38);
312 1 Delayms(5);
313 1 Lcd_Cmd(0x0c);//0f close cursor
314 1 Delayms(5);
315 1 Lcd_Cmd(0x01); //06
316 1 Delayms(5);
317 1 }
318 //----------charater LCD-Display
319 void Lcd_Dis(uint dis)
320 {
321 1 P1=dis;
322 1 LCD_RS=1;
323 1 LCD_RW=0;
324 1 LCD_E=0;
325 1 Lcd_Check();
326 1 LCD_E=1;
327 1 }
328 //---------tips string-display------
329 void Lcd_String(char *str)
330 {
331 1 uint i=0;
332 1 while(str[i]!=0)
333 1 {
334 2 Lcd_Dis(str[i]);
335 2 if(i==19)
336 2 Lcd_Cmd(0xc0);
337 2 else if(i==39)
338 2 Lcd_Cmd(0x94);
339 2 else if(i==59)
340 2 Lcd_Cmd(0xD4);
341 2
342 2 i++;
343 2 }
344 1 }
345
346 void Delayms(int dly)
347 {
348 1 int i,j;
349 1 for(i=0;i<dly;i++)
350 1 for(j=0;j<120;j++); //50
351 1 }
352
353 ////////////4800bps/////////////enable the interrupt serial port////////initialize
354 void Serial_Init1(void) //8 bit data ; 1 bit stop ; no checking bit
355 {
356 1 SCON=0X50;//serial mode 1; 8 bits uart, enable ucvr
357 1 TMOD|=0x20;//time1; mode 1 , 8 bits reload
358 1 PCON=0X0;//SMOD=1;
359 1 TH1=0xFA;//baudrate:4800bps fosc=11.0592MHz
360 1 TL1=0xFA;
361 1 IE|=0x90;// EA=0; enable serial port interrupt
362 1 TR1=1; //timer1 run
363 1 cmd.cnt=0; //initialize
C51 COMPILER V8.02 STEP_MOTOR_LED 04/05/2007 22:09:43 PAGE 7
364 1 buffer_clear();
365 1 }
366
367 ////////////9600bps/////////////enable the interrupt serial port/////////initialize
368 void Serial_Init2(void) //8 bit data ; 1 bit stop ; no checking bit
369 {
370 1 SCON=0X50;//serial mode 1; 8 bits uart, enable ucvr
371 1 TMOD|=0x20;//time1; mode 1 , 8 bits reload
372 1 PCON=0X00;//SMOD=1;
373 1 TH1=0xFD;//baudrate:9600bps fosc=11.0592MHz
374 1 TL1=0xFD;
375 1 IE|=0x90;// EA=0; enable serial port interrupt
376 1 TR1=1; //timer1 run
377 1 cmd.cnt=0; //initialize
378 1 buffer_clear();//clear the buffer
379 1 }
380
381 ////////////19200bps/////////////enable the interrupt serial port ///////initialize
382 void Serial_Init3(void)
383 {
384 1 SCON=0X50;//serial mode 1; 8 bits uart, enable ucvr
385 1 TMOD|=0x20;//time1; mode 1 , 8 bits reload
386 1 PCON=0X80;//SMOD=1;
387 1 TH1=0xFD;//baudrate:9600bps fosc=11.0592MHz
388 1 TL1=0xFD;
389 1 IE|=0x90;// EA=0; enable serial port interrupt
390 1 TR1=1; //timer1 run
391 1 cmd.cnt=0; //initialize
392 1 buffer_clear();//clear the buffer
393 1 }
394
395 ///////////////led character dispaly///////////
396 void led_dispaly(void)
397 {
398 1 int i;
399 1
400 1 // Lcd_Cmd(0x01);
401 1 //display line select
402 1 if(count==0)
403 1 {
404 2 Lcd_Cmd(0x01);
405 2 Lcd_Cmd(0x80);
406 2 }
407 1 else if(count==1)
408 1 Lcd_Cmd(0xc0);
409 1 else if(count==2)
410 1 Lcd_Cmd(0x94);
411 1 else if(count==3)
412 1 Lcd_Cmd(0xD4);
413 1
414 1
415 1 //content display
416 1 for(i=0;i<cmd.cnt-2;i++)
417 1 {
418 2 if(i>59)
419 2 Lcd_String(examp5);
420 2 else
421 2 {
422 3 if(cmd.buf[i]!= 0x0a&&cmd.buf[i]!=0x0d)
423 3 {
424 4 Lcd_Dis(cmd.buf[i]);
425 4 if(i==19) //lines enter
C51 COMPILER V8.02 STEP_MOTOR_LED 04/05/2007 22:09:43 PAGE 8
426 4 Lcd_Cmd(0xc0);
427 4 else if(i==39)
428 4 Lcd_Cmd(0x94);
429 4 else if(i==59)
430 4 Lcd_Cmd(0xD4);
431 4 }
432 3 Delayms(5);
433 3 }
434 2
435 2 }
436 1
437 1 count++;
438 1 if(count==4)
439 1 count=0;
440 1 cmd.cnt=0; //initialize
441 1 buffer_clear();//clear the buffer
442 1 }
443
444 ////////////////interrupt programe////////
445 void serial(void) interrupt 4
446 {
447 1 if(RI)
448 1 {
449 2 RI=0;
450 2 cmd.buf[cmd.cnt++]=SBUF;
451 2 }
452 1 if(cmd.buf[cmd.cnt-1]==0x0d);
453 1 else
454 1 {
455 2 if(cmd.buf[cmd.cnt-1]==0x0a)
456 2 {
457 3 led_dispaly();
458 3 }
459 2 }
460 1
461 1 }
462
463
464
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 833 ----
CONSTANT SIZE = 100 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 27 6
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 + -