基于单片机的语音报价电子称的设计 下载本文

LCD1602的初始化;在显示之前,所要做的准备工作就是清屏,也就是将重量的初始值设为零。接着再将接口数据位设置为8位,显示行数需要两行,因此将行数设置为2。每一个字由5×7的点阵组成,再将所要显示的字符设置成整体显示,取消光标和字体闪烁,最后设置为正向增量方式且不移位。向LCD的显示缓冲区中送字符,程序中采用2个字符数组,首先取一个要显示的字符或数据送到LCD1602的显示缓冲区中,在程序延时2.5ms之后判断缓存中的数据是否达到了显示器的要求个数,若达不到所要求的个数就把地址再加一取下一个要显示的字符或数据。直到达到所要求的个数为止。

图3-5 LCD1602与STC89C52的接口电路图

3.3 矩阵键盘模块设计

在键盘中按键数量较多时,为了充分利用有限的资源减少对I/O口的占用,通常将按键排布置成矩阵形式。在矩阵式键盘中,每条水平线的线和垂直的线不是直接进行联通的,而是在交线处加一个按钮,当按下按钮时,两条线就被连接起来了。这样做不仅使得所要用到的按键的个数大大减少了,而且还节省了空间美观大方。由于矩阵键盘布线的特殊性,结构也较直线布线法复杂,因此这里将行线所接的单片机的I/O口作为输出端。如果矩阵键盘中有键被按下,则输入线的电平就变为低电平了,这样一个个检测下来,通过读取输入线电平状态的高低就可以知道否有键被按下了。键盘模块电路图如图3-6所示。

S2SW-PBS6S3SW-PBS7SW-PBS4SW-PBS8SW-PBS12SW-PBS16SW-PBS5SW-PBS9SW-PB12MHZS13SW-PBS17SW-PBC1130PFC1230PFY11234567891011121314151617181920STC89C52P1.0VCCP1.1P0.0P1.2P0.1P1.3P0.2P1.4P0.3P1.5P0.4P1.6P0.5P1.7P0.6RESETP0.7P3.0EA'P3.1ALEP3.2PSEN'P3.3P2.7P3.4P2.6P3.5P2.5P3.6P2.4P3.7P2.3XTAL2P2.2XTAL1P2.1VSSP2.04039383736353433323130292827262524232221+5VSW-PBS10SW-PBS14SW-PBS11SW-PBS15SW-PB

图3-6键盘模块与STC89C52接口电路图

3.4 称重模块的设计

称重模块是本设计的前端部分,在本设中采用了应变效应较好恢复能力较强精度比较高的电阻应变片压变式传感器,它是一种利用电阻应变片的压变效应将被测物体所受地球的重力这种力学量转换为电信号的结构型传感器。可以单独作为传感器使用,还可以和具有弹性的弹性元件相结合构成力学量的传感器[14]。

应变片在受到被测物体的重力挤压以后产生人眼观察不到的微小形变,但这种微小的形变可以改变压变片的电阻,这种量通常是很微小的需要经过进一步的转换处理,这种技术就叫压变效应。这个过程中的量一般都比较小不宜拿来直接处理,还需要把它用经过转化电路即测量电桥转化成电流或电压。

图3-7为一直流供电的平衡电阻电桥,Ein接直流电源E。

图3-7传感器内部连接图

上图被称为电桥,输出端为无穷大时,只有电压输出当忽略电源的内阻时,由分压原理有:

UO?UR1R4?R2R3 (2.1)

(R1?R2)(R3?R4)当满足条件R1R4?R2R3时,U0?0,即电桥平衡。

若电桥各臂均有相应的电阻增量?R1,?R2,?R3和?R4,则由式(2.1)得

U0?U(R1??R1)(R4??R4)?(R2??R2)(R3??R3) (2.2)

(R1??R1?R2??R2)(R3??R3?R4??R4)而在实际中往往采用等臂电桥,也就是说R1?R2?R3?R4?R,此时公式(2.2)可改写为

U0?UR(?R1??R2??R3??R4)??R1?R4??R2?R3 (2.3)

(2R??R1??R2)(2R??R3??R4)当?Ri??R(1,2,3,4)时,略去上式中的高阶微分量

U?R?R?R?RU0?(1?2?3?4) (2.4)

4RRRR且?R?K?,所以式(2.4)可以化简为

RU0?UK(?1??2??3??4) (2.5) 4其中?1、?2、?3、?4表示电桥电阻R1、R2、R3、R4在受到应力之后相对应的变化量。

3.5 信号采集模块设计

3.5.1 模数转换模块HX711芯片介绍

模数转换模块HX711是制作一款高精度的电子称首选的模数转换芯片之一。所以和其它同类型的芯片相比较该芯片的特点是具有很高的集成度,响应速度较同类型一般芯片快的多,它的抗干扰性能也比其它同类型的芯片好。正是由于具有了以上其它芯片所不具有的特点,使得在本设计的方案论证中选用了本芯片,这样可以降低制造成本并提高整机的综合性能和工作可靠性。芯片管脚图如图3-8所示。

HX71112345678VSUPBASEAVDDVFBAGNDVBGINNAINPADVDDRATEXIXODOUTPD_SCKINPBINNB161514131211109

图3-8 HX711引脚图

3.5.2 模数转换模块HX711电路的设计

因为在本设计中采集单通道的重量值就可以了,所以统一把信号接到A通道端,由于采集进来的差分信号电压值还很小,因此HX711工作在增益为128倍的放大倍数,HX711在本设计中的应用电路如图3-9所示。

Header1234C1+5V+5V10UFT12N3906C310UF+5V1VSUP2BASE3AVDDR54VFB10K5AGNDR610K10UF6VBG7INNAC58INPAHX711DVDD16RATE15XI14XO13DOUT12PD_SCK11INPB10INNB9R71KC60.1UFR111KR121K0.1UF+5V1234567891011121314151617181920STC89C52P1.0VCCP1.1P0.0P1.2P0.1P1.3P0.2P1.4P0.3P1.5P0.4P1.6P0.5P1.7P0.6RESETP0.7P3.0EA'P3.1ALEP3.2PSEN'P3.3P2.7P3.4P2.6P3.5P2.5P3.6P2.4P3.7P2.3XTAL2P2.2XTAL1P2.1VSSP2.01C410UF42电桥654321HeaderC7R101K40393837363534333231302928272625242322213 图3-9 HX711与STC89C52的接口电路图

3.6 语音模块设计

本设计采用KY3P035作为语音模块的芯片,NY3P035芯片是一款标准的PWM输出OTP语音芯片,共有3个IO口,其工作电压范围为2.2—5.5V,功耗低,工作可靠稳定,可配置8—16欧姆范围内的任意喇叭,发出清晰的声音。适用范围广,该芯片内部含有一个ROM指令表,储存了0-9和一些常用的字符等32段语音片段,可以任意组合和调用。当需要播报价格时,只需要向语音芯片发送相应片段的语音脉冲信号,该芯片根据单片机发出的序列脉冲信号来查找相应的ROM的地址,调取相应的语音片段来播报价格[15]。 模拟串行工作时各IO的作用:

BUSY:能表示芯片是否处于工作状态下,低电平的情况下,就表示芯片正处于工作状态,高电平的情况下就表示不工作。

DATA:此引脚被用来检测接收语音信号是否播放的控制脉冲,一旦发来控制脉冲,此引脚通过收到的脉冲数迅速辨别是哪个地址的脉冲,然后就调用相应的语音片段播报。语音芯片与单片机的连接电路如下图3-10所示。