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 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