[Sumber Terbuka] Alat Ukur Banyak Jumlah Semen

——Dari Forum Pengembang DWIN

Kasus sumber terbuka pemenang penghargaan yang direkomendasikan oleh forum DWIN dapat digunakan dalam industri konstruksi untuk mendeteksi kandungan komponen semen - alat ukur multi-jumlah semen berdasarkan layar pintar T5L.Insinyur menggunakan layar pintar T5L untuk mengontrol modul pendeteksi berat elektronik, modul pengukuran suhu, modul pemanas, sensor kelembaban, dan modul pencampuran untuk mewujudkan fungsi deteksi larutan padat dan kandungan komponen semen cair, dan mendukung tampilan laju waktu nyata, pengaturan suhu, catatan sejarah, pengaturan parameter panggung dan fungsi lainnya.

1. Struktur Program

acdsb (1)

2. Tampilan Materi UI

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

3.Contoh Pengembangan UI

acdsb (6)

4. Desain perangkat lunak C51

Program perintah inisialisasi bagi teknisi untuk berkomunikasi dengan papan kontrol menggunakan port serial T5L 2 adalah sebagai berikut:

batalkan aplikasi_init()

{

is_testing = 0;

waktu_uji_uji = 0;

is_detik = 0;

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

}

Program utama layar cerdas T5L yang berinteraksi dengan papan kontrol untuk mewujudkan fungsi deteksi komposisi semen adalah sebagai berikut:

batal btn_click_handler()

{

#tentukan BTN_VAL_ADDR 0x1000

u16 btn_val;

jika(is_testing&&is_detik)

{

is_detik = 0;

tes_run_time++;

btn_val = sprintf(commbuff,"%02u:%02u",(u16)(test_run_time/60),(u16)(test_run_time%60));

kombuff[btn_val+1] = 0;

sys_write_vp(TEST_TIME_VP,commbuff,5);

jika(uart2rxsta&UART2_PACKET_OK)

{

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

{

init_weight = *(mengambang*)(uart2buf+2);

init_weight *= (*(float*)flashdat);

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

}lainnya jika(uart2buf[0]==0x02&&uart2buf[1]==0x05)

{

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

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

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

}lainnya jika(uart2buf[0]==0x03&&uart2buf[1]==0x07)

{

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

disp_val += (kecepatan_val*2,45f);

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

}lainnya jika(uart2buf[0]==0x04)

{

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

}lainnya jika(uart2buf[0]==0x05)

{

is_en_tmp = uart2buf[2];

}

uart2rxsta = 0;

}

}

jika(adalah_periode1)

{

is_period1 = 0;

t_sampel();

jika(sedang_pengujian&&is_en_tmp)

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

}

jika(is_btn_scan==0)

kembali;

is_btn_scan = 0;

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

jika(btn_val==0)

kembali;

jika(btn_val<=0x10)

start_win_btn_click_handler(btn_val);

 

btn_val = 0;

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

}

 

Lihat kode sumber untuk informasi lebih lanjut.


Waktu posting: 02 Des-2023