久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: 求一個51單片機電子秤,基于hx711和12864顯示,謝謝了 [打印本頁]

作者: zs3945    時間: 2017-5-22 01:29
標題: 求一個51單片機電子秤,基于hx711和12864顯示,謝謝了
求一個51單片機電子秤,基于hx711和12864顯示,謝謝了
作者: cjjcjj1    時間: 2017-5-22 07:50
提示: 作者被禁止或刪除 內容自動屏蔽
作者: zs3945    時間: 2017-5-22 14:13
cjjcjj1 發表于 2017-5-22 07:50
你好!12864帶不帶字庫的呢?HX711的硬件準備好了嗎

帶字庫的,主要想看看大家的程序寫法,自己寫的矩陣鍵盤用了之后導致12864顯示亂碼
作者: 一生科密    時間: 2017-5-23 16:22
看你程序,,我最近也在做這個!傳感器部分有點問題!
作者: cjjcjj1    時間: 2017-5-23 21:07
提示: 作者被禁止或刪除 內容自動屏蔽
作者: luohaisong    時間: 2017-5-23 21:55
電子秤的程序這樣就可以搞到嗎
作者: sqw577277899    時間: 2018-4-4 15:33
cjjcjj1 發表于 2017-5-22 07:50
你好!12864帶不帶字庫的呢?HX711的硬件準備好了嗎
電子秤各種顯示方式  數碼管 1206 12864等資料索要
#include "main.h"
#include "LCD12864.h"
#include "HX711.h"

unsigned long HX711_Buffer = 0;
unsigned int Weight_Maopi = 0,Weight_Shiwu = 0;

//****************************************************
//主函數
//****************************************************
void main()
{
    LCD12864_Reset();                                //初始化液晶
    LCD12864_HAIZI_SET();                            //設置為普通模式

    LCD12864_NoWaitIdle_COM_Write(0x80);                        //指針設置
    LCD12864_write_word("※※※※※※※※");
    LCD12864_NoWaitIdle_COM_Write(0x90);                        //指針設置
    LCD12864_write_word("※※歡迎使用※※");            
                    
    Delay_ms(1000);         //延時1s,等待傳感器穩定

    Get_Maopi();                //稱毛皮重量
    LCD12864_NoWaitIdle_COM_Write(0x01);            //清空
   
    while(1)
    {
        Get_Weight();            //稱重

        if(  Weight_Shiwu > 10000 )
        {
        LCD12864_NoWaitIdle_COM_Write(0x80);                        //指針設置
        LCD12864_write_word("※※※超重※※※");        
        }
        else if( Weight_Shiwu < 10000)
        {
        //顯示當前重量
        LCD12864_NoWaitIdle_COM_Write(0x80);
        LCD12864_write_word("重量:");
        if( Weight_Shiwu/10000 != 0)
        {
            LCD12864_Data_Write(Weight_Shiwu/10000 + 0x30);
        }
        else
        {
            LCD12864_Data_Write(' ');   
        }
        LCD12864_Data_Write(Weight_Shiwu%10000/1000 + 0x30);
        LCD12864_Data_Write('.');
        LCD12864_Data_Write(Weight_Shiwu%1000/100 + 0x30);
        LCD12864_Data_Write(Weight_Shiwu%100/10 + 0x30);
        LCD12864_Data_Write(Weight_Shiwu%10 + 0x30);
        LCD12864_write_word(" Kg");

        LCD12864_NoWaitIdle_COM_Write(0x90);
        LCD12864_write_word("重量:");
        if( Weight_Shiwu*2/10000 != 0)
        {
            LCD12864_Data_Write(Weight_Shiwu*2/10000 + 0x30);
        }
        else
        {
            LCD12864_Data_Write(' ');   
        }
        LCD12864_Data_Write(Weight_Shiwu*2%10000/1000 + 0x30);
        LCD12864_Data_Write('.');
        LCD12864_Data_Write(Weight_Shiwu*2%1000/100 + 0x30);
        LCD12864_Data_Write(Weight_Shiwu*2%100/10 + 0x30);
        LCD12864_Data_Write(Weight_Shiwu*2%10 + 0x30);
        LCD12864_write_word(" ");

        }

    }
}

//****************************************************
//稱重
//****************************************************
void Get_Weight()
{
    HX711_Buffer = HX711_Read();
    HX711_Buffer = HX711_Buffer/100;
    if(HX711_Buffer > Weight_Maopi)            
    {
        Weight_Shiwu = HX711_Buffer;
        Weight_Shiwu = Weight_Shiwu - Weight_Maopi;                //獲取實物的AD采樣數值。
   
        Weight_Shiwu = (unsigned int)((float)Weight_Shiwu/2.09+0.05);     //計算實物的實際重量
                                                                        //因為不同的傳感器特性曲線不一樣,因此,每一個傳感器需要矯正這里的2.15這個除數。
                                                                        //當發現測試出來的重量偏大時,增加該數值。
                                                                        //如果測試出來的重量偏小時,減小改數值。
                                                                        //該數值一般在2.15附近調整之間。因傳感器不同而定。
                                                                        //+0.05是為了四舍五入百分位        
    Weight_Shiwu=Weight_Shiwu/2;   
   
    }
}

//****************************************************
//獲取毛皮重量
//****************************************************
void Get_Maopi()
{
    unsigned char i = 0;
    unsigned int Temp_Weight = 0;

    Weight_Maopi = 0;

    for( i = 0 ; i < 10 ; i++)
    {
        HX711_Buffer = HX711_Read();
        Temp_Weight = HX711_Buffer/100;

        if( Temp_Weight > Weight_Maopi)
        {
            Weight_Maopi = Temp_Weight;     
        }
    }        
}

//****************************************************
//MS延時函數(12M晶振下測試)
//****************************************************
void Delay_ms(unsigned int n)
{
    unsigned int  i,j;
    for(i=0;i<n;i++)
        for(j=0;j<123;j++);
}
作者: sqw577277899    時間: 2018-4-4 15:33
zs3945 發表于 2017-5-22 14:13
帶字庫的,主要想看看大家的程序寫法,自己寫的矩陣鍵盤用了之后導致12864顯示亂碼


#include "main.h"
#include "LCD12864.h"
#include "HX711.h"

unsigned long HX711_Buffer = 0;
unsigned int Weight_Maopi = 0,Weight_Shiwu = 0;

//****************************************************
//主函數
//****************************************************
void main()
{
    LCD12864_Reset();                                //初始化液晶
    LCD12864_HAIZI_SET();                            //設置為普通模式

    LCD12864_NoWaitIdle_COM_Write(0x80);                        //指針設置
   
    LCD12864_write_word("※※歡迎使用※※");            
                    
    Delay_ms(1000);         //延時1s,等待傳感器穩定

    Get_Maopi();                //稱毛皮重量
    LCD12864_NoWaitIdle_COM_Write(0x01);            //清空
   
    while(1)
    {
        Get_Weight();            //稱重

        if(  Weight_Shiwu > 10000 )
        {
        LCD12864_NoWaitIdle_COM_Write(0x80);                        //指針設置
        LCD12864_write_word("※※※超重※※※");        
        }
        else if( Weight_Shiwu < 10000)
        {
        //顯示當前重量
        LCD12864_NoWaitIdle_COM_Write(0x80);
        LCD12864_write_word("重量:");
        if( Weight_Shiwu/10000 != 0)
        {
            LCD12864_Data_Write(Weight_Shiwu/10000 + 0x30);
        }
        else
        {
            LCD12864_Data_Write(' ');   
        }
        LCD12864_Data_Write(Weight_Shiwu%10000/1000 + 0x30);
        LCD12864_Data_Write('.');
        LCD12864_Data_Write(Weight_Shiwu%1000/100 + 0x30);
        LCD12864_Data_Write(Weight_Shiwu%100/10 + 0x30);
        LCD12864_Data_Write(Weight_Shiwu%10 + 0x30);
        LCD12864_write_word(" Kg");

        LCD12864_NoWaitIdle_COM_Write(0x90);
        LCD12864_write_word("重量:");
        if( Weight_Shiwu*2/10000 != 0)
        {
            LCD12864_Data_Write(Weight_Shiwu*2/10000 + 0x30);
        }
        else
        {
            LCD12864_Data_Write(' ');   
        }
        LCD12864_Data_Write(Weight_Shiwu*2%10000/1000 + 0x30);
        LCD12864_Data_Write('.');
        LCD12864_Data_Write(Weight_Shiwu*2%1000/100 + 0x30);
        LCD12864_Data_Write(Weight_Shiwu*2%100/10 + 0x30);
        LCD12864_Data_Write(Weight_Shiwu*2%10 + 0x30);
        LCD12864_write_word(" ");

        }

    }
}

//****************************************************
//稱重
//****************************************************
void Get_Weight()
{
    HX711_Buffer = HX711_Read();
    HX711_Buffer = HX711_Buffer/100;
    if(HX711_Buffer > Weight_Maopi)            
    {
        Weight_Shiwu = HX711_Buffer;
        Weight_Shiwu = Weight_Shiwu - Weight_Maopi;                //獲取實物的AD采樣數值。
   
        Weight_Shiwu = (unsigned int)((float)Weight_Shiwu/2.09+0.05);     //計算實物的實際重量
                                                                        //因為不同的傳感器特性曲線不一樣,因此,每一個傳感器需要矯正這里的2.15這個除數。
                                                                        //當發現測試出來的重量偏大時,增加該數值。
                                                                        //如果測試出來的重量偏小時,減小改數值。
                                                                        //該數值一般在2.15附近調整之間。因傳感器不同而定。
                                                                        //+0.05是為了四舍五入百分位        
    Weight_Shiwu=Weight_Shiwu/2;   
   
    }
}

//****************************************************
//獲取毛皮重量
//****************************************************
void Get_Maopi()
{
    unsigned char i = 0;
    unsigned int Temp_Weight = 0;

    Weight_Maopi = 0;

    for( i = 0 ; i < 10 ; i++)
    {
        HX711_Buffer = HX711_Read();
        Temp_Weight = HX711_Buffer/100;

        if( Temp_Weight > Weight_Maopi)
        {
            Weight_Maopi = Temp_Weight;     
        }
    }        
}

//****************************************************
//MS延時函數(12M晶振下測試)
//****************************************************
void Delay_ms(unsigned int n)
{
    unsigned int  i,j;
    for(i=0;i<n;i++)
        for(j=0;j<123;j++);
}
作者: cjjcjj1    時間: 2018-4-5 09:28
提示: 作者被禁止或刪除 內容自動屏蔽
作者: scemzxf    時間: 2018-5-12 10:03
HX711電子稱完整單片機程序和原理圖
http://www.zg4o1577.cn/bbs/dpj-79211-1.html
(出處: 單片機論壇)





歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 精品国产欧美一区二区三区成人 | 国产网站在线播放 | 毛片网在线观看 | 中文字幕久久精品 | 一区二区在线免费观看 | 在线观看中文字幕一区二区 | 国产午夜精品久久久 | 亚洲淫视频| 一级黄在线观看 | 男女在线网站 | 国产美女久久久 | 久久久久久99 | 五月婷婷激情 | 亚洲精色 | 在线免费观看视频黄 | 欧美第一页| 三级黄色网址 | 1级毛片 | 国产乱码精品1区2区3区 | 射久久 | 国产精品视频久久久 | 精品不卡 | 国产精品毛片av一区 | 国产日韩久久 | 日韩一区二区三区在线观看视频 | 三级黄色片在线播放 | 99综合 | 麻豆久久久9性大片 | 亚洲视频中文字幕 | 国产精品 欧美精品 | 欧美一区二区三区在线观看视频 | 成人亚洲一区 | 涩涩99 | 欧美视频区 | 久久久精品 | 国产一区二区影院 | 九色在线观看 | 成人欧美一区二区三区色青冈 | 中文字幕亚洲一区二区三区 | 成人亚洲视频 | 欧美性大战久久久久久久蜜臀 |