久久久久久久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://m.zg4o1577.cn/bbs/dpj-79211-1.html
(出處: 單片機論壇)





歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 国产成年妇视频 | 精品免费在线观看 | 亚洲精品乱码久久久久久蜜桃91 | 日韩在线免费播放 | 波多野吉衣一二三区乱码 | 夜夜嗨av一区二区三区 | 国内精品一区二区三区 | 日韩在线免费视频 | 在线视频日本 | 一区二区三区色 | 在线小视频 | 一区二区三区四区在线 | 国产精品人人做人人爽人人添 | 精品久久久久久 | 美女久久久久久 | 欧美aaaaa | 国产做受入口竹菊 | 国产成人精品一区二 | 羞羞的视频在线观看 | 成人精品视频在线观看 | 中文字幕日韩视频 | 亚洲精品久久 | 一级片免费 | 国产成人免费在线视频 | 久久成人国产 | 亚洲亚洲人成综合网络 | 日本视频免费 | 免费网站观看www在线观 | 国产精品一区一区三区 | 婷婷色av | 日韩欧美在线观看视频 | 欧美成人精品一区二区三区在线看 | 91久色 | 欧美一级片| 欧美一页 | 亚洲黄色在线 | 色婷婷国产精品综合在线观看 | 欧美一级黄色录像 | 午夜在线免费观看 | 日韩久久久久久久 | 四虎影院在线免费观看 |