View Single Post
Old 05-11-2007, 10:11 PM   #1
vantam_132
Nhập môn đệ tử
 
Tham gia ngày: May 2006
Bài gửi: 10
:
Thumbs up Pic điều Khiển động Cơ

chuơng trinh điều khiển động cơ cua mình nhưng chay duoc nhưng ko the chạy dược xin các bạn góp y cho



/*================================================= ===========================
* Ten chuong trinh: dieu khien dong co buoc dung pic
* Nguoi viet : nhom 16
* Hardware : PIC16F877A
* Compiler : CCS C
*================================================= ============================*/
#include<16F877A.h>
#include<def_16f877a.h>

#fuses NOWDT,PUT,HS,NOPROTECT,NOLVP
#use delay(clock=20000000)

int1 start,forward,back,nhanh;
int8 i,j,k,m,v,speed;

const unsigned char ma[]={0x01,0x02,0x04,0x08};

void quaynghich(void)

{
portd=ma[k];
delay_ms(speed);
k++;
if(k==4)
{
k=0;
}

}

void ktao(void)
{
trisd=0;
trisb=1;
}

void quaythuan()
{
portd=ma[m];
delay_ms(speed);
m--;
if(m==-1)
{
m=3;
}

}

void quetphim()
{ if (input(pin_b0))
{
start = !start;
}
if(input(pin_b1))
{
forward=!forward;
}
if (input(pin_b2))
{
back=!back;
}
if(input(pin_b3))
{
nhanh=!nhanh;
}
}

void main()
{

ktao();
V=4;
m=3;
k=0;

while(true)

{ quetphim();

while (start)

{
if(nhanh)

{ speed=90;
v=4;
if (forward)
{
quaythuan();
quetphim();
}
else if (back)
{
quaynghich();
quetphim();
}
}
else if (forward)
{
speed=200;
quaythuan();
quetphim();

}
else if (back)
{
speed=200;
quaynghich();
quetphim();
}
}
}
}





thay đổi nội dung bởi: vantam_132, 07-11-2007 lúc 01:36 PM.
vantam_132 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn