[Atvērtā koda] Cementa vairāku daudzumu mērinstruments

——No DWIN izstrādātāju foruma

DWIN foruma ieteikto godalgoto atvērtā koda korpusu var izmantot būvniecības nozarē, lai noteiktu cementa komponentu saturu - cementa daudzu daudzumu mērinstrumentu, kura pamatā ir T5L viedais ekrāns.Inženieri izmanto T5L viedo ekrānu, lai kontrolētu elektronisko svara noteikšanas moduli, temperatūras mērīšanas moduli, sildīšanas moduli, mitruma sensoru un sajaukšanas moduli, lai realizētu cietā šķīduma un šķidrā cementa komponentu satura noteikšanas funkciju un atbalstītu ātruma reāllaika displeju, temperatūras iestatīšana, vēstures ieraksts, Stage parametru iestatīšana un citas funkcijas.

1. Programmas struktūra

acdsb (1)

2. UI materiāla displejs

acdsb (2)
acdsb (4)
acdsb (3)
acdsb (5)

3. UI izstrādes piemērs

acdsb (6)

4.C51 programmatūras projektēšana

Inicializācijas komandu programma inženierim, lai sazinātos ar vadības paneli, izmantojot T5L seriālo portu 2, ir šāda:

Void app_init()

{

ir_testēšana = 0;

testa_darba_laiks = 0;

is_sec = 0;

periods1 = 0;

ir_periods1 = 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 viedā ekrāna galvenā programma, kas mijiedarbojas ar vadības paneli, lai realizētu cementa sastāva noteikšanas funkciju, ir šāda:

void btn_click_handler()

{

#define BTN_VAL_ADDR 0x1000

u16 btn_val;

if(ir_testēšana&&ir_sek)

{

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 = *(peldēt*)(uart2buf+2);

init_weight *= (*(float*)flashdat);

sys_write_vp(0x1178, (u8*)&init_weight, 2);

}else if(uart2buf[0]==0x02&&uart2buf[1]==0x05)

{

init_ml = *(peldēt*)(uart2buf+2);

init_ml /= (*(float*)flashdat+20);

sys_write_vp(0x1180, (u8*)&init_ml, 2);

}else if(uart2buf[0]==0x03&&uart2buf[1]==0x07)

{

speed_val = *(pludiņš*)(uart2buf+2);

disp_val += (speed_val*2.45f);

sys_write_vp(0x1180, (u8*)&disp_val, 2);

}else if(uart2buf[0]==0x04)

{

kopējais_skaits = uart2buf[1]*256+uart2buf[2];

}else if(uart2buf[0]==0x05)

{

is_en_tmp = uart2buf[2];

}

uart2rxsta = 0;

}

}

ja(ir_periods1)

{

ir_periods1 = 0;

t_sample();

if(ir_testing&&is_en_tmp)

sys_write_vp(0x1170,(u8*)&tmp,2);

}

if(is_btn_scan==0)

atgriešanās;

is_btn_scan = 0;

sys_read_vp(BTN_VAL_ADDR,(u8*)&btn_val,1);

if(btn_val==0)

atgriešanās;

if(btn_val<=0x10)

start_win_btn_click_handler(btn_val);

 

btn_val = 0;

sys_write_vp(BTN_VAL_ADDR,(u8*)&btn_val,1);

}

 

Plašāku informāciju skatiet avota kodā.


Izlikšanas laiks: Dec-02-2023