⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 a3972.h

📁 C51单片机驱动a3972步进电机细分
💻 H
字号:
#ifndef _A3972_H_
#define _A3972_H_


sbit STROBE = P1^0;
sbit SCL    = P1^1;
sbit SDA    = P1^2;

/*****************************************************
函数名:Delay()
输入  :unsigned char dat
输出  :void
功能说明: 命令合成
******************************************************/
void Delay(unsigned char dat)
{
    while(--dat);
}

/*****************************************************
函数名:EN()
输入  :unsigned char dat
输出  :void
功能说明: 使能信号设置
******************************************************/
void EN(bit DAT)
{
   STROBE = DAT;
}
/*****************************************************
函数名:Send()
输入  :unsigned char Count,unsigned char dat
输出  :void
功能说明: 将数据dat的低Count位输出
******************************************************/
void Send(unsigned char Count,unsigned char dat)
{
    unsigned char i,j;
	j   =  0x01;
    j <<= (Count - 1); 
	for(i=0; i<Count; i++)	//向数据线写入Count位
	{	
		SCL = 0;
//		Delay(10);
        SDA = (bit)(dat&j);
//		Delay(20);
		SCL = 1;
//    	Delay(40);
		dat <<= 1;
	}
}

/*****************************************************
函数名:WriteW0()
输入  :unsigned char *dat
输出  :void
功能说明: word0 模式命令合成
******************************************************/

void WriteW0(		     
		     unsigned char other,
             unsigned char H2_DAC,
             unsigned char H1_DAC 
		    )
{ 
    EN(0);             
//  Delay(150);
    Send(6,other);
    Send(6,H2_DAC);
    Send(7,H1_DAC<<1);
//  Delay(50);
    EN(1);

}
/*****************************************************
函数名:WriteW1()
输入  :unsigned char *dat
输出  :void
功能说明: word1 模式命令合成
******************************************************/

void WriteW1(
             unsigned char other,
		     unsigned char CT,
             unsigned char BT,
		     unsigned char DT
		    )
{  
    EN(0);
    Delay(150);
    Send(7,other);
    Send(4,CT);
    Send(5,BT);
    Send(3,(DT<<1)|0x01);
    Delay(50);
    EN(1);
}

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -