—— DWIN ясаучылар форумыннан
DWIN форумы тәкъдим иткән премия лауреаты төзелеш тармагында цемент компонентының эчтәлеген ачыклау өчен кулланылырга мөмкин - T5L акыллы экран нигезендә цемент күп күләмле үлчәү коралы. Инженерлар T5L акыллы экранын кулланалар, электрон авырлыкны ачыклау модулын, температураны үлчәү модулын, җылыту модулын, дым сенсорын һәм катнаш модульне каты эремә һәм сыек цемент компоненты эчтәлеген ачыклау функциясен тормышка ашыру өчен, һәм реаль вакытта күрсәтүне тәэмин итү өчен, температура көйләү, тарих язмасы, этап параметрларын көйләү һәм башка функцияләр.
1. Программа структурасы
![acdsb (1)](https://ecdn6.globalso.com/upload/p/1355/source/2024-03/65f96bb534d9587236.jpg)
2.UI материал күрсәтү
![acdsb (2)](https://ecdn6.globalso.com/upload/p/1355/source/2024-03/65f96bb6b626488123.jpg)
![acdsb (4)](https://ecdn6.globalso.com/upload/p/1355/source/2024-03/65f96bb84270f77694.jpg)
![acdsb (3)](https://ecdn6.globalso.com/upload/p/1355/source/2024-03/65f96bb975b6581165.jpg)
![acdsb (5)](https://ecdn6.globalso.com/upload/p/1355/source/2024-03/65f96bbaf20a513069.jpg)
3.UI үсеш мисалы
![acdsb (6)](https://ecdn6.globalso.com/upload/p/1355/source/2024-03/65f96bbc7a0f429134.jpg)
4.C51 программа дизайны
Инженерның T5L серияле порт 2 белән идарә итү тактасы белән аралашуы өчен инициализация командасы түбәндәгечә:
буш кушымта_инит ()
{
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", размер ("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 акыллы экранның цемент составын ачыклау функциясен тормышка ашыру өчен контроль такта белән үзара бәйләнештә торучы төп программасы:
буш btn_click_handler ()
{
# BTN_VAL_ADDR 0x1000 билгеләгез
u16 btn_val;
if (is_testing && is_sec)
{
is_sec = 0;
test_run_time ++;
btn_val = sprintf (комбуф, "% 02u:% 02u", (u16) (test_run_time / 60), (u16) (test_run_time% 60));
комбуф [btn_val + 1] = 0;
sys_write_vp (TEST_TIME_VP, комбуф, 5);
if (uart2rxsta & UART2_PACKET_OK)
{
if (uart2buf [0] == 0x01 && uart2buf [1] == 0x02)
{
init_weight = * (йөзү *) (uart2buf + 2);
init_weight * = (* (йөзү *) флешдат);
sys_write_vp (0x1178, (u8 *) & init_weight, 2);
} бүтән очракта (uart2buf [0] == 0x02 && uart2buf [1] == 0x05)
{
init_ml = * (йөзү *) (uart2buf + 2);
init_ml / = (* (йөзү *) флешдат + 20);
sys_write_vp (0x1180, (u8 *) & init_ml, 2);
} бүтән очракта (uart2buf [0] == 0x03 && uart2buf [1] == 0x07)
{
speed_val = * (йөзү *) (uart2buf + 2);
disp_val + = (тизлек_вал * 2.45ф);
sys_write_vp (0x1180, (u8 *) & disp_val, 2);
} бүтән булса (uart2buf [0] == 0x04)
{
total_num = uart2buf [1] * 256 + uart2buf [2];
} бүтән булса (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)
кайту;
is_btn_scan = 0;
sys_read_vp (BTN_VAL_ADDR, (u8 *) & btn_val, 1);
if (btn_val == 0)
кайту;
if (btn_val
start_win_btn_click_handler (btn_val);
btn_val = 0;
sys_write_vp (BTN_VAL_ADDR, (u8 *) & btn_val, 1);
}
Күбрәк мәгълүмат өчен чыганак кодына мөрәҗәгать итегез.
Пост вакыты: 02-2023 декабрь