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

📄 setpping-driver.c

📁 这是9个步进电机控制程序,每个都编译通过,并在使用中,可以共同商讨.联系:guanggu346 @163.com
💻 C
字号:
//功能:方向控制
//加速,匀速,减速,
//定位
//调速
#include<reg51.h>
#define AIMPOSITION  200
sbit DIR   = P0^0; //Z位移电机方向控制,1-up,0-down
sbit PULSE = P0^1; //Z位移电机脉冲输入
unsigned char aimposition;//瞄准高度,隐含参数,不可见
sbit ACKNOWLEDGE=P3^7;	  //应答信号输入
sbit DETECT=P1^2; //针头到位检测,低电平有效
void Alarm(x);
void DelayChar(unsigned char x);
void StepingMotor(unsigned char maxv)	//dir 方向;maxv 最高速度
{
	unsigned char j,step;
	unsigned int i;
	unsigned char v_down,v_up;

	v_down = maxv;
	v_up   = maxv;


	//针头下降-----------------------------------
	DIR = 0;//方向设置
	//-------------------------------------------
	for(i=6;i>0;i--) //加速
	{
		PULSE = 0;	DelayChar(v_down+i*20);
		PULSE = 1;	DelayChar(v_down+i*20);
	}
	for(i=0;i<AIMPOSITION+aimposition-12;i++)
	{
		PULSE = 0;DelayChar(v_down);
		PULSE = 1;DelayChar(v_down);
	}
	for(i=0;i<6;i++) //减速
	{
		PULSE = 0;	DelayChar(v_down+i*20);
		PULSE = 1;	DelayChar(v_down+i*20);
	}
	//检查过片是否完成---------------------------
	if(j<200) //如果没有超时
	{ 
    ACKNOWLEDGE = 1;				
	while(!ACKNOWLEDGE) //则等待过片完成
	
		ACKNOWLEDGE = 1;			
	}
	else
		Alarm(1); //否则,报警
	//检测支架-------------------------------------
	step = 60; //默认检测步数(高度)
	DETECT = 1;				
	while(DETECT&&step)
	{
		PULSE = 0;	DelayChar(60);
		PULSE = 1;	DelayChar(60);
		step--;
		DETECT = 1;
    }
 }

⌨️ 快捷键说明

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