电子秤解决方案_(51MCU+HX711)
HX711应用参考

称重专用芯片HX711HX711是一款专为高精度电子秤设计的24位AD转换器芯片。
与同类型其它芯片相比,该芯片集成了包括稳压电源、片内时钟振荡器等其它同类型芯片所需的外围电路,具有集成度高、响应速度快、抗干扰性强等优点。
硬件电路设计图2 所示为系统硬件电路设计框图,系统设计成两块电路板,IO 板和MCU板。
MCU板上集成有HX711称重专用24位Σ-ΔDA转换芯片,RS232或RS485通信,16位7段LCD显示,IO板上集成有7路继电器IO输出,5路光电隔离IO输入,一路模拟量输出,2路模拟量输入,1路PWM光电隔离输出,5键键盘输入。
HX711外围电路以及电压基准电路设计,采用TL431芯片,通过电阻设定成5V输出,同时作为传感器电桥激励和HX711的参考电压,这样可以有效抵消温漂造成的系统误差(如图3所示)。
软件设计控制器软件设计HX711芯片的串口通讯线由管脚PD_SCK 和DOUT 组成,用来输出数据,选择输入通道和增益。
当数据输出管脚DOUT 为高电平时,表明AD 转换器还未准备好输出数据,此时串口时钟输入信号PD_SCK 应为低电平。
当DOUT 从高电平变低电平后,PD_SCK 应输入25至27个不等的时钟脉冲(如图4)。
其中第一个时钟脉冲的上升沿将读出输出24 位数据的最高位(MSB),直至第24 个时钟脉冲完成,24位输出数据从最高位至最低位逐位输出完成。
第25至27个时钟脉冲用来选择下一次AD转换的输入通道和增益,见表1。
PD_SCK 的输入时钟脉冲数不应少于25和多于27,否则会造成串口通讯错误。
当AD 转换器的输入通道或增益改变时,AD转换器需要4个数据输出周期才能稳定。
DOUT 在4 个数据输出周期后才会从高电平变低电平,输出有效数据。
根据图4所示的时序逻辑,读取通道A,增益128倍,其读取函数如下:unsigned int R eadCount(){unsigned int AD v al;unsigned long Count;unsigned char i;PCR0 = 0x FB; //避免与I2C总线冲突ADSK = 0;Count = 0;while(ADDO);for (i=0;i<24;i++){ADSK = 1;Count = Count<<1;ADSK = 0;if(ADDO) Count++;}ADSK = 1;;ADSK = 0;//判断是否为负值,并显示符号if((Count & 0x800000) == 0x800000){Count = ~(Count - 1);LCDDATA16 |= 0x80;}else{LCDDATA16 = 0x00;}ADval = (int)(Count >> 8);//取高十六位有效值B_AdFinish = 1;return(AD v al);}主程序流程如图5所示。
HX711电子秤称重模块配送资料(加中值滤波的单片机源码)

HX711电子秤称重模块配送资料(加中值滤波的单片机源码)电子秤注意1.程序中采用P16、P17口作为HX711的数据口。
2.每个传感器的系数不一样,第一次测量必须修正传感器的系数。
(修正系数HX711_xishu)修正方法:例如1000g砝码称出来是934g,则HX711_xishu=(原值)*1000/934;电路原理图如下:电子称 LCD1602(加中值滤波)单片机源程序如下:#include //调用单片机头文件#include#define uchar unsigned char //无符号字符型宏定义变量范围0~255#define uint unsigned int //无符号整型宏定义变量范围0~65535#define ulong unsigned longsbit rs=P0^5 //寄存器选择信号 H:数据寄存器 L:指令寄存器sbit rw=P0^6; //寄存器选择信号 H:数据寄存器 L:指令寄存器sbit e =P0^7; //片选信号下降沿触发sbit hx711_dout=P1^7;sbit hx711_sck =P1^6;sbit beep = P3^0; //蜂鸣器sbit K1 = P3^5; //加sbit K2 = P3^6; //长按去皮键sbit K3 = P3^7; //减uchar K2_num;uint time1;uint time2;uint time3;long weight; //实际重量值long qi_weight; //皮重ulong warn_weight;ulong HX711_xishu=35386; //这是一个修正系数,例如1000g砝码称出来是934g,则HX711_xishu=原数据*1000/934;#define MEDIAN_LEN 5 //中值滤波的滤波长度,一般取奇数#define MEDIAN 3 //中值在滤波数组中的位置ulong buffer[MEDIAN_LEN]; //中值滤波的数据缓存int medleng = 0; //一组中值滤波数据中,进入滤波缓存的数据个数ulong xd,xd1; //数据对比大小中间变量/***************删除键去皮价格清零***************//******1ms延时函数***11.0592M晶振**************/void delay_1ms(uint q){ulong i,j;for(i=0;i<>< p=""><>for(j=0;j<11;j++);}/************************************************************** ******* 名称 : delay_uint()* 功能 : 小延时。
基于51单片机的电子秤程序

基于51单片机的电子秤程序#include#include//#include "LCD1602.h"//#include "HX711.h"#define uint unsigned int#define uchar unsigned charsbit LCD1602_RS = P2^5;sbit LCD1602_RW = P2^6;sbit LCD1602_EN = P2^7;sbit HX711_DOUT=P2^0;sbit HX711_SCK=P2^1;unsigned long HX711_Buffer = 0;unsigned long Weight_Maopi = 0,Weight_Shiwu = 0;char Price_Count = 0;uchar KEY_NUM = 0;uchar Price_Buffer[3] = {0x00,0x00,0x00};unsigned long Money = 0;bit Flag_OK = 0;uchar com;//延时函数//**************************************************** void Delay__hx711_us(void){_nop_();_nop_();}void LCD1602_delay_ms(unsigned int n){unsigned int i,j;for(i=0;i<n;i++)< p="">for(j=0;j<123;j++);}void Delay_ms(unsigned int n){unsigned int i,j;for(i=0;i<n;i++)< p="">for(j=0;j<123;j++);}//**************************************************** //写指令//**************************************************** void LCD1602_write_com( uchar com){LCD1602_RS = 0;LCD1602_delay_ms(1);LCD1602_EN = 1;P0 = com;LCD1602_delay_ms(1);LCD1602_EN = 0;}//****************************************************//写数据//****************************************************void LCD1602_write_data( uchar dat){LCD1602_RS = 1;LCD1602_delay_ms(1);P0 = dat;LCD1602_EN = 1;LCD1602_delay_ms(1);LCD1602_EN = 0;}//****************************************************//连续写字符//****************************************************void LCD1602_write_word(unsigned char *s){while(*s>0){LCD1602_write_data(*s);s++;}}void Init_LCD1602(){LCD1602_EN = 0;LCD1602_RW = 0; //设置为写状态LCD1602_write_com(0x38); //显示模式设定LCD1602_write_com(0x0c); //开关显示、光标有无设置、光标闪烁设置LCD1602_write_com(0x06); //写一个字符后指针加一LCD1602_write_com(0x01); //清屏指令}//**************************************************** //矩阵键盘扫描//**************************************************** unsigned char KEY_Scan(){unsigned char temp = 0;unsigned char com = 0x55 , com1 = 0 , com2 = 0;P3=0xf0;if(P3!=0xf0){com1=P3;P3=0x0f;com2=P3;}P3=0xf0;while(P3!=0xf0);temp=com1|com2;if(temp==0xee)com=1;//数字1if(temp==0xed)com=4;//数字4if(temp==0xeb)com=7;//数字7if(temp==0xe7)com=11;//备用键*号键if(temp==0xd7)com=0;//数字0if(temp==0xb7)com=14;//备用键*号键if(temp==0xde)com=2; //数字2if(temp==0xdd)com=5; //数字5if(temp==0xdb)com=8;//数字8if(temp==0xbe)com=3;//数字3if(temp==0xbd)com=6; //数字6if(temp==0xbb)com=9;//数字9if(temp==0x7e)com=16;//数字A键,去皮功能if(temp==0x7d)com=15;//数字B键清除键,二次测量if(temp==0x7b)com=12;//数字C输入单价错误时返回上一步if(temp==0x77)com=13;//数字D键,计算总价return(com);}unsigned long HX711_Read(void) //增益128{unsigned long count;unsigned char i;HX711_DOUT=1;Delay__hx711_us();HX711_SCK=0;count=0;while(HX711_DOUT);for(i=0;i<24;i++){HX711_SCK=1;count=count<<1;HX711_SCK=0;if(HX711_DOUT)count++;}HX711_SCK=1;count=count^0x800000;//第25个脉冲下降沿来时,转换数据Delay__hx711_us();HX711_SCK=0;return(count);}//****************************************************//称重//****************************************************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采样数值。
2023年关于1hx711官方资料海芯

hx711官方资料海芯hx711官方资料海芯(第一篇)HX711是一款由海芯科技发展的高精度模数转换芯片。
该芯片主要用于计量应用,提供了高精度、低噪声和输出稳定性。
HX711可以与电子秤、传感器和其他测量设备结合使用,以提供准确可靠的测量结果。
HX711芯片采用DOUT和PD_SCK接口进行数据通信。
它内部包含了一个可变增益放大器和24位的模数转换器。
这个模数转换器能够将模拟信号转换为数字信号,并输出给控制器进行处理。
HX711还具有低功耗特性,可以在电池供电条件下正常工作。
HX711芯片的主要特点如下:1. 高精度:HX711的内部ADC分辨率为24位,可以实现较高的测量精度。
它的输入示数范围为正负2^23,对于大多数计量应用来说已经足够了。
2. 低噪声:HX711芯片在模数转换过程中采用了不同的滤波技术,可以有效地抑制噪声的干扰,提高测量的准确性。
3. 输出稳定性:HX711的输出信号非常稳定,可以在测量过程中保持高精度和稳定性。
这使得它非常适合用于实时控制和监测应用。
4. 灵活性:HX711芯片具有可调增益功能,可以根据实际需求进行设置。
这使得它可以与不同类型的传感器和测量设备配合使用,满足不同的应用需求。
HX711芯片的工作原理如下:在测量过程中,传感器会输出一个模拟信号,表示被测量物体的参数。
这个模拟信号经过HX711芯片的可变增益放大器放大后,再经过模数转换器转换为数字信号。
最后,这个数字信号通过DOUT接口输出给控制器进行处理。
为了提高测量的准确性,HX711芯片还提供了低噪声电源和可计算的内部电压参考源。
低噪声电源可以有效地降低电源噪声对测量结果的干扰,而内部电压参考源可以用于校准芯片的增益和偏移量。
总结起来,HX711是一款高精度模数转换芯片,主要用于计量应用。
它具有高精度、低噪声和输出稳定性的特点,可以与各种传感器和测量设备配合使用,提供准确可靠的测量结果。
HX711的应用范围非常广泛,包括电子秤、工业自动化、仪器仪表等领域。
hx711中文资料

HX711中文资料一、HX711简介1. 高分辨率:24位ADC,能够精确地测量微小的重量变化。
2. 低功耗:在正常工作模式下,功耗仅为1.5毫安。
3. 简单的接口:采用SPI数字接口,方便与各种微控制器(如51、AVR、PIC等)相连。
4. 内置稳压电路:支持2.7V至5.5V的宽电压范围,适应不同场景需求。
5. 抗干扰能力强:具有优异的电磁兼容性和温度稳定性。
二、HX711核心参数1. 输入通道:两个差分模拟输入通道,可接桥式传感器或直接接入传感器。
2. 采样率:10SPS至80SPS可调,可根据实际需求选择合适的采样率。
3. 精度:最高±0.0015%FS(满量程)4. 量程:±20mV至±80mV,可根据传感器类型和量程进行配置。
5. 工作温度:40℃至+85℃三、HX711引脚说明1. VCC:电源输入,2.7V至5.5V。
2. GND:地线。
3. A:模拟输入端,接传感器正端。
4. B:模拟输入端,接传感器负端。
5. C:传感器激励端,输出高电平时,为传感器提供激励电流。
6. D:传感器激励端,输出低电平时,为传感器提供激励电流。
7. E:数字输出端,用于接收外部时钟信号。
8. PD_SCK:串行时钟输入,用于控制AD转换和数据输出。
9. DOUT:串行数据输出,输出AD转换结果。
10. GN:增益选择端,接VCC时为128倍增益,接GND时为64倍增益。
四、HX711应用电路1. 电源电路:为HX711提供稳定的电源输入,确保其正常工作。
2. 传感器接口:将传感器与HX711的A、B、C、D引脚相连,实现信号输入。
3. 微控制器接口:通过SPI接口将HX711与微控制器相连,实现数据传输和控制。
4. 去耦电路:在电源输入端加入滤波电容,提高电路的抗干扰能力。
五、HX711编程基础1. 初始化设置将PD_SCK引脚设置为高电平,确保HX711处于待机状态。
专用型高精度24位AD转换器芯片H711说明

HX711称重传感器专用模拟/数字(A/D)转换器芯片简介:HX711是一款专为高精度称重传感器而设计的24位A/D转换器芯片。
与同类型其它芯片相比,该芯片集成了包括稳压电源、片内时钟振荡器等其它同类型芯片所需要的外围电路,具有集成度高、响应速度快、抗干扰性强等优点。
降低了电子秤的整机成本,提高了整机的性能和可靠性。
该芯片与后端MCU芯片的接口和编程非常简单,所有控制信号由管脚驱动,无需对芯片内部的寄存器编程。
输入选择开关可任意选取通道A或通道B,与其内部的低噪声可编程放大器相连。
通道A的可编程增益为128或64,对应的满额度差分输入信号幅值分别为±20mV或±40mV。
通道B则为固定的32增益,用于系统参数检测。
芯片内提供的稳压电源可以直接向外部传感器和芯片内的A/D转换器提供电源,系统板上无需另外的模拟电源。
芯片内的时钟振荡器不需要任何外接器件。
上电自动复位功能简化了开机的初始化过程。
特点:两路可选择差分输入片内低噪声可编程放大器,可选增益为64 和128片内稳压电路可直接向外部传感器和芯片内A/D 转换器提供电源片内时钟振荡器无需任何外接器件,必要时也可使用外接晶振或时钟上电自动复位电路简单的数字控制和串口通讯:所有控制由管脚输入,芯片内寄存器无需编程可选择10Hz 或80Hz 的输出数据速率同步抑制50Hz 和60Hz 的电源干扰耗电量(含稳压电源电路):典型工作电流:<1.7mA, 断电电流:<1μA工作电压范围:2.6 ~ 5.5V工作温度范围:-20 ~ +85℃16 管脚的SOP-16 封装管脚说明模拟输入通道A模拟差分输入可直接与桥式传感器的差分输出相接。
由于桥式传感器输出的信号较小,为了充分利用A/D 转换器的输入动态范围,该通道的可编程增益较大,为128或64。
这些增益所对应的满量程差分输入电压分别±20mV或±40mV。
电子秤解决方案_51MCU+HX711

单片机电子秤设计报告秤是一种在实际工作和生活中经常用到的测量器具。
随着计量技术和电子技术的发展,传统纯机械结构的杆秤、台秤、磅秤等称量装置逐步被淘汰,电子称量装置电子秤、电子天平等以其准确、快速、方便、显示直观等诸多优点而受到人们的青睐。
和传统秤相比较,电子秤利用新型传感器、高精度AD转换器件、单片机设计实现,具有精度高、功能强等特点。
本课题设计的电子秤具有基本称重、键盘输入、计算价格、显示、超重报警功能。
该电子秤的测量围为0-10Kg,测量精度达到5g,有高精度,低成本,易携带的特点。
电子秤采用液晶显示汉字和测量记过,比传统秤具有更高的准确性和直观性。
另外,该电子秤电路简单,使用寿命长,应用围广,可以应用于商场、超市、家庭等场所,成为人们日常生活中不可少的必需品。
一、功能描述1、采用高精度电阻应变式压力传感器,测量量程0-10kg,测量精度可达5g。
2、采用电子秤专用模拟/数字(A/D)转换器芯片hx711对传感器信号进行调理转换,HX711 采用了海芯科技集成电路专利技术,是一款专为高精度电子秤而设计的24 位A/D 转换器芯片。
3、采用STC89C52单片机作为主控芯片,实现称重、计算价格等主控功能。
4、采用128*64汉字液晶屏显示称重重量、单价、总价等信息。
5、采用4*4矩阵键盘进行人机交互,键盘容量大,操作便捷。
6、具有超量程报警功能,可以通过蜂鸣器和LED灯报警。
7、系统通过USB电源供电,单片机程序也可通过USB线串行下载。
二、硬件设计1、硬件方案单片机电子秤硬件方案如图1所示:图1 单片机电子秤硬件方案称重传感器感应被测重力,输出微弱的毫伏级电压信号。
该电压信号经过电子秤专用模拟/数字(A/D)转换器芯片hx711对传感器信号进行调理转换。
HX711 采用了海芯科技集成电路专利技术,是一款专为高精度电子秤而设计的24 位A/D 转换器芯片,置增益控制,精度高,性能稳定。
HX711芯片通过2线串行方式与单片机通信。
基于单片机的电子秤设计HX711

目录引言................................................................ - 1 -第一章系统地组成及工作原理....................................... - 2 -1.1 系统地组成.................................................... - 2 - 1.2系统地工作原理................................................ - 3 -第二章系统硬件设计............................................... - 4 -2.1主控芯片STC89C52单片机基本系统................................. - 4 -2.1.1 STC89C52单片机性能介绍................................... - 4 -2.1.2 STC89C52单片机引脚功能................................... - 4 -2.1.3 复位电路 ................................................. - 5 -2.1.4 晶振电路 ................................................. - 6 -2.2 A/D转换芯片HX711接口电路地设计................................ - 6 -2,2.1 HX711引脚功能............................................ - 7 -2.2.2 HX711管脚说明............................................ - 8 -2.3 压电传感器地设计 .............................................. - 12 -2.3.1 应变式电阻传感器 ......................................... - 12 -2.3.2 应变片式电阻传感器地结构和原理 ........................... - 12 -2.3.3 全桥测量电路 ............................................. - 13 -2.4 显示电路设计 .................................................. - 14 -2.4.1 LCD1602命令及时序......................................... - 17 -2.5 键盘输入...................................................... - 19 -第三章系统软件设计.............................................. - 20 -3.1 C语言在单片机中地应用........................................ - 20 -3.2 系统主程序流程图 ............................................. - 21 -3.3 子程序设计.................................................... - 22 -3.3.1 A/D数据采集子程序........................................ - 22 -3.3.2 显示子程序 ............................................... - 22 -3.3.3 键盘扫描子程序 ............................................ - 23 -第四章系统地调试................................................. - 24 -4.1 AD值反向转换重力值地参数计算.................................. - 24 -4.2 误差分析...................................................... - 24 -总结............................................................... - 25 -致谢............................................................... - 25 -参考文献........................................................... - 26 -附录1 系统原理图 ....................................... 错误!未定义书签。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
电子秤解决方案_(51M C U+H X711) -CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN单片机电子秤设计报告秤是一种在实际工作和生活中经常用到的测量器具。
随着计量技术和电子技术的发展,传统纯机械结构的杆秤、台秤、磅秤等称量装置逐步被淘汰,电子称量装置电子秤、电子天平等以其准确、快速、方便、显示直观等诸多优点而受到人们的青睐。
和传统秤相比较,电子秤利用新型传感器、高精度AD转换器件、单片机设计实现,具有精度高、功能强等特点。
本课题设计的电子秤具有基本称重、键盘输入、计算价格、显示、超重报警功能。
该电子秤的测量范围为0-10Kg,测量精度达到5g,有高精度,低成本,易携带的特点。
电子秤采用液晶显示汉字和测量记过,比传统秤具有更高的准确性和直观性。
另外,该电子秤电路简单,使用寿命长,应用范围广,可以应用于商场、超市、家庭等场所,成为人们日常生活中不可少的必需品。
一、功能描述1、采用高精度电阻应变式压力传感器,测量量程0-10kg,测量精度可达5g。
2、采用电子秤专用模拟/数字(A/D)转换器芯片hx711对传感器信号进行调理转换,HX711 采用了海芯科技集成电路专利技术,是一款专为高精度电子秤而设计的24 位A/D 转换器芯片。
3、采用STC89C52单片机作为主控芯片,实现称重、计算价格等主控功能。
4、采用128*64汉字液晶屏显示称重重量、单价、总价等信息。
5、采用4*4矩阵键盘进行人机交互,键盘容量大,操作便捷。
6、具有超量程报警功能,可以通过蜂鸣器和LED灯报警。
7、系统通过USB电源供电,单片机程序也可通过USB线串行下载。
二、硬件设计1、硬件方案单片机电子秤硬件方案如图1所示:图1 单片机电子秤硬件方案称重传感器感应被测重力,输出微弱的毫伏级电压信号。
该电压信号经过电子秤专用模拟/数字(A/D)转换器芯片hx711对传感器信号进行调理转换。
HX711 采用了海芯科技集成电路专利技术,是一款专为高精度电子秤而设计的24 位A/D 转换器芯片,内置增益控制,精度高,性能稳定。
HX711芯片通过2线串行方式与单片机通信。
单片机读取被测数据,进行计算转换,再液晶屏上显示出来。
矩阵键盘主要用于计算金额。
当被测物体重量得到后,用户可以通过矩阵键盘输入单价,电子秤自动计算总金额并在液晶屏显示。
电源系统给单片机、HX711电路及传感器供电。
2、称重传感器传感器是测量机构最重要的部件。
称重传感器本身具有单调性,其主要参数指标是灵敏度、总误差和温度漂移。
(1) 灵敏度称重传感器的电灵敏度为满负荷输出电压与激励电压的比值,典型值是2mV/V。
当使用2 mV/V灵敏度和5 V激励电压的传感器时,其满度输出电压为10 mV。
通常,为了使用称重传感器线性度最好的一段称重范围,应当仅使用满度范围的三分之二。
因此满度输出电压应当大约为6mV。
当电子秤应用于工业环境时,在6mV满度范围内测量微小的信号变化并非易事。
(2) 总误差总误差是指输出误差和额定误差的比值。
典型电子秤的总误差指标大约是%,这一技术指标相当重要,它限制了使用理想信号调节电路所能达到的精确度,决定了ADC分辨率的选择以及放大电路和滤波器的设计。
(3) 漂移称重传感器也产生与时间相关的漂移。
目前常用的称重传感器有电阻应变式压力传感器、电容压力传感器、压电式压力传感器。
选用时应按稳定行、精度登记、寿命和安装环境要求考虑,其主要特点如下:(1) 电容式压力传感器稳定性较差,精度和灵敏度较高,寿命较短,对环境要求苛刻,不易长距离传输。
(2) 压电式压力传感器稳定性好,精度和灵敏度高,寿命长,但大量程的压力传感器尚待进一步研究。
(3) 电阻应变式压力传感器稳定性较好,精度和灵敏度较高,寿命较长,对测量环境要求不太严格。
综上所述,选用电阻应变式压力传感器作为电子秤称重传感器是最为合适的。
电阻应变式压力传感器主要由弹性体、电阻应变片电缆线等组成,内部线路采用惠更斯电桥,当弹性体承受载荷产生变形时,电阻应变片(转换元件)受到拉伸或压缩应变片变形后,它的阻值将发生变化(增大或减小),从而使电桥失去平衡,产生相应的差动信号,供后续电路测量和处理。
电阻应变式传感器测量原理如图2所示。
图2 电阻应变式传感器测量原理当垂直正压力P作用于梁上时,梁产生形变,电阻应变片R1、R3受压弯拉伸,阻值增加;R2、R4受压缩,阻值减小。
电桥失去平衡,产生不平衡电压,不平衡电压与作用在传感器上的载菏P成正比,从而将非电量转化成电量输出。
R1、R2、R3和R4组成惠更斯电桥,将2对电阻应变片的阻值变化转变成输出电压,其工作原理如图3所示。
图3 测量电桥原理3、电子秤专用24位AD转换芯片HX711及其电路HX711 采用了海芯科技集成电路专利技术,是一款专为高精度电子秤而设计的24 位A/D 转换器芯片。
与同类型其它芯片相比,该芯片集成了包括稳压电源、片内时钟振荡器等其它同类型芯片所需要的外围电路,具有集成度高、响应速度快、抗干扰性强等优点。
降低了电子秤的整机成本,提高了整机的性能和可靠性。
该芯片与后端MCU 芯片的接口和编程非常简单,所有控制信号由管脚驱动,无需对芯片内部的寄存器编程。
输入选择开关可任意选取通道 A 或通道B,与其内部的低噪声可编程放大器相连。
通道A 的可编程增益为128 或64,对应的满额度差分输入信号幅值分别为±20mV或±40mV。
通道 B 则为固定的32 增益,用于系统参数检测。
芯片内提供的稳压电源可以直接向外部传感器和芯片内的A/D 转换器提供电源,系统板上无需另外的模拟电源。
芯片内的时钟振荡器不需要任何外接器件。
上电自动复位功能简化了开机的初始化过程。
HX711内部方框图如图4所示。
其外部管脚如图5所示。
图4 HX711内部方框图图5 HX711外部管脚图图5为HX711芯片应用于计价秤的一个参考电路图。
该方案使用内部时钟振荡器(XI=0),10Hz的输出数据速率(RATE=0)。
电源(~)直接取用与MCU 芯片相同的供电电源。
通道A与传感器相连,通道B通过片外分压电阻与电池相连,用于检测电池电压。
图6 HX711计价秤应用参考电路图本课题设计的HX711电路如图7所示:图7 HX711电路4、单片机STC89C52及其电路(1) STC89C52 单片机概述STC89C52系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍,内部集成MAX810专用复位电路。
(2) STC89C52 单片机特点增强型 8051 CPU,1T,单时钟/机器周期,指令代码完全兼容传统8051;工作电压: - (5V单片机);工作频率范围:0~40MHz,相当于普通8051的 0~80MHz;用户应用程序空间4K遵循先难后易、先大后小的原则。
B. 布局可以参考硬件工程师提供的原理图和大致的布局,根据信号流向规律放置主要原器件。
C. 总的连线尽可能的短,关键信号线最短。
D. 强信号、弱信号、高电压信号和弱电压信号要完全分开。
E. 高频元件间隔要充分。
F. 模拟信号、数字信号分开。
⑤相同结构电路部分应尽可能采取对称布局。
⑥按照均匀分布、重心平衡、版面美观的标准来优化布局。
(5) PCB设计遵循的规则①地线回路规则:图17 地线回路规则环路最小规则,即信号线与其回路构成的环面积要尽可能小,环面积要尽可能小,环面积越小,对外的辐射越少,接收外界的干扰也越小。
针对这一规则,在地平面分割时,要考虑到地平面与重要信号走线的分布,防止由于地平面开槽等带来的问题;在双层板设计中,在为电源留下足够空间的情况下,应该将留下的部分用参考地填充,且增加一些必要的过孔,将双面信号有效连接起来,对一些关键信号尽量采用地线隔离,对一些频率较高的设计,需特别考虑其地平面信号回路问题,建议采用多层板为宜。
②窜扰控制窜扰(CrossTalk)是指PCB上不同网络之间因较长的平行布线引起的相互干扰,主要是由于平行线间的分布电容和分布电感的作用。
克服窜扰的主要措施是:A.加大平行布线的间距,遵循3W规则。
B.在平行线间插入接地的隔离线。
C.减少布线层与地平面的距离③屏蔽保护图18 屏蔽保护对应地线回路规则,实际上也是为了尽量减小信号的回路面积,多用于一些比较重要的信号,如时钟信号,同步信号;对一些特别重要,频率特别高的信号,应该考虑采用铜轴电缆屏蔽结构设计,即将所布的线上下左右用地线隔离,而且还要考虑好如何有效的让屏蔽地与实际地平面有效结合。
④走线方向控制规则相邻层的走线方向成正交结构,避免将不同的信号线在相邻层走成同一方向,以减少不必要的层间窜扰;当由于板结构限制(如某些背板)难以避免出现该情况,特别是信号速率较高时,应考虑用地平面隔离各布线层,用地信号线隔离各信号线。
⑤电源与地线层的完整性规则对于导通孔密集的区域,要注意避免孔在电源和地层的挖空区域相互连接,形成对平面层的分割,从而破坏平面层的完整性,并进而导致信号线在地层的回路面积增大。
四、软件设计1、软件流程图本设计主程序使用了定时器,用来实现每秒称重一次的功能,流程图如图19所示。
键盘扫描程序如图20所示。
图19 时钟中断程序流程图图20 键盘扫描程序流程图主程序软件流程如图21所示。
图21 主程序流程图3、主程序下面介绍主程序编写,其他程序略。
(1) 头文件和一些宏定义#include <>#include <>#include <>#include ""#include ""#include "";;int2str(j,str1);if (j<10)else if (j<100){display_GB2312_string(3,84,"0");display_GB2312_string(3,92,str1);}else{display_GB2312_string(3,84,str1);}};..");To_Zero();display_GB2312_string(1,1,"电子秤初始化成功");display_GB2312_string(3,1,"重量: kg");display_GB2312_string(5,1,"单价: 元");display_GB2312_string(7,1,"金额: 元");Display_Price();while(1){和.h 文件拷贝至新建项目,重新编译即可。