unsigned short i,j,k,q,l;
//============================
void toright(int speed,short no)
{
PORTB=0b10000000;
VDelay_ms(speed);
for(i=0;i<no;i++)
{
PORTB=PORTB >>1;
VDelay_ms(speed);
}
}
//===========================
void toleft(int speed,short no)
{
PORTB=0b00000001;
VDelay_ms(speed);
for(i=0;i<no;i++)
{
PORTB=PORTB <<1;
VDelay_ms(speed);
}
}
//============================
void toright_stop(int speed)
{
k=0b00000000;
for(j=8;j>0;j--)
{
q=128;
for(i=0;i<j;i++)
{
PORTB=q|k;
VDelay_ms(speed);
q >>=1;
}
k <<=1;
k+=1;
}
}
//===========================
void toleft_stop(int speed)
{
k=0b00000000;
for(j=8;j>0;j--)
{
q=1;
for(i=0;i<j;i++)
{
PORTB=q|k;
VDelay_ms(speed);
q <<=1;
}
k >>=1;
k |=128;
}
}
//===========================
void tofromcenter(int speed)
{
k=0b00000000;
for(j=8;j>0;j--)
{
q=1;
l=128;
k=q|l;
for(i=0;i<j;i++)
{
PORTB=q|l;
VDelay_ms(speed);
q <<=1;
l >>=1;
}
/*k >>=2;
k <<=1;
k |=128;
k +=1;*/
}
}
//===============================
void main() {
TRISB=0x00;
PORTB=0x00;
while(1)
{
toright(50,8);
toleft(50,8);
toright_stop(50);
toleft_stop(50);
tofromcenter(100);
}
}
Read more:
http://www.qariya.com/vb/showthread....#ixzz1N4DQMwy9
منقول للامانة
واطلب التعديل حتى اتحكم فى 12 ليد عوض 8
وشكرا