?? stepping motor-simple-02.lst
字號(hào):
C51 COMPILER V8.02 STEPPING_MOTOR_SIMPLE_02 12/22/2006 09:48:07 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE STEPPING_MOTOR_SIMPLE_02
OBJECT MODULE PLACED IN STEPPING MOTOR-SIMPLE-02.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE STEPPING MOTOR-SIMPLE-02.C BROWSE DEBUG OBJECTEXTEND
line level source
1 /******************************************************************/
2 /* */
3 /* ME500單片機(jī)開(kāi)發(fā)系統(tǒng)演示程序 - 步進(jìn)電機(jī)加減速運(yùn)行 */
4 /* */
5 /* 步進(jìn)電機(jī)啟動(dòng)時(shí),轉(zhuǎn)速由慢到快逐步加速。 */
6 /* 步進(jìn)電機(jī)勻速運(yùn)行 */
7 /* 步進(jìn)電機(jī)由快到慢逐步減速到停止 */
8 /* */
9 /* 版本: V1.0 (2006/11/20) */
10 /* 作者: gguoqing (Email: gguoqing@willar.com) */
11 /* 網(wǎng)站: www.willar.com(偉納電子) www.mcusj.com(偉納單片機(jī)世界)*/
12 /* 時(shí)間: 2006/07/03 */
13 /* */
14 /*【版權(quán)】COPYRIGHT(C)偉納電子 www.willar.com ALL RIGHTS RESERVED */
15 /*【聲明】此程序僅用于學(xué)習(xí)與參考,引用請(qǐng)注明版權(quán)和作者信息! */
16 /* */
17 /******************************************************************/
18
19 #include <reg51.h> //51芯片管腳定義頭文件
20 #include <intrins.h> //內(nèi)部包含延時(shí)函數(shù) _nop_();
21
22 #define uchar unsigned char
23 #define uint unsigned int
24
25 sbit K1=P1^4;
26 uchar code FFW[8]={0xf1,0xf3,0xf2,0xf6,0xf4,0xfc,0xf8,0xf9};
27 //uchar code REV[8]={0xf9,0xf8,0xfc,0xf4,0xf6,0xf2,0xf3,0xf1};
28 uchar rate ;
29 /********************************************************/
30 /*
31 /* 延時(shí)
32 /* 11.0592MHz時(shí)鐘,
33 /*
34 /********************************************************/
35 void delay()
36 {
37 1 uchar k;
38 1 uint s;
39 1 k = rate;
40 1 do
41 1 {
42 2 for(s = 0 ; s <1000 ; s++) ;
43 2 }while(--k);
44 1 }
45 /********************************************************/
46 /*
47 /*步進(jìn)電機(jī)正轉(zhuǎn)
48 /*
49 /********************************************************/
50 void motor_ffw()
51 {
52 1 uchar i;
53 1
54 1 for (i=0; i<8; i++) //一個(gè)周期轉(zhuǎn)30度
55 1 {
C51 COMPILER V8.02 STEPPING_MOTOR_SIMPLE_02 12/22/2006 09:48:07 PAGE 2
56 2 P1 = FFW[i]; //取數(shù)據(jù)
57 2 delay(); //調(diào)節(jié)轉(zhuǎn)速
58 2 }
59 1 }
60
61 /********************************************************
62 *
63 *步進(jìn)電機(jī)運(yùn)行
64 *
65 *********************************************************/
66 void motor_turn()
67 {
68 1 uchar x;
69 1 rate=0x0a;
70 1 x=0x80;
71 1 do
72 1 {
73 2 motor_ffw(); //加速
74 2 rate--;
75 2 }while(rate!=0x01);
76 1
77 1 do
78 1 {
79 2 motor_ffw(); //勻速
80 2 x--;
81 2 }while(x!=0x01);
82 1
83 1 do
84 1 {
85 2 motor_ffw(); //減速
86 2 rate++;
87 2 }while(rate!=0x0a);
88 1 }
89
90 /********************************************************
91 *
92 * 主程序
93 *
94 *********************************************************/
95 main()
96 {
97 1
98 1 P1=0xf0;
99 1
100 1 while(1)
101 1 {
102 2 P1=0xf0;
103 2 if(K1==0)
104 2 {
105 3 motor_turn();
106 3 }
107 2 }
108 1 }
109
110 /********************************************************/
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 83 ----
CONSTANT SIZE = 8 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
C51 COMPILER V8.02 STEPPING_MOTOR_SIMPLE_02 12/22/2006 09:48:07 PAGE 3
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 + -