?? steppermotor.lst
字號(hào):
C51 COMPILER V8.09 STEPPERMOTOR 05/07/2009 17:14:37 PAGE 1
C51 COMPILER V8.09, COMPILATION OF MODULE STEPPERMOTOR
OBJECT MODULE PLACED IN steppermotor.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE steppermotor.c LARGE BROWSE DEBUG OBJECTEXTEND
line level source
1 #include<reg51.h>
2 #include <absacc.h>
3
4 #define pa8255 XBYTE[0x0d000] /* 數(shù)據(jù)A口 */
5 #define pb8255 XBYTE[0x0d100] /* 數(shù)據(jù)B口 */
6 #define control XBYTE[0x0d300] /* 命令口 */
7
8 /*xdata unsigned char _at_ 0xD300;
9 xdata unsigned char pa8255 _at_ 0xD000;
10 xdata unsigned char pb8255 _at_ 0xD001;
11 */
12 #define Astep 0x01
13 #define Bstep 0x02
14 #define Cstep 0x04
15 #define Dstep 0x08
16 #define mode8255 0x82
17 extern unsigned char scankeypad ();
18 unsigned char dly_c;
19
20
21 void delay8255()
22 {
23 1 unsigned char tt,cc;
24 1 cc=dly_c;
25 1 tt=0;
26 1 do
27 1 {
28 2 do
29 2 {
30 3 }
31 2 while(--tt);
32 2 }
33 1 while(--cc);
34 1 }
35 void steppermotor()
36 {
37 1 unsigned char mode;
38 1 control=mode8255;
39 1 pb8255=0;
40 1 mode=2;
41 1 pa8255=0;
42 1 dly_c=0x10;
43 1 while(1)
44 1 {
45 2 if(mode==1)
46 2 while(1)
47 2 {
48 3 pa8255=Dstep;
49 3 delay8255();
50 3 pa8255=Dstep+Cstep;
51 3 delay8255();
52 3 pa8255=Cstep;
53 3 delay8255();
54 3 pa8255=Cstep+Bstep;
55 3 delay8255();
C51 COMPILER V8.09 STEPPERMOTOR 05/07/2009 17:14:37 PAGE 2
56 3 pa8255=Bstep;
57 3 delay8255();
58 3 pa8255=Bstep+Astep;
59 3 delay8255();
60 3 pa8255=Astep;
61 3 delay8255();
62 3 pa8255=Astep+Dstep;
63 3 delay8255();
64 3 }
65 2 if(mode==2)
66 2 while(1)
67 2 { if((pb8255&0x02)==2){mode=3;break;}
68 3 if(scankeypad()==15) return;
69 3 pa8255=Astep+Bstep;
70 3 delay8255();
71 3 pa8255=Bstep+Cstep;
72 3 delay8255();
73 3 pa8255=Cstep+Dstep;
74 3 delay8255();
75 3 pa8255=Dstep+Astep;
76 3 delay8255();
77 3 //if(dly_c>3) dly_c--;
78 3 }
79 2 if(mode==3)
80 2 while(1)
81 2 { if((pb8255&0x01)==1){mode=2;break;}
82 3 if(scankeypad()==15) return;
83 3 pa8255=Dstep;
84 3 delay8255();
85 3 pa8255=Cstep;
86 3 delay8255();
87 3 pa8255=Bstep;
88 3 delay8255();
89 3 pa8255=Astep;
90 3 delay8255();
91 3 //if(dly_c>4) dly_c--;
92 3 }
93 2 }
94 1 }
95
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 243 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = 1 1
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
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 + -