——DWIN ഡവലപ്പർ ഫോറത്തിൽ നിന്ന്
DWIN ഫോറം ശുപാർശ ചെയ്യുന്ന അവാർഡ് നേടിയ ഓപ്പൺ സോഴ്സ് കേസ്, സിമന്റ് ഘടക ഉള്ളടക്കം കണ്ടെത്തുന്നതിന് നിർമ്മാണ വ്യവസായത്തിൽ ഉപയോഗിക്കാം - T5L സ്മാർട്ട് സ്ക്രീൻ അടിസ്ഥാനമാക്കിയുള്ള ഒരു സിമന്റ് മൾട്ടി-അമൗണ്ട് അളക്കുന്ന ഉപകരണം.സോളിഡ് ലായനി, ലിക്വിഡ് സിമന്റ് ഘടകത്തിന്റെ ഉള്ളടക്കം എന്നിവയുടെ കണ്ടെത്തൽ പ്രവർത്തനം തിരിച്ചറിയുന്നതിനും നിരക്കിന്റെ തത്സമയ പ്രദർശനത്തെ പിന്തുണയ്ക്കുന്നതിനും ഇലക്ട്രോണിക് വെയ്റ്റ് ഡിറ്റക്ഷൻ മൊഡ്യൂൾ, ടെമ്പറേച്ചർ മെഷർമെന്റ് മൊഡ്യൂൾ, ഹീറ്റിംഗ് മൊഡ്യൂൾ, ഈർപ്പം സെൻസർ, മിക്സിംഗ് മൊഡ്യൂൾ എന്നിവ നിയന്ത്രിക്കാൻ എഞ്ചിനീയർമാർ T5L സ്മാർട്ട് സ്ക്രീൻ ഉപയോഗിക്കുന്നു. താപനില ക്രമീകരണം, ചരിത്ര റെക്കോർഡ്, സ്റ്റേജ് പാരാമീറ്റർ ക്രമീകരണം, മറ്റ് പ്രവർത്തനങ്ങൾ.
1. പ്രോഗ്രാം ഘടന
2.UI മെറ്റീരിയൽ ഡിസ്പ്ലേ
3.UI വികസന ഉദാഹരണം
4.C51 സോഫ്റ്റ്വെയർ ഡിസൈൻ
T5L സീരിയൽ പോർട്ട് 2 ഉപയോഗിച്ച് കൺട്രോൾ ബോർഡുമായി ആശയവിനിമയം നടത്താൻ എഞ്ചിനീയർക്കുള്ള ഇനീഷ്യലൈസേഷൻ കമാൻഡ് പ്രോഗ്രാം ഇപ്രകാരമാണ്:
ശൂന്യമായ app_init()
{
is_testing = 0;
test_run_time = 0;
is_sec = 0;
കാലഘട്ടം1 = 0;
is_period1 = 0;
uart2_init(115200);
send_bytes("AT+INIT=0\r\n",sizeof("AT+INIT=0\r\n")-1);
sys_delay_ms(2500);
sys_pic(1);
send_bytes("AT+START\r\n",sizeof("AT+START\r\n")-1);
}
സിമന്റ് കോമ്പോസിഷൻ കണ്ടെത്തലിന്റെ പ്രവർത്തനം തിരിച്ചറിയുന്നതിനായി കൺട്രോൾ ബോർഡുമായി സംവദിക്കുന്ന T5L ഇന്റലിജന്റ് സ്ക്രീനിന്റെ പ്രധാന പ്രോഗ്രാം ഇനിപ്പറയുന്നതാണ്:
അസാധുവാണ് btn_click_handler()
{
#BTN_VAL_ADDR 0x1000 നിർവചിക്കുക
u16 btn_val;
if(is_testing&&is_sec)
{
is_sec = 0;
test_run_time++;
btn_val = sprintf(commbuff,"%02u:%02u",(u16)(test_run_time/60),(u16)(test_run_time%60));
commbuff[btn_val+1] = 0;
sys_write_vp(TEST_TIME_VP,commbuff,5);
if(uart2rxsta&UART2_PACKET_OK)
{
if(uart2buf[0]==0x01&&uart2buf[1]==0x02)
{
init_weight = *(float*)(uart2buf+2);
init_weight *= (*(float*)flashdat);
sys_write_vp(0x1178, (u8*)&init_weight, 2);
}ഇല്ലെങ്കിൽ(uart2buf[0]==0x02&&uart2buf[1]==0x05)
{
init_ml = *(float*)(uart2buf+2);
init_ml /= (*(float*)flashdat+20);
sys_write_vp(0x1180, (u8*)&init_ml, 2);
}ഇല്ലെങ്കിൽ(uart2buf[0]==0x03&&uart2buf[1]==0x07)
{
speed_val = *(float*)(uart2buf+2);
disp_val += (speed_val*2.45f);
sys_write_vp(0x1180, (u8*)&disp_val, 2);
}ഇല്ലെങ്കിൽ(uart2buf[0]==0x04)
{
total_num = uart2buf[1]*256+uart2buf[2];
}ഇല്ലെങ്കിൽ(uart2buf[0]==0x05)
{
is_en_tmp = uart2buf[2];
}
uart2rxsta = 0;
}
}
എങ്കിൽ (ഇത്_കാലയളവ്1)
{
is_period1 = 0;
t_sample();
if(is_testing&&is_en_tmp)
sys_write_vp(0x1170,(u8*)&tmp,2);
}
if(is_btn_scan==0)
മടങ്ങുക;
is_btn_scan = 0;
sys_read_vp(BTN_VAL_ADDR,(u8*)&btn_val,1);
എങ്കിൽ(btn_val==0)
മടങ്ങുക;
if(btn_val<=0x10)
start_win_btn_click_handler(btn_val);
btn_val = 0;
sys_write_vp(BTN_VAL_ADDR,(u8*)&btn_val,1);
}
കൂടുതൽ വിവരങ്ങൾക്ക് സോഴ്സ് കോഡ് നോക്കുക.
പോസ്റ്റ് സമയം: ഡിസംബർ-02-2023