[ክፍት ምንጭ] ሲሚንቶ ባለብዙ መጠን መለኪያ መሣሪያ

——ከ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 በመጠቀም መሐንዲሱ ከመቆጣጠሪያ ቦርዱ ጋር ለመገናኘት የመነሻ ትእዛዝ ፕሮግራም እንደሚከተለው ነው ።

ባዶ መተግበሪያ_init()

{

እየፈተነ = 0;

test_run_time = 0;

is_sec = 0;

ጊዜ1 = 0;

ጊዜ_1 = 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"መጠን("AT+START\r\n")-1);

}

የሲሚንቶ ቅንብርን የመለየት ተግባርን ለመገንዘብ የ T5L የማሰብ ችሎታ ስክሪን ከመቆጣጠሪያ ቦርዱ ጋር የሚገናኝበት ዋናው ፕሮግራም እንደሚከተለው ነው.

ባዶ ቢቲኤን_ክሊክ_አስተዳዳሪ()

{

# BTN_VAL_ADDR 0x1000 ይግለጹ

u16 btn_val;

ከሆነ(ሙከራ እና&ይህ_ሰከንድ)

{

is_sec = 0;

የሙከራ_አሂድ_ጊዜ++;

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

ኮምቡፍ[btn_val+1] = 0;

sys_write_vp(TEST_TIME_VP፣commbuff፣5);

ከሆነ(uart2rxsta&UART2_PACKET_OK)

{

ከሆነ(uart2buf[0]==0x01&&uart2buf[1]==0x02)

{

init_weight = * (ተንሳፋፊ *) (uart2buf+2);

init_weight *= (*(ተንሳፋፊ*)flashdat);

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

}ሌላ ከሆነ(uart2buf[0]==0x02&&uart2buf[1]==0x05)

{

init_ml = * (ተንሳፋፊ *) (uart2buf+2);

init_ml /= (*(ተንሳፋፊ*)flashdat+20);

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

}ሌላ ከሆነ(uart2buf[0]==0x03&&uart2buf[1]==0x07)

{

Speed_val = * (ተንሳፋፊ *) (uart2buf+2);

disp_val += (ፍጥነት_ቫል*2.45f);

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;

}

}

(ጊዜ_1) ከሆነ

{

ጊዜ_1 = 0;

t_sample ();

ከሆነ(እየፈተነ&&is_en_tmp)

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

}

ከሆነ(btn_ስካን==0)

መመለስ;

is_btn_scan = 0;

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

ከሆነ(btn_val==0)

መመለስ;

ከሆነ(btn_val<=0x10)

start_win_btn_click_handler(btn_val);

 

btn_val = 0;

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

}

 

ለተጨማሪ የምንጩን ኮድ ይመልከቱ።


የልጥፍ ሰዓት፡- ዲሴ-02-2023