📄 stepmotor.lst
字号:
C51 COMPILER V7.00 STEPMOTOR 05/22/2007 16:53:19 PAGE 1
C51 COMPILER V7.00, COMPILATION OF MODULE STEPMOTOR
OBJECT MODULE PLACED IN STEPMOTOR.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE STEPMOTOR.C BROWSE DEBUG OBJECTEXTEND
stmt level source
1 //start date: 2005.3.23
2 //competed date:
3 //function: display text
4 #include <reg52.h>
5 #include <intrins.h>
6 #define uchar unsigned char
7 #define uint unsigned int
8 #define ulong unsigned long int
9 #define FLASE 0
10 #define TRUE 1
11 //========================================================
12 //========控制脚定义======================================
13
14 sbit CLK1_164=P3^1;
15 sbit DAT1_164=P3^0;
16 sbit LE_373 =P3^2;
17 //========函数声明========================================
18 void StepIM(uchar a,uchar b);
19 void StopMotor();
20 void HC164_1(uchar a);
21 uchar code MOTOR1[]={0x2f,0x2b,0x2b,0x2d,0x2d,0x1d,0x1d,0x3d,0x35,0x15,0x15,0x25,0x25,0x23,0x23,0x27,
22 0x26,0x22,0x22,0x24,0x24,0x14,0x14,0x34,0x3c,0x1c,0x1c,0x2c,0x2c,0x2a,0x2a,0x2e};
23 uchar code MOTOR2[]={0x0f,0x0b,0x0b,0x2d,0x2d,0x19,0x19,0x39,0x31,0x11,0x11,0x25,0x25,0x03,0x03,0x07,
24 0x06,0x02,0x02,0x24,0x24,0x10,0x10,0x30,0x38,0x18,0x18,0x2c,0x2c,0x0a,0x0a,0x0e};
25 uchar code MOTOR3[]={0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
26 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08};
27 void HC164_1(uchar a)
28 {
29 1 uchar i,temp;
30 1 temp=a;
31 1 LE_373=0;
32 1 CLK1_164=0;
33 1 for(i=0;i<8;i++)
34 1 {
35 2 if(temp&0x80)
36 2 DAT1_164=1;
37 2 else
38 2 DAT1_164=0;
39 2 CLK1_164=1;
40 2 temp=_crol_(temp,1);
41 2 CLK1_164=0;
42 2 }
43 1 LE_373=1;
44 1 DAT1_164=1;
45 1 LE_373=1;
46 1 LE_373=0;
47 1 CLK1_164=1;
48 1 }
49 /********************************************************************
50 * 名称: 步进电机驱动
51 * 功能: 控制步进电机速度及运行周期
52 * 调用: StepIM(uchar a,uchar b)
53 * 输入: speed,stepperset
54 * 说明: speed 调整电机转速:1代表每一步为1MS,每步3.75度。
55 * 返回值: StopFlag:1为stop ,0为run
C51 COMPILER V7.00 STEPMOTOR 05/22/2007 16:53:19 PAGE 2
56 ***********************************************************************/
57 void StepperDrive0()
58 {
59 1 static uchar i;
60 1 if(i>31)
61 1 i=0;
62 1 HC164_1(MOTOR1[i++]);
63 1 }
64 //=================================================
65 void StepperDrive1()
66 {
67 1 static uchar i;
68 1 if(i>31)
69 1 i=0;
70 1 HC164_1(MOTOR2[i++]);
71 1
72 1 }
73 //=================================================
74 void StepperDrive2()
75 {
76 1 static uchar i;
77 1 if(i>31)
78 1 i=0;
79 1 HC164_1(MOTOR3[i++]);
80 1 }
81
82
83
84 //=====步进电机停止工作=============
85 void StopMotor()
86 {
87 1 HC164_1(0x3f);
88 1 }
89
90
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 119 ----
CONSTANT SIZE = 96 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 3 ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -