试试这个代码:
#include <reg52.H>
//定义关键字方便使用
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
sbit PORTC=P1^0;
sbit DDRC=P1^2;
/*
sbit p10=P1^0;//第一组电机
sbit p11=P1^1;
sbit p12=P1^2;//第一组使能
sbit p13=P1^3;//第二组电机
sbit p14=P1^4;
sbit p15=P1^5;//第二组使能
*/
uchar step[]={0xf1,0xf5,0xf4,0xf6,0xf2,0xfa,0xf8,0xf9};//时序参数表
/* 延时函数
*******************************************************************
**函数原型: void delay(void)
**函数功能:延时函数
**输入参数:无
**输出参数:无
**备注说明:
*******************************************************************/
void delay(void)
{
unsigned char a,b,c;
for(c=18;c>0;c--)
for(b=19;b>0;b--)
for(a=23;a>0;a--);
}
/* 主函数
*******************************************************************
**函数原型:main()
**函数功能:
**输入参数:无
**输出参数:无
**备注说明:完成程序的主要功能
*******************************************************************/
main()
{
unsigned char c;
DDRC=0;
while(1) //主循环
{
for(c=0;c<8;c++)
{
PORTC=step[c]; //电机驱动
delay(); //延时
}
}
}
|