应用传感器设计电子秤–物理重量指示表数值电子秤是利用物体的重力作用来确定物体质量(重量)的测量仪器【实验设计思想】即由非电量(质量或重量)转换成电量的转换元件,它是把拉压力变换成电压的变化或其它形式的适合于计量求值信号的装置。(1)称重传感器(2)测量显示和数据输出的载荷测量装置即处理称重传感器信号的电流源或电压源、调节器、补尝元件、保护线路等)和指示部件(如显示、打印、数据传输和存贮器件等)。这部分习惯上称载荷测量装置或二次仪表。在数字式的测量电路中,通常包括前置放大、滤波、运算、变换、计数、寄存、控制和驱动显示等环节。设计思路当被称物体放置在秤体的秤台上时,其重量便通过秤体传递到称重传感器,传感器随之产生电阻应变效应,将阻值变化转变成电压信号,使物体的重量转换成与被称物体重量成一定函数关系(一般成正比关系)的电信号(电压或电流等)。此信号由放大电路进行放大、经滤波后再由模/数(A/D)器进行转换,数字信号再送到微处器的CPU处理,CPU不断扫描键盘和输出开关,根据键盘输入内容和各种功能开关的状态进行必要的判断、分析、由仪表的软件来控制各种运算。运算结果送到LCD显示器显示。一般地信号的放大、滤波、A/D转换以及信号各种运算处理都在信号采集电路中中完成。压力传感器A/D转换器放大电路AT89S52单片机键盘LCD显示超重报警系统设计总体方案框图系统由6个部分组成:控制器部分、测量部分、报警部分、数据显示部分、键盘部分、和电路电源部分称重传感器称重传感器在受到压力或拉力时会产生电信号,受到不同压力或拉力是产生的电信号也随着变化,而且力与电信号的关系一般为线性关系。本系统中采用的力传感器是航天科技集团公司7Ol所的BK-2F型高精度S形测力/称重传感器。其测量作用力的最大范围可达20N,精度为0.05%。输出经过TS-2型放大器放大后,输出流范围为4-20mA。1.前级采用TS-2型放大器放大后,将原先桥式应变传感器输出的毫伏级电压转换成4-20mA电流2.中间加零位校正电路,用电流源将4mA-20mA电流迁移到0mA-16mA抑制零点飘移。3.后级电路采用廉价的仪器放大器,将电流信号转换为电压信号输出。由于阻容耦合电路的隔直作用,后级的仪器放大器可以做到滤波调节阻值的作用,进而提高电子秤的精度。放大电路组成A/D转换器1.ADC0809引脚及功能逐次比较式8路模拟输入、8位输出的A/D转换器。引脚如图11-14所示。共28脚,双列直插式封装。主要引脚功能如下:(1)IN0~IN7:8路模拟信号输入端。(2)D0~D7:8位数字量输出端。(3)C、B、A:控制8路模拟通道的切换,C、B、A=000~111分别对应IN0~IN7通道。(4)OE、START、CLK:控制信号端,OE为输出允许端,START为启动信号输入端,CLK为时钟信号输入端。(5)VR(+)和VR(-):参考电压输入端。2.ADC0809结构及转换原理结构如图11-15。0809完成1次转换需100s左右,可对0~5V信号进行转换。显示电路部分数据显示是电子秤的一项重要功能,是人机交换的主要组成部分,它可以将测量电路测得的数据经过微处理器处理后直观的显示出来,LCD液晶显示器是一种极低功耗显示器,从电子表到计算器,从袖珍时仪表到便携式微型计算机以及一些文字处理机都广泛利用了液晶显示器。键盘处理部分电子秤需要设置单价(十个数字键),还具有小数点、输出等功能,总共需设置13个键(包括一个复位键)12个按键使用3×4矩阵式键盘,另外一个复位键使用独立式按键实现。各部分电路设计AT89S51的最小系统电路AT89S51单片机的最小系统由时钟、复位电路、电源电路及单片机构成。单片机的时钟信号用来提供单片机片内各种操作的时间基准,复位操作则使单片机的片内电路初始化,使单片机从一种确定的初态开始运行+5VXTAL218XTAL119ALE30EA31PSEN29RST9P0.039P0.138P0.237P0.336P0.435P0.534P0.633P0.732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.010P3.111P3.212P3.313P3.414P3.717P3.616P3.515P2.728P2.021P2.122P2.223P2.324P2.425P2.526P2.627U1AT89S51C130PFC230PFX1CRYSTALGNDC310uFR210kD1R1100VCCVSS4020数据采集部分电路设计数据采集部分电路包括传感器输出信号放大电路、A/D转换器与单片机接口电路。传感器和其外围以及放大电路设计传感器检测电路的功能是把电阻应变片的电阻变化转变为电压输出,由于电桥电路具有很多优点,如可以抑制温度变化的影响,可以抑制侧向力干扰,可以比较方便的解决称重传感器的补偿问题等。由于传感器输出的电流信号很小,是mA级的电流信号,因此为了提高系统的精度,将电流信号转化为电压信号在传感器电路的设计过程中,增加了由普通运放设计的增益调节阻,是为了满足系统精度可调的要求而设计。其电路图如图所示D1DIODED2DIODE+5V32184U2:ATL072-12V+12VR3510C40.01uFRV2(2)VALUE=-20m44%RV12kR447k+12VU3(IN0)U2:A(OP)40%RV25kRV2(2)U2:A(-IP)C5100nFC6100nFA/D转换芯片与AT89S52单片机接口电路设计RSRWLCDENLCDENRWRSSTARTOESTARTOEEOCEOCXTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51LS1SOUNDEROUT121ADDB24ADDA25ADDC23VREF(+)12VREF(-)16IN31IN42IN53IN64IN75START6OUT58EOC7OE9CLOCK10OUT220OUT714OUT615OUT817OUT418OUT319IN228IN127IN026ALE22U3ADC0808显示电路与AT89S52单片机接口电路设计(1)静态驱动所有的段都有独立的驱动电路,表示段电极与公共电极之间连续施加电压。它适合于简单控制的LCD。(2)多路驱动方式构成矩阵电极,公共端数为n,按照1/n的时序分别依次驱动公共端,与该驱动时序相对应,对所有的段信号电极作选择驱动。这种方式适合于比较复杂控制的LCD。RSRWLCDEND714D613D512D411D310D29D18D07E6RW5RS4VSS1VDD2VEE3LCD1LM016LXTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51234567891RP1RESPACK-8行列式(矩阵式)键盘接口用于按键数目较多的场合,由行线和列线组成,按键位于行、列的交叉点上。如图所示。按键数目较多的场合,行列式键盘与独立式键盘相比,要节省很多的I/O口线。键盘电路与AT89S52单片机接口电路设计无键按下,该行线为高电平,当有键按下时,行线电平由列线的电平来决定。(1)行列式键盘工作原理由于行、列线为多键共用,各按键彼此将相互发生影响,必须将行、列线信号配合起来并作适当的处理,才能确定闭合键的位置。(2)按键的识别方法a.扫描法识别键盘有无键被按下的方法,分两步进行:第1步:识别键盘有无键按下;第2步:如有键被按下,识别出具体的按键。把所有列线置0,检查各行线电平是否有变化,如有变化,说明有键按下,如无变化,则无键按下。上述方法称为扫描法,即先把某一列置低电平,其余各列为高电平,检查各行线电平的变化,如果某行线电平为低,可确定此行列交叉点处的按键被按下。b.线反转法只需两步便能获得此按键所在的行列值,线反转法的原理如图10-10。第1步:列线输出为全低电平,则行线中电平由高变低的所在行为按键所在行。第2步:行线输出为全低电平,则列线中电平由高变低所在列为按键所在列。结合上述两步,可确定按键所在行和列。系统软件设计本系统的软件设计主要由主程序、初始化程序、显示子程序、数据采集子程序和延时程序等组成。键盘扫描子程序的设计voidkeyscan(void){temp=0;//列扫描P1=0xF0;//高四位输入列为高电平行为低电平temp=P1;//读P1口temp=temp&0xF0;//屏蔽低四位temp=~((temp4)|0xF0);if(temp==1)//p1.4被拉低key=1;elseif(temp==2)//p1.5被拉低key=2;elseif(temp==4)//p1.6被拉低key=3;//行扫描P1=0x0F;//低四位输入行为高电平列为低电平temp=P1;//读P1口temp=temp&0x0F;temp=~(temp|0xF0);if(temp==1)//p1.0被拉低key=key;elseif(temp==2)//p1.1被拉低key=key+3;elseif(temp==4)//p1.2被拉低key=key+6;elseif(temp==8)//p1.3被拉低key=key+9;键盘是否按下是否功能键显示数字LCD初始化显示总价查找对应字符LCD显示返回显示子程序设计显示子程序主要是来判断是否需要显示,以及如何去显示液晶显显示部分采用的初始化显示为ucharcodedis1[]={totalprice:000.0};ucharcodedis2[]={“weg:pr:00.0};将个按键的值有对应的数值值输入到单片机中用查表的方式找寻对应的字符输出voidDisplay()//显示转换结果{intwz;for(wz=0;wz=3;wz++){ADC0809();lcd_pos(0x44+wz);//向右移动光标lcd_wdat(num[dis0[wz]]);//显示字符}}再通过显示位置设置改变其初值voidlcd_pos(ucharpos){//设定显示位置lcd_wcmd(pos|0x80);}A/D转换启动及数据读取程序设计voidADC0809()//ADC0809主程序{intdata0;TMOD=0x02;//T1工作模式2TH0=0x14;TL0=0x14;IE=0x82;TR0=1;ST=0;delay1();ST=1;//A/D转换清零delay1();ST=0;//启动A/D转换if(EOC==0);//等待转换完成{OE=1;data0=P2*10/6.375;//FFH256/6.375=40data1=d