[Ochiq manba] Tsement ko'p miqdorda o'lchash asbobi

——DWIN dasturchilar forumidan

DWIN forumi tomonidan tavsiya etilgan mukofotga sazovor bo'lgan ochiq kodli korpusdan qurilish sanoatida sement komponentlarini aniqlash uchun foydalanish mumkin - T5L smart-ekraniga asoslangan tsement ko'p miqdorda o'lchash vositasi. Muhandislar T5L aqlli ekranidan elektron og'irlikni aniqlash moduli, haroratni o'lchash moduli, isitish moduli, namlik sensori va aralashtirish modulini boshqarish uchun qattiq eritma va suyuq tsement komponentlari tarkibini aniqlash funktsiyasini amalga oshirish va real vaqt rejimida tezlikni ko'rsatishni qo'llab-quvvatlash uchun foydalanadilar. haroratni sozlash, tarixni yozish, Bosqich parametrlarini sozlash va boshqa funktsiyalar.

1. Dastur tuzilishi

acdsb (1)

2.UI Material Displey

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

3.UI ishlab chiqish misoli

acdsb (6)

4.C51 dasturiy ta'minot dizayni

T5L seriyali port 2 dan foydalangan holda muhandisning boshqaruv paneli bilan bog'lanishi uchun ishga tushirish buyrug'i dasturi quyidagicha:

app_init() bekor

{

is_testing = 0;

test_run_time = 0;

is_sec = 0;

davr1 = 0;

is_period1 = 0;

uart2_init(115200);

send_bayt("AT+INIT=0\r\n",sizeof("AT+INIT=0\r\n")-1);

sys_delay_ms (2500);

sys_pic(1);

send_bayt("AT+START\r\n",sizeof("AT+START\r\n")-1);

}

T5L aqlli ekranining tsement tarkibini aniqlash funktsiyasini amalga oshirish uchun boshqaruv paneli bilan o'zaro ta'sirining asosiy dasturi quyidagicha:

void btn_click_handler()

{

#BTN_VAL_ADDR 0x1000 ni aniqlang

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

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

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

{

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

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

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

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

{

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

disp_val += (tezlik_valli * 2.45f);

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

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

{

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

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

{

is_en_tmp = uart2buf[2];

}

uart2rxsta = 0;

}

}

agar(1-davr)

{

is_period1 = 0;

t_sample();

if(is_testing&&is_en_tmp)

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

}

if(is_btn_scan==0)

qaytish;

is_btn_scan = 0;

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

agar(btn_val==0)

qaytish;

if(btn_val

start_win_btn_click_handler(btn_val);

 

btn_val = 0;

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

}

 

Qo'shimcha ma'lumot uchun manba kodiga qarang.


Yuborilgan vaqt: 2023-yil 2-dekabr