迪文科技论坛

 找回密码
 立即注册
搜索
查看: 637|回复: 0

【开源】水泥多量测定仪

[复制链接]

4

主题

6

回帖

511

积分

高级会员

Rank: 4

积分
511
发表于 2023-10-31 19:19:24 | 显示全部楼层 |阅读模式
一. 简介  
   今天来开源一个分析测定仪器,它是用于建筑行业的,用于检测水泥的成分含量,水泥的成分达不达标将直危害到各种建筑的质量,这里普及一下水泥的主要成分是铝酸三钙,石灰石,硅酸二钙等,此仪器将通过消融和蒸凝俩个阶段,测试各成分比


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

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


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


图片素材预览如下:

DGUS Tool主界面设计如下:



键盘界面如下:


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

三.C51工程设计

封装好的页跳转:

void sys_pic(u16 pic)
{
        u8 win_cmd[4];
        win_cmd[0] = 0x5a;
        win_cmd[1] = 0x01;
        win_cmd[2] = (u8)(pic>>8);
        win_cmd[3] = (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






本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|迪文科技论坛 ( 京ICP备05033781号-1 )

GMT+8, 2024-11-22 03:19 , Processed in 0.129587 second(s), 31 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表