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