📄 md142amn.c
字号:
//-------------------------------------------------------------------------
// Filename : Md142AM.C
// Language : C for AT89S8252
// Revision : 1.0
// Initial Date : 13/03/2003
// Last Modify :
// System clock : 24.00MHZ
// Description :
//-------------------------------------------------------------------------
#include <reg52.h>
#include "serial.h"
#include "panel.h"
#include "MD142AM.H"
//------------------------------------
unsigned heat1_time,heat2_time;
unsigned spray_time,row;
unsigned char xdata datalist[7];
//--------------------------------------------------------------------------------
void _auto_operate();
void _manual_operate();
void _init_machine();
void _setup();
unsigned char _manual_key();
unsigned char _setup_key();
//-----------------------------------------------------------
void main()
{
unsigned char exit;
unsigned com_time;
_init_system();
ReceStream.address = ID_Panel;
_init_serial(BAUD19200);
_set_delay(5);
_disp_msge (1,0,Initcomm);
exit = TRUE;
com_time = tick_clock+400;
while (exit==TRUE){
if (com_time == tick_clock){
_clear_disp();
_disp_msge (0,0,Commfail);
_disp_msge (1,0,Checkserial);
while (TRUE);
}
if (rece_com == Datatrans){
heat2_time=rece_data[2];
heat1_time=rece_data[3];
spray_time=rece_data[4];
rece_com = OFF;
exit = FALSE;
}
}
_clear_disp();
_cursor_switch(0,OFF);
_cursor_switch(2,OFF);
_disp_win(Projectname);
_set_delay(5);
while(TRUE)
{
switch(key_down)
{
case F1:
_auto_operate();
break;
case F2:
_manual_operate();
break;
case F3:
_setup();
break;
}
}
}
//-----------------------------------------------------
void _auto_operate()
{
while(key_flag==1);
key_down=0xff;
_trf_msge (ID_Plc64I,Auto,0x00);
while(rece_com!=Datatrans);
rece_com=OFF;
heat2_time=rece_data[2];
heat1_time=rece_data[3];
spray_time=rece_data[4];
_clear_disp();
_disp_win(Automap);
_cursor_switch(0,OFF);
_cursor_switch(2,OFF);
if(rece_data[2]<11)
_disp_interge (1,33,heat2_time);
else
_disp_float (1,33,heat2_time); //????????
if(rece_data[3]<11)
_disp_interge (1,16,heat1_time);
else
_disp_float (1,16,heat1_time);
if(rece_data[4]<11)
_disp_interge (2,16,spray_time);
else
_disp_float (2,16,spray_time);
while(key_down!=F4)
{
if((key_down==F1)&&(key_flag==1))
{
while( key_flag==1);
key_down=0xff;
_trf_msge (ID_Plc64I,Start,0x00);
_set_delay(5);
}
if(key_down==F2&&key_flag==1 )
{
while( key_flag==1);
key_down=0xff;
_trf_msge (ID_Plc64I,Pause,0x00);
_set_delay(5);
}
if(key_down==F3 &&key_flag==1)
{
while( key_flag==1);
_manual_operate();
_clear_disp();
_disp_win(Automap);
key_down=0xff;
if(rece_data[2]<11)
_disp_interge (1,33,heat2_time);
else
_disp_float (1,33,heat2_time); //????????
if(rece_data[3]<11)
_disp_interge (1,16,heat1_time);
else
_disp_float (1,16,heat1_time);
if(rece_data[4]<11)
_disp_interge (2,16,spray_time);
else
_disp_float (2,16,spray_time);
}
if(rece_com==Trouble)
{
rece_com=OFF;
_clear_disp();
_disp_win(Troublemsge);
key_down=0xff;
while(key_down!=F1);
while(key_flag==1);
key_down=0xff;
_trf_msge (ID_Plc64I,Go_on,0x00);
_disp_win(Automap);
if(rece_data[2]<11)
_disp_interge (1,33,heat2_time);
else
_disp_float (1,33,heat2_time); //????????
if(rece_data[3]<11)
_disp_interge (1,16,heat1_time);
else
_disp_float (1,16,heat1_time);
if(rece_data[4]<11)
_disp_interge (2,16,spray_time);
else
_disp_float (2,16,spray_time);
}
}
if(key_down==F4)
{
while(key_flag==1);
_clear_disp();
_disp_win(Projectname);
_trf_msge (ID_Plc64I,Exit,0x00);
_set_delay(5);
}
}
void _manual_operate()
{
unsigned char num[3]={0,0,0};
unsigned char number,zero=0;
_clear_disp();
while(key_flag==1);
_disp_win(Manualmap);
_trf_msge(ID_Plc64I,Manual,0x00);
_set_delay(5);
key_down=0xff;
_set_delay(5);
while(key_down!=F4 )
{
if(key_down<=9)
{
// _disp_interge (1,13,zero);
number=_manual_key();
}
if( key_down==F1 && key_flag==1 )
{
while(key_flag==1);
key_down=0xff; //5.27
TranStream.datablk[0]=number;
_trf_msge(ID_Plc64I,Datatrans,0x01);
_set_delay(3);
}
if(key_down==F2&&key_flag==1)
{
while(key_flag==1);
_disp_win(Manualdata1);
}
if(key_down==F3&&key_flag==1)
{
while(key_flag==1);
_disp_win(Manualdata2);
}
}
if(key_down==F4)
{
while(key_flag==1);
_clear_disp();
_disp_win(Projectname);
_trf_msge (ID_Plc64I,Exit,0x00);
_set_delay(5);
key_down=0xff;
}
}
//-------------------------------------------------------
//----------------------
void _setup()
{
row=0;
_clear_disp();
_trf_msge(ID_Plc64I,Dataset,0x00);
_set_delay(10);
while(rece_com!=Datatrans);
rece_com=OFF;
heat2_time=rece_data[2];
heat1_time=rece_data[3];
spray_time=rece_data[4];
while(key_flag==1);
_disp_win(Setupmap);
if(rece_data[2]<11)
_disp_interge (1,16,heat2_time);
else
_disp_float (1,16,heat2_time); //????????
if(rece_data[3]<11)
_disp_interge (0,16,heat1_time);
else
_disp_float (0,16,heat1_time);
if(rece_data[4]<11)
_disp_interge (2,16,spray_time);
else
_disp_float (2,16,spray_time);
key_down=0xff;
_cursor_switch(0,OFF);
_cursor_switch(2,OFF);
while(key_down!=F4)
{
TranStream.datablk[2]=heat2_time;
TranStream.datablk[3]=heat1_time;
TranStream.datablk[4]=spray_time;
if(key_down==F2)
{
key_down=0xff;
while(key_flag==1);
row++;
if(row==1)
{
_cursor_switch(2,OFF);
_cursor_switch(0,ON);
_cursor_position(0,16);
heat1_time=_setup_key();
if(heat1_time<11)
_disp_interge(0,16,heat1_time);
else
_disp_float(0,16,heat1_time);
}
if(row==2)
{
_cursor_switch(2,OFF);
_cursor_switch(0,ON);
_cursor_position(1,16);
heat2_time=_setup_key();
if(heat2_time<11)
_disp_interge(1,16,heat2_time);
else
_disp_float(1,16,heat2_time);
}
if(row==3)
{
_cursor_switch(0,OFF);
_cursor_switch(2,ON);
_cursor_position(2,16);
spray_time=_setup_key();
if(spray_time<11)
_disp_interge(2,16,spray_time);
else
_disp_float(2,16,spray_time);
row=0;
}
}
if(key_down==F1)
{
key_down=0xff;
while(key_flag==1);
TranStream.datablk[2]=heat2_time;
TranStream.datablk[3]=heat1_time;
TranStream.datablk[4]=spray_time;
_trf_msge(ID_Plc64I,Datatrans,0x05);
_set_delay(10);
}
}
if(key_down==F4)
{
while(key_flag==1);
_clear_disp();
_disp_win(Projectname);
_trf_msge (ID_Plc64I,Exit,0x00);
_set_delay(10);
key_down==0xff;
}
}
unsigned char _setup_key()
{
unsigned char i,num[4];
unsigned char number;
if(row==1)
number=heat1_time;
if(row==2)
number=heat2_time;
if(row==3)
number=spray_time;
for(i=0;i<4;i++)
{
while(key_flag!=1);
if(key_down<=9)
{
num[i]=key_down;
while(key_flag==1);
key_down=0xff;
_set_delay(5);
switch(i)
{
case 0:
number=num[0];
break;
case 1:
number=num[0]*10+num[1];
break;
case 2:
number=num[0]*100+num[1]*10+num[2];
break;
case 3:
number=num[0]*1000+num[1]*100+num[2]*10+num[3];
break;
}
_disp_interge(3,23,number);
}
else
break;
}
key_down=0xff;
return(number);
}
unsigned char _manual_key()
{
unsigned char i,num[3];
unsigned char number;
for(i=0;i<3;i++)
{
while(key_flag!=1);
if(key_down<=9)
{
num[i]=key_down;
while(key_flag==1);
key_down=0xff;
_set_delay(2);
switch(i)
{
case 0:
number=num[0];
break;
case 1:
number=num[0]*10+num[1];
break;
case 2:
number=num[0]*100+num[1]*10+num[2];
break;
}
_disp_win(Manualmap);
_disp_interge(1,13,number);
}
else
break;
}
key_down=0xff; //exchange
return(number); // 5.27
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -