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 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)
{
while(a1)
{
for(i=0;i<4;i++)
{
PORTB = step_table[i];
Delayms(3);
}
if((PIND&0X01)!=0X00);
PORTA=0XFF;
a1=0;
}
}
{
Delayms(5);
if((PIND&0x02)!=0X02)
{
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)
{
}
AVR128步进电机正反控 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)