基于单片机的电子秤设计HX711_第1页
基于单片机的电子秤设计HX711_第2页
基于单片机的电子秤设计HX711_第3页
基于单片机的电子秤设计HX711_第4页
基于单片机的电子秤设计HX711_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、安徽建筑大学毕业设计(论文)目录引言- 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引脚功能- 8 -2.2.2 HX711管脚说明- 8 -2.3 压电传感器的设计- 12 -2.3.1 应变式电阻传感器- 12 -

2、2.3.2 应变片式电阻传感器的结构和原理- 12 -2.3.3 全桥测量电路- 14 -2.4 显示电路设计- 15 -2.4.1 LCD1602命令及时序- 18 -2.5 键盘输入- 20 -第三章 系统软件设计- 21 -3.1 C语言在单片机中的应用- 21 -3.2 系统主程序流程图- 22 -3.3 子程序设计- 23 -3.3.1 A/D数据采集子程序- 23 -3.3.2 显示子程序- 23 -3.3.3 键盘扫描子程序- 24 -第四章 系统的调试- 25 -4.1 AD值反向转换重力值的参数计算- 25 -4.2 误差分析- 25 -总结- 26 -致谢- 27 -参考文

3、献- 28 -附录1 系统原理图- 29 -附录2 系统程序清单- 33 -附录3 实物图- 42 -安徽建筑大学毕业设计(论文)基于单片机的电子秤设计电子与信息工程学院 电子信息工程专业 2009级1班 唐杰指导教师 吕虹引言随着人们生活水平的不断提高,商业水平越来越现代化,人们对商品的度量速度和精度也提出了新的要求。目前,商用电子计价秤的使用非常普及,逐渐会取代传统的杆秤和机械案秤。电子计价秤在秤台结构上有一个显著的特点:一个相当大的秤台,只在中间装置一个专门设计的传感器来承当物料的全部重量。为了满足电子秤的设计要求,本设计针对普通商业度量需要分析和设计。论述了系统的设计思想、方法及设计实

4、施过程,详细分析了各个模块的选用、功能及实现方法,包括系统的硬件构成,传感器的选择,系统的运作流程图等,以及所用到的一些工具,工作环境。我们进行了各单元电路方案的比较论证及确定,最终选取以STC89C52单片机为控制核心,传感器选用HL-8型悬臂梁式电阻应变式传感器。该芯片集成了包括稳压电源、片内时钟振荡器等其它同类型芯片所需要的外围电路,具有集成度高、响应速度快、抗干扰性强等优点。降低了电子秤的整机成本,提高了整机的性能和可靠性。该芯片与后端MCU芯片的接口和编程非常简单,所有控制信号由管脚驱动,无需对芯片内部的寄存器进行编程。 第一章 系统的组成及工作原理1.1 系统的组成本数字电子秤系统

5、可分为单片机控制电路、A/D转换电路、传感器、LCD显示、矩阵键盘、蜂鸣器模块等几部分,其系统组成如图1-1所示。称重传感器 HL-8型数据采集部分电子秤专用24位高精度高增益传感器芯片HX711单片机控制模块单片机STC89C52人机交互界面点阵式1602型的LCD4*4矩阵键盘蜂鸣器报警模块 图1-1 系统的组成框图1.2 系统的工作原理系统原理如图1-1所示,系统通过传感器将压力这种物理量转化为电信号,即传感器内部的电阻应变片感应到压力后,电阻发生微小变化,通过全桥测量电路将电阻的微小变化转化成电压的微小变化,HX711将信号调整到A/D能采集的范围,然后由A/D进行采集,接着把采集到的

6、24位高低电平通过DOUT送到单片机进行处理,单片机处理后,把数字信号输送到显示电路中,由显示电路输出测量结果。整个系统实现了用单片机来控制输出,在线性度的确定过程中,需要对程序进行反复的修改,最终实现设计的要求。第二章 系统硬件设计2.1主控芯片STC89C52单片机基本系统2.1.1 STC89C52单片机性能介绍STC89C52是一种低功耗、高性能CMOS 8位微控制器,具有8K的在系统可编程闪烁存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上flash允许程序存储器在线可编程,也适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统

7、上可编程闪烁存储单元,使得STC89C52为众多嵌入式控制应用系统提供灵活、有效的解决方案。STC89C52具有以下标准功能:8K字节闪烁存储器,256字节读写存储器,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许读写存储器、定时器/计数器、串口、中断继续工作。掉电保护方式下,读写存储器内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。2.1.2 STC89C52单片机引脚功能V

8、CC:电源。GND:地。P0口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在闪烁编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1口:P1口是一个具有内部上拉电阻的8位双向I/O口,P1输出缓冲器能驱动4个TTL逻辑电平。对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。P2口:P2口

9、是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。在访问外部程序存储器或用16位地址读取外部数据存储器时,P2口送出高八位地址。在这种应用中,P2口使用很强的内部上拉发送“1”。在使用8位地址访问外部数据存储器时,P2口输出P2锁存器的内容。在闪烁编程和校验时,P2口也接收高8位地址字节和一些控制信号。P3口:P3口是一个具有内部上拉电阻的8位双向I/O口,P3输出缓冲器能驱动4个TTL逻辑电平。对P3端口写“1”时,内部上拉电阻

10、把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。RST:复位输入。当晶振工作时,RST引脚持续2个机器周期高电平将使单片机复位。EA/VPP:访问外部程序存储器控制信号。为使能从0000H到FFFFH的外部程序存储器读取指令,EA必须接GND。为了执行内部程序指令,EA应该接Vcc。在闪烁编程期间,EA也接收12伏VPP电压。XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端。2.1.3 复位电路单片机上电时,当振荡器正在运行时,只要持续给出RST引脚两个机器周期的高电平,便可完成系统复位。外部复位电

11、路是为提供两个机器周期以上的高电平而设计的。系统采用上电自动复位,上电瞬间电容器上的电压不能突变,RST上的电压是Vcc上的电压与电容器上的电压之差,因而RST上的电压与Vcc上的电压相同。随着充电的进行,电容器上的电压不断上升,RST上的电压与Vcc上的电压相同。随着充电的进行,电容器上的电压不断上升,RST上的电压就随着下降,RST脚上只要保持10ms以上高电平,系统就会有效复位。电容C1可取1033F,R取10k,充电时间常数为1010-610103=100ms。复位电路的实现可以有很多种方法,但是从功能上一般分为两种:一种是电源复位,即外部的复位电路在系统通上电源之后直接使单片机工作,

12、单片机的起停通过电源控制;另一种方法是在复位电路中设计按键开关,通过按键开关触发复位电平,控制单片机的复位。本设计使用了第二种方法,其电路图如图2-1所示。 图2-1 STC89C52单片机复位电路,晶振电路图2.1.4 晶振电路STC89C52单片机有一个用于构成内部振荡器的反相放大器,XTAL1和XTAL2分别是放大器的输入、输出端,外接石英晶体或陶瓷振荡器以及补偿电容C2、C3构成并联谐振电路。当外接石英晶体时,电容C2、C3选30pF10pF;当外接陶瓷振荡器时,电容C2、C3选40pF10pF。STC89C52系统中晶振频率一般在1.212MHz选择。外接电容C2、C3的大小会影响振

13、荡器频率的高低、振荡频率的稳定度、起振时间及温度稳定性。在设计电路板时,晶振和电容应靠近单片机,以便减少寄生电容,保证振荡器稳定可靠工作。在本系统中,选择了12MHz石英晶振,电容C1、C2为30pF。其电路图如图2-1所示。2.2 A/D转换芯片HX711接口电路的设计根据设计要求,系统要求输出的电流信号为201000mA,步进为1mA,且要求显示数值,因此,给定量的执行元件A/D转换器至少需要12位的转换精度。结合系统的设计要求,并考虑到单片机的I/O接口资源紧张等因素,最终确定选用HX711量化精度能达到1/40961/1000,完全能达到设计的精度要求。HX711接口电路如图2-2所示

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

15、压电源可以直接向外部传感器和芯片内的A/D转换器提供电源,系统板上无需另外的模拟电源。芯片内的时钟振荡器不需要任何外接部件。上电自动复位功能简化了开机的初始化过程。2,2.1 HX711引脚功能表21 HX711引脚功能管脚号名称性能描述1VSUP电源稳压电路供电电源:2.6-5.5V(不用稳压电路时接AVDD)2BASE模拟输出稳压电路控制输出(不用稳压电路时为无连接)3AVDD电源模拟电源:2.6-5.5V4VFB模拟输入稳压电路控制输入(不用稳压电路时应接地)5AGND地模拟地6VBG模拟输出参考电源输入7INA模拟输入通道A负输入端8INA+模拟输入通道A正输入端9INB模拟输入通道B

16、负输入端10INB+模拟输入通道B正输入端11PD-SCK数字输入断电控制(高电平有效)和串口时钟输入12DOUT数字输出串口数据输出13X0数字输入输出晶振输入(不用晶振时为无连接)14X1数字输入外部时钟或晶振输入,0:使用片内振荡器15RATE数字输入输出数据速率控制,0:10Hz;1:80Hz16DVDD电源数字电源:2.6-5.5V2.2.2 HX711管脚说明模拟输入通道A模拟差分输入可直接与桥式传感器的差分输出相接。由于桥式传感器输出的信号较小,为了充分利用A/D转换器的输入动态范围,该通道的可编程增益较大,为128或64。这些增益所对应的满量程差分输入电压分别20mV或40mV

17、。通道B为固定的增益,所对应的满量程差分输入电压为40mV。通道B应用于包括电池在内的系统参数检测。供电电源数字电源(DVDD)应使用与MCU芯片相同的数字供电电源。HX711芯片内额稳压电路可同时向A/D转换器和外部传感器提供模拟电源。稳压电源的供电电压(VSUP)可与数字电源(DVDD)相同。稳压电源的输出电压值(VAVDD)由外部分压电阻R1、R2和芯片的输出参考电压VBG决定(图1),VAVDD=VBG(R1+ R2)/ R2。应选择该输出电压比稳压电源的输入电压(VSUP)低至少100mV。如果不使用芯片内的稳压电路,管脚VSUP和管脚AVDD应相连,并接到电压为2.65.5V的低噪

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

19、需要为方波。可将MCU芯片的晶振输出管脚上的时钟信号通过20pF的隔直电容连接到XI管脚上,作为外部时钟输入。外部时钟输入信号的幅值可低至150 mV。HX711管脚说明如图2-3所示图2-3 HX711管脚说明串口通讯串口通讯线由管脚PD-SCK和DOUT组成,用来输出数据,选择输入通道和增益。当数据输出管脚DOUT为高电平,表明A/D转换器还未准备好输出数据,此时串口时钟输入信号PD-SCK应为低电平。当DOUT从高电平变低电平后,PD-SCK应输入25至27个不等的时钟脉冲(图二)。其中第一个时钟脉冲的上升沿将读出输出24位数据的最高位(MSB),直至第24个时钟脉冲用来选择下一个A/D

20、转换的输入通道和增益,输入通道和增益说明如表2-3所示。表22 主要电气参数参数条件及说明最小值典型值最大值单位满额度差分输入范围V(inp)-V(inn)0.5(AVDD/GAIN)V输入共模电压范围AGND+0.6 AVDD-0.6V输出数据速率使用片内振荡器,RATE=010Hz使用片内振荡器,RATE=DVDD80外部时钟或晶振,RATE=0fclk/1,105,920外部时钟或晶振,RATE=DVDDfclk/138,240输出数据编码二进制补码800000 7FFFFF(HEX)输出稳定时间(1)RATE=0400mvRATE=DVDD50输入零点漂移增益=1280.2增益=640

21、.8输入噪声增益=128,RATE=050nV(rms)增益=128,RATE= DVDD90温度系数输入零点漂移(增益=128)7nV/增益漂移(增益=128)3ppm/输入共模信号抑制比增益=128,RATE=0100dB电源干扰抑制比增益=128,RATE=0100dB输出参考电压(VBG)1.25V外部时钟或晶振频率1 11.0592 30MHz电源电压DVDD2.6 5.5VAVDD,VSUP2.6 5.5模拟电源电路(含稳压电路)正常工作1600uA断电0.3数字电源电路正常工作100uA断电0.2表23 输入通道和增益选择PD-SCK脉冲数输入通道增益25A12826B6427A

22、64PD-SCK的输入时钟脉冲数不应少于25或多于27,否则会造成串口通讯错误。当A/D转换器的输入通道或增益改变时,A/D转换器需要4个数据输出周期才能稳定。DOUT在4个数据输出周期后才会从高电平变低电平,输出有效数据。如图2-4所示。图2-4 数据输入,输出通道和增益选择时序图表24 四个周期选择说明符号说 明最小值最大值单位T1DOUT下降沿到PD-SCK脉冲上升沿0.1usT2PD-SCK脉冲上升沿到DOUT数据有效0.1usT3PD-SCK正脉冲电平时间0.250usT4PD-SCK负脉冲电平时间0.2us复位和断电当芯片上电时,芯片内的上电自动复位电路会使芯片自动复位。管脚PD-

23、SCK输入来控制HX711的断电。当PD-SCK为低电平时,芯片处于正常工作状态。图2-5 断电控制如果PD-SCK从低电平变高电平并保持在高电平超过60 us,HX711即进入断电状态。如果使用片内稳压电源电路,断电时,外部传感器和片内A/D转换器会被同时断电。当PD-SCK重新回到低电平时,芯片会自动复位后进入正常工作状态。芯片从复位或断电状态后,通道A和增益128会被自动选择为作为第一次A/D转换的输入通道和增益。随后的输入通道和增益选择由PD-SCK的脉冲数决定,参见串口通讯一节。芯片从复位或断电状态进入正常工作状态后,A/D转换器需要4个数据输出周期才能稳定。DOUT在4个数据输出周

24、期后才会从高电平变为低电平,输出有效数据。2.3 压电传感器的设计2.3.1 应变式电阻传感器应变片式电阻传感器是以应变片为传感器元件的传感器。它具有以下优点:1.精度高,测量范围广;2.使用寿命长,性能稳定可靠。3.结构简单、尺寸小、重量轻,因此在测量时,对工件工作状态及应力分布影响小;4.频率响应特性好。应变片响应时间约为100ns;5.可在高低温、高速、高温、强烈振动、强磁场、核辐射和化学腐蚀等恶劣环境条件下工作;6.应变片种类繁多,价格便宜。电阻应变片的工作原理是基于电阻应变效应,即在导体产生机械形变时,它的电阻值相应发生变化。应变片式电阻传感器应用很广。本设计采用的是梁式力传感器,该

25、传感器结构简单、灵敏度高。适用于小压力测量。2.3.2 应变片式电阻传感器的结构和原理电阻应变式传感器是将被测量的力,通过它产生的金属弹性变形转换成电阻变化的原件。由电阻应变片和测量电路两部分组成。常用的电阻应变片有两种:电阻应变片和半导体应变片,本设计采用的是电阻应变片,为获得高电阻值,电阻丝排成网状,并贴在绝缘的基片上,电阻丝两端引出导线,线珊上面有覆盖层,起保护作用。电阻应变片也有误差,产生的因素很多,所以在测量时我们一定要注意。其中的温度的影响最重要,环境温度影响电阻值变化的原因主要是:A:电阻丝温度系数引起的。B:电阻丝与被测原件对桥接零点和输出,灵敏度的影响,即使采用同一批应变也会

26、因应变片之间稍有温度特性之差而引起误差,所以对要求精度较高的传感器,必须进行温度补偿,解决的办法是在被粘贴的基片上采用适当及温度系数的自动补偿,并从外部对它加以适当的补偿。非线性误差是传感器特性中最重要的一点。产生非线性误差的原因很多,一般来说主要由结构设计决定,通过线性补偿,也可以得到改善。滞后和蠕变是关于应变片及粘合剂的误差。由于粘合剂为高分子材料,其特性随温度变化较大,所以称重传感器必须在规定的温度范围内使用。电阻应变片的工作原理是基于电阻应变效应,即在导体产生机械形变时,它的电阻值相应发生变化。设有一根电阻丝,如图所示。它在未受力时的原始电阻值为 式中 :电阻丝的电阻率;电阻丝的长度;

27、电阻丝的面积。电阻丝在外力的作用下,将引起电阻变化,且有令电阻丝的轴向效应为,由材料力学可知,为电阻丝材料的泊松系数,经整理可得通常把单位应变所引起的电阻相对变化称作电阻线的灵敏系数,其表达式为从上式可以明显看出,电阻丝灵敏系数由两部分组成:表示受力后由材料的几何尺寸变化引起的;表示由材料电阻变化所引起的。对于金属材料,项的阻值要比小得多,可以忽略,故=。大量实验证明,在电阻丝拉伸比例极限内,电阻的相对变化与应变成正比,即=1.73.6。上式可写成。2.3.3 全桥测量电路应变式传感器常用的测量电路有单臂电桥、差动半桥和差动全桥,其中差动全桥可提高电桥的灵敏度,消除电桥的非线性误差,并可消除温

28、度误差等共模干扰。一般在测量中都使用4片应变片组成差动全桥,本设计所采用的传感器就是全桥测量电路。其电路图如图3-6所示。桥式测量电路有四个电阻,其中任何一个都可以是电阻应变片电阻,电桥的一个对角线接入工作电压U,另一个对角线位输出电压Uo。其特点是:当四个桥臂电阻达到相应关系时,电桥输出为零,或则就有电压输出,可用灵敏检流计来测量,所以电桥能够精确地测量微小的电阻变化。应变电阻作为桥臂电阻接在电桥电路中。无压力时,电桥平衡,输出电压为零;有压力时,电桥的桥臂电阻值发生变化,电桥失去平衡。 全桥测量电路中,将受力性质相同的两片应变片接入电桥对边。其输出灵敏度比半桥提高了一倍,非线性误差和温度误

29、差均得到了改善。图2-6 全桥测量电路2.4 显示电路设计方案一:LED显示 LED就是light emitting diode ,发光二极管的英文缩写,简称LED。它是一种通过控制半导体发光二极管的显示方式,用来显示文字、图形、图像、动画、行情、视频、录像信号等各种信息的显示屏幕。LED显示器结构:基本的半导体数码管是由七个条状发光二极管芯片排列而成的。可实现09的显示。其具体结构有“反射罩式”、“条形七段式”及“单片集成式多位数字式”等LED显示器与显示方式:LED显示块是由发光二极管显示字段的显示器件。通常使用的是七段LED。这种显示块有共阴极与共阳极两种。共阴极LED显示块的发光二极管

30、阴极共地。当某个发光二极管的阳极为高电平时,发光二极管点亮;共阳极LED显示块的发光二极管阳极并接。在设计中使用LED显示块构成N位LED显示器。N位LED显示器有N根位选线和8*N根段选线。根据显示方式不同,位选线与段选线的连接方法不同。段选线控制字符选择,位选线控制显示位的亮、暗。LED显示器有静态显示与动态显示两种方式。我们使用的为动态显示方式。在多位LED显示时,为了简化电路,降低成本,将所有位的段选线并联在一起,由一个8位I/O口控制,而共阴极点或共阳极点分别由响应的I/O口线控制。其中两片74LS244分别用于段信号和位信号的驱动,74LS273用于段信号的锁存,其锁存地址为7FF

31、FH。 图2.7 LED数码管显示方式方案二: LCD显示LCD 液晶显示器是 Liquid Crystal Display 的简称,LCD 的构造是在两片平行的玻璃当中放置液态的晶体,两片玻璃中间有许多垂直和水平的细小电线,透过通电与否来控制杆状水晶分子改变方向,将光线折射出来产生画面。比LED要好的多,但是价钱较其贵。在日常生活中,我们对液晶显示器并不陌生。液晶显示模块已作为很多电子产品的通过器件,如在计算器、万用表、电子表及很多家用电子产品中都可以看到,显示的主要是数字、专用符号和图形。在单片机的人机交流界面中,一般的输出方式有以下几种:发光管、LED数码管、液晶显示器。发光管和LED数

32、码管比较常用,软硬件都比较简单,在前面章节已经介绍过,在此不作介绍,本章重点介绍字符型液晶显示器的应用。 在单片机系统中应用晶液显示器作为输出器件有以下几个优点:(1)显示质量高:由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光,而不像阴极射线管显示器(CRT)那样需要不断刷新新亮点。因此,液晶显示器画质高且不会闪烁。(2)数字式接口:液晶显示器都是数字式的,和单片机系统的接口更加简单可靠,操作更加方便。(3)体积小、重量轻:液晶显示器通过显示屏上的电极控制液晶分子状态来达到显示的目的,在重量上比相同显示面积的传统显示器要轻得多。(4)功耗低:相对而言,液晶显示器的功耗主要

33、消耗在其内部的电极和驱动IC上,因而耗电量比其它显示器要少得多。液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。液晶显示器具有厚度薄、适用于大规模集成电路直接驱动、易于实现全彩色显示的特点,目前已经被广泛应用在便携式电脑、数字摄像机、PDA移动通信工具等众多领域。液晶显示器各种图形的显示原理(1)线段的显示:点阵图形式液晶由MN个显示单元组成,假设LCD显示屏有64行,每行有128列,每8列对应1字节的8位,即每行由16字节,共168=128个点组成,屏上6416个显示单元与显示RAM区1024字节相对应,每一字节的内容和显示屏上相应位置的

34、亮暗对应。例如屏的第一行的亮暗由RAM区的000H00FH的16字节的内容决定,当(000H)=FFH时,则屏幕的左上角显示一条短亮线,长度为8个点;当(3FFH)=FFH时,则屏幕的右下角显示一条短亮线;当(000H)=FFH,(001H)=00H,(002H)=00H,(00EH)=00H,(00FH)=00H时,则在屏幕的顶部显示一条由8段亮线和8条暗线组成的虚线。这就是LCD显示的基本原理。(2)字符的显示:用LCD显示一个字符时比较复杂,因为一个字符由68或88点阵组成,既要找到和显示屏幕上某几个位置对应的显示RAM区的8字节,还要使每字节的不同位为“1”,其它的为“0”,为“1”的

35、点亮,为“0”的不亮。这样一来就组成某个字符。但由于内带字符发生器的控制器来说,显示字符就比较简单了,可以让控制器工作在文本方式,根据在LCD上开始显示的行列号及每行的列数找出显示RAM对应的地址,设立光标,在此送上该字符对应的代码即可。(3)汉字的显示:汉字的显示一般采用图形的方式,事先从微机中提取要显示的汉字的点阵码(一般用字模提取软件),每个汉字占32B,分左右两半,各占16B,左边为1、3、5右边为2、4、6根据在LCD上开始显示的行列号及每行的列数可找出显示RAM对应的地址,设立光标,送上要显示的汉字的第一字节,光标位置加1,送第二个字节,换行按列对齐,送第三个字节直到32B显示完就

36、可以LCD上得到一个完整汉字。1602字符型LCD简介字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,目前常用16*1,16*2,20*2和40*2行等的模块。我们以1602LCD字符型液晶显示器为例。1602LCD分为带背光和不带背光两种,基控制器大部分为HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差别,1602LCD主要技术参数:显示容量:162个字符,芯片工作电压:4.55.5V,工作电流:2.0mA(5.0V),模块最佳工作电压:5.0V,字符尺寸:2.954.35(WH)mm19。由于本次设计的显示模块需要显示多位数字,如果采用数码管显示的话将会

37、占用多个单片机I/O口,使得电路变得更为复杂。所以选用液晶显示,1602LCD符合基本条件,能够采用。2.4.1 LCD1602命令及时序 1602液晶模块的引脚连线如图2-8。其中,第1、2脚为液晶的驱动电源;第三脚VL为液晶的对比度调节,通过在VCC和GND之间接一个10K多圈可调电阻,中间抽头接VL,可实现液晶对比度的调节;液晶的控制线RS、R/W、E分别接单片机的P0.5、P0.6、P0.7;数据口接在单片机的P2口;BL+、BL-为液晶背光电源。图2-8 1602液晶模块的接线图1602液晶模块的初始化过程:延迟15ms写指令38H(不检测忙信号)延迟5ms写指令38H(不检测忙信号

38、)延迟5ms写指令38H(不检测忙信号)(以后每次写指令、读/写数据操作之前均需检测忙信号)写指令38H:显示模式设置写指令08H:显示关闭写指令01H:显示清屏写指令06H:显示光标移动设置写指令0CH:显示开及光标设置1602液晶模块的读操作时序如图2-9所示。图2-9 1602液晶模块的读操作时序1602液晶模块的写操作时序如图2-10所示。图2-10 1602液晶模块的写操作时序2.5 键盘输入键盘输入是人机交互界面中重要的组成部分,它是系统接受用户指令的直接途径。操作者通过键盘向系统发送各种指令或置入必要的数据信息。因此键盘模块设计的好坏,直接关系到系统的可靠性和稳定性。键盘是由若干

39、个按键开关组成,键的多少根据单片机应用系统的用途而定。键盘由许多键组成,每一个键相当于一个机械开关触点,当键按下时,触点闭合,当键松开时,触点断开。单片机接收到按键的触点信号后作相应的功能处理。因此,相对于单片机系统来说键盘接口信号是输入信号。方案一:专用芯片式设计专用键盘处理芯片一般功能比较完善,芯片本身能完成对按键的编码、扫描、消抖和重键等问题的处理,甚至还集成了显示接口功能。列如Intel8279是一种为8位微处理器设计的比较成熟的通用键盘/显示器接口芯片,其功能有:接收来自键盘的输入数据,并作预处理;数据显示的管理和数据显示器的控制。专用键盘处理芯片的优点很明显,可靠性高,口简单,使用

40、方便,适合处理按键较多的情况。但在很多应用场合,考虑成本因素,可能并不是最佳选择。 方案二:矩阵式键盘设计矩阵式键盘又叫行列式键盘。用I/O口线组成行、列结构,按键设置在行列的交点上。例如,用22的行列结构可构成4个键的键盘,44行列结构可构成16个键的键盘。因此,在按键数量较多时,可以节省I/O口线。相对于专用芯片式可以节省成本,且更为灵活。缺点就是需要用软件处理消抖、重键等问题。 图2-11 44矩阵键盘考虑到成本方面,我决定采用矩阵键盘。第三章 系统软件设计在单片机应用系统的开发中,软件的设计是最复杂和困难的,大部分情况下工作量都较大,特别是对那些控制系统比较复杂的情况。如果是机电一体化

41、的设计人员,往往需要同时考虑单片机的软硬件资源分配。本系统的软件设计主要分为系统初始化、按键、显示处理及信号频率输入处理。程序设计是一件复杂的工作,为了把复杂的工作条理化,就要有相应的步骤和方法。其步骤可概括为以下三点: 分析系统控制要求,确定算法:对复杂的问题进行具体的分析,找出合理的计算方法及适当的数据结构,从而确定编写程序的步骤。这是能否编制出高质量程序的关键。 根据算法画流程图:画程序框图可以把算法和解题步骤逐步具体化,以减少出错的可能性。编写程序:根据程序框图所表示的算法和步骤,选用适当的指令排列起来,构成一个有机的整体,即程序。程序数据的一种理想方法是结构化程序设计方法。结构化程序

42、设计是对利用到的控制结构类程序做适当的限制,特别是限制转向语句(或指令)的使用,从而控制了程序的复杂性,力求程序的上、下文顺序与执行流程保持一致性,使程序易读易理解,减少逻辑错误和易于修改、调试。根据系统的控制任务,本系统的软件设计主要由主程序、初始化程序、显示子程序、数据采集子程序和延时程序等组成。3.1 C语言在单片机中的应用C语言是一种通用的计算机程序设计语言,在国际上非常流行。它既可以用来编写计算机的系统程序,也可以用来编写一般的应用程序。以前计算机的系统软件主要用汇编语言编写,单片机应用系统更是如此。C语言是当前最流行的程序设计语言,它像其它高级语言一样,面向用户,面向解题的过程,编

43、程者不必熟悉具体的计算机内部结构和指令;C语言又像汇编语言一样,可以对机器硬件进行操作。如进行端口I,0操作、位操作、地址操作,并可内嵌汇编指令,将汇编指令当作它的语句一样。我们知道,汇编语言将涉及计算机硬件,所以C语言又像低级语言一样,可以对计算机硬件进行控制,因此人们把它称为介于高级语言与低级语言之间的一种中级语言。正是因为C语言具有这样的特性,所以很适合编写要对硬件进行操作的软件程序。本文采用C语言进行编写因为此系统软件比较,其存储量较大,因此必须应用C语言编程了。3.2 系统主程序流程图在系统通电后,主程序首先完成系统初始化,其中包括系统变量定义和给系统变量赋初值等,然后调用A/D采集

44、函数,将A/D采集模块输出的24位二进制串行数据转化为十进制,接着进行调零和定标,最后分离出四位十进制数据的千位、百位、十位和个位,调用液晶显示函数,将对应的数值送到对应的液晶上进行显示。系统主函数流程图如图3-1所示。图3-1 主程序流程图3.3 子程序设计3.3.1 A/D数据采集子程序A/D数据采集子程序主要是采集压电传感器的输出小信号,前24个ADSK脉冲采集24位串行二进制数据,接下来的13个ADSK脉冲选择下次A/D采集的通道和增益,本设计采用1个ADSK脉冲,选择通道A,增益为128。其流程图如图3-2所示。 开始返回输出数据编码采集4位串行数据A/D端口初始化选择下次采集通道和

45、增益图3-2 A/D数据采集子函数流程图3.3.2 显示子程序显示子程序主要是来判断是否需要显示,以及如何去显示,也是十分重要的程序之一。设计流程图如图3-3所示。图3-3 显示子程序流程图3.3.3 键盘扫描子程序键盘电路设计成4X4矩阵式,在程序中可以先判断按键编码,然后根据编码将键盘代表的数值送到相应的存储单元,再进行功能选择或数据处理。设计流程图如图3-4所示。图3-4 键盘扫描子程序流程图第四章 系统的调试系统硬件调试比较简单,首先检查电路的焊接是否正确,用万用表检测电路板是否存在短路或者断路。经检测后再接上电源,用万用表测量电源部分的各个输出电压值,经调试正常后方可接到各部分电路。

46、先按下单片机复位键将系统复位,调用液晶显示子函数显示1234,显示无误后,接上传感器和由24位串行A/D转换芯片构成的调理电路和A/D转换电路,将全部的程序烧到芯片中,观察液晶上是否显示0000,如果没有显示,即进行软件调零工作,待调零完成后,用手给传感器慢慢施加压力,看数液晶的数值是否也跟随增大,当放手后,看液晶的数值是否回到0000附近。4.1 AD值反向转换重力值的参数计算满量程输出电压=激励电压*灵敏度1.0mv/v,例如:供电电压是5v 乘以灵敏度2.0mv/v=满量程10mv。相当于有10Kg 重力产生时候产生10mV 的电压。假设重力为 AKg, (x10Kg),测量出来的 AD

47、 值为 y, 10Kg传感器输出,发送给 AD 模块儿的电压为 AKg* 8.6mV /10Kg =0.86A mV 经过128倍增益后为 128 *0.86A = 110.08AmV 转换为24bit 数字信号为 110.08A mV *224/4.3V =429496. 7296A 所以 y =429496. 7296A /100 = 4294.967296 A 因此得出 A = y /4294.967296 Kg y / 4.30 g 所以得出程序中计算公式Weight_Shiwu = (unsigned int)(float)Weight_Shiwu/4.30+0.05);4.2 误差

48、分析由于所采用的传感器灵敏度很高,如果传感器在水平方向固定的不是很好,会存在一定的误差。另外传感器的引线也很灵敏,稍微触动一下,也会产生误差。总结随着集成电路和计算机技术的迅速发展,使电子仪器的整体水平发生巨大变化,传统的仪器逐步的被智能仪器所取代。智能仪器的核心部件是单片机,因其极高的性价比得到广泛的应用与发展,从而加快了智能仪器的发展。而传感器作为测控系统中对象信息的入口,越来越受到人们的关注。传感器好比人体“五官”的工程模拟物,它是一种能将特定的被测量信息(物理量、化学量、生物量等)按一定规律转换成某种可用信号输出的器件或装置本次设计中的全桥电子称就是在以上仪器的基础上设计而成的。因此,

49、只有充分了解有关智能仪器、单片机、传感器以及各部分之间的关系才能达到要求。经过几个月的努力,终于按照毕业设计进度要求如期完成了实用电子秤控制系统的硬件设计任务。在做毕业设计的过程中,虽然碰到了不少的困难,但是在老师的指导以及自己的努力下,终于取得了一定成果。一、 主要工作及结论1、熟悉STC89C52单片机功能及工作特性,掌握其接口扩展方法。2、通过对数据采集的分析,了解了各种传感器、放大器及A/D转换器有了更深的认识。3、对键盘和显示器进行选型比较,得出各种型号优劣比。4、采用面向对象的思想,分层次、分模块构建设计的总体框架。二、 存在的问题1、系统设计不够优化,有待改善。比如系统的超量程信

50、号直接由单片机送入报警电路,没有设计保护电路再入单片机处理后送入报警电路。2、没有扩展更多电路,如日历时钟电路、通讯接口电路等。日历时钟电路可以显示购货日期,通讯接口电路可以与上位机(PC机)进行通讯,从而将大量的商品数据存于上位机,然后通过串口或并口通讯与电子称相连,达到远距离控制的目的。3、对各种实用芯片价格了解不够,选择上任有欠缺,如所选的称重传感器价格较贵。这些都为我今后的学习和工作留下了积极的影响。致谢大学生涯即将结束,临近毕业,我感慨良多。在论文的设计过程中,我查阅了许多有关压电传感器、A/D转换和C程序设计方面的文献资料,使我对压电传感器的设计和使用有了更深的认识。从论文选题到完

51、成论文,吕虹老师付出了大量心血。设计过程中,他从多方面进行指导,不断对论文提出修改意见。吕虹老师渊博的知识、严谨的治学态度,求实的精神,时刻感染着我。在此,我要衷心地感谢吕虹老师!论文的完成,不仅是我大学四年知识积累的体现,而且也是电信学院所有老师悉心教导的结果,感谢他们让我掌握了一定的专业知识,专业技能和一些做人的道理。同时,我也要感谢周围不断鼓励、支持、帮助我的同学们,是你们的友情、关心、爱心让我倍感生活的精彩和温暖。最后,我要特别感谢我的家人,他们辛勤的付出,无私的关爱让我体会到亲情的伟大,为我茁壮成长提供了良好的环境。参考文献1 Chen Guang,Wang Yong,Wu Gang

52、.Frequency domain identification of flexible structure with the resistance strain gauge sensorA.Intelligent Control and Automation, 2004. WCICA 2004. Fifth World Congress C.2004.2 D. Macnamara,D. Thiel.Optimizing piezo-resistive strain gauge characteristics for intelligent strain sensing application

53、sA.Microelectronics:Design,Technology,and Packaging IIC.2006.3 Clarence W. de Silva.Signal Conditioning and Modification: Bridge CircuitsA.Vibration and Shock HandbookC.2005.4 Sifuentes, E,Casas, O.Direct interface circuit to linearise resistive sensor bridgesJ.Sensors and Actuators. A, Physical,2008,147(1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论