Москва
+7(900) 697-6991
Обратный звонок
Многокомпонентный измерительный прибор для цемента [Open-source]

——С форума разработчиков DWIN

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

1. Структура программы

acdsb (1)

2. Отображение материала пользовательского интерфейса

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

3.Пример разработки пользовательского интерфейса

acdsb (6)

4.Разработка программного обеспечения C51

Программа инициализации для связи инженера с платой управления через последовательный порт T5L 2 выглядит следующим образом:



void app_init()

{

is_testing = 0;

test_run_time = 0;

is_sec = 0;

period1 = 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()

{

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

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

}

}

if(is_period1)

{

is_period1 = 0;

t_sample();

if(is_testing&&is_en_tmp)

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

}

if(is_btn_scan==0)

return;

is_btn_scan = 0;

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

if(btn_val==0)

return;

if(btn_val<=0x10)

start_win_btn_click_handler(btn_val);

btn_val = 0;

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

}

Обратитесь к исходному коду для получения дополнительной информации.



Опубликовано: Dec-02-2023

Главная

Каталог

0

Корзина

0

Избранное

1

Сравнение

Кабинет

Вопрос?

Позвонить

E-mail

Telegram

Доставка

Контакты

Акции

Коллекции

Инфо

Компания

Где купить

Новости