電子秤的c語言,電子秤上的C和T是什麼意思

本文目錄一覽:

求講解51單片機電子秤的程序,分模塊詳細點

如果想知道更多的東西,建議看一本書:吳鑒鷹單片機實戰精講,網上能找到,代碼我給你了。

/******************************************************

*程序:吳鑒鷹基於單片機的電子秤的設計程序                                                      

** 這一講的主要內容: 電子稱是什麼,講的專業點就是:

利用物體的重力作用來確定物體質量的測量儀器,也可用來確定與物體質量相關的其他量的大小,

參數,或特性用我們自己話講就是測重量的。                                                                                  

** 功能描述:  

** 輸 入:         

** 內容:     

** 輸 出: 

**         

** 全局變量:

** 調用模塊: 

**

** 作 者:    吳鑒鷹

** 日 期:     14.02.22

備註:有什麼錯誤的地方,歡迎各大燒友指正

O(∩_∩)O~

*******************************************************/

#include reg51.h

#include intrins.h

#includestdlib.h

#includemath.h                

#define uchar unsigned char  //宏的定義變量類型 uchar 代替 unsigned char

#define uint  unsigned int  //宏的定義變量類型 uint  代替 unsigned int

#define delay_time_max   50   //按鍵去抖動延時閥值

sbit    RS = P2^0;

sbit    RW = P2^1;

sbit    SCLK = P2^2;

sbit    LCDRST = P2^3;

sbit         ST=P3^6;                //啟動信號

sbit         EOC=P3^3;                //轉換結束信號,連到外部中斷1口,轉換結束後進入外部中斷

sbit         OE=P3^7;                //輸出使能

uchar          KEY_VALUE;

uchar          key_data;

uchar          dis_buf;            //顯示緩存

uchar          temp;

uchar          key;                //鍵順序碼

uchar         result;

uint         f;

void delay(uchar x);      //x*0.14MS

// 此表為 LED 的字模              0   1  2  3    4  5  6  7  8  9   a    b    c d   e   f

unsigned char code LED7Code[] = {~0x3F,~0x06,~0x5B,~0x4F,~0x66,~0x6D,~0x7D,~0x07,~0x7F,~0x6F,~0x77,~0x7C,~0x39,~0x5E,~0x79,~0x71};

unsigned char  ADC0809[],KONGBVAI[],DANJIA[];

void ADC0809_change(); 

/*************************************************************************************

** 函數名稱:  delayms

** 功能描述:  譯碼功能,將需要顯示的數字轉成相應的七段譯碼錶

              如要顯示的字符為“0”,則為7e —0111 1111,就中間的一個LED不亮

** 輸 入:    ms:需要延時的長度

**         

**        

** 輸 出: 

**         

** 全局變量: 

** 調用模塊: 

**

** 作 者:     吳鑒鷹

** 日 期:     14.02.22

**———————————————————————————–

** 修改人:吳鑒鷹

** 日 期:

**———————————————————————————-

****************************************************************************************/

void delayms(uint ms)

{

        uchar i;

        while(ms–) for(i=0;i120;i++);

}

/*********************************************************************************

** 函數名稱:   SendByte  

** 功能描述:   串口給液晶發送數據  

                                                         

** 輸 入:  Dbyte

**         

**         

** 輸 出: 

** 全局變量:

** 調用模塊: 

**

** 作 者:    吳鑒鷹

** 日 期:    14.02.28

************************************************************************************/

void SendByte(uchar Dbyte)

{

     uchar i;

     for(i=0;i8;i++)

     {

           SCLK = 0;

           Dbyte=Dbyte1;      //左移一位

           RW = CY;            //移出的位給RW

           SCLK = 1;

           SCLK = 0;

     }

}

/***********************************************************************************

** 函數名稱:   TransferCom  

** 功能描述:   串口給液晶發送命令  

                                                         

** 輸 入:  data0

**         

**         

** 輸 出: 

** 全局變量:

** 調用模塊: 

**

** 作 者:    吳鑒鷹

** 日 期:    14.02.28

**********************************************************************************/

void    TransferCom(uchar data0)  

{

   RS=1;

   SendByte(0xf8);            //11111ABC,RW(0),RS(1),0

   SendByte(0xf0data0);      //高四位

   SendByte(0xf0data04);   //低四位(先執行)

   RS=0;            

}

/*******************************************************************************

** 函數名稱:   lcd_mesg  

** 功能描述:   寫數據,

                                                          

** 輸 入:  data1

**         

**         

** 輸 出: 

** 全局變量:

** 調用模塊: 

**

** 作 者:    吳鑒鷹

** 日 期:    14.02.28

*****************************************************************************/

void    TransferData(uchar data1)  

{

   RS=1;

   SendByte(0xfa);            //11111ABC,RW(0),RS(1),0

   SendByte(0xf0data1);      //高四位

   SendByte(0xf0data14);   //低四位(先執行)

   RS=0;

}

求一個會編寫關於電子秤的C語言源程序!!!!!!

#includemsp430x14x.h

#include “HX711.h”

//****************************************************

//延時函數

//****************************************************

void Delay_hx711_us(uint t)

{

//_nop_();

//_nop_();

while(t–);

}

// I/O配置

void PORT_Init(void)

{

P1SEL =~ (BIT1+BIT2);

P1DIR =~ BIT2;//SDA

P1DIR |= BIT1;//SCK

}

//****************************************************

//讀取HX711

//****************************************************

unsigned long HX711_Read(void) //增益128

{

unsigned long count;

unsigned char i;

P1OUT |= BIT2; //SDA

Delay_hx711_us(4);

P1OUT =~ BIT1;//SCK

count=0;

while( P1INBIT2 ); //SDA

for(i=0;i24;i++)

{

P1OUT |= BIT1; //SCK

count=count1;

P1OUT =~ BIT1;//SCK

if(P1INBIT2)//SDA

count++;

}

P1OUT |= BIT1; //SCK

Delay_hx711_us(4);

P1OUT =~ BIT1;//SCK

return(count);

}

高手,請問電子秤,置零是怎麼樣實現的,麻煩你提供個思路,急急!!,謝謝了。

所謂的置零是給CPU一個基準信號

因為稱的傳感器的使用過程中可能要發生變化,以及秤在使用過程中也要有些操作:如去皮等會使秤有些時候不在零點上所以要置零

實現的手段就是給單片機一個腳一個電平信號,一般用微動開關

C語言題目,高分求解,最好帶一點注釋

#include bits/stdc++.h

using namespace std;

double num[35][35];

int main()

{

for(int i=1;i=29;i++)

for(int j=1;j=i;j++)

cinnum[i][j];

for(int i=1;i=29;i++)

for(int j=1;j=i;j++)

{

num[i+1][j]+=num[i][j]/2;

num[i+1][j+1]+=num[i][j]/2;

}

double maxn=-1;

double minn=0x3f3f3f;

for(int i=1;i=30;i++)

{

if(maxnnum[30][i]) maxn=num[30][i];

if(minnnum[30][i]) minn=num[30][i];

}

printf(“%lf”,maxn*2086458231/minn);

}

問一段單片機的c語言程序。

我也接觸到了這段代碼。是HX711ad轉換讀數函數用到的

我來解釋兩點:

1、Count=Count^0x800000,最高位取反。把正負方向的電壓轉換ad全部變成正的數值。例如24位2進制可以表示的數值為-8388608~8388607,沒有負載時為0;

最高位取反後表示數值為0~16777215,沒有負載時候顯示為8388608,這樣做的目的是避免出現負數,方便計算。如果你做電子秤的話,我建議就不要這句了。一般不會有負數的。

2、有的代碼後面還跟了一段

/* if((Count 0x800000) == 0x800000)

{

Count = ~(Count – 1);

} */

表示負數補碼還原成正值

原創文章,作者:XRTE,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/142824.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
XRTE的頭像XRTE
上一篇 2024-10-14 18:43
下一篇 2024-10-14 18:43

相關推薦

  • AES加密解密算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES算法,並對實現過程進…

    編程 2025-04-29
  • 學習Python對學習C語言有幫助嗎?

    Python和C語言是兩種非常受歡迎的編程語言,在程序開發中都扮演着非常重要的角色。那麼,學習Python對學習C語言有幫助嗎?答案是肯定的。在本文中,我們將從多個角度探討Pyth…

    編程 2025-04-29
  • Python被稱為膠水語言

    Python作為一種跨平台的解釋性高級語言,最大的特點是被稱為”膠水語言”。 一、簡單易學 Python的語法簡單易學,更加人性化,這使得它成為了初學者的入…

    編程 2025-04-29
  • OpenJudge答案1.6的C語言實現

    本文將從多個方面詳細闡述OpenJudge答案1.6在C語言中的實現方法,幫助初學者更好地學習和理解。 一、需求概述 OpenJudge答案1.6的要求是,輸入兩個整數a和b,輸出…

    編程 2025-04-29
  • Python按位運算符和C語言

    本文將從多個方面詳細闡述Python按位運算符和C語言的相關內容,並給出相應的代碼示例。 一、概述 Python是一種動態的、面向對象的編程語言,其按位運算符是用於按位操作的運算符…

    編程 2025-04-29
  • Python語言由荷蘭人為中心的全能編程開發工程師

    Python語言是一種高級語言,很多編程開發工程師都喜歡使用Python語言進行開發。Python語言的創始人是荷蘭人Guido van Rossum,他在1989年聖誕節期間開始…

    編程 2025-04-28
  • Python語言設計基礎第2版PDF

    Python語言設計基礎第2版PDF是一本介紹Python編程語言的經典教材。本篇文章將從多個方面對該教材進行詳細的闡述和介紹。 一、基礎知識 本教材中介紹了Python編程語言的…

    編程 2025-04-28
  • Python語言實現人名最多數統計

    本文將從幾個方面詳細介紹Python語言實現人名最多數統計的方法和應用。 一、Python實現人名最多數統計的基礎 1、首先,我們需要了解Python語言的一些基礎知識,如列表、字…

    編程 2025-04-28
  • Python作為中心語言,在編程中取代C語言的優勢和挑戰

    Python一直以其簡單易懂的語法和高效的編碼環境而著名。然而,它最近的發展趨勢表明Python的使用範圍已經從腳本語言擴展到了從Web應用到機器學習等廣泛的開發領域。與此同時,C…

    編程 2025-04-28
  • Python基礎語言

    Python作為一種高級編程語言擁有簡潔優雅的語法。在本文中,我們將從多個方面探究Python基礎語言的特點以及使用技巧。 一、數據類型 Python基礎數據類型包括整數、浮點數、…

    編程 2025-04-28

發表回復

登錄後才能評論