微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > AVR128的程序——步进电机顺序转动

AVR128的程序——步进电机顺序转动

时间:11-22 来源:互联网 点击:
#include

#include

#define uchar unsigned char

#define uint unsigned int

uchar step_table[]={0xf1,0xf2,0xf4,0xf8};

uchar step_table1[]={0xf8,0xf4,0xf2,0xf1};

void Delayms(uint MS);

void delay(uint z);

void mcu_init(void)

{

DDRA=0XFF;

PORTA=0XFF;

DDRC=0XFF;

PORTC=0XFF;

DDRF|=0X0E;

PORTF|=0X0E;

PORTF&=0xF8;

DDRB |=0X1f;

PORTB|=0X1f;

DDRD = 0x00;

PORTD = 0XFF;

}

void main(void)

{

uint i,a1,a2;

mcu_init();

while(1)

{

if((PIND&0x01)!=0X01)

{

Delayms(5);

if((PIND&0x01)!=0X01)

{

a1=512;

while(a1--)

{

for(i=0;i<4;i++)

{

PORTB = step_table[i];

Delayms(3);

}

}

delay(6000);

delay(6000);

delay(6000);

a2=512;

while(a2--)

{

for(i=0;i<4;i++)

{

PORTB = step_table1[i];

Delayms(3);

}

}

}

}

}

}

void Delayms(uint MS)

{

uint i,j;

for( i=0;i

for(j=0;j<1141;j++);

}

void delay(uint z)

{

uint x,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top