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

📄 step.h

📁 基于51的步进电机控制器,含有人机结口程序,软硬件测试都已通过.是不错的参考代码.
💻 H
字号:
#ifndef	_STEP_H 		// 防止PWLock.h被重复引用

#define	_STEP_H	

#include<reg51.h>
#include<stdio.h>
#include <absacc.h>	
#include <math.h>
//--------------------------------变量定义-------------------------------------------
sbit KEY_INT=P3^2;                        //将p3.2外部中断0
unsigned int FLAG=0;                    //数码管闪烁标志位
unsigned int FLAG1=0;                   //显示切换标志位 1---速度,0---坐标
unsigned int FLAG2=0;                   //电机正反转切换标志位 1---正转,0---反转
unsigned int KEY;                     //键值
unsigned int circle=1;                  //坐标单位1的步进圈数
int Fm=0;                               //加工点偏差
unsigned int Xe=0;                      //终点横坐标
unsigned int Ye=0;                      //终点纵坐标
unsigned int Nxy=0;                     //总步数
unsigned int Xi=0;                      //实时横坐标
unsigned int Yi=0;                      //实时纵坐标
unsigned int SpeedX=0;                  //X电机速度(步/秒)
unsigned int SpeedY=0;                  //Y电机速度(步/秒)
//unsigned int time0_tmp=0xe880;          //2ms定时显示初值
//unsigned int time1_tmp=0;               //速度控制定时初值
//unsigned int fosc=12;                   //单片机晶振(MHz)
unsigned char Speed[8]={0,0,0,0,0,0,0,0}; //两个4位数码管数值(速度)
unsigned char Place[8]={0,0,0,0,0,0,0,0}; //两个4位数码管数值(坐标)
unsigned char StepX1[]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09};//X步进电机正转节拍
unsigned char StepY1[]={0x10,0x30,0x20,0x60,0x40,0xc0,0x80,0x90};//Y步进电机反转节拍
unsigned char StepX2[]={0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01};//X步进电机正转节拍
unsigned char StepY2[]={0x90,0x80,0xc0,0x40,0x60,0x20,0x30,0x10};//Y步进电机反转节拍
//unsigned char Led_code[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x89,0x86};//数码管0—9,H,E
//unsigned char Led_code[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x79};//数码管0—9,A,E

//--------------------------------函数声明-------------------------------------------
//void System_init(void);                 //设定INT0的工作方式,供主程序调用
void delay(unsigned int);               //延时程序
void delay10ms(unsigned int);
//void INT0_int(void);                    //外部中断0处理程序
//void time0_int(void);                   //定时器0中断
//void time1_int(void);                   //定时器1定时
//void Key_Scaning(void);                 //扫描键盘
//void dispxy(unsigned int,unsigned int,unsigned int);//数码管显示子程序
//void display(void);                     //数码管显示
void Key_Control(void);                 //键盘控制
void Go_line(void);                     //直线差补算法---前进
void Back_line(void);                   //直线差补算法---回零

#endif

⌨️ 快捷键说明

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