![]() |
|
Tài trợ cho PIC Vietnam |
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 |
![]() |
#7 |
Đệ 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; } // 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. |
![]() |
![]() |
|
|