[Open Source] Semén Multi-Jumlah Ukur Alat

——Ti DWIN Forum pamekar

Kasus open source anu meunang pangajén anu disarankeun ku forum DWIN tiasa dianggo dina industri konstruksi pikeun ngadeteksi eusi komponén semén - alat ukur multi-jumlah semén dumasar kana layar pinter T5L.Insinyur nganggo layar pinter T5L pikeun ngadalikeun modul deteksi beurat éléktronik, modul ukur suhu, modul pemanasan, sensor Uap, sarta modul Pergaulan ngawujudkeun fungsi deteksi solusi padet tur eusi komponén semén cair, sarta ngarojong tampilan real-time tina laju, setting suhu, catetan sajarah, setting parameter Panggung jeung fungsi séjén.

1. Struktur Program

acdsb (1)

2.UI Bahan Témbongkeun

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

3.Conto Pangwangunan UI

acdsb (6)

4.C51 desain software

Program paréntah initialization pikeun insinyur komunikasi sareng dewan kontrol nganggo port serial T5L 2 nyaéta kieu:

void app_init()

{

is_testing = 0;

test_run_time = 0;

is_sec = 0;

période1 = 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);

}

Program utama layar T5L calakan interacting jeung dewan kontrol pikeun ngawujudkeun fungsi deteksi komposisi semén nyaéta kieu:

batal btn_click_handler()

{

#define BTN_VAL_ADDR 0x1000

u16 btn_val;

lamun(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));

combuff[btn_val+1] = 0;

sys_write_vp(TEST_TIME_VP,commbuff,5);

lamun (uart2rxsta&UART2_PACKET_OK)

{

lamun(uart2buf[0]==0x01&&uart2buf[1]==0x02)

{

init_weight = *(ngambang*)(uart2buf+2);

init_weight *= (*(ngambang*)flashdat);

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

}lain lamun (uart2buf[0]==0x02&&uart2buf[1]==0x05)

{

init_ml = *(ngambang*)(uart2buf+2);

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

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

}Lain lamun (uart2buf[0]==0x03&&uart2buf[1]==0x07)

{

speed_val = *(ngambang*)(uart2buf+2);

disp_val += (speed_val * 2.45f);

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

}lain lamun (uart2buf[0]==0x04)

{

total_num = uart2buf[1]*256+uart2buf[2];

}lain lamun (uart2buf[0]==0x05)

{

is_en_tmp = uart2buf[2];

}

uart2rxsta = 0;

}

}

lamun (mangrupa_periode1)

{

is_period1 = 0;

t_sample();

lamun(is_testing&&is_en_tmp)

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

}

lamun(is_btn_scan==0)

mulang;

is_btn_scan = 0;

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

lamun(btn_val==0)

mulang;

lamun(btn_val<=0x10)

start_win_btn_click_handler(btn_val);

 

btn_val = 0;

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

}

 

Tempo kodeu sumber pikeun leuwih lengkep.


waktos pos: Dec-02-2023