📄 text8.lst
字号:
138 4 dis_buf[6]= instruction_buf[6];
139 4 dis_buf[7]= instruction_buf[7];
140 4 j=0;
141 4 for(i=0;i<7;i++) j=j+dis_buf[i];
142 4 if(j==dis_buf[7]){putbyte(instruction_buf[0]);
143 5 putbyte(0x67);putbyte(0x67);
144 5 putbyte(0x67);putbyte(0x67);
145 5 putbyte(0x67);putbyte(0x67);
146 5 putbyte(0x67);putbyte(0x67);}
147 4 else { putbyte(instruction_buf[0]);
148 5 putbyte(0x69);putbyte(0x69);
149 5 putbyte(0x69);putbyte(0x69);
150 5 putbyte(0x69);putbyte(0x69);
151 5 putbyte(0x69);putbyte(0x69);}
152 4
153 4 instruction_buf[0]=0x01;
154 4
155 4 while(instruction_buf[0]!=device_id)
156 4 {
157 5 //WriteWord (Digit0,dis_buf[3]);
158 5 //WriteWord (Digit1,dis_buf[2]);
159 5 //WriteWord (Digit2,dis_buf[1]);
160 5 //WriteWord (Digit3,dis_buf[0]);
161 5 //delay(500);
162 5
163 5 if((dis_buf[1]==0x0a)||(dis_buf[1]==0x0f)) th=0;else th=dis_buf[1]&0x0f;
164 5 if((dis_buf[2]==0x0a)||(dis_buf[2]==0x0f)) hun=0;else hun=dis_buf[2]&0x0f;
165 5 if((dis_buf[3]==0x0a)||(dis_buf[3]==0x0f)) ten=0;else ten=dis_buf[3]&0x0f;
166 5 if((dis_buf[4]==0x0a)||(dis_buf[4]==0x0f)) one=0;else one=dis_buf[4]&0x0f;
167 5 data_1=th*1000+hun*100+ten*10+one;
168 5 //if(dis_buf[0]==0x0a)tttt=0x0a;else tttt=(dis_buf[0]&0xf0)+th_1;
169 5 // ttt=(dis_buf[1]&0xf0)+hun_1;
170 5 //tt=(dis_buf[2]&0xf0)+ten_1;
171 5 // t=(dis_buf[3]&0xf0)+one_1;
172 5
173 5
174 5 //data_1=dis_buf[1]*1000+dis_buf[1]*100+dis_buf[2]*10+dis_buf[3];
175 5
176 5 rand_mize=data_1*dis_buf[5]/100;
177 5 if(rand_mize==0){data_2=data_1;}
C51 COMPILER V7.06 TEXT8 03/13/2009 09:14:32 PAGE 4
178 5 else data_2=data_1+rand()%rand_mize-data_1*dis_buf[5]/200;
179 5
180 5 if((dis_buf[1]==0x0a && data_2>999)||
181 5 (dis_buf[1]==0x0f && data_2>999)||
182 5 (data_2>9999)||
183 5 (dis_buf[1]==0x0f && dis_buf[2]==0x0a && data_2>99)||
184 5 (dis_buf[1]==0x0f && dis_buf[2]==0x0f && data_2>99)||
185 5 (dis_buf[2]==0x0f && dis_buf[1]==0x0f && dis_buf[3]==0x0f && data_2>9)||
186 5 (dis_buf[2]==0x0f && dis_buf[1]==0x0f && dis_buf[3]==0x0a && data_2>9))
187 5 data_2=data_1;
188 5 // if(dis_buf[0]==0x0a){th_1=0x0a;
189 5 // hun_1=data_2/100;
190 5 // ten_1=(data_2-hun_1*100)/10;
191 5 // one_1=data_2-hun_1*100-ten_1*10;}
192 5 //if(dis_buf[0]==0x0f && dis_buf[1]==0x0a)
193 5 // {th_1=0x0f;
194 5 // hun_1=0x0a;
195 5 // ten_1=data_2/10;
196 5 // one_1=data_2-ten_1*10;}
197 5
198 5 th_1=data_2/1000;
199 5 hun_1=(data_2-th_1*1000)/100;
200 5 ten_1=(data_2-th_1*1000-hun_1*100)/10;
201 5 one_1=data_2-th_1*1000-hun_1*100-ten_1*10;
202 5 if(dis_buf[1]==0x0a || dis_buf[1]==0x0f) { th_1=dis_buf[1];}
203 5 if(dis_buf[2]==0x0a || dis_buf[2]==0x0f) { hun_1=dis_buf[2];}
204 5 if(dis_buf[3]==0x0a || dis_buf[3]==0x0f) { ten_1=dis_buf[3];}
205 5 if(dis_buf[4]==0x0a || dis_buf[4]==0x0f) { one_1=dis_buf[4];}
206 5 tttt=th_1;ttt=hun_1;tt=ten_1;t=one_1;
207 5 if((0x80&dis_buf[1])==0x80){tttt=tttt+0x80;}
208 5 if((0x80&dis_buf[2])==0x80){ttt=ttt+0x80;}
209 5 if((0x80&dis_buf[3])==0x80){tt=tt+0x80;}
210 5 if((0x80&dis_buf[4])==0x80){t=t+0x80;}
211 5 // else{tttt=th_1;ttt=hun_1;tt=ten_1;t=one_1;}
212 5 //tttt=th_1;ttt=hun_1;tt=ten_1+0x80;t=one_1;
213 5
214 5 WriteWord (Digit0,t);
215 5 WriteWord (Digit1,tt);
216 5 WriteWord (Digit2,ttt);
217 5 WriteWord (Digit3,tttt);
218 5 delay_time=dis_buf[6]*40;
219 5 delay(delay_time);
220 5
221 5 // WriteWord (Digit0,t);
222 5 //WriteWord (Digit1,tt);
223 5 //WriteWord (Digit2,ttt);
224 5 //WriteWord (Digit3,tttt);
225 5 //delay(1000);
226 5 }
227 4
228 4 }
229 3 }
230 2 }
231 1 }
232
233 //void serial_init(void)
234 //{
235 // TMOD |= 0x20;
236 // TL1 = 0xfd; TH1 = 0xfd;
237 // SCON = 0x7a;
238 // TR1 = 1;
239 // TI = 0;
C51 COMPILER V7.06 TEXT8 03/13/2009 09:14:32 PAGE 5
240 // ES = 1;
-
-
241 // EA = 1;
242 // DE_RE=0;
243 //}
244 void serial_re(void) interrupt 4
245 {
246 1 static uint ins_cnt;
247 1 if(RI)
248 1 {
249 2 if((ins_cnt==0)&&(SBUF==0xff));
250 2 else
251 2 {
252 3 instruction_buf[ins_cnt] = SBUF;
253 3 ins_cnt++;
254 3 if(ins_cnt>=9) ins_cnt=0;
255 3 }
256 2 RI=0;
257 2 }
258 1 }
259 void putbyte(char c) //发送一个字节
260 {
261 1 DE_RE=1; //允许串口输出
262 1 ES = 0; //暂停串行中断,以免数据比较时出错
263 1 SBUF = c;
264 1 while(TI==0);
265 1 TI = 0;
266 1 DE_RE=0; //允许串口输入
267 1 ES = 1;
268 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1025 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 20 14
IDATA SIZE = ---- ----
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 + -