身高体重测量系统设计_第1页
身高体重测量系统设计_第2页
身高体重测量系统设计_第3页
身高体重测量系统设计_第4页
身高体重测量系统设计_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

1、宁波理工学院 检测技术与仪表实验课程设计题 目身高体重测量系统设计姓 名陈飞 李江敏 汤涛学号专业班级09自动化1班任课教师钟伟红分 院信息科学与工程分院完成日期 2011年12月20日 摘 要本系统采用单片机 AT89S52 为控制核心,实现身高体重测量系统的基本控制功能。其中体重量程为150Kg,身高量程为2米。系统的硬件部分包括控制器、数据采集处理、显示输出三大部分。控制器部分主要采用AT89S52实现控制功能;数据采集处理部分分两大模块:称重数据采集处理和用超声波测身高数据采集处理,由传感器、信号的前级处理和 A/D 转换部分组成;显示输出部分采用点阵式液晶显示,可以直观的显示中文,使

2、用方便。 软件部分应用单片机汇编语言实现了本设计的全部控制功能,包括基本的称重和测量身高功能和中文显示身高体重数据的功能,由于系统资源丰富,还可以方便的扩展其应用。本系统侧重软件控制整个系统的运行。关键词:单片机:AT89S52;AT89C52目录摘 要IAbstractII1 引言1课题的背景和意义1本论文主要工作12总体设计方案1称重部分1身高部分13传感器选型14 总结与展望1参考文献1附 录31引言 有助于我们了解自己的身高和体重的变化,及时控制自己的饮食和运动,保证自己的身体健康。 本论文主要工作 陈飞负责答辩部分,寻找资料 李江敏负责word制作,寻找资料 唐涛负责PPT制作,寻找

3、资料2总体设计方案硬件电路设计2. 1 称重部分2.1.1 工作原理称重部分主要由称重传感器、放大电路、V/F转换、显示四部分组成,模拟信号通过称重传感器输入,然后经过放大电路放大后通过数模转换器转换存放到控制单元,再由控制部分和显示电路驱动显示。放大电路的设计要考虑到抗干扰设计。称重原理框图如图5所示。AT89S52V/F变换放大电路称重传感器显示电路图5 称重原理框图2.1.2 硬件电路(1)放大电路该部分硬件电路设计关键在于放大电路的抗干扰设计。在这里我采用CMOS四运放LMC660AIM,但是只使用了四只运放中的一只即IC1A,其他三只运放为防止干扰将其接成电压跟随器形式,并将其同相输

4、入端接地。IC1A接成差动输入形式对称重传感器桥路输出的信号进行放大,R2为运放的反馈电阻、决定着该级放大的电压增益。C1、C2、C3、C5均为滤波电容,C1、C2可以滤除传感器输出信号中的高频干扰,C3、C5滤除传感器供电电源中的干扰。(2)A/D转换电路此处A/D转换器次用TLC2543,TLC2543工作原理如下:上电后,片选必须从高到低,才能开始一周工作周期,此时EOC为高,输入数据寄存器被置为0,输出数据寄存器的内容是随机的。开始时,片选为高,I/O CLOCK、DATA INPUT被禁止,DATA OUT呈高阻状态,EOC为高。使变低,I/O CLOCK、DATA INPUT使能,

5、DATA OUT脱离高阻状态。12个时钟信号从I/O CLOCK端依次加入,随着时钟信号的加入,控制字自从DATA INPUT一位一位地在时钟信号的上升沿时被送入TLC2543(高位先送入),同时上一周期转换的A/D数据,即输出数据寄存器中的数据从DATA OUT一位一位的移出。TLC2543收到第4个时钟信号后,通道号也已经收到,因此,此时TLC2543开始对选定通道的模拟量进行采样,并保持到第12个时钟的下降沿,EOC变低,开始对本次采样的模拟量进行A/D转换,转换时间约需10s,转换完成EOC变高,转换的数据在输出数据寄存器中,待下一个工作周期输出。此后,可以进行新的工作周期。TLC25

6、43与AT89S52的接口电路如图6所示。图6 TLC2543与AT89S52的接口电路显示部分与测身高显示采用同一个电路,将在下面单独介绍。本部分的电路图如图7所示。图7称重部分原理图2.2 测身高部分2.2.1 超声波测距原理超声波测距主要应用于倒车雷达、建筑施工工地以及一些工业现场,例如:液位、井深、管道长度等场合。它是通过不断检测超声波发射后遇到障碍物所反射的回波,从而测出发射和接收回波的时间差t,然后求出距离S=Ct/2,式中的C为超声波波速。     超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍

7、物就立即返回来,超声波接收器收到反射波就立即停止计时。超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离(s),即:s=340t/2 。2.2.2 超声波测身高距系统的硬件电路设计     本系统的特点是利用单片机控制超声波的发射和对超声波自发射至接收往返时间的计时,单片机选用AT89S52,经济易用。电路原理图如图8所示。图8超声波测身高距系统电路(1)40kHz 脉冲的产生与超声波发射      测距系统中的超声波传感器采用UCM40的压电陶瓷传感器,它的工作电压是

8、40kHz的脉冲信号,这由单片机执行下面程序来产生 DSH: MOV 14H, #12H;超声波发射持续200ms HERE:  CPL P1.0 ;输出40kHz方波          NOP  ;         NOP  ;         NOP  ;      

9、;   DJNZ  14H,HERE;         RET    电路的输入端接单片机P1.0端口,单片机执行上面的程序后,在P1.0 端口输出一个40kHz的脉冲信号,经过三极管T放大,驱动超声波发射头UCM40T,发出40kHz的脉冲超声波,且持续发射200ms。 (2)超声波的接收与处理      接收头采用与发射头配对的UCM40R,将超声波调制脉冲变为交变电压信号,经运算放大器IC1A和IC1B两极放大

10、后加至IC2。IC2是带有锁定环的音频译码集成块LM567,内部的压控振荡器的中心频率f0=1/1.1R8C3,电容C9决定其锁定带宽。调节Rp1在发射的载频上,则LM567输入信号大于25mV,输出端8脚由高电平跃变为低电平,身高数据通过8脚送至单片机进行数据处理。     电路的输出端接单片机INT0端口,中断优先级最高。(3)计算超声波传播时间     在启动发射电路的同时启动单片机内部的定时器T0,利用定时器的计数功能记录超声波发射的时间和收到反射波的时间。当收到超声波反射波时,接收电路输出端产生一个负跳变,在INT0端产生一

11、个中断请求信号,单片机响应外部中断请求,执行外部中断服务子程序,读取时间差,计算距离。2.3 显示部分显示电路通过软件控制分时显示身高和体重的测量数据。为了大家能分清楚所显示数据是身高还是体重,在设计时我采用了可以显示中文的OCM4X8C液晶显示器。OCM4X8C是具有串/并接口,具内部含有中文字库的图形点阵液晶显示模块。该模块的控制/驱动器采用台湾矽创电子公司的ST7920,因而具有较强的控制显示功能。OCM4X8C的液晶显示屏为128×64点阵,可显示4行、每行8个汉字。为了便于简单、方便地显示汉字,该模块具2Mb的中文字型CGROM,该字型ROM中含有8192个16×

12、16点阵中文字库;同时,为了便于英文和其它常用字符的显示,具有16Kb的16×8点阵的ASCII字符库;为便于构造用户图形,提供了一个64×256点阵的GDRAM绘图区域,且为了便于构造用户所需字型,提供了4组16×16点阵的造字空间。利用上述功能,OCM4X8C可实现汉字、ASCII码、点阵图形、自造字体的同屏显示。为便了和多种微处理器、单片机接口,模块提供了4位并行、8位并行、2线串行、3线串行多种接口方式。该模块具有2.75.5V的宽工作电压范围,且具有睡眠、正常及低功耗工作模式,可满足系统各种工作电压及便携式仪器低功耗的要求。液晶模块显示负电压,也由模块提

13、供,从而简化了系统电源设计。模块同时还提供LED背光显示功能。除此之外,模块还提供了画面清除、游标显示/隐藏、游标归位、显示打开/关闭、显示字符闪烁、游标移位、显示移位、垂直画面旋转、反白显示、液晶睡眠/唤醒、关闭显示等操作指令。OCM4X8C具有串/并多种接口方式,方便了模块与各种单片机、微处理器的连接。(1)4/8位并行接口方式当模块的PSB脚接高电平时,模块即进入并行接口模式。在并行模式下可由功能设定指令的“DL”位来选择8位或4接口方式,主控制系统将配合“RS”、“RW”、“E”DB0DB7来完成指令/数据的传送,其操作时序与其它并行接口液晶显示模块相同。(2)2/3线串行接口方式当模

14、块的PSB脚接低电平时,模块即进入串行接口模式。串行模式使用串行数据线SID与串行时钟线SCLK来传送数据,即构成2线串行模式。OCM4X8C还允许同时接入多个液晶显示模块以完成多路信息显示功能。此时,要利用片选端“CS”构成3线串行接口方式,当“CS”接高电位时,模块可正常接收并显示数据,否则模块显示将被禁止。通常情况下,当系统仅使用一个液晶显示模块时,“CS”可连接固定的高电平。由图2可以看出,单片机与液晶模块之间传送1字节的数据共需24个时钟脉冲。首先,单片机要给出数据传输起始位,这里是以5个连续的“1”作数据起始位,如模块接收到连续的5个“1”,则内部传输被重置并且串行传输将被同步。紧

15、接着,“RW”位用于选择数据的传输方向(读或写),“RS”位用于选择内部数据寄存器或指令寄存器,最后的第8位固定为“0”。在接收到起始位及“RW”和“RW”的第1个字节后,下一个字节的数据或指令将被分为2个字节来串行传送或接收。数据或指令的高4位,被放在第2个字节串行数据的高4位,其低4位则置为“0”;数据或指令的低4位被放在第3个字节的高4位,其低4位也置为“0”,如此完成一个字节指令或数据的传送。需要注意的是,当有多个数据或指令要传送时,必须要等到一个指令完成执行完毕后再传送下一个指令或数据,否则,会造成指令或数据的丢失。这是因为液晶模块内部没有发送/接收缓冲区。OCM4X8C与AT89S

16、52的接口电路如图9所示。在本设计中通过软件来控制显示,单片机先处理称重数据后显示称重结果,在显示时通过软件置数使显示身高程序终止,当称重结果显示一定时间后再显示测量身高结果,因为称重数据传入是以中断方式,所以现实的时候也有可能先显示身高后显示体重。显示器显示数据的同时显示“身高”或“体重”,所以不会影响被测量者看测量结果。图9 OCM4X8C与AT89S52的接口电路 软件设计   AT89S52单片机和其开发应用系统具有语言简洁、可移植性好、表达能力强、表达方式灵活、可进行结构化设计、可以直接控制计算机硬件、生成代码质量高、使用方便等诸多优点。本设计的软件部分采用模块化

17、设计,由主程序、测量体重子程序、测量身高子程序、定时子程序、显示子程序等模块组成。主程序流程图如图10所示。 称重部分软件设计称重部分的A/D转换器采用TLC2543,TLC2543的控制端接单片机的P1.3口,接收称重数据时将其置0,TLC2543的DIN、DOUT端分别接单片机的P1.1、P1.2端口,进行数据传输,TLC2543的I/O CLK端接单片机的P1.0口,P1.0口为转换器提供时钟脉冲。称重主流程图如图11所示。开 始单片机初始化测身高测体重单片机初始化结束测体重入口参数初始化转换存储参数初始化返回图10 主程序流程图 图11 称重主程序流程图称重程序清单:;主程序 ORG

18、0500H LIMP TZH ORG 0800H LJMP TLC2543TZH: MOV P1,#04HMOV R0,#2FH;置数据缓冲区CLR ;置I/O时钟为低SETB;置CS为高ACALLTLC2543;调转换子程序ACALL DISPLAY ;调显示子程序SJMP$;转换子程序TLC2543: MOVA,#0EH;通道选择和工作模式送A ;置CS为低 MOV R5,#0CH ;置输出位记数初始LOOP: MOV;读入转换数据一位RLC A ;将进位位右移给A(将转换数据的一位读入,同时;将一位控制位移如C MOVP1.1,C;送出一位控制位;置I/O时钟为高;置I/O时钟为低 CJ

19、NE R5,#05H;LOP1 MOVR0,A;前8位存入RAMCLRALOP1: DJNZR5,LOOP;未转换完继续 ANLA,#0FH;转换完的存入单元 MOVR0,A MOVR2,#OAH ;延时DELAY: DJNZR2,DELAY; RET END 测量身高部分软件设计测量身高采用超声波测量,单片机的P1.0口为超声波的发射提供计数脉冲,使产生200ms的40KHZ的方波脉冲,当时间到达后假如仍没有收到反射回来的超声波,则重新发射超声波,直到收到反射波为止。在这里有一点值得注意,在开机的时候先不要急于测量,让机器先测量超声波源于人要所站的平面地的距离,并存入测身高入口定时中断子程序

20、有回波吗?外部中断子程序返回NY单片机的内存单元50H和51H,当有人测量时,测出的距离为波源于人头顶的距离,并存入内存单元30H和31H,这时,通过单片机软件设计将50H和51H单元的内容减去30H和31H的内容即得出人的身高,这样可以保证测量的准确性。身高数据传入单片机是通过INT0口的中断,一旦数据传入将直接处理显示,它可能会中断体重测量的数据处理和显示,但不会影响数据的准确性,它与体重测量结果 图12 测量身高主程序流程图的 显示不存在先后问题。测 量身高的主程序流程图如图12,定时 服务子程序及中断子程序流程图分别外部中断入口关外部中断读取时间值计算距离结果输出关外部中断返回如图13

21、(a)、(b)。定时中断入口定时器初始化发出超声波时间到停止发射返回(a)定时子程序 (b)中断子程序图13 服务子程序测量身高程序清单: ;主程序ORG 0300H LIMP SHG ORG 0200H LIMP DSH ORG 0100H LJMP RECEIVE1ORG 0003HLJMP RECEIVE0 ACALL DSH ACALL RECEIVE1 ACALL DISPLAY ;接收子程序RECEIVE1:PUSH   PSW           PUSH

22、60;  ACC        CLR EX0      ;关外部中断0  RETURN:SETB EX0 ;开外部中断0          POP  ACC           POP PSW    

23、0;      RETI;中断子程序RECEIVE0:PUSH PSW PUSH ACC CLR EX0 ;关外部中断0 MOV R7, TH0 ;读取时间值 MOV R6, TL0 CLR C MOV A, R6 SUBB A, #0BBH;计算时间差 MOV 70H, A MOV A, R7 SUBB A, #3CH MOV 69H, A ;计算并存储结果SETB EX0 ;开外部中断0 POP ACCPOP PSW RETI END 显示部分软件设计身高显示为“身高”样式汉字与测量数据(三位)。体重现示为“体重”样式汉字与测量数

24、据(四位)。 显示部分部分源程序:;位定义SID BIT P1.0 ;串行数据线SCLK BIT P1.1 ;串行时钟线;内存数据定义START EQU 80H ;起始字节COM EQU 81H ;命令/数据HDATA EQU 82H ;命令/数据字节高位LDATA EQU 83H ;命令/数据字节低位ASC EQU 84H ;ASCII数据单元初始化子程序:INILCM:LCALL DL40MS ;延时等待内部复位MOV COM,#80H ;使用8位控制界面LCALL WRITEMOV COM,#80H ;使用基本指令集LCALL WRITEMOV COM,#0CHLCALL WRITE ;

25、整体显示ONMOV DL1MSMOV COM,#01H ;清屏LCALL WRITELCALL DL40MSMOV COM,#06H ;显示右移LCALL WRITELCALL DL1MSRET模块写入子程序:WRITE:MOV A,COM ;送待发数据命令AMOV A,#0F0H ;屏蔽低4位MOV HDATA,A ;将高4位送HDATA单元MOV A,COM ;取低4位SWAP A ;高低4位互换MOV A,#0F0HMOV LDATA,A ;将低4位送LDATA单元MOV A,START ;取起始字节LCALL SENDBYTE ;发送LCALL DL1MS ;延时1msMOV A,HD

26、ATALCALL SENDBYTELCALL DL1MSMOV A,LDATALCALL SENDBYTELCALL DL1MSRET3传感器选型GF-7桥形称重传感器称重部分传感器选用GF-7桥形称重传感器,其量程为150Kg,精度为0.01%,满量程时误差为:0.015Kg,可以满足系统的精度要求。其结构图如图2所示, 具体参数如下所示:WTP 209重力传感器灵敏度:3±0.01 mV/V非线性、滞后:±0.03 %FS重复性:0.02 %FS蠕  变:±0.03 %FS/30min零点输出:±1 %FS 图2 GF-7桥形称重传感器结构图零点温度系数、额定输出温度系数:±0.03 %FS/10输入电阻:700±10 输出电阻: 700±5 绝缘电阻: 5000 M供桥电压:10(DC/AC) MAX:15(DC/AC) V温度补偿范围:1050 允许温度范围:2060 允许过负荷:120 %FS价格:30元 关于传感器的说明对于因温度变化对桥接零点

温馨提示

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

评论

0/150

提交评论