智能温度计小系统设计
摘要:随着新技术的不断开发与应用,近年来单片机发展十分迅速,一个以微机应用为主的新技术革命浪潮正在蓬勃兴起,单片机的应用已经渗透到电力、冶金、化工、建材、机械、食品、石油等各个行业。传统的温度采集方法不仅费时费力,而且精度差,单片机的出现使得温度的采集和数据处理问题能够得到很好的解决。温度常是一个重要的被控参数,在工农业生产、气象、环保、国防、科研、航天等部门,经常需要对环境温度进行测量及控制,对于农业生产、生物制药、食品加工、造纸等行业准确测量温度更是至关重要的。本设计主要通过以单片机为控制单元的温度采集、转化、显示并通过串口将数据传输到PC机,在PC机端实现数据的存储、分析、绘制波形。在以单片机技术和VC编程技术为基础提出了系统框架和具体的设计方案,用汇编和C语言从硬件电路和软件阐述了控制系统的总体实现,并利用按键、LCD显示等外围设备为用户提供服务,实现人机交互。
关键词:温度;串口;单片机;PC机
Smart small temperature measurement system design
Abstract:With the constant development of new technologies and applications, MCU developed rapidly in recent years, a PC-based application of the new wave of technological revolution is surging up, and SCM applications have penetrated into electricity, metallurgy, chemicals, building materials, Machinery, f
ood, oil and other industries. The temperature of the traditional method of collecting time-consuming effort, but poor accuracy, SCM makes the emergence of temperature data collection and processing issues can be properly resolved. The temperature is often an important parameter of the accused, in the industrial and agricultural production, meteorology, environmental protection, national defense, scientific research, aerospace, and other departments, often the need for environmental temperature measurement and control, agricultural production, bio-pharmaceuticals, food processing, paper making , And other industries more accurate temperature measurement is critical. The design of a microcontroller, mainly through the temperature control unit for the acquisition, conversion, display and transmit data through the serial port to the PC, a PC-for data storage, analysis, mapping and other waveforms. In the SCM technology and technology-based VC programming of the system proposed framework and the specific design, with compilation and C language hardware and software from the control system on the overall realization and use of keys, LCD display, and other peripheral equipment To provide users with services, and human-computer interaction.
Key words: Temperature, Serial,SCM, PC
目    录
第1章  绪论 1
1.1  温度测量的发展和现状 1
1.2  温度测量方法 2
1.3  本设计的意义及内容安排 4
第2章  系统方案设计 5
2.1  系统总体设计方案 5
2.2  方案的选择 5
2.2.1  器件及开发工具的选择 5
2.2.2  数据传输模式的选择 6
第3章  硬件设计 8
3.1  单片机及复位电路 8
3.2  单片机的振荡和时钟电路 8
3.3  AT89S51单片机的硬件组成 9
3.3.1  AT89S51单片机简介 9
3.3.2  AT89S51单片机引脚配置 9
3.4  定时/计数器 10
3.4.1  定时器/计数器功能 10
3.4.2  定时器/计数器控制寄存器 11
3.4.3  定时器/计数器工作方式 12
3.5  按键 12
3.5.1  键输入过程 12
3.5.2  独立式按键 14
3.6  单片机串口接口及串行通信 15
3.6.1  基本概念 15
3.6.2  MCS-51的串行和控制寄存器 17
3.6.3  波特率设定 17
3.7 主要电路模块 19
3.7.1  独立式按键接口 19
3.7.2  液晶显示电路 19
3.7.3  串行通信接口电路 21
第4章  系统软件设计 22
4.1  单片机端软件设计 22
4.1.1  温度读取模块 23
4.1.2  液晶显示模块 23
4.1.3  传输控制模块 23
4.2  单片机的振荡器和时钟电路 24
4.2.1  加载及使用控件 24
4.2.2  PC机端程序框图及主要程序说明 25
第5章  软硬件调试 30
5.1  硬件的调试 30
5.2  软件的调试 30
5.3  系统联调 30
5.4  系统运行 30
结论 31
致谢 32
参考文献 33
附录 34单片机编程100例详解
第1章  绪  论
1.1  温度测量的发展和现状
  最早的温度测量仪表,是意大利人伽利略于1592年创造的。它是一个带细长颈的大玻璃泡,倒置在一个盛有葡萄酒的容器中,从其中抽出一部分空气,酒面就上升到细颈内。当外界温度改变时,细颈内的酒面因玻璃泡内的空气热胀冷缩而随之升降,因而酒面的高低就可以表示温度的高低,实际上这是一个没有刻度的指示器[1]。
  1709年,德国的华伦海特于荷兰首次创立温标,随后他又经过多年的分度研究,到1714年制成了以水的冰点为32度、沸点为212度、中间分为180度的水银温度计,即至今仍沿用的华氏温度计[2]。
  1742年,瑞典的摄尔西乌斯制成另一种水银温度计,它以水的冰点为100度、沸点作为 0度。到1745年,瑞典的林奈将这两个固定点颠倒过来,这种温度计就是至今仍沿用的摄氏温度计[3]。
  早在1735年,就有人尝试利用金属棒受热膨胀的原理,制造温度计,到18世纪末,出现了双金属温度
计;1802年,查理斯定律确立之后,气体温度计也随之得到改进和发展,其精确度和测温范围都超过了水银温度计。
  1821年,德国的塞贝克发现热电效应[4];同年,英国的戴维发现金属电阻随温度变化的规律,这以后就出现了热电偶温度计和热电阻温度计。1876年,
德国的西门子制造出第一支铂电阻温度计。
  辐射温度计和光学高温计是20世纪初,维思定律和普朗克定律[5]出现以后,才真正得到实用。从60年代开始,由于红外技术和电子技术的发展,出现了利用各种新型光敏或热敏检测元件的辐射温度计(包括红外辐射温度计),从而扩大了它的应用领域。
  各种温度计产生的同时就规定了各自的分度方法,也就出现了各种温标,如原始的摄氏温标、华氏温标、气体温度计温标和铂电阻温标等 。为了统一温度的量值,以达到国际通用的目的,国际权度局最早规定以玻璃水银温度计为基准仪表,统一用摄氏温标。后经数次改革,到1927年改用以热力学温度为基础、以纯物质的相变点为定义固定点的国际温标 ,以后又经多次修改完善。
国际现代通用的温标是1967年第13次国际权度大会通过的 ,1968年国际实用温标。它以13个纯物质的相变点,如氢三相点,即氢的固、液、气三态共存点(-259.34℃);水三相点(0.01℃)和金凝固点(1064.43℃)等,作为定义固定点来复现热力学温度的[7]。
由于电子器件的发展,便携式数字温度计已逐渐得到应用。它配有各种样式的热电偶和热电阻探头,使用比较方便灵活。便携式红外辐射温度计的发展也很迅速,装有微处理器的便携式红外辐射温度计具有存贮计算功能,能显示一个被测表面的多处温度 ,或一个点温度的多次测量的平均温度、最高温度和最低温度等。此外,现代还研制出多种其他类型的温度测量仪表,如用晶体管测温元件和光导纤维测温元件构成的仪表;采用热象扫描方式的热象仪,可直接显示和拍摄被测物体温度场的热象图, 可用于检查大型炉体、发动机等的表面温度分布,对于节能非常有益;另外还有利用激光,测量物体温度分布的温度测量仪器等。
1.2 温度测量的方法
目前,温度测量的方法已达数十种之多。根据温度测量所依据的物理定律和所选择作为温度标志的物理量,测量方法可以归纳成下列几类。
  膨胀测温法  采用几何量(体积、长度)作为温度的标志。最常见的是利用液体的体积变化来指示温度的玻璃液体温度计。还有双金属温度计和定压气体温度计等。双金属温度计把两种线膨胀系数不同的金属组合在一起,一端固定,当温度变化时,因两种金属的伸长率不同,另一端产生位移,带动指针偏转以指示温度。工业用双金属温度计由测温杆和表盘组成。测温范围为-80~600°C。它适用于工业上精度要求不高时的温度测量。定压气体温度计,只用于测量热力学温度,很少用于实际的温度测量。
  压力测温法  采用压强作为温度的
标志。属于这一类的温度计有工业用压力表式温度计、定容式气体温度计和低温下的蒸气压温度计三种。压力表式温度计其密闭系统由温泡、连接毛细管和压力计弹簧组成,在密闭系统中充有某种媒质。当温泡受热时,其中所增加的压力由毛细管传到压力计弹簧。弹簧的弹性形变使指针偏转以指示温度。定容气体温度计保持一定质量某种气体的体积不变,用其压强变化来指示温度。蒸气压温度计用于低温测量。它是根据化学纯物质的饱和蒸气压与温度有确定关系的原理来测定温度的一种温度计。
  电学测温法  采用某些随温度变化的电学量作为温度的标志。属于这一类的温度计主要有热电偶温度计、电阻温度计和半导体热敏电阻温度计[8]。
  磁学测温法  根据顺磁物质的磁化率与温度的关系(见顺磁性)来测量温度。磁温度计主要用于低温范围,在超低温(小于1K)测量中,是一种重要的测温手段。
  声学测温法  采用声速作为温度标志,根据理想气体中声速的二次方与开尔文温度成正比的原理来测量温度。通常用声干涉仪来测量声速。这种仪表称为声学温度计。主要用于低温下热力学温度的测定。
  频率测温法  采用频率作为温度标志,根据某些物体的固有频率随温度变化的原理来测量温度。这种温度计叫频率温度计。在各种物理量的测量中,频率(时间)的测量准确度最高(相对误差可小到1×10-14),
近些年来频率温度计受到人们的重视,发展很快。石英晶体温度计的分辨率可小到万分之一摄氏度或更小,还可以数字化,故得到广泛使用。此外,核磁四极共振温度计也是以频率作为温度标志的温度计。例如氯酸钾中Cl的共振频率随温度变化,而且不同来源的氯酸钾都具有相同的频率-温度关系。
  辐射测温法  物体在任何温度下都会发出热辐射(红外线或可见光),辐射测温法采用光谱辐射度(即光谱辐射亮度)或辐射出射度(即辐射通量密度)作为温度标志。它主要依据以下两定律。
  黑体辐射的普朗克定律:
式中L(T,λ)为光谱辐射度,λ为辐射的波长,с1、с2分别为第一和第二辐射常数。 黑体辐射的斯忒藩-玻耳兹曼定律(全辐射定律):
M=σT4,
式中M为黑体的辐射出射度,σ为斯忒藩-玻耳兹曼常数。
  常见的辐射温度计可分为以光谱辐射度为温度标志的光学高温计和光电高温计;以辐射出射度为温度标志的全辐射温度计以及比高温计三种。黑体辐射定律仅适用于黑体。然而,绝大多数测温对象并非黑体,这就产生了把黑体辐射定律应用于实际测温的困难。基尔霍夫定律指出,在相同温度下,
实际物体的热辐射总小于黑体辐射。它们之间有下述关系
式中L(T,λ)为非黑体的光谱辐射度;ε(λ)为非黑体的光谱发射率(黑度系数);L0(T,λ)为黑体的光谱辐射度。
  以A表示L(T,λ)。显然,具有热辐射A的决不限于某一物体。光谱发射率较高和温度较低以及光谱发射率较低和温度较高的许多物体都可能发出同样的热辐射 A,即出现下式
  可见,同一热辐射可以对应于各种物体的许多不同温度T1、T2、T3、......。为解决这一困难,定出唯一的一个温度,在测温学中引入了假定温度的概念。假定温度包括亮度温度、 辐射温度、温度等。
1.3 本设计的意义及内容安排
中国人均资源相对很低,中国的农业相对落后,农业成为中国发展的一个瓶颈,如何提高农业发展,改善农民生活环境成为了中国领导关注的焦点,要改善农村,必须依靠科技,应用先进的工具,提高生产效率,而本设计主要就是基于这一目的,主要应用于温室大棚。
  本设计内容安排如下:
(1)  介绍温度测量的发展及测量的方法。
(2)  介绍系统方案选择。
(3)  介绍单片机及系统硬件电路。
(4)  介绍系统软件设计。
(5)  介绍设计调试过程。
(6)  阐述系统实现并进行结果分析。
第2章  系统方案设计
2.1  系统总体方案设计
智能温度计系统设计主要是实现对环境得温度信号进行采集、处理分析、显示、传输等处理,系统硬件由信号采集电路、单片机、键盘、显示电路以及单片机与PC机接口电路组成,系统的软件主要由信号采集处理模块、键盘扫描模块、显示模块和数据传输模块组成。原理框图如图2-1所示:
图2-1  系统框图
2.2  方案的选择
2.2.1  器件及开发工具的的选择
单片机作为整个电路的控制部分,决定着整个系统的处理速度以及稳定性,考虑系统处理数据以及数据存储等的要求以及器件价格的因素,本设计采用89S51单片机。传感器是整个系统的核心部件,其直接决定着系统测量的性能,选择传感器主要从三个方面考虑,测量的范围、测量的精度以及时漂和温漂,由于本次设计主要是应用于温室大棚的温度监测,其温度一般在10到35度之间,精度要求不高,但其要求系统的稳定型要好,若系统不稳定可能会造成损失和资源上的浪费,本次设计采用DS18B20数字传感器,其测量范围为-55~+125摄氏度,分辨率可达0.5度,只需一根线就能玉微处理器通讯,用户和自行设定非易失性报警上下限值等。器件非常适合本次设计。单片机常连接的显示器件有LED和LCD,LED只能显示数字,而LCD则不但可以显示数字,而且可以显示文字,图形但其编程要复杂一些
,而且价格较LED贵很多。由于LCD的控制须专用的驱动电路,且LCD面板的接线须特殊的技巧,再加上LCD面板较脆弱,因此一般不会单独使用,而是将LCD面板、驱动与控制电路组合成LCD模块(LCM)一起使用。LCM是一种很省电的设备,常被应用在数字或微电脑控制系统[9]。本次设计使用自带中文字库的12864ZA液晶显示模块,接口芯片使用MAX232。
本次设计主要用到的软件开发工具主要有KeilC、Proteus、VC++6.0、Protell等,单片机部分的设计及仿真可以通过KeilC与Proteus实现(软仿),当在开发板或实验箱仿真成功后要用Protell制作印制版,然后焊接、调试实际电路直至成功,而VC++6.0主要是设计计算端的程序设计。硬件开发工具主要有单片机开发板或实验箱,主要是完成硬件仿真。
2.2.2  数据传输模式的选择
串口编程常用的开发平台是通过VC++,而VC++进行串口通信编程有几种方法,其中包括基于DOS的串口编程、基于WIN32API的串口编程、基于控件的串口编程、基于第三方类的串口编程,基于WIN32API的串口编程又可采用同步查询方式编程方法、采用重叠I/O方式编程方法、采用事件方式编程方法,其中采用事件方式编程方法比较复杂,其操作的API基本上与文件操作的API一致[10]。Win32中用于打开串口的API函数为CreateFile,配置串口是通过改变设备控制块DCB(DeviceControlBlock)的成员变量值来实现的,接收缓冲区和发送缓冲区的大小可通过SetupComm函数来设置。超时设置是通过改变COMMTIMEOUTS结构体的成员变量值来实现的,读写串口之前,需要用SetCommMask()函数设置事件掩模来监视指定通信端口上的事件,对串口进行读写所用的函数和对文件进行读写取所用的函数相同,利用API函数实现串口通信时关闭串口非常简单,只需使用CreateFile函数返回的句柄作为参数调用CloseHandle即可。
  然而VisualC++为我们提供了一种好用的ActiveX控件即MSComm来支持应用程序对串口的访问,它是高级语言编写的串口通信程序和PC机串口之间的桥梁。通过这个桥梁,使得开发串口通信程序的工作变得容易,设置控件的几个属性,然后添加控件的事件相应代码,就可以使串口按照要求进行工作了。MSComm控件的大部分属性是可读写的。当对其进行写入操作时,是在设置属性的新值。当读属性时,可以读出当前的设置值。在VC中对控件的属性操作都是通过特定的函数实现的,这些函数都是CMSComm类成员函数,MSComm的诸多函数可以分为如下几类:○1打开与设置串口接口函数;○2获得串口设置和串口状态接口函数;○3设置串口发送数据方式、缓冲区接口及发送数据接口函数;○4设置串口接收数据方式、

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。