📄 a3972步进驱动.lst
字号:
C51 COMPILER V8.02 A3972步絖驱动 03/29/2009 18:43:11 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE A3972步絖驱动
OBJECT MODULE PLACED IN A3972步进驱动.OBJ
COMPILER INVOKED BY: E:\应用软件\Keil\C51\BIN\C51.EXE A3972步进驱动.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /*************************************************************
2 单片机:AT89S52
3 文件名:基于A3972的步进电机细分控制程序
4 作者 :测控09
5 程序说明:
6 **************************************************************/
7 #include<reg52.h>
8 #include"A3972.h"
9
10 unsigned char gzh = 0x00;
11 //3F位6个1也就是电流最大
12 unsigned char DRSIN[32]={0x3F,0x3F,0x3F,0x3E,0x3E,0x3D,0x3C,0x3B, /*细分码表*/
13 0x3A,0x38,0x37,0x35,0x33,0x31,0x2F,0x2D,
14 0x2B,0x29,0x26,0x24,0x21,0x1E,0x1B,0x18,
15 0x16,0x13,0x10,0x0C,0x09,0x06,0x03,0x01};
16 unsigned char IR[4]={0x02,0x03,0x01,0x00};//控制电流方向
17
18
19
20
21
22 void main(void)
23 {
24 1 unsigned char i,j;
25 1 //IE = 0;//关闭所有中断
26 1 WriteW1(64,15,10,10);
27 1 //Delay(100);
28 1 while(1)
29 1 {
30 2 for(j=0; j<4; )
31 2 {
32 3 for(i=0; i<=31; i++ ) /*1/T,3/T*/
33 3 { /* H2 H1 */
34 4 WriteW0(IR[j]|gzh,DRSIN[31-i],DRSIN[i]);
35 4 }
36 3 j++;
37 3 for(i=0; i<=31; i++ ) /*2/T,4/T*/
38 3 {
39 4 WriteW0(IR[j]|gzh,DRSIN[i],DRSIN[31-i]);
40 4 }
41 3 j++;
42 3
43 3
44 3 for(i=0; i<=31; i++ ) /*1/T,3/T*/
45 3 {
46 4 WriteW0(IR[j]|gzh,DRSIN[31-i],DRSIN[i]);
47 4 }
48 3 j++;
49 3 for(i=0; i<=31; i++ ) /*2/T,4/T*/
50 3 {
51 4 WriteW0(IR[j]|gzh,DRSIN[i],DRSIN[31-i]);
52 4 }
53 3 j++;
54 3
55 3 }/*END OF FOR(J)*/
C51 COMPILER V8.02 A3972步絖驱动 03/29/2009 18:43:11 PAGE 2
56 2
57 2 }/*END OF WHILE(1)*/
58 1
59 1 }/*END OF MAIN()*/
60
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 306 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 37 6
IDATA SIZE = ---- ----
BIT SIZE = ---- 1
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -