?? 步進電機.lst
字號:
C51 COMPILER V7.06 步進_緇_ 08/07/2009 08:04:53 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE 步進_緇_
OBJECT MODULE PLACED IN 步進電機.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE 步進電機.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 /*-----------------------------------------------
2 名稱:步進電機
3 公司:上海浩豚電子科技有限公司
4 網站:www.doflye.cn
5 編寫:師訪
6 日期:2009.5
7 修改:無
8 內容:1、本程序用于測試4相步進電機常規驅動
9 2、需要用跳帽或者杜邦線把信號輸出端和對應的步進電機信號輸入端連接起來
10 3、速度不可以調節的過快,不然就沒有力矩轉動了
11 4、按s4(設置成獨立按鍵模式)可以控制正反轉
12 ------------------------------------------------*/
13
14 #include <reg52.h>
15
16 unsigned char Flag;//定義正反轉和停止標志位
17 sbit KEY = P3^3;
18
19
20 unsigned char code F_Rotation[4]={0xf1,0xf2,0xf4,0xf8}; //正轉表格
21 unsigned char code B_Rotation[4]={0xf8,0xf4,0xf2,0xf1}; //反轉表格
22 /******************************************************************/
23 /* 延時函數 */
24 /******************************************************************/
25 void Delay(unsigned int i)//延時
26 {
27 1 while(--i);
28 1 }
29 /******************************************************************/
30 /* 主函數 */
31 /******************************************************************/
32 main()
33 {
34 1
35 1 unsigned char i;
36 1
37 1
38 1 EX1=1; //外部中斷0開
39 1 IT1=1; //邊沿觸發
40 1 EA=1; //全局中斷開
41 1
42 1 while(Flag==0)
43 1 {
44 2 P0=0x71;//顯示 F 標示正轉
45 2 for(i=0;i<4;i++) //4相
46 2 {
47 3 P1=F_Rotation[i]; //輸出對應的相 可以自行換成反轉表格
48 3 Delay(500); //改變這個參數可以調整電機轉速 ,數字越小,轉速越大
49 3 }
50 2 }
51 1 while(Flag==1)
52 1 {
53 2 P0=0x7C;//顯示 b 標示反轉
54 2 for(i=0;i<4;i++) //4相
55 2 {
C51 COMPILER V7.06 步進_緇_ 08/07/2009 08:04:53 PAGE 2
56 3 P1=B_Rotation[i]; //輸出對應的相
57 3 Delay(500); //改變這個參數可以調整電機轉速 ,數字越小,轉速越大
58 3 }
59 2 }
60 1 while(Flag==2) //停止
61 1 {
62 2 P0=0x6D;// 顯示 S
63 2 P1=0;
64 2 }
65 1 }
66 /******************************************************************/
67 /* 中斷入口函數 */
68 /******************************************************************/
69 void ISR_Key(void) interrupt 2 using 1
70 {
71 1 Delay(500);
72 1 if(!KEY)
73 1 {
74 2
75 2 Flag++; //s3按下觸發一次
76 2 if(Flag==3)
77 2 Flag=0;
78 2 }
79 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 114 ----
CONSTANT SIZE = 8 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 1 ----
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 + -