good 发表于 2023-10-31 19:19:24

【开源】水泥多量测定仪

一. 简介
   今天来开源一个分析测定仪器,它是用于建筑行业的,用于检测水泥的成分含量,水泥的成分达不达标将直危害到各种建筑的质量,这里普及一下水泥的主要成分是铝酸三钙,石灰石,硅酸二钙等,此仪器将通过消融和蒸凝俩个阶段,测试各成分比


此仪器的功能特色如下:
   1.支持固溶和液溶等多种方式
   2.速率实时显示捕捉
   3.可一键恢复出厂,避免意外操作
   4.支持温度用户标定
   5.支持结果记录
   6.支持每个阶段的参数任意设定
   次要的功能就不多说了,突出一个字少事情大;P

接下来直接如主题,看代码和GUI设计吧


二.GUI工程设计
图标素材预览如下:


图片素材预览如下:

DGUS Tool主界面设计如下:



键盘界面如下:


其他的界面我就不过多展示了,请看源码

三.C51工程设计

封装好的页跳转:

void sys_pic(u16 pic)
{
      u8 win_cmd;
      win_cmd = 0x5a;
      win_cmd = 0x01;
      win_cmd = (u8)(pic>>8);
      win_cmd = (u8)(pic&0xff);
      sys_write_vp(0x84,win_cmd,2);
}



主函数比较简单,只是做了一个入口,处理全部在其他文件中

#include "sys.h"
#include "func_handler.h"
#include "ds1302.h"


void main(void)
{   
      sys_init();
      ds1302_init();
      app_init();
      
      while(1)
      {   
                btn_click_handler();
               
      }
}


采用串口2可以支持外部协议通信,然后app_init的主要实现就是实现初始化和启动应用

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

代码比较多,其他的请看源码


四.视频演示
https://www.bilibili.com/video/BV1zG411C7v5
https://www.bilibili.com/video/BV1zG411C7v5/





页: [1]
查看完整版本: 【开源】水泥多量测定仪