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

📄 head.h

📁 51单片机的步进电机驱动程序
💻 H
字号:
//********* interrupt entry ***********
// 0   EXTERNAL INT 0   0003h
// 1   TIMER/COUNTER 0  000Bh
// 2   EXTERNAL INT 1   0013h
// 3   TIMER/COUNTER 1  001Bh
// 4   SERIAL PORT      0023h
//**************************************

//*** 函数定义***
void long_delay(void); 							//长延时
void short_delay(void); 						//短延时
void delay5p5ms(unsigned char); 					//10MS延时KEY_
void write7279(unsigned char, unsigned char);	//写HD7279
unsigned char read7279(unsigned char);			//读HD7279
void send_byte(unsigned char); 					//发送一个字节
unsigned char receive_byte(void); 				//接收一个字节
void led0_show(int dis );
void led1_show(unsigned int dis);							//控制输入角度的数码管显示
void data_shift(unsigned char *p,unsigned char );
void key_int(void);
void int0_serv( void )  ;				//key and led show
void stepping(unsigned char delay_n );

//*** I/O定义 ***
unsigned char digit[5];
unsigned char key_number;
unsigned int  tmr;

//*** 有关步进电机控制定义
	unsigned char keyin_data[3];				//BCD of keyin_angle 键入角度的BCD码
	unsigned int  step_angle;					//keyin_cnt :counte the times of key pressed.键入的次数
	unsigned int  keyin_angle;					//keyin_angle :保存键入的角度  angle:实际转的总过角度和
	unsigned int  real_angle;					// real_angle :动态转过的角度
	int angle;											//step_angle:keep the actual angle that the motor has roated for.
	unsigned int delay;							// 控制步进电机的转速
	
	bit	 flag_cw;								//正转反转标志位
	bit  flag_run;								//停止位
	bit  flag_sign;								//角度正负标志
	
//****** HD7279A ******
	sbit cs=P1^4; 				// cs at P1.4
	sbit clk=P1^5;				// clk P1.5
	sbit dat=P1^2; 				// dat P1.2
	sbit key=P1^3; 				// key P1.3


//****** HD7279A指令 ******
	#define CMD_RESET 0xa4
	#define CMD_TEST 0xbf
	#define DECODE0 0x80		//十进制编码,0x0f消隐
	#define DECODE1 0xc8		//十六进制编码
	#define CMD_READ 0x15
	#define UNDECODE 0x90
	#define RTL_CYCLE 0xa3
	#define RTR_CYCLE 0xa2
	#define RTL_UNCYL 0xa1
	#define RTR_UNCYL 0xa0
	#define ACTCTL 0x98
	#define SEGON 0xe0
	#define SEGOFF 0xc0
	#define BLINKCTL 0x88
	
	#define	NNN	0x40


//******* L297 **************
	sbit l297_cw=P1^0;
	sbit l297_clk=P2^1;
	sbit l297_half=P2^2;
	sbit l297_en=P2^3;
	sbit l297_ref=P2^4;
	sbit l297_ctrl=P2^5;
	sbit l297_rst=P2^6;


//*******键值**************
#define KEY_1 0x24
#define KEY_2 0x2C
#define KEY_3 0x34
#define KEY_4 0x3C
#define KEY_5 0x25
#define KEY_6 0x2D
#define KEY_7 0x35
#define KEY_8 0x3D
#define KEY_9 0x26
#define KEY_0 0x2E
#define KEY_A 0x36
#define KEY_B 0x3E
#define KEY_C 0x27
#define KEY_D 0x2F
#define KEY_E 0x37
#define KEY_F 0x3F

⌨️ 快捷键说明

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