www.pudn.com > stepper_motor_controller.rar > head.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 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 ); 
 
//*** ÊýÂë¹ÜÏÔʾå *** 
void led0_show(int *p ); 
void led1_show(int ¡Áp);							//¿ØÖÆÊäÈë½Ç¶ÈµÄÊýÂë¹ÜÏÔʾ 
 
//*** 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,angle,real_angle;		//keyin_angle :±£´æ¼üÈëµÄ½Ç¶È  angle:ʵ¼ÊתµÄ×ܹý½Ç¶ÈºÍ 
												// real_angle :¶¯Ì¬×ª¹ýµÄ½Ç¶È 
												//step_angle:keep the actual angle that the motor has roated for. 
	unsigned char delay;							// ¿ØÖƲ½½øµç»úµÄתËÙ 
	 
	bit flag_sign;								//Õýת·´×ª±ê־λ 
	bit flag_run;								//ֹͣλ 
	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	DELAY	0x64 
 
 
//******* 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