?? 步進(jìn)電機(jī)正反轉(zhuǎn).lst
字號(hào):
C51 COMPILER V7.06 步進(jìn)_緇_正__轉(zhuǎn) 08/07/2010 18:02:16 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE 步進(jìn)_緇_正__轉(zhuǎn)
OBJECT MODULE PLACED IN .\obj\步進(jìn)電機(jī)正反轉(zhuǎn).obj
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE 步進(jìn)電機(jī)正反轉(zhuǎn).c BROWSE DEBUG OBJECTEXTEND PRINT(.\obj\步進(jìn)電機(jī)正反轉(zhuǎn).lst)
-OBJECT(.\obj\步進(jìn)電機(jī)正反轉(zhuǎn).obj)
stmt level source
1 /*-----------------------------------------------
2 名稱:步進(jìn)電機(jī)
3 論壇:www.doflye.net
4 編寫:shifang
5 日期:2009.5
6 修改:無(wú)
7 內(nèi)容:本程序用于測(cè)試4相步進(jìn)電機(jī)常規(guī)驅(qū)動(dòng) 含正反轉(zhuǎn) 使用1相勵(lì)磁
8
9
10 ------------------------------------------------*/
11
12 #include <reg52.h>
13
14
15
16 sbit A1=P1^0; //定義步進(jìn)電機(jī)連接端口
17 sbit B1=P1^1;
18 sbit C1=P1^2;
19 sbit D1=P1^3;
20
21
22 #define Coil_A1 {A1=1;B1=0;C1=0;D1=0;}//A相通電,其他相斷電
23 #define Coil_B1 {A1=0;B1=1;C1=0;D1=0;}//B相通電,其他相斷電
24 #define Coil_C1 {A1=0;B1=0;C1=1;D1=0;}//C相通電,其他相斷電
25 #define Coil_D1 {A1=0;B1=0;C1=0;D1=1;}//D相通電,其他相斷電
26 #define Coil_AB1 {A1=1;B1=1;C1=0;D1=0;}//AB相通電,其他相斷電
27 #define Coil_BC1 {A1=0;B1=1;C1=1;D1=0;}//BC相通電,其他相斷電
28 #define Coil_CD1 {A1=0;B1=0;C1=1;D1=1;}//CD相通電,其他相斷電
29 #define Coil_DA1 {A1=1;B1=0;C1=0;D1=1;}//D相通電,其他相斷電
30 #define Coil_OFF {A1=0;B1=0;C1=0;D1=0;}//全部斷電
31
32 unsigned char Speed;
33 /*------------------------------------------------
34 uS延時(shí)函數(shù),含有輸入?yún)?shù) unsigned char t,無(wú)返回值
35 unsigned char 是定義無(wú)符號(hào)字符變量,其值的范圍是
36 0~255 這里使用晶振12M,精確延時(shí)請(qǐng)使用匯編,大致延時(shí)
37 長(zhǎng)度如下 T=tx2+5 uS
38 ------------------------------------------------*/
39 void DelayUs2x(unsigned char t)
40 {
41 1 while(--t);
42 1 }
43 /*------------------------------------------------
44 mS延時(shí)函數(shù),含有輸入?yún)?shù) unsigned char t,無(wú)返回值
45 unsigned char 是定義無(wú)符號(hào)字符變量,其值的范圍是
46 0~255 這里使用晶振12M,精確延時(shí)請(qǐng)使用匯編
47 ------------------------------------------------*/
48 void DelayMs(unsigned char t)
49 {
50 1
51 1 while(t--)
52 1 {
53 2 //大致延時(shí)1mS
54 2 DelayUs2x(245);
C51 COMPILER V7.06 步進(jìn)_緇_正__轉(zhuǎn) 08/07/2010 18:02:16 PAGE 2
55 2 DelayUs2x(245);
56 2 }
57 1 }
58 /*------------------------------------------------
59 主函數(shù)
60 ------------------------------------------------*/
61 main()
62 {
63 1 unsigned int i=512;//旋轉(zhuǎn)一周時(shí)間
64 1 Speed=8;
65 1 Coil_OFF
66 1 while(i--) //正向
67 1 {
68 2 Coil_A1 //遇到Coil_A1 用{A1=1;B1=0;C1=0;D1=0;}代替
69 2 DelayMs(Speed); //改變這個(gè)參數(shù)可以調(diào)整電機(jī)轉(zhuǎn)速 ,
70 2 //數(shù)字越小,轉(zhuǎn)速越大,力矩越小
71 2 Coil_B1
72 2 DelayMs(Speed);
73 2 Coil_C1
74 2 DelayMs(Speed);
75 2 Coil_D1
76 2 DelayMs(Speed);
77 2 }
78 1 Coil_OFF
79 1 i=512;
80 1 while(i--)//反向
81 1 {
82 2 Coil_D1 //遇到Coil_A1 用{A1=1;B1=0;C1=0;D1=0;}代替
83 2 DelayMs(Speed); //改變這個(gè)參數(shù)可以調(diào)整電機(jī)轉(zhuǎn)速 ,
84 2 //數(shù)字越小,轉(zhuǎn)速越大,力矩越小
85 2 Coil_C1
86 2 DelayMs(Speed);
87 2 Coil_B1
88 2 DelayMs(Speed);
89 2 Coil_A1
90 2 DelayMs(Speed);
91 2 }
92 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 153 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 1 ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -