电子秤的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/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

发表回复

登录后才能评论