[Açyk çeşme] Sement köp mukdarda ölçeg guraly

—— DWIN dörediji forumyndan

DWIN forumy tarapyndan maslahat berlen baýrakly açyk çeşme, gurluşyk pudagynda sement komponentiniň mazmunyny kesgitlemek üçin ulanylyp bilner - T5L akylly ekrany esasynda sement köp mukdarda ölçeg guraly.Inersenerler, gaty ergin we suwuk sement komponentiniň mazmunyny kesgitlemek funksiýasyny amala aşyrmak we hakyky wagtda görkezilmegini goldamak üçin elektron agramy kesgitlemek modulyna, temperaturany ölçemek modulyna, ýyladyş modulyna, çyglylyk datçigine we garyşyk modulyna gözegçilik etmek üçin T5L akylly ekrany ulanýarlar, temperatura sazlamasy, taryh ýazgysy, Tapgyr parametrlerini düzmek we beýleki funksiýalar.

1. Maksatnamanyň gurluşy

acdsb (1)

2.UI material ekrany

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

3.UI ösüş mysaly

acdsb (6)

4.C51 programma üpjünçiligi dizaýny

In engineeneriň T5L seriýa port 2 ulanyp dolandyryş tagtasy bilen aragatnaşyk saklamagy üçin başlangyç buýrugy programmasy aşakdaky ýaly:

boş programma_init ()

{

is_testing = 0;

test_run_time = 0;

is_sec = 0;

döwür1 = 0;

is_period1 = 0;

uart2_init (115200);

send_bytes ("AT + INIT = 0 \ r \ n", ululygy ("AT + INIT = 0 \ r \ n") - 1);

sys_delay_ms (2500);

sys_pic (1);

send_bytes ("AT + START \ r \ n", ululygy ("AT + START \ r \ n") - 1);

}

Sement kompozisiýasyny kesgitlemegiň funksiýasyna düşünmek üçin dolandyryş tagtasy bilen täsirleşýän T5L akylly ekranyň esasy programmasy aşakdakylar:

boş btn_click_handler ()

{

# BTN_VAL_ADDR 0x1000 kesgitläň

u16 btn_val;

eger (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, ýolagçy, 5);

eger (uart2rxsta & UART2_PACKET_OK)

{

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

{

init_weight = * (ýüzmek *) (uart2buf + 2);

init_weight * = (* (ýüzmek *) fleşdat);

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

} başga bolsa (uart2buf [0] == 0x02 && uart2buf [1] == 0x05)

{

init_ml = * (ýüzmek *) (uart2buf + 2);

init_ml / = (* (ýüzmek *) fleşdat + 20);

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

} başga bolsa (uart2buf [0] == 0x03 && uart2buf [1] == 0x07)

{

tizlik_val = * (ýüzmek *) (uart2buf + 2);

disp_val + = (tizlik_val * 2.45f);

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

} başga bolsa (uart2buf [0] == 0x04)

{

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

} başga bolsa (uart2buf [0] == 0x05)

{

is_en_tmp = uart2buf [2];

}

uart2rxsta = 0;

}

}

eger (is_period1)

{

is_period1 = 0;

t_sample ();

eger (is_testing && is_en_tmp)

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

}

eger (is_btn_scan == 0)

gaýdyp gelmek;

is_btn_scan = 0;

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

eger (btn_val == 0)

gaýdyp gelmek;

eger (btn_val <= 0x10)

start_win_btn_click_handler (btn_val);

 

btn_val = 0;

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

}

 

Has giňişleýin maglumat üçin deslapky koda serediň.


Iş wagty: Dekabr-02-2023