AVR128的程序——步进电机顺序转动
#include
#define uchar unsigned char
#define uint
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)
{
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)
{
} void delay(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); }
AVR128步进电机顺序转 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)