[Ачык булак] Цемент көп өлчөмдөгү өлчөөчү аспап

——DWIN иштеп чыгуучулар форумунан

DWIN форуму тарабынан сунушталган сыйлыкка ээ болгон ачык булактуу кейс курулуш индустриясында цементтин компоненттеринин мазмунун аныктоо үчүн колдонулушу мүмкүн - T5L акылдуу экранынын негизиндеги цементтин көп өлчөмдөгү өлчөөчү аспабы.Инженерлер T5L акылдуу экранын электрондук салмакты аныктоо модулун, температураны өлчөө модулун, жылытуу модулун, нымдуулук сенсорун жана аралаштыруу модулун катуу эритмени жана суюк цемент компонентинин мазмунун аныктоо функциясын ишке ашыруу үчүн колдонушат жана реалдуу убакыт режиминде ылдамдыкты көрсөтүүнү колдошот, температураны жөндөө, тарых жазуусу, этап параметрин орнотуу жана башка функциялар.

1. Программанын түзүмү

acdsb (1)

2.UI Материалдык дисплей

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

3.UI иштеп чыгуу мисалы

acdsb (6)

4.C51 программалык камсыздоонун дизайны

Инженердин T5L сериялык порт 2 аркылуу башкаруу тактасы менен байланышуусу үчүн инициализациялоо командалык программасы төмөнкүдөй:

void 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 интеллектуалдык экранынын негизги программасы төмөнкүдөй:

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

эгерде(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);

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

}else if(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);

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

{

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

}else if(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);

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

}

 

Көбүрөөк маалымат алуу үчүн баштапкы кодду караңыз.


Посттун убактысы: 2023-жылдын 2-декабрына чейин