?? zhjbjdj.lst
字號:
C51 COMPILER V6.23a ZHJBJDJ 05/13/2004 21:59:35 PAGE 1
C51 COMPILER V6.23a, COMPILATION OF MODULE ZHJBJDJ
OBJECT MODULE PLACED IN zhjbjdj.OBJ
COMPILER INVOKED BY: D:\KEIL\C51\BIN\C51.EXE zhjbjdj.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 /*旋轉適粘度計步進電機驅動程序晶振24MHZ*/
2
3 #include <at89x51.h>
4 #include <absacc.h>
5 #include <intrins.h>
6
7 #define DA1 XBYTE[0x8000]//定義硬件地址
8 #define DA2 XBYTE[0x8100]
9 #define LEVEL1 XBYTE[0x8200]
10 #define LEVEL2 XBYTE[0x8300]
11 #define CHIP_ADDR 0x04
12 #define START_STEPTIMES 10
13
14 unsigned char Command=0,Command_Temp,Step_Num=0,Start_f=0,Start_Stepnum=2,Start_Steptimes=START_STEPTIMES;
15 unsigned char Iasuffix=0,Ibsuffix=0,TimeH=0,TimeL=0;
16
17 unsigned char code IAB[256]={0,3,6,9,12,16,19,22,25,28,31,34,37,40,43,46
18 ,49,51,54,57,60,63,65,68,71,73,76,78,81,83,85,88,90,92,94,96,98,100,102
19 ,104,106,107,109,111,112,113,115,116,117,118,120,121,122,122,123,124,125
20 ,125,126,126,126,127,127,127,127,127,127,127,126,126,126,125,125,124,123
21 ,122,122,121,120,118,117,116,115,113,112,111,109,107,106,104,102,100,98
22 ,96,94,92,90,88,85,83,81,78,76,73,71,68,65,63,60,57,54,51,49,46,43,40,37
23 ,34,31,28,25,22,19,16,12,9,6,3,0,131,134,137,140,144,147,150,153,156,159
24 ,162,165,168,171,174,177,179,182,185,188,191,193,196,199,201,204,206,209
25 ,211,213,216,218,220,222,224,226,228,230,232,234,235,237,239,240,241,243
26 ,244,245,246,248,249,250,250,251,252,253,253,254,254,254,255,255,255,255
27 ,255,255,255,254,254,254,253,253,252,251,250,250,249,248,246,245,244,243
28 ,241,240,239,237,235,234,232,230,228,226,224,222,220,218,216,213,211,209
29 ,206,204,201,199,196,193,191,188,185,182,179,177,174,171,168,165,162,159
30 ,156,153,150,147,144,140,137,134,131};
31
32 void init(void)
33 {
34 1 TMOD|=0x21;//初始化T1及串口,波特率9600,24M時鐘
35 1 SCON=0xf0;//T1為16位計數器
36 1 PCON|=0x80;
37 1 TH1=0xf3;
38 1 TL1=0xf3;
39 1 TR1=1;
40 1 TR0=0;
41 1 ET0=1;
42 1 ES=1;
43 1 EA=1;
44 1 //RI=0;
45 1 //TI=0;
46 1 }
47
48 void servial(void) interrupt 4 using 3
49 {
50 1 if (RI==1)
51 1 {
52 2 RI=0;
53 2 if (SM2==1&&SBUF==4)
54 2 {SM2=0;TB8=1;SBUF=4;
55 3 while (TI!=1);
C51 COMPILER V6.23a ZHJBJDJ 05/13/2004 21:59:35 PAGE 2
56 3 TI=0;
57 3 }
58 2 else
59 2 {if(SM2==0&&SBUF==0xff&&RB8==1) SM2=1;
60 3 else if (SM2==0&&RB8==0)
61 3 {Command_Temp=SBUF;
62 4 TB8=1;
63 4 if(Command_Temp<=20&&Command_Temp>=1)
64 4 {Command=Command_Temp;
65 5 SBUF=Command;
66 5 while (TI!=1);
67 5 TI=0;}
68 4 if (Command<=18&&Command>=1)TR0=0;
69 4 }
70 3 }
71 2 }
72 1 }
73
74 void time0(void) interrupt 1 using 1
75 {
76 1 EA=0;
77 1 TH0=TimeH;
78 1 TL0=TimeL;
79 1 TR0=1;
80 1 if (Start_f==0)
81 1 {
82 2 DA1=IAB[Iasuffix];
83 2 _nop_();_nop_();
84 2 DA2=IAB[Ibsuffix];
85 2
86 2 Iasuffix+=Step_Num;
87 2 Ibsuffix+=Step_Num;
88 2
89 2 //if (Iasuffix>255)Iasuffix=0;
90 2 //if (Ibsuffix>255)Ibsuffix=0;
91 2
92 2 }
93 1 else
94 1 {DA1=IAB[Iasuffix];
95 2 _nop_();_nop_();
96 2 DA2=IAB[Ibsuffix];
97 2
98 2 Iasuffix+=Start_Stepnum;
99 2 Ibsuffix+=Start_Stepnum;
100 2
101 2 //if (Iasuffix>255)Iasuffix=0;
102 2 //if (Ibsuffix>255)Ibsuffix=0;
103 2
104 2 Start_Steptimes--;
105 2 if (Start_Steptimes<=0){Start_Steptimes=START_STEPTIMES;Start_Stepnum=Start_Stepnum*2;}
106 2 if (Start_Stepnum==32) {Start_f=0;Start_Stepnum=2;}
107 2 }
108 1 EA=1;
109 1 }
110
111 main()
112 {
113 1 init();
114 1 while(1)
115 1 switch(Command)
116 1 {
117 2 case 0:
C51 COMPILER V6.23a ZHJBJDJ 05/13/2004 21:59:35 PAGE 3
118 2 LEVEL1=0xff;
119 2 _nop_();_nop_();
120 2 LEVEL2=0xff;
121 2 _nop_();_nop_();
122 2 DA1=0x00;
123 2 _nop_();_nop_();
124 2 DA2=0x00;
125 2 Start_f=0;
126 2 Start_Stepnum=2;
127 2 Start_Steptimes=START_STEPTIMES;
128 2 Iasuffix=0;
129 2 Ibsuffix=0;
130 2 Command=88;
131 2 break;
132 2 case 1:
133 2 Step_Num=1;
134 2 TimeH=0xc2;
135 2 TimeL=0xf6;
136 2 TH0=TimeH;
137 2 TL0=TimeL;
138 2 Command=88;
139 2 break;
140 2 case 2:
141 2 Step_Num=1;
142 2 TimeH=0xDB;
143 2 TimeL=0x60;
144 2 TH0=TimeH;
145 2 TL0=TimeL;
146 2 Command=88;
147 2 break;
148 2 case 3:
149 2 Step_Num=1;
150 2 TimeH=0xe1;
151 2 TimeL=0x7a;
152 2 TH0=TimeH;
153 2 TL0=TimeL;
154 2 Command=88;
155 2 break;
156 2 case 4:
157 2 Step_Num=1;
158 2 TimeH=0xed;
159 2 TimeL=0xaf;
160 2 TH0=TimeH;
161 2 TL0=TimeL;
162 2 Command=88;
163 2 break;
164 2 case 5:
165 2 Step_Num=1;
166 2 TimeH=0xf3;
167 2 TimeL=0xca;
168 2 TH0=TimeH;
169 2 TL0=TimeL;
170 2 Command=88;
171 2 break;
172 2 case 6:
173 2 Step_Num=4;
174 2 TimeH=0xdb;
175 2 TimeL=0x60;
176 2 TH0=TimeH;
177 2 TL0=TimeL;
178 2 Command=88;
179 2 break;
C51 COMPILER V6.23a ZHJBJDJ 05/13/2004 21:59:35 PAGE 4
180 2 case 7:
181 2 Step_Num=4;
182 2 TimeH=0xe2;
183 2 TimeL=0xb3;
184 2 TH0=TimeH;
185 2 TL0=TimeL;
186 2 Command=88;
187 2 break;
188 2 case 8:
189 2 Step_Num=4;
190 2 TimeH=0xe5;
191 2 TimeL=0x97;
192 2 TH0=TimeH;
193 2 TL0=TimeL;
194 2 Command=88;
195 2 break;
196 2 case 9:
197 2 Step_Num=4;
198 2 TimeH=0xed;
199 2 TimeL=0xaf;
200 2 TH0=TimeH;
201 2 TL0=TimeL;
202 2 Command=88;
203 2 break;
204 2 case 10:
205 2 Step_Num=4;
206 2 TimeH=0xf1;
207 2 TimeL=0x59;
208 2 TH0=TimeH;
209 2 TL0=TimeL;
210 2 Command=88;
211 2 break;
212 2 case 11:
213 2 Step_Num=16;
214 2 TimeH=0xcf;
215 2 TimeL=0x2b;
216 2 TH0=TimeH;
217 2 TL0=TimeL;
218 2 Command=88;
219 2 break;
220 2 case 12:
221 2 Step_Num=16;
222 2 TimeH=0xe2;
223 2 TimeL=0xb3;
224 2 TH0=TimeH;
225 2 TL0=TimeL;
226 2 Command=88;
227 2 break;
228 2 case 13:
229 2 Step_Num=16;
230 2 TimeH=0xe7;
231 2 TimeL=0x95;
232 2 TH0=TimeH;
233 2 TL0=TimeL;
234 2 Command=88;
235 2 break;
236 2 case 14:
237 2 Step_Num=16;
238 2 TimeH=0xf1;
239 2 TimeL=0x59;
240 2 TH0=TimeH;
241 2 TL0=TimeL;
C51 COMPILER V6.23a ZHJBJDJ 05/13/2004 21:59:35 PAGE 5
242 2 Command=88;
243 2 break;
244 2 case 15:
245 2 Step_Num=16;
246 2 TimeH=0xf6;
247 2 TimeL=0x3b;
248 2 TH0=TimeH;
249 2 TL0=TimeL;
250 2 Command=88;
251 2 break;
252 2 case 16:
253 2 Step_Num=32;
254 2 TimeH=0xf4;
255 2 TimeL=0x47;
256 2 TH0=TimeH;
257 2 TL0=TimeL;
258 2 Start_f=1;
259 2 Command=88;
260 2 break;
261 2 case 17:
262 2 Step_Num=32;
263 2 TimeH=0xf6;
264 2 TimeL=0x3b;
265 2 TH0=TimeH;
266 2 TL0=TimeL;
267 2 Start_f=1;
268 2 Command=88;
269 2 break;
270 2 case 18:
271 2 Step_Num=32;
272 2 TimeH=0xfa;
273 2 TimeL=0x23;
274 2 TH0=TimeH;
275 2 TL0=TimeL;
276 2 Start_f=1;
277 2 Command=88;
278 2 break;
279 2 case 19://開始運轉
280 2 Iasuffix=0;
281 2 Ibsuffix=64;
282 2 TR0=1;
283 2 Command=88;
284 2 break;
285 2 case 20://停止運轉
286 2 TR0=0;
287 2 Command=0;
288 2 break;
289 2 case 88:
290 2 break;
291 2 default:
292 2 break;
293 2 }
294 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 729 ----
CONSTANT SIZE = 256 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 10 ----
IDATA SIZE = ---- ----
C51 COMPILER V6.23a ZHJBJDJ 05/13/2004 21:59:35 PAGE 6
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 + -