找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 33231|回复: 45
打印 上一主题 下一主题
收起左侧

51单片机数字电子秤设计文档 有源码,实物很完美的制作

  [复制链接]
跳转到指定楼层
楼主

目录

第1章   电子秤的电路功能介绍及组成框图

1.1功能描述

1.2电子秤的构成

第2章              硬件电路设计

2.1总电路图如下:

2.2 称重传感器

2.2.1 称重传感器选用时需考虑的问题

2.2.2称重传感器的原理

2.2.3电子秤传感器参数

2.3              A/D转换芯片HX711及其电路

2.4 单片机系统

2.5 输出显示

2.6 按键输入

2.7 报警电路蜂鸣器和LED

2.8              USB供电

第3章              软件设计

3.1 软件流程图

3.2 程序清单

第4章              设计总结

4.1 Proteus软件仿真

4.2 程序下载与调试

4.2.1 USB转串口驱动安装

4.2.2 下载程序

4.3 硬件过程

4.4 体会与收获

参 考 文 献

附录一 main.c主程序

附录二 HX711.c子程序

附录三 电子元器件清单



  • 电子秤的电路功能介绍及组成框图

秤是一种在实际工作和生活中经常用到的测量器具。随着计量技术和电子技术的发展,传统纯机械结构的杆秤、台秤、磅秤等称量装置逐步被淘汰,电子称量装置电子秤、电子天平等以其准确、快速、方便、显示直观等诸多优点而受到人们的青睐。

和传统秤相比较,电子秤利用新型传感器、高精度AD转换器件、单片机设计实现,具有精度高、功能强等特点。本课题设计的电子秤具有基本称重、键盘输入、显示、超重报警功能。该电子秤的测量范围为0-10Kg,测量精度达到1g,有高精度,低成本,易携带的特点。电子秤采用数码管显示重量。另外,该电子秤电路简单,使用寿命长,应用范围广。


1.1功能描述
1、采用高精度电阻应变式压力传感器,测量量程0-10kg,测量精度可达5g。
2、采用电子秤专用模拟/数字(A/D)转换器芯片HX711对传感器信号进行调理转换,HX711 采用了海芯科技集成电路专利技术,是一款专为高精度电子秤而设计的24 位A/D 转换器芯片。
3、采用STC89C52单片机作为主控芯片,实现称重等主控功能。
4、采用4位数码管显示称重重量。
5、采用4个按键进行人机交互,操作便捷。
6、具有超量程报警功能,可以通过蜂鸣器和LED灯报警。
  •      系统通过USB电源供电,单片机程序也可通过USB线串行下载。
1.2电子秤的构成
便携式电子秤硬件系统由应变式称重传感器、放大器、A/D转换器、单片机系统、键盘/开关、数码管、打印机等组成。仪器结构框图如下图1.1所示。
图1-1

  •       硬件电路设计


2
.1总电路如下

图2-1
2.2 称重传感器
2.2.1称重传感器选用时需考虑的问题

传感器是测量机构最重要的部件。称重传感器本身具有单调性,其主要参数指标是灵敏度、总误差和温度漂移。

(1) 灵敏度

称重传感器的电灵敏度为满负荷输出电压与激励电压的比值,典型值是2mV/V。当使用2 mV/V灵敏度和5 V激励电压的传感器时,其满度输出电压为10 mV。通常,为了使用称重传感器线性度最好的一段称重范围,应当仅使用满度范围的三分之二。因此满度输出电压应当大约为6mV。当电子秤应用于工业环境时,在6mV满度范围内测量微小的信号变化并非易事。

(2) 总误差

总误差是指输出误差和额定误差的比值。典型电子秤的总误差指标大约是0.02%,这一技术指标相当重要,它限制了使用理想信号调节电路所能达到的精确度,决定了ADC分辨率的选择以及放大电路和滤波器的设计。

(3) 漂移

称重传感器也产生与时间相关的漂移。

目前常用的称重传感器有电阻应变式压力传感器、电容压力传感器、压电式压力传感器。选用时应按稳定行、精度登记、寿命和安装环境要求考虑,其主要特点如下:

(1) 电容式压力传感器稳定性较差,精度和灵敏度较高,寿命较短,对环境要求苛刻,不易长距离传输。

(2) 压电式压力传感器稳定性好,精度和灵敏度高,寿命长,但大量程的压力传感器尚待进一步研究。

(3) 电阻应变式压力传感器稳定性较好,精度和灵敏度较高,寿命较长,对测量环境要求不太严格。

综上所述,选用电阻应变式压力传感器作为电子秤称重传感器是最为合适的。电阻应变式压力传感器主要由弹性体、电阻应变片电缆线等组成,内部线路采用惠更斯电桥,当弹性体承受载荷产生变形时,电阻应变片(转换元件)受到拉伸或压缩应变片变形后,它的阻值将发生变化(增大或减小),从而使电桥失去平衡,产生相应的差动信号,供后续电路测量和处理。

2.2.2称重传感器的原理

即由非电量(质量或重量)转换成电量的转换元件,它是把支承力变换成电的或其它形式的适合于计量求值的信号所用的一种辅助手段。

按照称重传感器的结构型式不同,可以分直接位移传感器(电容式、电感式、电位计式、振弦式、空腔谐振器式等)和应变传感器(电阻应变式、声表面谐振式)或是利用磁弹性、压电和压阻等物理效应的传感器。

对称重传感器的基本要求是:输出电量与输入重量保持单值对应,并有良好的线性关系;有较高的灵敏度;对被称物体的状态的影响要小;能在较差的工作条件下工作;有较好的频响特性;稳定可靠。

传感器下的定义是:“能感受规定的被测量并按照一定的规律转换成可用信号的器件或装置,通常由敏感元件和转换元件组成”。其中敏感元件指传感器中能直接感受被测量的部分,转换元件指传感器中能将敏感元件输出量转换为适于传输和测量的电信号部分。此外传感器是一种检测装置,能感受到被测量的信息,并能将检测感受到的信息,按一定规律变换成为电信号或其他所需形式的信息输出,以满足信息的传输、处理、存储、显示、记录和控制等要求。它是实现自动检测和自动控制的首要环节。

称重传感器在电子秤中占有十分重要的位置,被喻为电子秤的心脏部件,它的性能好坏很大程度上决定了电子秤的精确度和稳定性。通常称重传感器产生的误差约占电子秤整机误差的50%~70%。若在环境恶劣的条件下(如高低温、湿热),传感器所占的误差比例就更大,因此,在人们设计电子秤时,正确地选用称重传感器非常重要。

称重传感器的种类很多,根据工作原理来分常用的有以下几种: 电阻应变式、电容式、压磁式、压电式、谐振式等。(本设计采用的是电阻应变式)

电阻应变式称重传感器包括两个主要部分,一个是弹性敏感元件:利用它将被测的重量转换为弹性体的应变值;另一个是电阻应变计:它作为传感元件将弹性体的应变,同步地转换为电阻值的变化。电阻应变片所感受的机械应变量一般为10 - 6~10 - 2,随之而产生的电阻变化率也大约在10 - 6~10 - 2数量级之间。这样小的电阻变化用一般测量电阻的仪表很难测出,必须采用一定形式的测量电路将微小的电阻变化率转变成电压或电流的变化,才能用二次仪表显示出来。在电阻应变式称重传感器中通过桥式电路将电阻的变化转换为电压变化。电阻应变式称重传感器工作原理框图如图2-1所示:



如图2-2电阻应变式称重传感器工作原理框图

当传感器不受载荷时,弹性敏感元件不产生应变,粘贴在其上的应变片不发生变形,阻值不变,电桥平衡,输出电压为零;当传感器受力时,即弹性敏感元件受载荷P时,应变片就会发生变形,阻值发生变化,电桥失去平衡,有输出电压。

如图2-3   桥式测量电路

R1、R2、R3、R4为4个应变片电阻,组成了桥式测量电路,Rm为温度补偿电阻,e为激励电压,V为输出电压。           

若不考虑Rm,在应变片电阻变化以前,电桥的输出电压为:

V=


由于桥臂的起始电阻全等,即R1 = R2 = R3 = R4 = R,所以V=0  。

当应变片的电阻R1、R2、R3、R4变成R+△R1、R+△R2、R+△R3、R+△R4时,电桥的输出电压变为:

V=

通过化简,上式则变为:

V=

也就是说,电桥输出电压的变化与各臂电阻变化率的代数和成正比。

如果四个桥臂应变片的灵敏系数相同,且 = Kε,则上式又可写成:

V=ε1 - ε2  + ε3  - ε4 )

式中K为应变片灵敏系数,ε为应变量。

上式表明,电桥的输出电压和四个轿臂的应变片所感受的应变量的代数和成正比。在电阻应变式称重传感器中,4个应变片分别贴在弹性梁的4个敏感部位,传感器受力作用后发生变形。在力的作用下,R1、R3被拉伸,阻值增大,△R1、△R3正值,R2、R4被压缩,阻值减小,△R2、△R4为负值。再加之应变片阻值变化的绝对值相同,即

△R1 = △R3 = +△R或ε1 = ε3 =  +ε

△R2 = △R4= -△R或ε2 = ε4 =  - ε

因此,V=×4ε = e Kε。若考虑 Rm,则电桥的输出电压变成:

V=

= = K εe

令SU   =   ,则SU   = K ε

SU称为传感器系数或传感器输出灵敏度。

对于一个高精度的应变传感器来说,仅仅靠4个应变片组成桥式测量电路还是远远不够的。由于弹性梁材料金相组织的不均匀性及热处理工艺、应变片性能及粘贴工艺、温度变化等因素的影响,传感器势必产生一定的误差。为了减少传感器随温度变化产生的误差,提高其精度和稳定性,需要在桥路两端和桥臂中串入一些补偿元件。如:初始不平衡值的补偿、零载输出温度补偿、输出灵敏度温度补偿等。

2.2.3电子秤传感器参数
表2-1

    • A/D转换芯片HX711及其电路
HX711 是一款专为高精度称重传感器而设计的24位A/D 转换器芯片。

HX711管脚说明如图3所示:

图2-4 HX711管脚封装图


HX711管脚描述如表一所示:

HX711是一款专为高精度称重传感器而设计的24位A/D 转换器芯片。与同类型其它芯片相比,该芯片集成了包括稳压电源、片内时钟振荡器等其它同类型芯片所需要的外围电路,具有集成度高、响应速度快、抗干扰性强等优点。降低了电子秤的整机成本,提高了整机的性能和可靠性。该芯片与后端MCU 芯片的接口和编程非常简单,所有控制信号由管脚驱动,无需对芯片内部的寄存器编程。输入选择开关可任意选取通道A 或通道B,与其内部的低噪声可编程放大器相连。通道A 的可编程增益为128 或64,对应的满额度差分输入信号幅值分别为±20mV 或±40mV 。通道B 则为固定的64 增益,用于系统参数检测。芯片内提供的稳压电源可以直接向外部传感器和芯片内的A/D 转换器提供电源,系统板上无需另外的模拟电源。芯片内的时钟振荡器不需要任何外接器件。上电自动复位功能简化了开机的初始化过程。

高精度高增益24位A/D芯片HX711具有以下特点:

  • 两路可选择差分输入
  • 片内低噪声可编程放大器,可选增益为64 和128
  • 片内稳压电路可直接向外部传感器和芯片内A/D 转换器提供电源
  • 片内时钟振荡器无需任何外接器件,必要时也可使用外接晶振或时钟
  • 上电自动复位电路
  • 简单的数字控制和串口通讯:所有控制由管脚输入,芯片内寄存器无需编程
  • 可选择10Hz 或80Hz 的输出数据速率
  • 同步抑制50Hz 和60Hz 的电源干扰
  • 耗电量(含稳压电源电路):典型工作电流:< 1.7mA, 断电电流:< 1μA
  • 工作电压范围:2.6 ~ 5.5V  

高精度高增益24位A/D芯片HX711在电子秤应用中的典型电路如图1-6所示:

图2-5 HX711内部方框图

模拟输入
通道A模拟差分输入可直接与桥式传感器的差分输出相接。由于桥式传感器输出的信号较小,为了充分利用A/D转换器的输入动态范围,该通道的可编程增益较大,为128或64。这些增益所对应的满量程差分输入电压分别±20mV或±40mV。通道B为固定的32增益,所对应的满量程差分输入电压为±80mV。通道B应用于包括电池在内的系统参数检测。

供电电源
数字电源(DVDD)应使用与MCU芯片相同的的数字供电电源。HX711芯片内的稳压电路可同时向A/D转换器和外部传感器提供模拟电源。稳压电源的供电电压(VSUP)可与数字电源(DVDD)相同。稳压电源的输出电压值(VAVDD)由外部分压电阻R1、R2 和芯片的输出参考电压VBG决定(图1),VAVDD=VBG(R1+R2)/R2。应选择该输出电压比稳压电源的输入电压(VSUP)低至少100mV。如果不使用芯片内的稳压电路,管脚VSUP和管脚AVDD应相连,并接到电压为2.6~5.5V的低噪声模拟电源。管脚VBG上不需要外接电容,管脚VFB应接地,管脚BASE 为无连接。

时钟选择
如果将管脚XI接地,HX711将自动选择使用内部时钟振荡器,并自动关闭外部时钟输入和晶振的相关电路。这种情况下,典型输出数据速率为10Hz或80Hz。如果需要准确的输出数据速率,可将外部输入时钟通过一个20pF的隔直电容连接到XI管脚上,或将晶振连接到XI和XO管脚上。这种情况下,芯片内的时钟振荡器电路会自动关闭,晶振时钟或外部输入时钟电路被采用。此时,若晶振频率为11.0592MHz,输出数据速率为准确的10Hz或80Hz。输出数据速率与晶振频率以上述关系按比例增加或减少。使用外部输入时钟时,外部时钟信号不一定需要为方波。可将MCU芯片的晶振输出管脚上的时钟信号通过20pF的隔直电容连接到XI管脚上,作为外部时钟输入。外部时钟输入信号的幅值可低至150mV。

串口通讯
串口通讯线由管脚PD_SCK和DOUT组成,用来输出数据,选择输入通道和增益。当数据输出管脚DOUT为高电平时,表明A/D转换器还未准备好输出数据,此时串口时钟输入信号PD_SCK应为低电平。当DOUT从高电平变低电平后,PD_SCK应输入25至27个不等的时钟脉冲(图二)。其中第一个时钟脉冲的上升沿将读出输出24位数据的最高位(MSB),直至第24个时钟脉冲完成,24位输出数据从最高位至最低位逐位输出完成。第25至27个时钟脉冲用来选择下一次A/D转换的输入通道和增益,参见表三。
表三输入通道和增益选择

PD_SCK的输入时钟脉冲数不应少于25或多于27,否则会造成串口通讯错误。当A/D转换器的输入通道或增益改变时,A/D转换器需要4个数据输出周期才能稳定。DOUT在4个数据输出周期后才会从高电平变低电平,输出有效数据。
复位和断电
当芯片上电时,芯片内的上电自动复位电路会使芯片自动复位。管脚PD_SCK输入用来控制HX711的断电。当PD_SCK为低电平时,芯片处于正常工作状态。
如果PD_SCK从低电平变高电平并保持在高电平超过60μs,HX711 即进入断电状态(图三)。如使用片内稳压电源电路,断电时,外部传感器和片内A/D 转换器会被同时断电。当PD_SCK 重新回到低电平时,芯片会自动复位后进入正常工作状态。芯片从复位或断电状态进入正常工作状态后,通道A和增益128会被自动选择作为第一次A/D转换的输入通道和增益。随后的输入通道和增益选择由PD_SCK的脉冲数决定,参见串口通讯一节。芯片从复位或断电状态进入正常工作状态后,A/D 转换器需要4个数据输出周期才能稳定。DOUT在4个数据输出周期后才会从高电平变低电平,输出有效数据。
应用实例
图四为HX711芯片应用于电子秤的一个典型方案图。该方案使用内部时钟振荡器(XI=0),10Hz的输出数据速率(RATE=0)。电源(2.7~5.5V)直接取用与MCU芯片相同的供电电源。片内稳压电源电路通过片外PNP管S8550和分压电阻R1、R2向传感器和A/D转换器提供稳定的低噪声模拟电源。通道A与传感器相连,通道B通过片外分压电阻(未在图一中显示)与电池相连,用于检测电池电压。
注意事项
1.所有数字输入管脚,包括RATE,XI和PD_SCK管脚,芯片内均无内置拉高或拉低电阻。这些管脚在使用时不应悬空。
2.建议使用通道A与传感器相连,作为小信号输入通道;通道B用于系统参数检测,如电池电压检测。
3.建议使用PNP管S8550与片内稳压电源电路配合。也可根据需要使用其他MOS或双极晶体管,但应注意稳压电源的稳定性。
4.无论是采用片内稳压电源或系统上其他电源,建议传感器和A/D转换器使用同一模拟供电电源。
5.的输入时钟脉冲数不应少于25或多于27,否则会造成串口通讯错误。

HX711实物仿真图如下
图2-6HX711
2.4 单片机系统
(1) STC89C52 单片机概述

STC89C52系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍,内部集成MAX810专用复位电路。

(2) STC89C52 单片机特点
  • 增强型 8051 CPU1T,单时钟/机器周期,指令代码完全兼容传统8051
  • 工作电压: 5.5V - 3.5V5V单片机);
  • 工作频率范围:0~40MHz,相当于普通8051 0~80MHz
  • 用户应用程序空间 4K//8K/16k/32K/64K字节;
  • 片上集成1280字节 RAM
  • 通用I/O口(32/36个),复位后为准双向口/弱上拉(普通8051传统I/O口);
  • ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器/仿真器。
  • 每个I/O口驱动能力均可达到20mA,但整个芯片最大不要超过120mA
  • 可通过串口(P3.0/P3.1)直接下载用户程序,数秒即可完成一片;
  • EEPROM功能;
  • 看门狗;
  • 内部集成MAX810专用复位电路(外部晶体12M以下时,复位脚可直接1K电阻到地);
  • 时钟源:外部高精度晶体/时钟,内部R/C振荡器;
  • 用户在下载用户程序时,可选择是使用内部R/C 振荡器还是外部晶体/ 时钟;
  • 常温下内部R/C 振荡器频率为:5.0V 单片机为: 11MHz 17MHz
  • 416位定时器,两个与传统8051兼容的定时器/计数器,16位定时器T0T1,没有定时器2,但有独立波特率发生器做串行通讯的波特率发生器,再加上2PCA模块可再实现216位定时器;
  • 外部中断I/O口4路,传统的下降沿中断或低电平触发中断,并新增支持上升沿中断的PCA模块,Power Down模式可由外部中断唤醒;
  • 通用全双工异步串行口(UART)
  • 工作温度范围:-40 ~ +85(工业级) / 0 ~ 75(商业级)
  • 封装:PDIP-40, PLCC-44
  (3) STC89C52 单片机管脚及封装

STC89C52单片机有多种封装形式,本设计中选用40DIP封装,其管脚定义如图1-8所示。

图2-7 STC89C52 管脚图

本课题设计的电子秤的单片机应用电路如图2-9所示:
图2-8 STC89C52单片机电路

图中DT和SCK为单片机与HX711的AD转换电路交换数据的通信线。P10为蜂鸣器报警信号线,P11为报警灯信号线,RXD和TXD为串口通信线,也可以用于单片机程序的串行ISP下载。

2.5输出显示
LED 数码管具有显示亮度高、响应速度快的特点。最常用的七段LED显示器,该显示器内部有七个条形发光二极管和一个小圆点发光二极管。
本设计采用共阳极接法如下图
图2-9
数码管实物尺寸及引脚图如下
图2-10
     
图2-11数码管                                  图2-12数码管驱动

2.6按键输入

电子称按键定义说明:采用四个按键输入,键盘对应名称如下:

其中,              【1】为复位按键,单片机的复位,按下单片机重新开机

                    【2】为校准加按键

                            【3】为校准减按键

       【4】键为去皮按键

校准方法:连接好传感器和电源线,打开自锁开关,待开机正常显示数值后(开机时保证传感器上不能有物体,且保持稳定),将一已知重量物体放上传感器,例如放置100g砝码,100g砝码放到传感器上,看重量显示的数值,如果比100g大,就按校准值减键(可长按快速减),直到数值显示100;如果数值比100小,就按校准值加键(可长按快速加),直到数值显示100.此时拿下砝码,如果什么都不放,示数不为0,就按一下复位按键,重新开机一次,然后再放上100g砝码,再按照上面的步骤2键和3键校准一次就好了,校准后会保存进单片机的EEPROM,下次开机不需要校准了。

原理图如下:
         
图2-13

2.7  报警电路蜂鸣器和LED
声光报警电路如图所示:
图2-14蜂鸣器
图2-15 LED指示

(1)当测量重量超过量程时,P10和P11给出低电平信号,驱动蜂鸣器鸣响,报警灯亮。(2)出现称重为负时发生报警。(3)复位时称重不为零时报警。


    • USB供电
图2-16供电模块
SWITCH为自锁开关2、4、6和1、3、5各为一组,选择组1、3常开触点。1口是5V DC接口,3口是单路VCC接口,1、5为常闭触点。右边部分为DC电源,2、3脚接地,1脚实际是VCC(电源)。



  • 软件设计
3.1 软件流程图

本设计主程序使用了定时器,用来实现每0.5秒称重一次的功能,流程图如图3-1所示。键盘扫描程序如图3-2所示。

                                
图3-1时钟中断流程图                      图3-2 键盘扫描程序流程图

主程序软件流程图如图3-3所示
图3-3 主程序流图

A/D数据处理(采用数组平均值法)流程图
(详见51hei附件)



3.2 程序清单
主程序:main.c主程序编写,详见附录一。

信号采用与A/D转换子程序:HX711.c子程序编写,详见附录二。

  • 设计总结
4.1 Proteus软件仿真
4.2 程序下载与调试4.2.1 USB转串口驱动安装

打开USB驱动文件夹下的PL2303_Prolific_DriverInstaller_v130.exe安装文件,按提示安装USB转串口驱动程序。安装完成后,插入USB下载线后,在[开始]-[控制面板]-[打印机和其他硬件]-[设备管理器],在“端口”分支下有(Prolific USB-to-Serial Comm Port(COMX)。X表示串口号,如果没有说明USB转串口驱动没有安装,须重新安装。记住括号里的COM口号。

图4-1成功安装USB转串口驱动示意图
4.2.2 下载程序
打开STC单片机下载软件文件夹,点击运行STC_ISP_V481.exe程序,出现如下界面。
图4-2 程序下载软件
正确选择MCU 类型为STC89C52,COM口(与刚才安装的COM号一致),最高波特率和最低波特率选择高速,如果不成功则尝试降低拨特率,并打开正确的.hex数据文件。点击“Download/下载”按钮,并重新上电。
4.3 硬件过程


实物图如下:


4.4 体会与收获

   在这次制作单片机课程设计的过程中,学习到如何完整地(包括软件和硬件)设计一个电子器件,并学习到了很多新的器件的使用方法,例如A/D转换模块HX711、电阻应变式传感器等。设计的过程中一直最难的部分就是程序设计,既要估计电路连接的简便,又要清楚地划分每一块程序实现的功能,在仿真时时常出现不明的错误,都需要一点一点地去修改程序,已达到完美地运行。在焊接实物的过程中,因为焊接技术的不熟练,偶尔会出现虚焊,此时就要细心地使用万用表去检测电路,发现问题所在,重新焊接。


参 考 文 献

[1]马心凯.基于FPGA的实用电子秤[J],低压电器,2006

[2]康华光.电子技术基础[M].模拟部分.高等教育出版社,1998

[3]于敬芬.基于AT89S52和TLC0834的数据采集系统[J].中国水运(学术版),2006

[4]王幸之.AT89系列单片机原理及接口技术[M].北京航天航空出版社,2006

[5]康华光.电子技术基础[M].数字部分.高等教育出版社,1998

[6]王素珍,郑淑芬,周梅.称重配料系统传感器电源及放大电路[J].传感器技术,2006

[7]周立功.单片机ZLG7289B串行接口LED数码管及键盘管理器件数据手册

[8]胡汉才.单片机原理及系统设计[M].清华大学出版社,2002

[9]王福瑞.集成电路器件大全[M].北京航天航空出版社,1999

[10]夏路易.电路原理图与电路板设计教程Protel99se[M].北京希望电子出版社,2002

[11]Theodore Wildi.Electrical machine,and power system[M],2002



附录一 main.c主程序
  1. 1.        #include <reg52.h>  
  2. 2.        #include <intrins.h>  
  3. 3.        #include <string.h>  
  4. 4.        #include "main.h"  
  5. 5.        #include "HX711.h"  
  6. 6.        #include "eeprom52.h"  
  7. 7.         
  8. 8.        #define uchar unsigned char  
  9. 9.        #define uint  unsigned int  
  10. 10.         
  11. 11.        unsigned long HX711_Buffer = 0;  
  12. 12.        unsigned long Weight_Maopi = 0;  
  13. 13.        unsigned long Weight_Maopi_0 = 0;  
  14. 14.        long Weight_Shiwu = 0;  
  15. 15.        unsigned int qupi=0;  
  16. 16.        unsigned char p=0;  
  17. 17.        //键盘处理变量  
  18. 18.        unsigned char keycode;  
  19. 19.        unsigned char key_press_num=0;  
  20. 20.         
  21. 21.        uint GapValue,GapValue1;  
  22. 22.        bit flag_cz=0;  
  23. 23.         
  24. 24.        uchar code  LEDData[]={0x5F,0x44,0x9D,0xD4,0xC6,0xD3,0xDB,0x57,0xDF,0xD7,0xCF,0xaA,0x9B,0xDC,0x9B,0x8B}; //数码管显示码表  
  25. 25.        //定义标识  
  26. 26.        volatile bit FlagTest = 0;      //定时测试标志,每0.5秒置位,测完清0  
  27. 27.        volatile bit FlagKeyPress = 0;  //有键按下标志,处理完毕清0  
  28. 28.        //校准参数  
  29. 29.        //因为不同的传感器特性曲线不是很一致,因此,每一个传感器需要矫正这里这个参数才能使测量值很准确。  
  30. 30.        //当发现测试出来的重量偏大时,增加该数值。  
  31. 31.        //如果测试出来的重量偏小时,减小改数值。  
  32. 32.        //该值可以为小数  
  33. 33.        //#define GapValue 349  
  34. 34.        sbit LED=P1^1;  
  35. 35.        sbit ROW1=P3^0;  
  36. 36.        sbit ROW2=P3^1;  
  37. 37.        sbit ROW3=P3^2;  
  38. 38.        sbit DIAN = P0^6;               //小数点  
  39. 39.         
  40. 40.        volatile bit ClearWeighFlag = 0; //传感器调零标志位,清除0漂  
  41. 41.         
  42. 42.        /******************把数据保存到单片机内部eeprom中******************/  
  43. 43.        void write_eeprom()  
  44. 44.        {  
  45. 45.            SectorErase(0x1080);  
  46. 46.            GapValue1=GapValue&0x00ff;  
  47. 47.            byte_write(0x1000, GapValue1);  
  48. 48.            GapValue1=(GapValue&0xff00)>>8;  
  49. 49.            byte_write(0x1001, GapValue1);  
  50. 50.            byte_write(0x1060, a_a);      
  51. 51.        }  
复制代码
附录三 电子元器件清单

7*9万用板
STC89C51单片机
40脚IC座
12MHz晶振
30pF瓷片电容*2
10uF电解电容
100uF电解电容
0.36四位一体共阳数码管
5V有源蜂鸣器
9012三极管*5
5mm红发红LED
按键*4
10k电阻*3
2.2k电阻*6
HX711模块
4P单排母座
6P单排母座
压力传感器(含支架)
自锁开关
DC电源插座
USB电源线
导线
焊锡



以上的图文的word格式的文档下载(不含程序):
基于51单片机数字电称.docx (2.94 MB, 下载次数: 475)

评分

参与人数 6黑币 +121 收起 理由
ptlantu + 1 赞一个!
ludayang + 5 绝世好帖!
wxxyayaya + 5 绝世好帖!
穿着安踏去拉萨 + 5 楼主讲的很详细,谢谢了。
admin + 100 共享资料的黑币奖励!
jahyu + 5 赞一个!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏28 分享淘帖 顶9 踩
回复

使用道具 举报

沙发
ID:207744 发表于 2017-10-27 20:44 | 只看该作者
赞一个,可惜没有程序,自己慢慢找例程写吧
回复

使用道具 举报

板凳
ID:196311 发表于 2017-11-4 16:16 | 只看该作者
500 - 内部服务器错误。又白扣了积分

评分

参与人数 1黑币 +90 收起 理由
admin + 90 等一分钟刷新那个500错误的链接就可以不用.

查看全部评分

回复

使用道具 举报

地板
ID:196311 发表于 2017-11-4 17:47 | 只看该作者
谢谢admin,可以下了,也谢谢楼主分享资料
回复

使用道具 举报

5#
ID:289668 发表于 2018-3-9 16:28 | 只看该作者
谢谢大神分享,正需要这个,顶一下
回复

使用道具 举报

6#
ID:370073 发表于 2018-7-12 15:12 | 只看该作者
厉害i,正是我需要的
回复

使用道具 举报

7#
ID:395573 发表于 2018-9-10 15:41 | 只看该作者
很详细了
回复

使用道具 举报

8#
ID:396227 发表于 2018-9-10 22:42 | 只看该作者
厉害啊!赞!
回复

使用道具 举报

9#
ID:396551 发表于 2018-9-11 16:01 | 只看该作者
可以下了,楼主分享资料.
回复

使用道具 举报

10#
ID:397604 发表于 2018-9-13 18:26 | 只看该作者
支持一下
回复

使用道具 举报

11#
ID:422265 发表于 2018-11-7 12:41 | 只看该作者
内容很充实,对单片机的相关知识又有了进一步的理解,对接下的智能称的设计提供了很大的帮助,感谢群主
回复

使用道具 举报

12#
ID:419294 发表于 2018-11-7 14:41 | 只看该作者
精度怎么样
回复

使用道具 举报

13#
ID:393407 发表于 2018-11-7 17:31 | 只看该作者
不错不错 资料很详细
回复

使用道具 举报

14#
ID:255382 发表于 2018-11-10 12:54 | 只看该作者
不错,学习收藏了.
回复

使用道具 举报

15#
ID:409518 发表于 2018-11-12 23:43 | 只看该作者
为什么我仿真的时候说代码错误啊
回复

使用道具 举报

16#
ID:432244 发表于 2018-11-24 10:42 | 只看该作者
谢谢分享,正是我需要的
回复

使用道具 举报

17#
ID:424141 发表于 2018-12-3 22:11 | 只看该作者
感谢共享
回复

使用道具 举报

18#
ID:439134 发表于 2018-12-4 12:32 | 只看该作者

感谢共享
回复

使用道具 举报

19#
ID:439508 发表于 2018-12-5 16:27 | 只看该作者
正需要帮助我学习了
回复

使用道具 举报

20#
ID:447876 发表于 2018-12-18 20:52 来自手机 | 只看该作者
大神,那个需要ANSI样式原型是什么意思
回复

使用道具 举报

21#
ID:462118 发表于 2019-1-5 22:26 | 只看该作者
感谢共享
回复

使用道具 举报

22#
ID:480810 发表于 2019-2-26 10:45 | 只看该作者
你好,想问下制作一个电子秤需要买什么器件吗
回复

使用道具 举报

23#
ID:102759 发表于 2019-2-26 13:20 | 只看该作者
谢谢大神分享 正好需要
回复

使用道具 举报

24#
ID:484153 发表于 2019-3-13 11:23 来自手机 | 只看该作者
没有头文件,编译不通过咋办
回复

使用道具 举报

25#
ID:507348 发表于 2019-4-8 20:44 | 只看该作者
赞一个!
回复

使用道具 举报

26#
ID:508043 发表于 2019-4-9 21:37 | 只看该作者
学习了
回复

使用道具 举报

27#
ID:515054 发表于 2019-4-20 17:33 来自手机 | 只看该作者
没有.h文件…
回复

使用道具 举报

28#
ID:515054 发表于 2019-4-20 17:33 来自手机 | 只看该作者
15991461173 发表于 2019-3-13 11:23
没有头文件,编译不通过咋办

你找到头文件了吗
回复

使用道具 举报

29#
ID:529091 发表于 2019-5-6 23:08 | 只看该作者
刚好要做这个课程设计,帮助很大,很感谢楼主
回复

使用道具 举报

30#
ID:529091 发表于 2019-5-6 23:09 | 只看该作者
正好要做这个课程设计,刚好浏览到这个帖子,帮助很大,感谢楼主。
回复

使用道具 举报

31#
ID:531973 发表于 2019-5-9 21:11 | 只看该作者
赞一个,做这个课程设计,对我帮助很大感谢
回复

使用道具 举报

32#
ID:536071 发表于 2019-5-12 13:38 | 只看该作者
真的很不错内容特别详细
回复

使用道具 举报

33#
ID:448736 发表于 2019-5-29 10:35 | 只看该作者
很棒,谢谢楼主分享的资料,受益匪浅
回复

使用道具 举报

34#
ID:328121 发表于 2019-7-18 13:02 | 只看该作者
好详细的资料,谢谢楼主分享
回复

使用道具 举报

35#
ID:626067 发表于 2019-10-18 11:09 | 只看该作者
很赞,支持。
回复

使用道具 举报

36#
ID:626713 发表于 2019-10-19 19:01 | 只看该作者
程序非常详尽,易懂。
回复

使用道具 举报

37#
ID:626713 发表于 2019-10-19 19:02 | 只看该作者
电阻应变式压力传感器应用很方便,
回复

使用道具 举报

38#
ID:89286 发表于 2019-10-20 08:20 | 只看该作者
thanks for sharing
回复

使用道具 举报

39#
ID:599674 发表于 2019-10-28 10:52 | 只看该作者
收藏了 感谢楼主
回复

使用道具 举报

40#
ID:279283 发表于 2019-11-20 14:52 | 只看该作者
楼主,你好,我想问一下你这个称重支架在哪里弄的嘞?我在那个宝上找的都是圆盘的,不好用,
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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