程序一:(二相励磁法)
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit d1=P1^0;
sbit d2=P1^1;
sbit d3=P1^2;
sbit d4=P1^3;
#define A  {d1=1,d2=0,d3=0,d4=0;}
#define B  {d1=0,d2=1,d3=0,d4=0;}
#define C  {d1=0,d2=0,d3=1,d4=0;}
#define D  {d1=0,d2=0,d3=0,d4=1;}
#define E  {d1=0,d2=0,d3=0,d4=0;}
#define AB {d1=1,d2=1,d3=0,d4=0;}
#define BC {d1=0,d2=1,d3=1,d4=0;}
#define CD {d1=0,d2=0,d3=1,d4=1;}
#define DA {d1=1,d2=0,d3=0,d4=1;}
void delay(uchar t)
{
	while(--t);
}
void delayMS(uchar t)
{
	while(t--)
	{
		delay(245);
		delay(245);
	}
}
uchar speed;
void main()
{
	uint i=512;
	speed=8;
	E
	while(i--)
	{
		AB
		delayMS(speed);
		BC
		delayMS(speed);
		CD
		delayMS(speed);
		DA
		delayMS(speed);
	}
	i=512;
	E
	while(i--)
	{
		DA
		delayMS(speed);
		CD
		delayMS(speed);
		BC
		delayMS(speed);
		AB
		delayMS(speed);
	}
}

程序二:(一相励磁法)
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit d1=P1^0;
sbit d2=P1^1;
sbit d3=P1^2;
sbit d4=P1^3;
#define A {d1=1,d2=0,d3=0,d4=0;}
#define B {d1=0,d2=1,d3=0,d4=0;}
#define C {d1=0,d2=0,d3=1,d4=0;}
#define D {d1=0,d2=0,d3=0,d4=1;}
#define E {d1=0,d2=0,d3=0,d4=0;}
void delay(uchar t)
{
	while(--t);
}
void delayMS(uchar t)
{
	while(t--)
	{
		delay(245);
		delay(245);
	}
}
uchar speed;
void main()
{
	uint i=512;
	speed=8;
	E
	while(i--)
	{
		A
		delayMS(speed);
		B
		delayMS(speed);
		C
		delayMS(speed);
		D
		delayMS(speed);
	}
	i=512;
	E
	while(i--)
	{
		D
		delayMS(speed);
		C
		delayMS(speed);
		B
		delayMS(speed);
		A
		delayMS(speed);
	}
}

  

posted on 2011-11-18 19:55    阅读(457)  评论(0编辑  收藏  举报