📄 motor_main.lst
字号:
143 1 {
144 2 key=0;
145 2 step_flag=1;
146 2 Show_Sign(); //显示===========
147 2 Show_Step_Length(); //显示"请预置步长: "
148 2 Get_Step_Length(); //预置步长
149 2 }
150 1 return step_flag;
151 1 }
152
153 void main(void)
154 {
155 1 uchar key,stl;
156 1 IntRst();
157 1 Lcd_SetZ(1);
158 1 Lcd_Off();
159 1 Show_Null();
160 1 Show_Sign(); //显示===========
161 1 Show_Greet();
162 1 Lcd_On();
163 1 TMOD=0x21; //T0工作在方式1,T1工作在方式2自动重装
164 1 TH1=0xF3; //波特率设置;晶振12MHz;波特率为2400
165 1 TL1=0xF3;
166 1 SCON=0X50; //串行口工作在方式1,八位方式,允许接收
167 1 PCON=0; //SMOD设置为0
168 1 EA=1;
169 1 ES=1; //串行中断允许
170 1 ET0=0; //T0中断禁止
171 1 TR1=1;
172 1
173 1 while((key==0)&&(SData_flag==0))
174 1 key=GetKey();
175 1 if(key)stepflag=Operating();
176 1 ST_Convert(); //将转速转换为T0常数
177 1 TH0=thdata;
178 1 TL0=tldata;
179 1 TR0=1;
C51 COMPILER V7.06 MOTOR_MAIN 03/24/2007 20:31:56 PAGE 4
180 1 Show_Null();
181 1 Show_Sign(); //显示===========
182 1 Show_Ready(); //显示"准备好:"
183 1 Show_Direction(direction);
184 1 key=0;
185 1 while((key!=START)&&(run==0))
186 1 { key=0;
187 2 key=GetKey();
188 2 }
189 1 if(stepflag) //步进方式
190 1 { stl=step_length;
191 2 Show_Null(); //清屏
192 2 Show_Sign(); //显示===
193 2 Show_Step(); //显示"步进"
194 2 while(1)
195 2 {
196 3 if(int_cnt==stl)
197 3 { ET0=0;
198 4 int_cnt=0;
199 4 step_permit=0;
200 4 }
201 3 key=0;
202 3 key=GetKey();
203 3 if(key==STEP)
204 3 {
205 4 step_permit=1;
206 4 key=0;
207 4 ET0=1;
208 4 }
209 3 else if((key==DIR)||sisdf)
210 3 {
211 4 direction=(~direction);
212 4 Show_Direction(direction);
213 4 sisdf=0;
214 4 }
215 3 }
216 2 }
217 1
218 1 else //全速运行方式
219 1 {
220 2 ET0=1;
221 2 Show_Null(); //清屏
222 2 //Show_Sign(); //显示===
223 2 //Show_Start(); //显示"启动"
224 2 Show_Null(); //清屏
225 2 Show_Sign(); //显示===
226 2 Show_Running(); //显示"运行中"
227 2 Show_Direction(direction);
228 2 while(1)
229 2 {
230 3 key=0;
231 3 key=GetKey();
232 3 if((key==DIR)||sisdf)
233 3 {
234 4 direction=(~direction);
235 4 Show_Direction(direction);
236 4 sisdf=0;
237 4 }
238 3 else if((key==STOP)||stopflag)
239 3 {
240 4 ET0=0;
241 4 Show_Null(); //清屏
C51 COMPILER V7.06 MOTOR_MAIN 03/24/2007 20:31:56 PAGE 5
242 4 Show_Sign(); //显示===
243 4 Show_Stop(); //显示"停止"
244 4 Show_Direction(direction);
245 4 stopflag=0;
246 4 }
247 3 else if((key==START)||run)
248 3 {
249 4 ET0=1;
250 4 //Show_Null(); //清屏
251 4 //Show_Sign(); //显示===
252 4 //Show_Start(); //显示"启动"
253 4 Show_Null(); //清屏
254 4 Show_Sign(); //显示===
255 4 Show_Running(); //显示"运行中"
256 4 Show_Direction(direction);
257 4 run=0;
258 4 }
259 3 }
260 2 }
261 1 }
262
263
264 /*
265 void Show_Null (void);//清屏
266 void Show_Sign (void);//显示===========
267 void Show_Greet (void);//显示电机控制系统湖南师范大学XXX制作
268 void Show_Operation_Model(void);//显示"请预置工作方式"1全速2步进
269 void Show_Speed_Set (void);//显示"请预置转速 "
270 void Show_Step_Length (void); //显示"请预置步长: "
271 void Show_Ready (void);//显示"准备好:"
272 void Show_Start (void);//显示"启动"
273 void Show_Running (void);//显示"运行中"
274 void Show_Stop (void);//显示"停止"
275 void Show_Step (void);//显示"步进"
276 void Show_Direction (bit a)//显示"正反向"
277 */
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 842 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 7 10
IDATA SIZE = ---- ----
BIT SIZE = 7 1
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -