PIC Vietnam

Go Back   PIC Vietnam > Robotics > Cơ cấu chấp hành (Actuator)

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Tìm Kiếm Bài Trong Ngày Ðánh Dấu Ðã Ðọc Vi điều khiển

Cơ cấu chấp hành (Actuator) Động cơ DC, AC, động cơ không chổi than, động cơ không cảm biến...

 
 
Ðiều Chỉnh Xếp Bài
Prev Previous Post   Next Post Next
Old 21-12-2005, 08:37 PM   #7
ThanhPhuc
Đệ tử 2 túi
 
Tham gia ngày: Jul 2005
Bài gửi: 35
:
Chương trình điều khiển moto bước .
Bàn phím có 5 phím:quay thuận,quay ngược,quay thuận bước nhỏ,quay ngược bước nhỏ,stop. Trình dịch CCS.Mong các bạn cho ý kiến để cải tiến

Code:
 #include "C:\Comport\ccs\DKMOTOR.h"
               #define  stop PIN_C0
	   #define  dkth PIN_C1
	   #define  dkng PIN_C2
	   #define  hpb1 PIN_C3
               #define  hpb2 PIN_C4
      #BYTE trisb =0x86
      #BYTE OSCCON=0x8F
      #BYTE trisc = 0x87
        char a,b ;
        char PeekKey() ;
        char GetKey();
        void buoc1();
        void buoc2();
        void stp();
        void dkthuan();
        void dknghich();
 void main()
  {  //su dung loai 2cuon co chan giua noi B+
   setup_adc_ports(NO_ANALOGS);
   setup_adc(ADC_OFF);
   setup_spi(FALSE);
   setup_timer_1(T1_DISABLED);
   setup_timer_2(T2_DISABLED,0,1);
   setup_comparator(NC_NC_NC_NC);
        trisc=7F;
        b=2;
        while(1)
        {
         a=PeekKey();
         switch(a)
         {
          case 0 : stp();
            break;
          case 1 : dkthuan();
           break;
          case 2 : dknghich();
           break;
          case 3 : buoc1();
           break;
          case 4 : buoc2();
          break;
          case 5 : stp();
          break;
         }
        }
  }
   //***************
        char PeekKey(void)
            {  if(input(stop)==0) return(0);
               if(input(dkth)==0) return(1);
               if(input(dkng)==0) return(2);
               if(input(hpb1)==0) return(3);
               if(input(hpb2)==0) return(4);
                  else return (a);  }
         // **********
           char GetKey(void)
            {  char nKey;
              nKey=PeekKey();
        // wait for key release
              while ((input(stop)==0)||(input(dkth)==0) )
              (input(dkng)==0 )||(input(hpb1)==0 )||(input(hpb2)==0) ;
                delay_ms(10);
              return(nKey);  }
            // *************
            void dkthuan()
            { output_b(8);
              delay_ms(b);
              output_b(2);
               delay_ms(b);
              output_b(1);
               delay_ms(b);
              output_b(4);
               delay_ms(b);
               output_b(0);
            }
            //*******
            void dknghich()
            { output_b(4);
             delay_ms(b);
            output_b(1);
             delay_ms(b);
            output_b(8);
             delay_ms(b);
            output_b(2);
             delay_ms(b);
             output_b(0);
            }
            // *********
            void stp()
             { output_b(0);
            delay_ms(2);
            }
            //*******
            void buoc1()
            { char i;
             for (i=1;i<=15;++i)
               dkthuan();
                a=0;
            }
            //**********
            void buoc2()
            { char i;
             for (i=1;i<=15;++i)
               dknghich();
                a=0;
            }
// Thanhphuc email thuyphuc81@yahoo.com
// Dieu khien moto buoc loai 2 cuon day co chan giua

thay đổi nội dung bởi: falleaf, 23-09-2008 lúc 03:18 PM.
ThanhPhuc vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
 

Ðiều Chỉnh
Xếp Bài

Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ GMT. Hiện tại là 10:22 PM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam