1吕梁学院压强、温度测试与显示专业:物理系物理学学生姓名:陈剑文(组长)组员:马腾王光军指导教师:2摘要随着我国经济快速发展,在很多经济领域都需要测量温度与压强,例如火箭的返回舱等。而目前生活中测压强普遍用测压计,测温度普遍用温度计,这种方法存在精准度差等特点。我们组设计项目:以STC89C52单片机为控制;通过数字式气温气压模块测量温度与压强;然后将温度、压强等参数在LCD1602液晶屏上进行显示。课题完成了单片机,数字式气温气压模块,LCD1602液晶屏采购接口电路的设计和连接以传感器和电路的安装位置和方式的安排,并完成了整个硬件的安装工作。除此之外,还对整个控制软件进行设计和程序的编制以及程序的调试,并最终完成了软件和硬件的融合,基本实现了测试及显示要求实现的预期的功能。关键词:温度压强单片机数字式气温气压模块LCD1602液晶屏3目录1系统方案.....................................................................................................................41.1LCD1602液晶显示的论证与选择.................................................................41.2数字式气温气压BMP085模块的论证与选择............................................41.3控制系统的论证与选择.................................................................................42电路与程序设计.........................................................................................................52.1电路的设计......................................................................................................52.1.1系统总体框图.......................................................................................52.1.2LCD1602液晶显示子系统框图与电路原理图..................................52.1.3数字式气温气压BMP085子系统框图与电路原理图.....................62.1.4电源.......................................................................................................62.2程序的设计......................................................................................................73.2.1程序功能描述与设计思路...................................................................73.2.2程序流程图...........................................................................................83测试方案与测试结果.................................................................................................93.1测试方案..........................................................................................................93.2测试结果与分析...............................................................................................附录1:电路原理图.....................................................................错误!未定义书签。附录2:源程序.............................................................................错误!未定义书签。41系统方案本系统主要由LCD1602显示模块、数字式气温气压BMP085模块、控制系统模块、电源模块组成,下面分别论证这几个模块的选择。1.1LCD1602液晶显示的论证与选择方案一:数码管显示方案二:LCD1602液晶显示系统采用1602液晶显示,它可以显示2*16个字符,同时只用11个I/O端口,它不仅节省了单片机的资源,相比较数码管液晶显示更加直观、节能,同时在硬件上面液晶的驱动电路比数码管简单的多,故采用LCD显示。综合以上两种方案,选择方案二。Lcd1602基本操作时序如下表所示1读状态输入:RS=L,RW=H,E=H输出:D0-D7=状态字2写指令输入:RS=L,RW=L,D0-D7=指令码,E=脉冲输出:无3读数据输入:RS=H,RW=H,E=H输出:D0-D7=数据4写数据输入:RS=H,RW=1,D0-D7=数据,E=H输出:无1.2数字式气温气压BMP085模块的论证与选择方案一:BMP180方案二:BMP085BMP085与BPP180都遵从I2C协议,BMP085是一款高精度、超低能耗的压力传感器,可以应用在移动设备中。它的性能卓越,绝对精度最低可以达到0.03hPa,并且耗电极低,只有3μA。BMP085采用强大的8-pin陶瓷无引线芯片承载(LCC)超薄封装,可以通过I2C总线直接与各种微处理器相连。综合以上二种方案,选择方案二。BMP085数字式气温气压传感器主要特点:(1).压力范围:300-1100hPa(海拔9000米至-500米)(2).电源电压:1.8V-3.6V(VDDA)1.62V-3.6V(VDDD)LCC8封装:无铅陶瓷载体封装(LCC)(3).尺寸:5.0mmx5.0x1.2mm(4).低功耗:5μA在标准模式5高精度:低功耗模式下,分辨率为0.06hPa(0.5米)高线性模式下,分辨率为0.03hPa(0.25米)(5).含温度输出IIC接口温度补偿(6).反应时间:7.5ms待机电流:0.1μA无需外部时钟电路1.3控制系统的论证与选择STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、非常有效的解决方案。具有以下标准功能:8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KBEEPROM,MAX810复位电路,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口。另外STC89X52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选。62电路与程序设计2.1电路的设计2.1.1系统总体框图系统总体框图如图(a)所示电源数字式气温气压模块LCD1602液晶屏图(a)系统总体框图2.1.2LCD1602液晶显示子系统框图与电路原理图1、LCD1602液晶显示子系统框图图(b)LCD1602液晶显示子系统框图2、LCD1602液晶显示子系统电路单片机STC89C52电源7图(c)LCD1602液晶显示子系统电路2.1.3数字式气温气压BMP085模块子系统框图与电路原理图1、数字式气温气压BMP085模块子系统框图图(d)数字式气温气压BMP085模块子系统框图2、数字式气温气压BMP085模块子系统电路图(e)数字式气温气压BMP085模块子系统电路2.1.4电源电源由变压部分、滤波部分、稳压部分组成。为整个系统提供5V或者12V电压,确保电路的正常稳定工作。这部分电路比较简单,都采用三端稳压管实现,故不作详述。82.2程序的设计2.2.1程序功能描述与设计思路1、程序功能描述1)显示部分:在LCD1602液晶显示温度与气压。2、程序设计思路用单片机STC89C52控制,通过数字式气温气压BMP085传感器,将温度与气压值通过LCD1602液晶上显示出来。2.2.2程序流程图1、LCD1602液晶子程序流程图开始初始化显示数组判断液晶是否忙碌写指令到LCDLCD初始化函数返回NY数据显示写数据到LCD图(f)92、主程序流程图图(g)3测试方案与测试结果3.1测试方案1、硬件测试:按电路图组装硬件。2、软件仿真(由于proteus没有BMP085模块,用MPX4250代替)图(h)103.2测试结果及分析根据上述测试数据,lcd1602可以显示温度与压强示数,由此可以得出以下结论:1、本项目电路图设计正确。2、本项目C程序编写正确。3、本项目可以实现硬件与软件联调。综上所述,本设计达到设计要求。11附录一电路原理图:图(i)12附录22.1源程序://*********************************//BMP085IIC测试程序//使用单片机STC89C51//晶振:11.0592M//编译环境KeiluVision4//*********************************#includeREG51.H#includemath.h#includestdlib.h#includestdio.h#includeINTRINS.H//Keillibrary#defineucharunsignedchar#defineuintunsignedint#defineDataPortP2//LCD1602数据端口sbitSCL=P1^0;//IIC时钟引脚定义sbitSDA=P1^1;//IIC数据引脚定义sbitLCM_EN=P0^0;//Lcd1602命令端口sbitLCM_RS=P0^2;//Lcd1602命令端口sbitLCM_RW=P0^1;//Lcd1602命令端口#defineBMP085_SlaveAddress0xee//定义器件在IIC总线中的从地址#defineOSS0typedefunsignedcharBYTE;typedefunsignedshortWORD;ucharge,shi,bai,qian,wan,shiwan;//显示变量intdis_data;//变量shortac1;shortac2;shortac3;unsignedshortac4;unsignedshortac5;unsignedshortac6;shortb1;shortb2;shortmb;shortmc;shortmd;voiddelay(unsignedintk);voidInitLcd();//初始化lcd160213voidWriteDataLCM(uchardataW);voidWriteCommandLCM(ucharCMD,ucharAttribc);voidDisplayOne