📄 setframe.lst
字号:
207 //------------------------------------------------------------------
208
209 //从变量var得到各位数,写数
210 void bsetwritefig()
211 {
212 1 if(var>max)
213 1 var=max;
214 1 if(selenum==0x04)
215 1 {
216 2 getfigurebit(var);
217 2 write2d1fig();
218 2 }//堵转延迟写的是小数,其他写的是3位整数
219 1 else
220 1 {
221 2 getfigurebit(var);
222 2 write3dfig();
223 2 }
224 1 }
225 //--------------------------------------------------------------
226
227 void key_fig_up()//按向上键,各位数加1 ,加到9时,恢复为0,加数及时更新变量写数,最大值为max
228 {
229 1 if(selebit==1)
230 1 {
231 2 if(bit1==9)
C51 COMPILER V7.01 SETFRAME 09/23/2008 14:27:39 PAGE 5
232 2 bit1=0;
233 2 else
234 2 bit1++;
235 2 }
236 1 else if(selebit==2)
237 1 {
238 2 if(bit2==9)
239 2 bit2=0;
240 2 else
241 2 bit2++;
242 2 }
243 1 else if(selebit==3)
244 1 {
245 2 if(bit3==9)
246 2 bit3=0;
247 2 else
248 2 bit3++;
249 2 }
250 1 var=bit3*100+bit2*10+bit1; //及时更新数据
251 1 }
252 //-------------------------------------------------------------------
253
254 void key_fig_down()//按向下键,各位数减1,减到0时循环到9
255 {
256 1 if(selebit==1)
257 1 {
258 2 if(bit1==0)
259 2 bit1=9;
260 2 else
261 2 bit1--;
262 2 }
263 1 else if(selebit==2)
264 1 {
265 2 if(bit2==0)
266 2 bit2=9;
267 2 else
268 2 bit2--;
269 2 }
270 1 else if(selebit==3)
271 1 {
272 2 if(bit3==0)
273 2 bit3=9;
274 2 else
275 2 bit3--;
276 2 }
277 1 var=bit3*100+bit2*10+bit1;//及时更新数据
278 1 }//写数
279
280 //--------------------------------------------------------------------------
281 void set_key_move()//修改数时反白向左移移到0100时,恢复为0001,重写一遍数据
282 {
283 1 if(fbbitchar==4)
284 1 fbbitchar=1;
285 1 else
286 1 fbbitchar<<=1;
287 1 }
288 //----------------------------------------------------------------------------------
289
290 //基本设数函数
291 void bset_key_set()
292 {
293 1 clearscreen();
C51 COMPILER V7.01 SETFRAME 09/23/2008 14:27:39 PAGE 6
294 1
295 1 basevar[1] = VVALUE;
296 1 basevar[2] = CTVALUE;
297 1 basevar[3] = PTVALUE;
298 1 basevar[4] = TSCNUM;
299 1 basevar[5] = HVCNUM;
300 1 basevar[6] = RUNMOD;
301 1 basevar[7] = TTHRESH;
302 1 basevar[8] = QTHRESH;
303 1 basevar[9] = TCOEFFI;
304 1
305 1 if(selenum<10) //选中前六项,执行下面的函数
306 1 {
307 2 fbbitchar=1;
308 2 var=basevar[selenum];
309 2 max=maxvar[selenum];
310 2 if(selenum == 1 || selenum == 4 || selenum == 5)
311 2 Flag_unit = 1;//有单位
312 2 else
313 2 Flag_unit = 0;//无单位
314 2 setwritestr();
315 2 bsetwritefig();
316 2 while(KEY_BUF != KEY_ESC&&KEY_BUF != KEY_ENTER)
317 2 {
318 3 if(KEY_BUF == KEY_MOVE)
319 3 {
320 4 set_key_move();
321 4 bsetwritefig();
322 4 KEY_BUF=0xff;
323 4 }
324 3 else if(KEY_BUF == KEY_UP)
325 3 {
326 4 key_fig_up();
327 4 bsetwritefig();
328 4 KEY_BUF=0xff;
329 4 }
330 3 else if(KEY_BUF == KEY_DOWN)
331 3 {
332 4 key_fig_down();
333 4 bsetwritefig();
334 4 KEY_BUF=0xff;
335 4 }
336 3 }
337 2 if(KEY_BUF == KEY_ENTER) //按enter键更新各全局变量
338 2 {
339 3 // if(selenum==1)
340 3 // send_single16(basic_para_ID[1],var);
341 3 // else
342 3 // send_single8(basic_para_ID[selenum],(uchar)var);//发送数据
343 3 // delay20ms();
344 3 // dsp_ans(basic_para_ID[selenum]);
345 3 // if(DSP_REV_FLAG==0)//该页面的数据处理,将设定的参数存入相应的的地址
346 3 // {
347 3 if(selenum==1)
348 3 wordwrite_chip1(VVALUE_STORE_ADD,var);//选择的是限流(16)
349 3 else
350 3 bytewrite_chip1((PAGE2_BASE_ADD+selenum),(uchar)var);
351 3 basevar[selenum] = var;
352 3
353 3 VVALUE = basevar[1]; //及时更新各个全局变量
354 3 CTVALUE = (uchar)basevar[2];
355 3 PTVALUE = (uchar)basevar[3];
C51 COMPILER V7.01 SETFRAME 09/23/2008 14:27:39 PAGE 7
356 3 TSCNUM = (uchar)basevar[4];
357 3 HVCNUM = (uchar)basevar[5];
358 3 RUNMOD = (uchar)basevar[6];
359 3 TTHRESH = (uchar)basevar[7];
360 3 QTHRESH = (uchar)basevar[8];
361 3 TCOEFFI = (uchar)basevar[9];
362 3 // }
363 3 }
364 2 }
365 1 // else if(selenum==7)
366 1 // set_time();
367 1 }
368 //-----------------------------------------------------------------------
369
370 void main_bset()
371 {
372 1 TOTALNUM = 9;//共有10项
373 1 clearscreen();//清屏
374 1 init_frame(BSETSTRTABLE);//写初始页面
375 1
376 1 VVALUE = byteread_chip1(VVALUE_STORE_ADD);//从ROM中读出相应数据
377 1 CTVALUE = wordread_chip1(CTVALUE_STORE_ADD);
378 1 PTVALUE = byteread_chip1(PTVALUE_STORE_ADD);
379 1 TSCNUM = byteread_chip1(TSCNUM_STORE_ADD);
380 1 HVCNUM = byteread_chip1(HVCNUM_STORE_ADD);
381 1 RUNMOD = byteread_chip1(RUNMOD_STORE_ADD);
382 1 TTHRESH = byteread_chip1(TTHRESH_STORE_ADD);
383 1 QTHRESH = byteread_chip1(QTHRESH_STORE_ADD);
384 1 TCOEFFI = byteread_chip1(TCOEFFI_STORE_ADD);
385 1
386 1 basevar[1] = VVALUE;
387 1 basevar[2] = CTVALUE;
388 1 basevar[3] = PTVALUE;
389 1 basevar[4] = TSCNUM;
390 1 basevar[5] = HVCNUM;
391 1 basevar[6] = RUNMOD;
392 1 basevar[7] = TTHRESH;
393 1 basevar[8] = QTHRESH;
394 1 basevar[9] = TCOEFFI;
395 1
396 1 while(KEY_BUF!=KEY_ESC)
397 1 {
398 2 if(KEY_BUF==KEY_UP)
399 2 key_up_move(BSETSTRTABLE);//上移选项
400 2 else if(KEY_BUF==KEY_DOWN)
401 2 key_down_move(BSETSTRTABLE,TOTALNUM);//下移选项
402 2 else if(KEY_BUF==KEY_SET)
403 2 {
404 3 remi=i;
405 3 bset_key_set();
406 3 // can_common();
407 3 KEY_BUF=0xff;
408 3 i=remi;
409 3
410 3 clearscreen();
411 3 display3list(BSETSTRTABLE);//回到上一页面
412 3 }
413 2 }
414 1 }//设置后按KEY
MODULE INFORMATION: STATIC OVERLAYABLE
C51 COMPILER V7.01 SETFRAME 09/23/2008 14:27:39 PAGE 8
CODE SIZE = 1705 ----
CONSTANT SIZE = 233 ----
XDATA SIZE = 67 ----
PDATA SIZE = ---- ----
DATA SIZE = 1 ----
IDATA SIZE = ---- ----
BIT SIZE = 3 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -