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

📄 main._h

📁 一个正在应用的步进电机控制程序,包括电机的调速,正反,细分,通讯控制
💻 _H
字号:
/******************************************************************************
* Copyright (c) 2005.4.23,保定宇人电脑
* All rights reserved.
* 文件名称: main.h
* 摘 要: 本程序为步进电机智能驱动器开发,主要功能有脉冲或0-5v控制转速,软件细分
*正反转,启停控制及485通讯等功能
* 当前版本: 1.0
* 作 者: 张彦峰
* 完成日期: 2005年  月  日
*******************************************************************************/
#ifndef MAIN_H
#define MAIN_H

//定义D/A数据端口
#define DATA_OUT     PORTB
#define DATA_IO      DDRB
#define DATA_IN      PINB
//定义D/A控制端口
//tlc7528
#define DA_WR  	 	  	   1
#define DA_AB			   7
#define DA_CS              6
#define DA_SIN			   7
#define DA_COS 			   6

//eeprom常量
#define DEFAULT_ROMADDR	   1
#define speed_romaddr      3           //speed 存储地址
#define state_romaddr      5           //state 存储地址
#define pump_tab_romaddr   6			  //机器编号
#define state_other_romaddr	   7       


//管号常量
#define tube0              0   
#define tube1			   1
#define tube2			   2
#define tube3			   3
#define tube4			   4   
#define tube5			   5
#define tube6			   6

#define write			   1
#define read			   0


//内外控状态
#define in_int		     0
#define in_off			 1
#define out_ma			 2
#define out_v			 3

//软件加减键常量
#define softadd_nu       6
#define softdec_nu       7

//state位状态
#define CW_CCW           0
#define MAX_SPEED		 1
#define RUN_STOP		 3


//输入输出位状态
#define VOL_CHANGE       0         
#define INT              1   //L6506使能引脚
#define PULL_IN			 2   //脉冲输入
#define M0               3   //细分数识别引脚0
#define M1               4   //细分数识别引脚1
#define M2               5   //细分数识别引脚2

#define T_2MS            6


/*************************************************************************
旋转编码开关各中断初始化函数(包括外部中断0,1中断)
中断0:上升,下降沿都触发中断
中断1:上升,下降沿都触发中断
************************************************************************/
void circle_init(void);
/******************************************************
D/A初始化函数
******************************************************/
void da_init(void);
/****************************************************************
端口初始化
****************************************************************/
void port_init(void);
/*****************************************************
               定时器1初始化函数
*****************************************************/
void timer1_init(void);
/*电流输出允许函数*/
void i_en(void);
/*电流输出禁止函数*/
void i_disen(void);
/*根据速度判断细分数函数*/
unsigned char sp_mic(unsigned int sudu);
/*缓启动函数   参数:speed_start起始速度,speed_end加速中止速度*/
void speed_slow(unsigned int speed_start,unsigned int speed_end);
/*把数字变为ascii码*/
void  number_ascii( unsigned char addr,unsigned int num);
/*根据速度计算定时器值*/
void cal_timer1(unsigned int sudu);	
/*排序程序*/
void ins(unsigned int s[],unsigned char n);
/*键盘处理函数*/
void key_disposal(void);
/*遥控显示*/
void rs485_ctr(void);
//状态初始化函数
void state_init(void);  
//停止所有运行 
void all_stop(void);   
#endif

⌨️ 快捷键说明

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