📄 s_ motor-key.lst
字号:
C51 COMPILER V7.06 S__MOTOR_KEY 08/17/2008 12:28:08 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE S__MOTOR_KEY
OBJECT MODULE PLACED IN S_ MOTOR-key.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE S_ MOTOR-key.C BROWSE DEBUG OBJECTEXTEND
stmt level source
1
2 #include <reg51.h> //51芯片管脚定义头文件
3 //#include <intrins.h> //内部包含延时函数 _nop_();
4
5 #define uchar unsigned char
6 #define uint unsigned int
7
8 uchar code FFW[8]={0xf1,0xf3,0xf2,0xf6,0xf4,0xfc,0xf8,0xf9};
9 uchar code REV[8]={0xf9,0xf8,0xfc,0xf4,0xf6,0xf2,0xf3,0xf1};
10
11 sbit K1 = P1^4; //正转
12 sbit K2 = P1^5; //反转
13 sbit K3 = P1^6;
14 sbit K4 = P1^7; //停止
15 sbit BEEP = P3^7; //蜂鸣器
16
17 /********************************************************/
18 /*
19 /* 延时t毫秒
20 /* 11.0592MHz时钟,延时约1ms
21 /*
22 /********************************************************/
23 void delay(uint t)
24 {
25 1 uint k;
26 1 while(t--)
27 1 {
28 2 for(k=0; k<125; k++)
29 2 { }
30 2 }
31 1 }
32
33 /**********************************************************/
34 void delayB(uchar x) //x*0.14MS
35 {
36 1 uchar i;
37 1 while(x--)
38 1 {
39 2 for (i=0; i<13; i++)
40 2 { }
41 2 }
42 1 }
43
44 /**********************************************************/
45 void beep()
46 {
47 1 uchar i;
48 1 for (i=0;i<100;i++)
49 1 {
50 2 delayB(4);
51 2 BEEP=!BEEP; //BEEP取反
52 2 }
53 1 BEEP=1; //关闭蜂鸣器
54 1 }
55
C51 COMPILER V7.06 S__MOTOR_KEY 08/17/2008 12:28:08 PAGE 2
56 /********************************************************/
57 /*
58 /*步进电机正转
59 /*
60 /********************************************************/
61 void motor_ffw()
62 {
63 1 uchar i;
64 1 uint j;
65 1 /* for (j=0; j<12; j++) //转1*n圈
66 1 {
67 1 if(K4==0)
68 1 {break;} //退出此循环程序
69 1 for (i=0; i<8; i++) //一个周期转30度
70 1 {
71 1 P1 = FFW[i]; //取数据
72 1 delay(100); //调节转速
73 1 }
74 1 }*/
75 1 while(K4)
76 1 {
77 2 for (i=0; i<8; i++) //一个周期转30度
78 2 {
79 3 P1 = FFW[i]; //取数据
80 3 delay(100); //调节转速
81 3 }
82 2 }
83 1 }
*** WARNING C280 IN LINE 64 OF S_ MOTOR-KEY.C: 'j': unreferenced local variable
84
85 /********************************************************/
86 /*
87 /*步进电机反转
88 /*
89 /********************************************************/
90 void motor_rev()
91 {
92 1 uchar i;
93 1 uint j;
94 1 /* for (j=0; j<12; j++) //转1×n圈
95 1 {
96 1 if(K4==0)
97 1 {break;} //退出此循环程序
98 1 for (i=0; i<8; i++) //一个周期转30度
99 1 {
100 1 P1 = REV[i]; //取数据
101 1 delay(100); //调节转速
102 1 }
103 1 }*/
104 1 while(K4)
105 1 {
106 2 for (i=0; i<8; i++) //一个周期转30度
107 2 {
108 3 P1 = REV[i]; //取数据
109 3 delay(100); //调节转速
110 3 }
111 2 }
112 1 }
*** WARNING C280 IN LINE 93 OF S_ MOTOR-KEY.C: 'j': unreferenced local variable
113
114 /********************************************************
115 *
C51 COMPILER V7.06 S__MOTOR_KEY 08/17/2008 12:28:08 PAGE 3
116 * 主程序
117 *
118 *********************************************************/
119
120 main()
121 {
122 1 uchar r,N=5; //N 步进电机运转圈数
123 1 while(1)
124 1 {
125 2 /* if(K1==0)
126 2 {
127 2 beep();
128 2 for(r=0;r<1;r++)
129 2 {
130 2 motor_ffw(); //电机正转
131 2 if(K4==0)
132 2 {beep();break;} //退出此循环程序
133 2 }
134 2 }*/
135 2 while(K1==0)
136 2 {
137 3 motor_ffw();
138 3 }
139 2
140 2 while(K2==0)
141 2 {
142 3 motor_rev();
143 3 }
144 2 /* else if(K2==0)
145 2 {
146 2 beep();
147 2 for(r=0;r<N;r++)
148 2 {
149 2 motor_rev(); //电机反转
150 2 if(K4==0)
151 2 {beep();break;} //退出此循环程序
152 2 }
153 2 }
154 2 else
155 2 P1 = 0xf0;*/
156 2 }
157 1 }
*** WARNING C280 IN LINE 122 OF S_ MOTOR-KEY.C: 'r': unreferenced local variable
158
159 /********************************************************/
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 133 ----
CONSTANT SIZE = 16 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 6
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 3 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -