久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > AVR128的程序——步進電機點動正反控制

AVR128的程序——步進電機點動正反控制

作者: 時間:2016-11-22 來源:網絡 收藏
#include
#include
#define uchar unsigned char
#define uintunsigned int
uchar step_table[]={0xf1,0xf2,0xf4,0xf8};
uchar step_table1[]={0xf8,0xf4,0xf2,0xf1};
void Delayms(uint MS);
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=0,a2=0;
mcu_init();
while(1)
{
if((PIND&0x01)!=0X01)
{
Delayms(5);
if((PIND&0x01)!=0X01)
{
a1=1;
while(a1)
{
PORTA=0XFE;
for(i=0;i<4;i++)
{
PORTB = step_table[i];
Delayms(3);
}
if((PIND&0X01)!=0X00);
{
PORTA=0XFF;
a1=0;
}
}
}
}
if((PIND&0x02)!=0X02)
{
Delayms(5);
if((PIND&0x02)!=0X02)
{
a2=1;
while(a2)
{
PORTA=0XEF;
for(i=0;i<4;i++)
{
PORTB = step_table1[i];
Delayms(3);
}
if((PIND&0X02)!=0X00);
{
PORTA=0XFF;
a2=0;
}
}
}
}
}
}
void Delayms(uint MS)
{
uint i,j;
for( i=0;i
for(j=0;j<1141;j++);
}


評論


技術專區

關閉